[Security] Bump nokogiri from 1.8.2 to 1.8.5

Bumps nokogiri from 1.8.2 to 1.8.5. This update includes security fixes.

Vulnerabilities fixed
Sourced from The Ruby Advisory Database.

Nokogiri gem, via libxml2, is affected by multiple vulnerabilities
Nokogiri 1.8.5 has been released.
This is a security and bugfix release. It addresses two CVEs in upstream
libxml2 rated as "medium" by Red Hat, for which details are below.
If you're using your distro's system libraries, rather than Nokogiri's
vendored libraries, there's no security need to upgrade at this time,
though you may want to check with your distro whether they've patched this
(Canonical has patched Ubuntu packages). Note that these patches are not
yet (as of 2018-10-04) in an upstream release of libxml2.
Full details about the security update are available in Github Issue #1785.
[#1785]: https://github-redirect.dependabot.com/sparklemotion/nokogiri/issues/1785

[MRI] Pulled in upstream patches from libxml2 that address CVE-2018-14404
and CVE-2018-14567. Full details are available in #1785. Note that these
patches are not yet (as of 2018-10-04) in an upstream release of libxml2.
 ... (truncated)
Patched versions: >= 1.8.5
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Revert libxml2 behavior in Nokogiri gem that could cause XSS
[MRI] Behavior in libxml2 has been reverted which caused
CVE-2018-8048 (loofah gem), CVE-2018-3740 (sanitize gem), and
CVE-2018-3741 (rails-html-sanitizer gem). The commit in question is
here:
https://github.com/GNOME/libxml2/commit/960f0e2
and more information is available about this commit and its impact
here:
https://github-redirect.dependabot.com/flavorjones/loofah/issues/144
This release simply reverts the libxml2 commit in question to protect
users of Nokogiri's vendored libraries from similar vulnerabilities.
If you're offended by what happened here, I'd kindly ask that you
comment on the upstream bug report here:
https://bugzilla.gnome.org/show_bug.cgi?id=769760
Patched versions: >= 1.8.3
Unaffected versions: none

Changelog
Sourced from nokogiri's changelog.

1.8.5 / 2018-10-04
Security Notes
[MRI] Pulled in upstream patches from libxml2 that address CVE-2018-14404 and CVE-2018-14567. Full details are available in #1785. Note that these patches are not yet (as of 2018-10-04) in an upstream release of libxml2.
Bug fixes

[MRI] Fix regression in installation when building against system libraries, where some systems would not be able to find libxml2 or libxslt when present. (Regression introduced in v1.8.3.) [#1722]
[JRuby] Fix node reparenting when the destination doc is empty. [#1773]

1.8.4 / 2018-07-03
Bug fixes

[MRI] Fix memory leak when creating nodes with namespaces. (Introduced in v1.5.7) [#1771]

1.8.3 / 2018-06-16
Security Notes
[MRI] Behavior in libxml2 has been reverted which caused CVE-2018-8048 (loofah gem), CVE-2018-3740 (sanitize gem), and CVE-2018-3741 (rails-html-sanitizer gem). The commit in question is here:

https://github.com/GNOME/libxml2/commit/960f0e2

and more information is available about this commit and its impact here:

https://github-redirect.dependabot.com/flavorjones/loofah/issues/144

This release simply reverts the libxml2 commit in question to protect users of Nokogiri's vendored libraries from similar vulnerabilities.
If you're offended by what happened here, I'd kindly ask that you comment on the upstream bug report here:

https://bugzilla.gnome.org/show_bug.cgi?id=769760

Dependencies

[MRI] libxml2 is updated from 2.9.7 to 2.9.8

Features

Node#classes, #add_class, #append_class, and #remove_class are added.
NodeSet#append_class is added.
NodeSet#remove_attribute is a new alias for NodeSet#remove_attr.
NodeSet#each now returns an Enumerator when no block is passed (Thanks, park53kr!)

 ... (truncated)

Commits

e28fa4b version bump to v1.8.5
712edef update changelog
7feb4c1 Merge branch 'fix-1773'
7cc6cf6 Organize imports in XmlNode.java.
1697442 Allow reparenting nodes to be a child of an empty document.
7b8cd0f Merge pull request #1786 from sparklemotion/1785-canonical-usns
5bff4bb pull in upstream libxml2 patches
c232226 changelog
862b88f changelog
b3750eb remove -Wextra CFLAG
Additional commits viewable in compare view

(This is an example of the kind of PRs Dependabot creates, so you can see it in action alongside #1994. It won't automatically rebase or any of the clever stuff Dependabot normally does because I've manually copied it across, though.)

Thanks for the merge @mssola. Can I convince you to give Dependabot a look? Of course free for open source - I’m just trying to get more people using it as I hope it’s genuinely helpful.

Cherry picked into the v2.4 branch and the 2.4 Docker image already includes this fix.

Can I convince you to give Dependabot a look? Of course free for open source - I’m just trying to get more people using it as I hope it’s genuinely helpful.

I'll take a look and I'll tell you something on the other issue when I'm done :wink:


added parameters per search in MultiSearch

Search parameters was ignored in MultiSearch

Coverage increased (+0.09%) to 54.64% when pulling 146edaec1ab63b9bc59d2874401a0b9a4b621f7f on seanbarzilay:master into<PHONE_NUMBER>a4ea17cb6df6b91a4fc6ef28a371b4 on searchbox-io:master.


Mobile user-agent

Requests to /dispatch and /wakeup should have a sensible user-agent header.
They currently show as Unknown in the GAE logs.

"Cool Maze android app"
1d7a76b52fe5413d3bc6780336ba521cd9d294c9


Building with Intel Compiler 2019.4

I'm seeing some errors when building with Intel 2019.4 to try CPU only execution using the OpenMP backend.
$ scl enable devtoolset-7 bash
$ cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_INSTALL_PREFIX=$PWD/../install-host ..

...

[ 50%] Building CXX object src/sycl/CMakeFiles/hipSYCL_cuda.dir/application.cpp.o
In file included from /nfs/home/tom/software/hipSYCL/src/sycl/application.cpp:28:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/application.hpp:33:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/runtime.hpp:32:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/task_graph.hpp:35:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/util.hpp:32:
In file included from /nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/include/atomic:326:
/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/include/stdatomic.h:168:14: error: redefinition of 'memory_order'
typedef enum memory_order {
             ^
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/atomic_base.h:55:16: note: previous definition is here
  typedef enum memory_order
               ^
In file included from /nfs/home/tom/software/hipSYCL/src/sycl/application.cpp:28:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/application.hpp:33:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/runtime.hpp:32:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/task_graph.hpp:35:
In file included from /nfs/home/tom/software/hipSYCL/include/hipSYCL/sycl/detail/util.hpp:32:
In file included from /nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/include/atomic:326:
/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/include/stdatomic.h:177:16: error: redefinition of 'atomic_flag'
typedef struct atomic_flag {
               ^
/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/atomic_base.h:160:10: note: previous definition is here
  struct atomic_flag : public __atomic_flag_base
         ^

It seems that stuff from /nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/include/atomic clashes with /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/atomic_base.h. Since none of the offending files is from hipSYCL, can you check if std::atomic works correcty on icpc?
Assuming icpc ABI is compatible with gcc/clang, you could also try to compile hipSYCL with gcc or clang as usual, and then just set HIPSYCL_CPU_CXX=icpc when building hipSYCL applications.
It is not strictly necessary to build hipSYCL itself with the same compiler that you use for the CPU backend later on when building user applications.
Although the hipSYCL SYCL interface on CPU might also include the relevant headers from the runtime which include atomic - but it might be worth a try.

Things are working fine building with GCC:
hipSYCL builds fine with GCC 7.4 without the need for devtoolkit-7.
It built and ran some code too on a Xeon Skylake which is great. The hierarchal parallelism reduction we have was slow though. The threads look very unbalanced when I watch in htop too.
I tried setting HIPSYCL_CPU_CXX=icpc with the GCC 7.4 build but it gives me a linker error:
ld: _ZN7hipsycl4sycl6detail17host_local_memory17_static_local_memE: TLS definition in /nfs/home/tom/software/hipSYCL/install-plain/bin/../lib//libhipSYCL_cpu.so section .tbss mismatches non-TLS reference in /var/tmp/pbs.3267.zoo-mgmt/icpcK0vGIO.o
/nfs/home/tom/software/hipSYCL/install-plain/bin/../lib//libhipSYCL_cpu.so: error adding symbols: Bad value

Intel 19.4 does support C++11/14/17 but the default flag it uses is -std=gnu++98. Do you know what I need to do to get the CMake system to build with a -std=c++14 flag for Intel?

HI,
I've seen a similar error (like in #247) when the CMake cache was not cleaned between changing the compilation target. It might be the same problem here as well.
For the hierarchical parallelism reduction: Are you using ndrange? For ndrange kernels, the performance loss is expected. I would recommend @illuhad's presentation on hipSYCL at IWOCL.

No sure about the CMake cache. I built with GCC for CPU only, but then want to use the Intel compiler as the kernel compiler. So CMake won't know about the Intel compiler, and it only gets passed at runtime.
Yes, I am using ndrange thanks for the reminder about the IWOCL presentation. That explains that. Can I suggest a compiler warning if it's detected for the CPU backend?

Do you know what I need to do to get the CMake system to build with a -std=c++14 flag for Intel?

This shouldn't be necessary - hipSYCL by default uses -std=c++17, without GNU extensions. You can verify what it does using the environment variable HIPSYCL_DRYRUN=1 which will tell syclcc to just print the compiler invocation without executing it.

That explains that. Can I suggest a compiler warning if it's detected for the CPU backend?

That's a good idea. We need to think about how to best implement this, since we don't have the option to add additional diagnostics from the compiler side on the CPU backend. A runtime warning might be easier and also much easier to continue to support when merging the CPU backend in the GPU backends.

I've seen a similar error (like in #247) when the CMake cache was not cleaned between changing the compilation target. It might be the same problem here as well.

Yes, this error happens sometimes when using the hipSYCL cmake integration when for some reason parts of the build system are still configured for GPU (which might happen simply because of defaults). In this case, I usually delete the content in the build directory and rerun cmake.
If you encounter this also when using syclcc directly it seems that you have found an ABI incompatibility between gcc and icpc.

Intel 19.4 does support C++11/14/17 but the default flag it uses is -std=gnu++98. Do you know what I need to do to get the CMake system to build with a -std=c++14 flag for Intel?

Could it be the problem that your intel compiler is using an obsolete standard library?
It usually uses the headers from the system default, which is too old most of the time.
Can you try exporting  INCLUDE and LD_LIBRARY_PATH for a gcc version that supports c++17, and then try to recompile hipSYCL? Although you might face this issue later during the compilation and you will have to update your intel compiler.

If you encounter this also when using syclcc directly it seems that you have found an ABI incompatibility between gcc and icpc.

Oh that's not ideal!

Can you try exporting INCLUDE and LD_LIBRARY_PATH for a gcc version that supports c++17, and then try to recompile hipSYCL? Although you might face this issue later during the compilation and you will have to update your intel compiler.

I have GCC 7.4 in my paths.
$ module list
Currently Loaded Modulefiles:
  1) intel/parallel_studio/2019.4   2) gcc/7.4.0                      3) cmake/3.14.5                   4) llvm/10.0.0

$ echo $LIBRARY_PATH
/nfs/software/x86_64/llvm/10.0.0/lib:/nfs/software/x86_64/gcc/7.4.0/lib64:/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/mpi/intel64/lib/:/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/ipp/lib/intel64/:/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/daal/lib/intel64/:/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/tbb/lib/intel64/gcc4.7:/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/mkl/lib/intel64/:/nfs/software/x86_64/intel/parallel_studio/2019/compilers_and_libraries/linux/lib/intel64/

$ cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_INSTALL_PREFIX=$PWD/../install-intel ..

$ make
...
[ 85%] Building CXX object src/sycl/CMakeFiles/hipSYCL_cpu.dir/accessor.cpp.o
In file included from /nfs/software/x86_64/llvm/10.0.0/include/llvm/ADT/STLExtras.h(29),
                 from /nfs/software/x86_64/llvm/10.0.0/include/llvm/ADT/StringRef.h(12),
                 from /nfs/software/x86_64/llvm/10.0.0/include/clang/Basic/ObjCRuntime.h(18),
                 from /nfs/software/x86_64/llvm/10.0.0/include/clang/Basic/LangOptions.h(19),
                 from /nfs/software/x86_64/llvm/10.0.0/include/clang/Frontend/FrontendAction.h(22),
                 from /nfs/software/x86_64/llvm/10.0.0/include/clang/Frontend/FrontendPluginRegistry.h(16),
                 from /nfs/home/tom/software/hipSYCL/src/compiler/HipsyclClangPlugin.cpp(28):
/nfs/software/x86_64/gcc/7.4.0/include/c++/7.4.0/functional(139): error: class template "std::_Mem_fn_traits" has already been defined
  _GLIBCXX_MEM_FN_TRAITS(noexcept, true_type, true_type)
  ^

hipSYCL built fine with Intel Parallel Studio 2020 (icpc version 19.1).
I tested with BabelSream and the performance is actually a bit slower than when using hipSYCL built with GCC. The hipSYCL with GCC OpenMP host device performance matches plain OpenMP build with the Intel compiler where I disable streaming stores. These are known to significantly boost performance on Intel CPUs for this code.

Thanks for the feedback! From your message it's not yet entirely clear to me if we're lacking performance. Are you saying that Intel OpenMP with streaming stores would be faster than hipSYCL?

Sorry, that was a bit confusing. I'll share all the output so hopefully it's a bit clearer what I'm running and comparing.
OpenMP Intel Compiler with Streaming stores
$ icpc --version
icpc (ICC) <IP_ADDRESS> 20200306
$ icpc -O3 -std=c++11 -xHOST -qopt-streaming-stores=always -DOMP main.cpp OMPStream.cpp -qopenmp
$ OMP_NUM_THREADS=12 OMP_PLACES=cores OMP_PROC_BIND=true ./a.out
BabelStream
Version: 3.4
Implementation: OpenMP
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Function    MBytes/sec  Min (sec)   Max         Average
Copy        95065.198   0.00565     0.00587     0.00570
Mul         95193.811   0.00564     0.00587     0.00571
Add         95041.440   0.00847     0.00870     0.00851
Triad       94708.811   0.00850     0.00870     0.00855
Dot         109128.511  0.00492     0.00517     0.00497

OpenMP Intel Compiler without Streaming stores
$ icpc -O3 -std=c++11 -xHOST -qopt-streaming-stores=never -DOMP main.cpp OMPStream.cpp -qopenmp
$ OMP_NUM_THREADS=12 OMP_PLACES=cores OMP_PROC_BIND=true ./a.out
BabelStream
Version: 3.4
Implementation: OpenMP
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Function    MBytes/sec  Min (sec)   Max         Average
Copy        92006.833   0.00584     0.00594     0.00589
Mul         65057.756   0.00825     0.00838     0.00830
Add         71686.259   0.01123     0.01136     0.01127
Triad       71693.323   0.01123     0.01143     0.01129
Dot         103058.504  0.00521     0.00534     0.00525

Having streaming stores gives about 1.3X improvement for Triad (comparing this with the first result).
OpenMP GNU compiler
$ g++ --version
g++ (GCC) 7.4.0
$ g++ -O3 -std=c++11 -march=native -DOMP main.cpp OMPStream.cpp -fopenmp
$ OMP_NUM_THREADS=12 OMP_PLACES=cores OMP_PROC_BIND=true ./a.out
BabelStream
Version: 3.4
Implementation: OpenMP
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Function    MBytes/sec  Min (sec)   Max         Average
Copy        67345.786   0.00797     0.00819     0.00802
Mul         65670.724   0.00818     0.00829     0.00823
Add         74347.010   0.01083     0.01108     0.01089
Triad       74520.320   0.01081     0.01098     0.01087
Dot         98913.425   0.00543     0.00787     0.00562

GNU and Intel are parity when we don't have non-temporal/streaming stores.
Copy kernel is bit slow so maybe GNU missed converting this to an optimised memcpy.
SYCL - hipSYCL using GNU
$ HIPSYCL_CPU_CXX=g++ syclcc -O3 -DSYCL main.cpp SYCLStream.cpp --hipsycl-platform=cpu  -std=c++17
$ OMP_NUM_THREADS=12 OMP_PLACES=cores OMP_PROC_BIND=true ./a.out
BabelStream
Version: 3.4
Implementation: SYCL
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Using SYCL device hipCPU OpenMP host device
Driver: hipSYCL 0.8.1-prerelease on HIP/CUDA 99999
Reduction kernel config: 24 groups of size 2
Function    MBytes/sec  Min (sec)   Max         Average
Copy        61305.389   0.00876     0.00925     0.00897
Mul         63465.410   0.00846     0.00932     0.00856
Add         71574.880   0.01125     0.01177     0.01139
Triad       72043.817   0.01118     0.01256     0.01134
Dot         1948.227    0.27557     0.30317     0.27735

This is great - these are close to the results above so hipSYCL GNU targeting OpenMP gets really close to just using OpenMP and building with GNU.
Dot kernel is a reduction using ndrange so we expect the performance gap for that.
SYCL - hipSYCL using Intel
$ HIPSYCL_CPU_CXX=icpc syclcc -O3 -DSYCL main.cpp SYCLStream.cpp --hipsycl-platform=cpu  -std=c++17
$ OMP_NUM_THREADS=12 OMP_PLACES=cores OMP_PROC_BIND=true ./a.out
BabelStream
Version: 3.4
Implementation: SYCL
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Using SYCL device hipCPU OpenMP host device
Driver: hipSYCL 0.8.1-prerelease on HIP/CUDA 99999
Reduction kernel config: 24 groups of size 2
Function    MBytes/sec  Min (sec)   Max         Average
Copy        53272.033   0.01008     0.01128     0.01081
Mul         53480.395   0.01004     0.01145     0.01078
Add         64367.958   0.01251     0.01377     0.01307
Triad       65282.584   0.01234     0.01353     0.01286
Dot         2011.228    0.26694     0.33032     0.26902

The SYCL Intel result is a little lower than the SYCL GNU time.
I'm happy to run SYCLBench on this machine to get Intel and GNU results to help find out where the overhead might be. hipSYCL doesn't produce a hipSYCLConfig.cmake file so I can't tell SYCLBench were to find it. Any tips?
For this issue specifically the conclusion is the 19.0.x Intel compilers don't work because of the ABI issue. This is fixed in 19.1.x (packaged as 2020).

Thanks for these results! I think those numbers are very valuable.
So it seems something is throwing icpc off. I'm not sure what the reason is. hipSYCL just does #pragma omp parallel for like your OpenMP version, with additional collapse() clause if the dimension of the iteration range is >= 2.
It might be related to data management. For example, if a buffer is constructed from an external host pointer, the CPU backend will directly operate on that memory, so things like NUMA effects may become important depending on where the pages of that external memory buffer are pinned.
Now BabelStream doesn't seem to do that and instead constructs the buffer without external host pointer, so I had a look at the buffer's own memory allocation code path. I think the allocation ends up coming from here: https://github.com/illuhad/hipSYCL/blob/4aec8c4a4523a14c4f2ed29ca2d0997983af936d/src/sycl/buffer.cpp#L55
and I noticed that this is not aligned, whereas OpenMP BabelStream uses explicitly aligned allocations. I would suggest to check if performance improves if you replace that line with an aligned allocation.
If that doesn't help we should try slowly SYCL-ifying the OpenMP version with lambda functions and more abstract memory management and see if we can find out when we lose performance.

hipSYCL doesn't produce a hipSYCLConfig.cmake file so I can't tell SYCLBench were to find it. Any tips?

It does in $HIPSYCL_INSTALL_PREFIX/lib/cmake. If you add this path to your CMAKE_PREFIX_PATH, it should work.


New sidebar feature fixed

Summary
Bringing back the sidebar feature after a regression with the unread channels indicator.
Old PR: https://github.com/mattermost/mattermost-webapp/pull/1374
Will point to a forked repo of mattermost-redux for testing purposes.
The issue:  There were 2 scroll divs wrapping the channels, which caused the more unreads indicator to behave erratically.
Fixed tickets:
Ticket Link
https://mattermost.atlassian.net/browse/MM-11563
https://mattermost.atlassian.net/browse/MM-11564
https://mattermost.atlassian.net/browse/MM-11565
https://mattermost.atlassian.net/browse/MM-11568
https://mattermost.atlassian.net/browse/MM-11580
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[x] Has redux changes (please link)
[x] Has UI changes
[x] Includes text changes and localization file (.../i18n/en.json) updates

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0987025a70d945e1a.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0987025a70d945e1a

Spinmint test server destroyed

@miguelespinoza can you help with a rebase so we can get the build passing a test server up?

Spinmint test server created at: https://i-02272b9693d440d3d.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-02272b9693d440d3d

Thanks Miguel,
A few comments and minor design proposals/questions:

While it was briefly enabled on pre-release we got some design feedback from our team and some contributors:
a) We found that it would actually be better to separate the settings for grouping and sorting like you had in your original PR. So in Account Settings > Sidebar, users would have separate options for "Channel Grouping" and "Channel Sorting".
b) Channel sorting should not be dependent on the channel grouping setting, meaning the user could select alphabetically or by recency regardless of if the sidebar is grouped in sections or not. If recency is selected when channels are grouped, it would sort by recency within the sections

Design question for you: Why are "Unreads" and "Favorites" sections conditional on your channel grouping setting? Seems like an unreads section and favorites section would actually be more valuable if you had all channel types grouped. I can't imagine a case where users would not want a favorites section if they had channels organized in groups. I'd propose we offer the checkboxes for favorites and unread sections regardless of the selection for channel grouping.

Do we have diagnostics for the sidebar settings? I think we had them before we merged but not sure if that got retained in the resubmission after the revert?

Can we make the "Recent Activity" (recent sorting, no sections) and "Channels" (alpha sorting, no sections) header in the sidebar clickable to open the channels/direct messages modal? And add a tooltip on hover "Browse Channels and Direct Messages"

Then the "+" button should open the "New Channel" modal for public channels.

I'm a bit concerned about how difficult it is to discover how to create a private channel as you need to click the link in the help text, as in this image:

I've discussed with UX and we would propose using a radio button selector tool rather than two separate modals for public/private:

Once we address the above (if we are in agreement), then we'll get QA from our team involved in testing so we avoid having to revert due to unexpected bugs, especially with the feature disabled, since this PR touches very critical pieces of the product.

Cool, I'll address the minor issues like modal opening and radio button support.
As for #1 and #2 I'll have to get back to you, once I talk with the team.  It's been some time since we've had a conversation about this feature. Initially, we wanted to limit the number of options a user had to configure their sidebar.
I remember last time we decided to disable "Alpha" sorting since it really serves no purpose.  At least for us, we saw no impact for users.
Looks like that was removed.  I can't recall if this was a change I made or if that was one of the changes MM did.  In any case, I just want for all of us to be aware of the users intentions.   If we limit the options we avoid users getting overwhelmed by this feature.
I believe for MVP we should limit and see what our users have to say of the feature.  What was the reason for wanting to switch back to 2 sections for Channel Grouping and Channel Sorting?

@miguelespinoza a couple things:

There were users expecting to be able to sort by recency even if they had channels grouped in different sections. It wasn't clear why there was that limitation to only be able to sort by recency if channels types were combined. Limiting that option was more a confusing UX experience.
There was a strange UX flow when switching from [combined channels, recent sorting] > [not combined channels]. The current behaviour had the recency sorting maintained after the channels got grouped into sections, and the user had no way to revert to alpha sorting (since that option got hidden). Even if we fixed it so it reverted to alpha sorting when the channels got grouped into sections, that's not obvious to the user that the sorting method was changed by changing the grouping method. Having those settings linked and dependent on one another was an unintuitive UX flow for a user, based on our experience with it.

@esethna this PR is ready for testing

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-04007d56784e9dfbd.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-04007d56784e9dfbd

Thanks Miguel, a couple things I noticed on the test server:

It seems like channels in the unreads section are jumping around after they are opened:

Looks like some of the help text updates we made before the feature was reverted didn't make it into this PR, see en.json from that PR: https://github.com/mattermost/mattermost-webapp/pull/1374/files#diff-8aed887c744b7eb6f40c0a268ae06e7b

QA is starting their pass on it.

@csduarte @esethna A couple oddities / questions so far. Both of these reproduce on the spinmint but do not reproduce on master:

On Firefox (not Chrome or Safari), a block of blank space appears near the bottom of the sidebar, above Switch Channels, particularly apparent while scrolling channel list:

Observed on spinmint:

Element ID for the button to add a new DM appears to have changed from directChannel to favoriteChannel. It still opens the modal to add a DM (but will break automated tests when they try to locate that element). No evidence of an effect on actual favorited channels yet. Any idea why that may have changed?

Observed on spinmint:

Expected on master:

I made the fixes to these issues. Let me know if everything else looks good.

I've fixed the Firefox issue
fixed the elementIDs not assigned properly
and the description of your sidebar preferences you selected as a user.

The unread channels jumping is a side-effect of bad data.  Here's what it looks like locally.  Here's the link to Harrison's comment: https://github.com/mattermost/mattermost-webapp/pull/1374#issuecomment-409015496
and the ticket to fix the issue: https://mattermost.atlassian.net/browse/MM-11527
As for the help text, we made some modifications to look cleaner.  Since the previous help text was displayed in 2 lines it looked overwhelming to the user.  This is what we are proposing

Awesome, thanks Miguel.
@lindalumitchell if you could please check that newly created and posted in channels aren't jumping around in the unreads section, that would help confirm the bad data hypothesis before we merge this to master. Thanks!

@miguelespinoza I'm still seeing the Firefox issue and the element ID issue on the new spinmint. Did all of your changes make it in?

Also adding @asaadmahmood to take a pass as there are some very minor alignment tweaks etc on the new/updated modals

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-05c9201b2fcbd4b99.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-05c9201b2fcbd4b99

Continuing to test, and have a question re: the setting description. With both Favorites and Unreads enabled, the text truncates. Should it go to a second line instead (there is no other section on this tab of the modal, so there's plenty of room)? Opening Edit mode does not display a summary description of settings, so that full text is never visible.

Thanks for the feedback.
I'll make the summary description overflow
Can you clarify on:

Opening Edit mode does not display a summary description of settings, so that full text is never visible.

Also, for #2, any activity in a channel will affect the order.  Any post, system message, user message, or ephemeral message will change the last_post_at timestamp of a channel.  We also take into account the very last post of the channel.  If it's attribute update_at is more recent than channel.last_post_at timestamp then we use the lastPost timestamp instead

Hi @miguelespinoza and @lindalumitchell
just a heds up that I have found a couple permission related issues with the "+" button for adding new channels when Channel Groupinfg is set to Combine all channel types.

When the user does not have permission to create Public or Private channels the "+" is still visible even though neither radio button is available in the modal to create a channel.

When the user only has permission to create Private channels, the "+" button is not visible.

Nice catches, @DHaussermann.
@miguelespinoza please disregard that sentence of mine, "Opening Edit mode does not display a summary..."; making the summary text overflow like you said fully addresses the question I was asking.

Cool and agreed nice catch, looks like I had a typo which caused the create button to appear 🤦♂

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-02f58c23694c3060a.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-02f58c23694c3060a

The updates to text display I had asked about look great to me on this latest spinmint. 👍

Both Permission issues I mentioned above are resolved now. Thank you.

Adding @sudheerDev and @hmhealey for dev review now that QA has given the green light.

Thanks @esethna, just a heads I also have a redux PR: https://github.com/mattermost/mattermost-redux/pull/602 that should get merged before we can merge this PR.
I will have to add one more commit to this PR to revert package.json changes that pointed to the forked redux repo

Spinmint test running for more than 7 days. This test server was terminated.

Spinmint test running for more than 7 days. This test server was terminated.

Spinmint test running for more than 7 days. This test server was terminated.

@enahum @hmhealey not urgent, but can we start dev review on this in preperation for the redux PR to be merged? I want to try and get this in for v5.4 so anything we can do now would be good so we don't get blocked approaching feature merge date

@esethna I believe the redux PR should be reviewed first, then this one and mobile can be reviewed at the same time if needed

👍  on sort by recency.

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spintmint test server creation failed. See the logs for more information.

Not sure what's the deal with the test suite in Jenkins. I've been able to run the failing test locally just fine

@miguelespinoza jenkins is using node 10, probably that is why you see this

Strange @enahum I'm running 10.0.0.  What specific version is the jenkins server running?

@crspeller would you know what version of node is jenkins running?

I think it is running 10.11.0

@miguelespinoza any updates on the requested changes ?

Hey @enahum talked with Jarred and I'll focus on this tomorrow in anticipation of our session Friday

@miguelespinoza awesome! thanks

Spinmint test server destroyed

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-00a2dfc6864b88302.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-00a2dfc6864b88302

Spinmint test server destroyed


loading error

Hi,
thanks for the nice module.
I am trying to reproduce the 'marker' example in your README, and I get this message, when I open the html

do we need a google maps api key?
I am on notebook 5.4.1 and safari 11.1.1
Thanks for your support

Are you using the module from an IPython or jupyter notebook? Those aren't
supported (differences in rendering in a browser vs a cell), but you can
make a feature request if you'd like.
If you're not rendering it in a notebook cell, can you share the html
you've generated?


Type error

Hello,
you force following types
Data should be a "String", "Array of arrays" OR "Array of objects"
In my case I have Array of a custom type.
I would like to keep my type and the error to be discarded, is that possible ?
My data interface
interface Table {
date: string;
callid: string;
postrouted: string;
falsecall: string;
user: string;
callDirection: string;
}
so I have an array of Table

Nvm, just me
I didn't intialized my data variable


Added LICENSE file

My company is strict about licencing (even for dev deps) and require an explicit licence file for vendored projects rather than simply naming the licence. I believe this is due to the possibility that the licence will change over time and without the file it's not clear what terms were agreed to. Anyway it would be much appreciated if you added the MIT license file.
Thanks.

ty! done:
$ npm publish
+<EMAIL_ADDRESS>


OfferingId Type Issues

Right now if I have an Offering object, the id property of that object is type TypeId. This means that every time I'd like to access it and pass it around, I end up having to call toString() on it. Could we either:

Change it to type String
Create a separate getter method that returns type String if TypeId is required for internal reasons

Example of usage in this PR: https://github.com/TBD54566975/developer.tbd.website/pull/1272

@mistermoe @jiyoontbd I remember us going back and forth on this - guess we can make the external data model a string and just use type ID to generate/do validation?

Yaaaaz! Big big nice


Reduce assets processing time when building

Is your feature request related to a problem? Please describe.
I have multiple projects using RBP and one particular project has very long build time (around 25 minutes++), others only took less than 5 minutes.
The diff between this project (than others) is that it uses an external template (html+css+js, around 47MB of assets files). I think the long build time related to these asset files
Describe the solution you'd like
Is it possible to exclude a folder from assets processing when building? that's might be the solution
Describe alternatives you've considered
N/A
Additional context

From the SS, I have assets folder under the app, this folder contain all necessary files for the templates including html,css,and js files. I need to move this assets folder to build directory to make the template works

I solve this issue by upgrading (manually to webpack 4 and Terser minifier plugin


HV-840 Annotation Processor doesn't detect errors in parameter constraints in inheritance hierarchies

https://hibernate.atlassian.net/browse/HV-840

added test-utils to pom file
added basic check for method parameters in overriding methods
added simple test case for the overriding check

Hey, @gsmet, @gunnarmorling wanted to ask if I'm on right track with this one, before completing everything (need to add some code to go through class hierarchy and probably add more tests to cover different scenarios).
Also looking at https://hibernate.atlassian.net/browse/HV-801 I can see that in HV-801 it's said that the constrains should be defined in the class where a method is defined rather than in any that override them and in HV-840 it is said that the constrains on overridden method shouldn't be stricter than on the parent one. So what should be implemented in the end ?
Thanks !

Hi @marko-bekhta, overriding methods may not alter the parameter constraints from the overridden method (i.e. no parameter constraints may be added in overriding methods). You can find the exact set of rules in section 4.5.5 of the spec, i.e. these are the rules to implement.
In engine, these rules are implemented in the org.hibernate.validator.internal.metadata.aggregated.rule package. It's a bit sad that we need to re-implement them in the annotation processor module, but there is no good way of achieving code re-use (apart from creating our own abstraction of the two APIs which doesn't seem attractive, either).

Parameter Checks are implemented except some cases for validation of parallel implementation.
As a processor runs on annotated items there can be a case like this (from documentation):
		public interface OrderService {

			void placeOrder(String customerCode, String item, int quantity);
		}

		public interface OrderPlacementService {

			void placeOrder(
					@NotNull @Size( min = 3, max = 20 ) String customerCode,
					@NotNull String item,
					@Min( 1 ) int quantity);
		}

		public static class SimpleOrderService implements OrderService, OrderPlacementService {

			@Override
			public void placeOrder(String customerCode, String item, int quantity) {
			}
		}

In such case annotated parameters are only on interface and I cannot see how to get from there to the classes that implement the interface and to other interfaces.
But in such case:
		public interface OrderService {

			void placeOrder(String customerCode, String item, int quantity);
		}

		public interface OrderPlacementService {

			void placeOrder(
					@NotNull @Size( min = 3, max = 20 ) String customerCode,
					@NotNull String item,
					@Min( 1 ) int quantity);
		}

		public static class SimpleOrderService implements OrderService, OrderPlacementService {

			@Override
			public void placeOrder(String customerCode, String item, @Min( 1 ) int quantity) {
			}
		}

when there's an annotated parameter on class method that implements different interfaces - all works as you can get from this class method to super class methods and methods from implemented interfaces.

@marko-bekhta, ah yes, that's an interesting case.
I think it's ok if we ignore that one for now, any new checks are better than none :) Could you push a commit for a documentation update, too (see 12.2, "Features", in the ref guide), mentioning the new checks and maybe also this one shortcoming?

Jenkins, retest this please

@marko-bekhta Could you rebase this PR onto the latest master?
In terms of the general implementation, I feel there should be a new method ConstraintCheck#checkParameter() which would trigger checking of parameter constraints (IIUC, you currently do this via checkField()). And checkMethod()` should be used for the overriding checks as well as the return value checks (the latter could be done separately if you prefer).

@marko-bekhta Added some more comments. That one is a tricky beast :) Maybe you split the PR and first send one for the parameter checks and then a follow-up for the override checks?

@gunnarmorling yes, I think that's a good idea. I'll create another PR and for parameter checks and link it to new issue in JIRA (correct ?).

@gunnarmorling what do you think of such approach to implementing this method overriding ? I've used the idea that you provided in last comment and here's what I came up with:
I've removed the Checks driven from annotations and implemented a new Visitor - ClassVisitor. It starts by walking through all the root elements and if it visits a type - it starts visiting all of it's members and if it visits a method than it performs two checks on the method (if parameters are annotated  correctly and if return value is annotated correctly).

@marko-bekhta I added a couple more comments. I think you're on the right track.
It would be nice if you could rebase your patch (instead of merging from master) and flatten it. It's kinda hard to follow now :).
Thanks!

I've applied all the changes in the las commit and after this I'll do the rebasing :)

rebased and cleaned up the commits :)

Where are we with this one? Is there anything left to be done (apart from rebasing it)?

@gunnarmorling it would have been merged otherwise :). GitHub is hiding our last discussion with Marko. See https://github.com/hibernate/hibernate-validator/pull/524#pullrequestreview-5125189 . So this PR still needs work.

Thanks @gsmet for answering :) I'll have some time to work on it today and hope to have some results.
Even thought this is not relevant to this task, but I saw your comment @gunnarmorling in JIRA on Jandex - and here what I was thinking. So I remember that you said that you would want to do a release of 5.3 with those improvements to annotation processor, and I found all of those opened issues related to it. Atm there are two left - current one and also this - https://hibernate.atlassian.net/browse/HV-451. So I was thinking that I might look into it and then all annotation processor related items will be ready (well just only those that are opened in JIRA:) ) And after that I'll be happy to work on that other task with Jandex. But if you have other priorities for these tasks - just let me know :)

@marko-bekhta btw one nice small addition to the annotation processor would be to make the error message more exploitable when there is a mismatch between the error lines. I think just having the items sorted by line number would be sufficient. As I forgot to update the line numbers in my patch, you have a good example to start with :).

Forgot to answer about this:

So I was thinking that I might look into it and then all annotation processor related items will be ready (well just only those that are opened in JIRA:) ) And after that I'll be happy to work on that other task with Jandex.

Sounds like a good plan. @gunnarmorling was just talking to me about the Jandex stuff this morning.
Btw the idea is to release a 5.4 with your annotation processor enhancements and javax.money stuff. We won't add any new features to 5.3.

@gsmet I've made a few changes. The idea behind them is next:

for each method all overridden ones are found and are compared to current one to see if inheritance rules are not broken
all found overridden methods are grouped into two groups:
-- one group contains methods that themselves override some other method
-- another group contains methods that are originally declared in class/interface and are not overriding any other method.
-- for those methods that are in the second group (the "original" ones) we need to check if they are completely the same to make sure that parallel implementation is not braking any rules

Not sure if I've explained it good enough :)

@gsmet

I think just having the items sorted by line number would be sufficient.

you mean in tests ? when one fails and two sets are printed and it's hard to find which item is wrong ? or something else ? :)

you mean in tests ? when one fails and two sets are printed and it's hard to find which item is wrong ?

Yes, exactly. Looks like you already had the issue :).

It's ready for review again :)

@marko-bekhta about this one, I think we need to be on the same page as for the checks we enforce. Can you confirm me that what I wrote makes sense and you have the same understanding of the spec + HV documentation.
Thanks!

@gsmet yes ! All seems clear now. The only question is about @Valid for parameters. You were saying about rules for it and the only thing that I've found is this:

null arguments and null return values are ignored
The validation is recursive; that is, if validated parameter or return value objects have references marked with @Valid themselves, these references will also be validated
Bean Validation providers must guarantee the prevention of infinite loops during cascaded validation

But this seems to be unrelated to inheritance rules and more of specific rules for @Valid please correct me if I'm missing something.

OK, I think I'll need to take a shot at it later this week. I'm not very happy with the Map<Boolean, XXX> and I think we need to do it differently but I need to experiment myself.

@gsmet after looking at it once more - I've started to dislike the Map approach as well. So I've came up with a different one.  You can check it in the latest commit when you have time :)

Hi @gsmet have you had a chance to take a look at what I've done with the "InheritanceTree approach" ? I understand that all of you are busy with your own work :) I'm just checking in :) Also I was thinking to do something similar for the GroupSequences if the answer is positive for the test case that I've put in the comment of that pull requests. So I just wanted to know if that'll be a good idea before trying to reuse this InheritanceTree thing :) Thanks !

Hi @marko-bekhta , sorry about the delay. I didn't forget about this PR, it's the next thing on my TODO list. I'm currently working on polishing the java.time support, it shouldn't be too long now. I'll get back at you.

@gsmet no worries :) as I've said - I understand that you are busy and I just wanted to make sure that you'll notice the latest changes before you experiment:

but I need to experiment myself

As maybe the latest changes is what you were looking for :)

@marko-bekhta FYI, I'm working on this, so please do not push any more updates! Thanks!

Superseded by https://github.com/hibernate/hibernate-validator/pull/584 . Closing.


Close pairs of sources with separations much less than 1 arcsec

In dr8b, 0.33% of all sources are in close pairs (or multiples) closer than 1.0 arcsec, 0.24% are in pairs closer than 0.5 arcsec, 0.21% closer than 0.25 arcsec, and 0.14% closer than 0.1 arcsec.
Most of these are PSF/PSF or PSF/REX pairs and have comparable fluxes.  I don't know for certain, but suspect these are not really close pairs, especially since we wouldn't  be sensitive to pairs closer than 0.1 arcsec.
Tabulated below is a sampling of such pairs closer than 0.1 arcsec.  I've only looked in the DECam data:
RA             DEC      TYPE1 TYPE2 RMAG1 RMAG2
0.0907  -0.1292 PSF  PSF  25.00 15.40
0.0189  -0.5990 REX  PSF  18.24 14.28
0.2334  -0.5697 PSF  PSF  16.10 16.64
0.1511  -0.7473 REX  PSF  16.50 15.35
0.1064  -0.6984 REX  PSF  18.72 14.95
0.0394  -0.6782 REX  PSF  25.00 15.26
0.1656  -0.6573 PSF  PSF  18.21 16.20
0.0482  -1.0133 REX  PSF  17.73 14.66
0.2164  -0.9530 REX  PSF  19.40 15.07
0.1180  -1.2142 PSF  PSF  16.62 15.63
0.0326  -0.0406 PSF  REX  19.50 15.09
0.1930   0.0653 PSF  COMP 18.47 15.82
0.0242   0.2906 REX  PSF  17.37 14.83
0.2360   0.4074 REX  PSF  16.08 14.84
0.0024   0.4249 PSF  PSF  16.71 15.71
0.2383   1.0157 PSF  PSF  17.19 16.59
0.2254   1.0371 REX  PSF  17.11 15.27

Could you please move this ticket to legacypipe?

Duplicate of issue #300 against legacypipe


'basedir' setting in documented example and implementation seems to differ

Setting the  in  seems to not have the affect as the example seems to show. For example setting / should get rid of the maven default directory and that does not quite seem to be the case.

Sorry, wrong idea on what 'basedir' is doing. Closing this.


Cluster's geometryFunction

Is your feature request related to a problem? Please describe.
https://openlayers.org/en/latest/apidoc/module-ol_source_Cluster-Cluster.html
geometryFunction definition says  When a feature should not be considered for clustering, the function should return null. It could be understood that when we return null, it won't be taken into cluster feature. But it actually won't even show up on the map.
Describe the solution you'd like
Some way to render not clustered feature, maybe as cluster, but with one feature inside. I need to display on map few features not clustered with others.

The features which are not clustered (e.g. cities of 10 million) can be displayed in a separate layer https://codesandbox.io/s/cluster-forked-kzt16

It would be easier if I had those features on the same layer, as there are many interactions. I guess I'll just merge two sources together


Add timers/checks in script where it is required

In the python exchangenodes timers and checks should be added because blockchain can take a long time

More specifically,
After BTC contract is created, we need to wait for more blocks to be added,

It's an arbitrary value but it should scale with the value of the transaction.

Having gone deeper into how stuff works:
We should be auditing data we get from real Blocks that we can see on a Block Explorer, rather than freshly created possibly pending transactions.
The tfchainc atomicswap auditcontract command already does this, that's why it needs the explorer module enabled in the daemon (to look up real blocks) and only asks for the OutputID (the only part of the contract the auditor is interested in) as a single argument. (as of the rivine v1.0.5 atomicswap patch)
On the other hand, the btcatomicswap binary from Decred that we are using doesn't get the data from a lookup on a block. It just checks the data we give to it. That's why the btcatomicswap auditcontract command requires the contract (which is the Redeem Output really...) as an argument. It expects it as a hexstring that we currently get from the other Party/Entity in the atomicswap process, but we should be getting it from the transaction visible on a Block instead.
In the python scripts, we can use the API endpoints of the Bitpay Insight based block explorer to look up the contract using the utxo id (unspent transaction output ID) like so:
import urllib.request

contents = urllib.request.urlopen("https://test-insight.bitpay.com/api/addr/[outputID]/utxo").read()

The utxoID, or OutputID, or contract in this case refers to this hash in the output from the btcatomicswap initiate command:

Human Readable:

And in the JSON object we get from the block explorer it's this one:

(the images are of different transactions that's why the hashes aren't the same)
Current problem:
btcatomicswap bin we are using from Decred for auditing the btc contract takes in hexstrings as arguments in a different format than we can find on the Block.
Format comparison:
Scripthash:
2NAuJbBRpXfxNZHi9SycMS74QM4So2WetdH
(visible in JSON from block explorer)
Unhashed hex:<PHONE_NUMBER>a820dca04d3bb2332d9441964798c846d00d892d8d7dcf8a0cd02ede232dcf12a0298876a9141205a71bca338c827ab7e983fa877d0df4ea068e670423b8065bb17576a914d4cad03b36abd5e2e890dce6d7902abba06d28dc6888ac
(btcatomicswap bin expects this format)


Cluster Support?

You can use https://github.com/Grokzen/redis-py-cluster for cluster support

Are there plans for this repo to support Redis Cluster?

Perhaps, but I don't have a timeline.

Fair enough. Thank you.


Need documentation (release 5.0) describing veg_hist inputs

Need to add documentation (to release 5.0) for veg_hist inputs, similar to meteorological input files but optional.  Also need to make it clear that if these are used, their values will be taken instead of those from the veg_lib or veg_param files.

Agreed, please include in https://github.com/jhamman/VIC/pull/8.

I think this was addressed in the sync/4.2.c PR that's been merged by now.

closed via jhamman#8 and #324


Build and install the appropriate AGE build into both PostgreSQL development versions.

PG11.17

PG 12.12

Installed, the same test is failing. Will fix these issues

We definitely need to correct the issue with the expr regression test.

Installed AGE extension into both PG(11.17 & 12.12) versions. Apparently all tests are passed. But my pg11.5 & 12.10 had test expr failed. weird because I didn't change anything in between.

Installed AGE into PG11.17. Installcheck passes all 20 tests.
However, for PG12.12, installcheck gives the following error. What I did was checked into branch AGE_PG12.1.0_ALPHA, and run make install with appropriate PG_CONFIG.
$ make PG_CONFIG=/home/rafsun82/postgresql-src/postgresql-12.12/new_build_dir/bin/pg_config installcheck
/home/rafsun82/postgresql-src/postgresql-12.12/new_build_dir/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/home/rafsun82/postgresql-src/postgresql-12.12/new_build_dir/bin'    --load-extension=age --inputdir=.//regress --outputdir=.//regress --temp-instance=.//regress/instance --port=61958 --encoding=UTF-8 --dbname=contrib_regression scan graphid agtype catalog cypher expr cypher_create cypher_match cypher_unwind cypher_set cypher_remove cypher_delete cypher_with cypher_vle cypher_union cypher_merge age_load index drop
============== removing existing temp instance        ==============
============== creating temporary instance            ==============
============== initializing database system           ==============
============== starting postmaster                    ==============
running on port 61958 with PID 418801
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing age                         ==============
ERROR:  incompatible library "/home/rafsun82/postgresql-src/postgresql-12.12/new_build_dir/lib/age.so": version mismatch
DETAIL:  Server is version 12, library is version 11.
command failed: "/home/rafsun82/postgresql-src/postgresql-12.12/new_build_dir/bin/psql" -X -c "CREATE EXTENSION IF NOT EXISTS \"age\"" "contrib_regression"
make: *** [/home/rafsun82/postgresql-src/postgresql-12.12/new_build_dir/lib/pgxs/src/makefiles/pgxs.mk:420: installcheck] Error 2

I'm not sure whether it'll help, but try running make clean and run the installcheck command again.
If it still doesn't work, try testing pg12.12 by running bin/psql in the postgresql-12.12 folder.
it says version 11 is being used, so you can also try reinstalling pg12.12.

Did you switch to the Postgres 12 supported branch of AGE, AGE_PG12.1.0_ALPHA? Also you should run make clean when switching between versions.

PG 12.12

PG 11.17

@JoshInnis @skkk98  make clean solved the issue. Thanks.
PG 11.17

PG 12.12


[BUG REPORT] I found a fatal bug while using the svgo module

OS: mac 14.1
Browser: chrome latest
Nuxt version: 3.8.1
SVGO version: 3.7.0

nuxt config
svgo: {
    componentPrefix: 'i-custom'
  },

Problem

The nuxt-icon component is not getting the original color even though filled props is true.

And even though we set the fontControlled props to false, we can still control it with font.

Despite not adding defaultImport: 'component' in nuxt.config , it renders as two components

<nuxt-icon icon="i-custom-object-3d" class="text-4xl" />
<i-custom-object-3d
  class="h-10 w-10 text-blue-300"
  :font-controlled="false"
/>
<i-custom-xbox class="h-10 w-10 text-red-400" />

example image

original image

Hi

Despite not adding defaultImport: 'component' in nuxt.config , it renders as two components

please clarify your issue, I am confused what is the problem exactly
please note that the default behavior is to load SVGs as nuxt-icon component. defaultImport allows you to change that behavior.
this is not a correct usage:
<nuxt-icon icon="i-custom-object-3d" class="text-4xl" />

please double check that svgo is not ruining your svg, as it sometimes does for my icons.
adding filled prop should use your original colors, there's probably some other issue. please note that svgo messes with IDs, so for example if you have a gradient fill, and it has an ID, chances are that you have another gradient with the same id in the dom already, so it won't work properly.

I wish we could configure the default for the "filled" prop in the nuxt config so I don't have to set :filled=true everywhere.

well you can always create your own component and set your desired defaults. the default component provided by nuxt-svgo is for common use case. if you have specific use case, it still offers enough customizability to let you do what you want.

I must have misunderstood the documentation, I apologize. But could you please write something in the documentation to help people understand it better? I don't think I understand the function of the option defaultImport, even though I've read the documentation several times. I'll read it one more time!
Also, I think it would be good to clarify about the filled props, where the ids in the DOM can overlap.
Thanks for the answer!

Also, I think it would be good to clarify about the filled props, where the ids in the DOM can overlap.

well the problem with ids is not specific to nuxt-svgo, but svgo itself. it is not about the filled prop.
one potential solution, if vite supports it in future, is to optimize the SVGs and load their URL, so it can be used as an <img /> tag, that would solve this issue for good, but last time I checked (on vite v4) it was not possible yet. this would help with SVGs that have a lot of color and you don't want to color based on the currentColor.
so if this issue keeps bothering you and you want to keep the svg's original colors, for now, I suggest optimizing your svgs using a service like vecta.io/nano, and load that as url (using ?url), and pass it to an img src. the only downside is you cant use currentColor anymore.

oh, I exactely understood.
thanks for your comment and time


feat(client): ts-migrate editor component

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Related to #42256

I am not sure why this is failing:
success Building production JavaScript and CSS bundles - 721.239s
success Rewriting compilation hashes - 0.011s
success Building HTML renderer - 55.391s
failed Building static HTML for pages - 4.126s
error "navigator" is not available during server side rendering.

  53 |     return WindowManager.INSTANCE.getPixelRatio();
  54 | }
> 55 | const userAgent = navigator.userAgent;
     | ^
  56 | export const isFirefox = (userAgent.indexOf('Firefox') >= 0);
  57 | export const isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);
  58 | export const isChrome = (userAgent.indexOf('Chrome') >= 0);

  WebpackError:ReferenceError: navigator is not defined

  - browser.js:55
    [client]/[monaco-editor]/esm/vs/base/browser/browser.js:55:1

Cypress does not like the Spacer icon change:
  3) Email input field
       Should be possible to get Quincys weekly email:
     TypeError: The following error originated from your application code, not from Cypress.

  > Cannot assign to read only property 'style' of object '#<Object>'

When Cypress detects uncaught errors originating from your application it will automatically fail the current test.

This behavior is configurable, and you can choose to turn this off by listening to the `uncaught:exception` event.

CC @nhcarrigan

Weird that TypeScript and React don't think it's a read only property. I'll have to dig in to that more.


Read & Write token gives only write permissions

I am doing a POC of self-hosted Hive (pulled images with :latest tag) , I created an organisation and i wanted to publish initial schema. If I create a Read & Write token:

And if i try to use it to publish schema, I get:
Konrad.Lys@EUMBDVHPG9TR4L graphql % hive schema:publish --service="holds" --url="****" --author "kys" --commit "init" holds.graphqls
/usr/local/bin/hive: line 11: [: too many arguments
✖ Failed to publish schema
 ›   Error: No access (reason: "Missing target:registry:read permission")
 ›   Reference: JU+3thWFQBCiHYmwyK1cFQ/0000000012

If i check whoami:
Konrad.Lys@EUMBDVHPG9TR4L graphql % hive whoami
/usr/local/bin/hive: line 11: [: too many arguments
Token name:                    test_token

Organization:                  ***       https://app.graphql-hive.com/equinix
Project:                       VDC           https://app.graphql-hive.com/equinix/vdc
Target:                        DEV           https://app.graphql-hive.com/equinix/vdc/dev

Access to schema:publish       Yes
Access to schema:check         No access
Access to operation:publish    No access

Update: This can also be replicated in the cloud hive

Hi @klys-equinix
Thanks for reporting, I'm currently investigating this issue and hope to get it solved soon.

Thanks for quick response @dotansimha

I'm reverting a recent change we did for the UI of token creation (see https://github.com/kamilkisiela/graphql-hive/pull/3060). Will ship to production once I validates it's working correctly.

@klys-equinix the fix is merged and deployed to production.
You should be able to issue a new token now, that will work correctly.
Please let me know if we need to re-open :)

@dotansimha The old token has still bad permissions - just FYI, not a problem. The new one i generated works as expected. Thanks for impressively quick reaction and fix

@dotansimha The old token has still bad permissions - just FYI, not a problem. The new one i generated works as expected. Thanks for impressively quick reaction and fix

Thanks for the confirmation!
I tried to fix the production issue first, to avoid new invalid tokens from being issued. I'm looking into the core of the issue right now.

@dotansimha How can we enable the Access to operation:publish permission? When selecting the GraphQL Operations Reporting preset, it grants target registry read and write permissions. However, it does not provide access to operation:publish.


”Rahman”, ”Războieni”, ”Stânca” are listed in the drop-down menu

Description:
When user writes ”Rahman”, ”Războieni”, ”Stânca” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Rahman"

Expected results
The location appears in the drop-down menu as "Sat Rahman, TULCEA (Casimcea)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Războieni"

Expected results
The location appears in the drop-down menu as "Sat Războieni, TULCEA (Casimcea)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Stânca"

Expected results
The location appears in the drop-down menu as "Sat Stânca, TULCEA (Casimcea)".


obs-linuxbrowser: init at 0.3.1

Motivation for this change
I use obs-studio to make videos. I'd like to have a browser overlay. I managed to get obs-linuxbrowser to work, with some effort.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@jb55 @MP2E as maintainers of obs-studio, you might be interested in this obs-studio plugin!


[PORT] [PORT] Bot Change Detection

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3804

Add dialoginstance.version property for saving version string between turns.
Add dialog.GetVersion() which allows a dialog to return unique string for a configuration
Add DialogSet.GetVersion() which will be different if collection of dialogs and the GetVersion() have changed.
Add DialogContainer.GetInternalVersion() - which detects at the container level internal changes for children.
Add DialogContainer.CheckForVersionChange() - which is called on BeginDialog/ContinueDialog/ResumeDialog() to detect that a dialogContainer has changed
Add DialogEvents.VersionChanged event which is fired when change is detected
Implement AdaptiveDialog.GetInternalVersion() to detect triggers changes, schema changes as well as dialog changes
Unit tests, etc.

Changed projects

Microsoft.Bot.Builder.Dialogs.Adaptive
Microsoft.Bot.Builder.Dialogs
Microsoft.Bot.Builder.Dialogs.Adaptive.Tests
Microsoft.Bot.Builder.Dialogs.Tests

[R9]

done


Add contrib requirements to preparing test environment

Check.sh was not consistent with travis config.
This unfortunately adds an install of tensorflow to check.sh,
Fixes #1168

Automerge: started


Add queries for server and model performance metrics

Closes #1130
Description

Update the queries that used to fetch the server and model metrics.
Update the chart with multiple legends to change the tooltip type.
How Has This Been Tested?

TBD
Test Impact

TBD
Request review criteria:

Self checklist (all need to be checked):

[ ] The developer has manually tested the changes and verified that the changes work
[ ] The commits have meaningful messages (squashes happen on merge by the bot).
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change.

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

My average response time graph is not showing any data or labels on the y-axis.

@DaoDaoNoCode can you squash this into a single commit please? After that we're good to go.


Styling question to override inline styling

I want to make styling changes to react-dates, DateRangePicker.
I want to be able to give paddingBottom and on right as highlighted.
If I see in dev tools it shows me style is given inline so I cannot even override this change

some guidance is helpful..

@rikinshah23 you can add it with your styles:
.DayPicker {
  padding-bottom: 30px
}


Added favicon.ico files to chef web servers so its easier to find.

Just used the basic logo found on the wiki.

Thank you for supporting Chef! Our process has a couple prerequisites before we can merge your contribution. We need to ensure you've completed a Contributor License Agreement (CLA) and a ticket on our ticket tracker for the release workflow. Please take a moment to review the below wiki page for the appropriate steps:
http://wiki.opscode.com/display/chef/How+to+Contribute
The Opscode Team


Exclude .map files by default

when i build my schema like the following in production with source-maps on in my tsconfig.json it will also include .map extensions i think they should always be omitted:
await buildSchema({
      resolvers: [__dirname + "/modules/**/resolver.*"]
}

Describe the solution you'd like
exclude .map files by default.
Alternative
write the following
schema: await buildSchema({
  resolvers: [
    process.env.NODE_ENV === "production"
    ? __dirname + "/modules/**/resolver.js"
    : __dirname + "/modules/**/resolver.ts",
  ],
}

resolvers: [__dirname + "/modules/**/resolver.{ts, js}"]


Address lingering issues from peer review

This addresses the remaining issues from peer review from this comment, except for the figure change we need Samarjeet for.
This- Clarified issue about entropy mattering not just for free energies

Address what scaling means for barostats
Address whether Langevin reduces to Andersen when there is no damping
Addresses semigrand ensemble

@justinGilmer or @JIMonroe ready for review/merge I think.

Looks good to go!


Use JSON logging formatter

TL;DR
Use JSON logging formatter.  Logs will now look like:
{"asctime": "2021-06-15 19:30:58,474", "name": "flytekit", "levelname": "INFO", "message": "This is the base logger - UTC: 19:30:58"}
{"asctime": "2021-06-15 19:30:58,474", "name": "flytekit.auth", "levelname": "DEBUG", "message": "This is a debug auth logger 19:30:58"}

Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
Added a JSON formatter for logging and set the formatter in the main handler to use it.
The reason for this is because json logs are easier to parse, esp by third party log search providers.

@jeevb @honnix @akhurana001 will this break anything for you guys?

@jeevb @honnix @akhurana001 will this break anything for you guys?

Nope. LGTM!


Release v1.0.0.beta.1 / v0.0.5

With @sahbi-ktifa, we plan to do another release probably tomorrow (or monday), as @Falydoor will need this, for his full-day workshop on Vue.js with JHipster.
@sahbi-ktifa has the permission on NPM repo now to do it.
@deepu105 : I know how to publish a specific version but not a beta version. Plz, can you provide us what you did for the last release, as you publish 2 versions:

v0.0.4
v1.0.0.beta.0

So @sahbi-ktifa can do the same.

That's easy run the below, the * v0.0.4 was published by accident so ignore that
npm version npm version 1.0.0-beta.1
git push --tags
npm publish --tag beta

thanks a lot @deepu105 ! :-)

Release 1.0.0-beta.1 done today. Thanks @pascalgrimaud @deepu105

@Falydoor : can you test and confirm it works well for your workshop ? If needed, we probably can do a new release. Just ask !

Thanks for the release!
The only issue I have right now is that after installing the blueprint globally by running npm install -g<EMAIL_ADDRESS>I have the below error:

It works if I install the blueprint locally with npm install<EMAIL_ADDRESS>It's not a big issue but I would like to know if you're able to use the blueprint using the global package.

yes, only if I install globally both:

generator-jhipster
generator-jhipster-vuejs

If one of them uses npm link, I need to use npm link generator-jhipster-vuejs

I had to run brew unlink jhipster because it was overriding the global generator-jhipster.
Thanks!


Update code to match publication and generalize functions

@michaelzemp Your feedback welcome.
Summary of changes:

Rename functions, arguments, modules
Remove support for deprecated uniform_annual_balance method
Use numpy arrays for arrays, removing pandas as a dependency
Expand demo notebook
Generalize downscaling to any regular datetime sequence

@michaelzemp Ready for you to take a final look.

Thanks, Ethan. that looks good. you may merge the pull request.


Allow multiple spinners

Currently Spinner can not run multiple in multi-threading.

This PR stores CursorTop and lock Console operations.

Also I've found bug of !CanAcceptEscapeSequence's clear line code.

_lineLength = frame.Length + 1 + Text.Length; is not work for non-ascii character.
I've modified to  _lineLength = Console.CursorLeft; after console out flushed.

Sorry, after first open PR, I've changed implementation.
to allow other console writing, always render terminator and add Start(string terminator) overload.

Also added as a hack, using Console.s_syncObject for lock if can.

Great! But unfortunately, it seems that the output is corrupted when running on CI or enabled = false state.
Expected:

Actual (Text will appear in unexpected places):

And, in the case of Linux terminal, it will not display correctly at the window buffer boundary.
https://user-images.githubusercontent.com/9012/144692472-570a6d9d-ca49-40d2-b23f-61159b105d59.mp4
The window buffer (Console.BufferHeight) other boundary problem seems to exist on Windows as well.
For example, If you run Spinner after for (var i = 0; i < 10000; i++) { Console.WriteLine(i); }, an exception is thrown.

@mayuki
thanks, I've fixed both and checked Windows/Linux, CI=1/none enviroments.
If reached window boundary, I've added check of position and subtract new line.
_cursorTop = Console.CursorTop;
Console.Write(terminator);
Console.Out.Flush();

// reaches window boundary
if (_cursorTop == Console.CursorTop)
{
    _cursorTop = Math.Max(_cursorTop - 1, 0);
    foreach (var item in s_runningSpinners)
    {
        item._cursorTop = Math.Max(item._cursorTop - 1, 0);
    }
}

-1 doesn't work when the usual Console.WriteLine is sandwiched in between, but it's still better than the previous version (which completely broke the behavior).

-1 doesn't work when the usual Console.WriteLine is sandwiched in between, but it's still better than the previous version (which completely broke the behavior).

I would like to consider addressing that case in the future.


Error when joining multiplayer servers before joining a singleplayer world

When I launch Minecraft, if I try to join a multiplayer server before loading a singleplayer world, I get kicked with this error:

Seems like the environment type in the initializing class is the issue here... Since that is only called on the client StatesDirectory will never be initialized and it throws a nullpointer exception...


chore: mention the faster code fmt approach

Motivation
Mention an easy way to format pekko code, which allows you to skip the sbt loading, in specific cases may be vert useful.
Using Scala-Cli

Using sbt

I use scalafmt using coursier CLI - see https://scalameta.org/scalafmt/docs/installation.html#cli
We might generally be better off pointing at that https://scalameta.org/scalafmt/docs/installation.html page generally.

Let me add that then.

You can also mention that there is scalafmt-native which has installations for various distributions, see https://scalameta.org/scalafmt/docs/installation.html#native-image

You can also mention that there is scalafmt-native which has installations for various distributions, see https://scalameta.org/scalafmt/docs/installation.html#native-image

It was mentioned in the shell example.

Running CI, if its good to go ill improve


undefined method 'require' (NoMethodError)

How can we write require files to other ruby files. I am trying to run this ruby code with mruby program.rb. It shows undefined method 'require'.
require "interpreter" # This is located as interpreter.rb
require "readline"
interpreter = Interpreter.new

if file = ARGV.first
  interpreter.eval File.read(file)
else
  puts "Awesome REPL, CTRL+C to quit"
  loop do
    line = Readline::readline(">> ")       # 1. Read
    Readline::HISTORY.push(line)
    value = interpreter.eval(line)         # 2. Eval
    puts "=> #{value.ruby_value.inspect}"  # 3. Print
  end                                      # 4. Loop

Since mruby needs to run on platforms without file systems, it doesn't provide require by the core.
mruby-require gem may work for you.


83 secretlock secretproof transaction

I add these parameters——privateKey, url, networkType.

Pull Request Test Coverage Report for Build 373

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-9.8%) to 83.557%

Totals

Change from base Build 362:
-9.8%

Covered Lines:
171

Relevant Lines:
207

💛  - Coveralls


HIP33: Regional Reward Adjustments

Author(s): @mj0lken
Start Date: 2021-02-06
Category: Technical, Economic
Initial PR: https://github.com/helium/HIP/pull/210
Tracking Issue: this
Status: In Discussion
Discord channel: #hip-33-regional-reward-adjustments on https://discord.gg/helium
Rendered view:
https://github.com/helium/HIP/blob/master/0033-regional-reward-adjustments.md
Summary:
This proposal suggests the addition of a regional reward scaling chain variables to deal with different regional output regulation for the LoRa protocol in order to create an equal deployment incentive over the world.

Closing 4 months later


Export only produces a blank page (WSL1)

Describe the bug
First, thank you for the fix for #397. Now slidev export no longer aborts, but instead outputs a blank page PDF (even with the default sample) on the same dev.
To Reproduce
Steps to reproduce the behavior:

yarn create slidev
yarn add --dev playwright-chromium
yarn slidev export
you get this file

Desktop (please complete the following information):

OS: Ubuntu 20.04 (WSL1 on Win11)
Browser: N/A
Slidev version: 0.30.3

If you have a a global-top.vue, you're probably facing this issue https://github.com/slidevjs/slidev/issues/466
A workaround is to rerun the export and the second time it should work.

@twitwi Thank you the advice but I don't think I use the config. The problem just happens with a clean setup, and outputs a blank page as if no error occurred. Retry and you get a same result too.

Just tried today and I did  not reproduce the issue.
I am using Ubuntu 20.4 like you.

@tonai Are you running on native Ubuntu or WSL?

@tonai Yes, I suspect that it's a WSL-only problem. I don't have a machine with native Ubuntu so I can't confirm it though...

Seems no longer happening in my environment as of 0.34.3. Closed.

Reopened. This issue seems still there on the WSL1 environment, but not in WSL2.

same on arch linux
Kernel: 5.15.77-1-lts
package.json:
{
  "name": "ppt",
  "private": true,
  "scripts": {
    "build": "slidev build",
    "dev": "slidev --open",
    "export": "slidev export"
  },
  "dependencies": {
    "@slidev/cli": "0.29.2",
    "@slidev/theme-apple-basic": "^0.20.0",
    "@slidev/theme-default": "*",
    "@slidev/theme-seriph": "*"
  },
  "devDependencies": {
    "playwright-chromium": "^1.27.1"
  }
}

fix it after update to slidev v0.36.11

Exporting blank PDF using v0.37.1

Windows 10 21H2
WSL 1/Ubuntu 22.04.1 LTS
Kernel: 4.4.0-19041-Microsoft
npm: 8.19.2
Node: v16.18.0

Tried:

npm i -D playwright-chromium
npx playwright install --with-deps
npm run export

{
  "name": "slidev",
  "private": true,
  "scripts": {
    "build": "slidev build",
    "dev": "slidev --open",
    "export": "slidev export"
  },
  "dependencies": {
    "@slidev/cli": "^0.37.1",
    "@slidev/theme-apple-basic": "^0.20.0",
    "@slidev/theme-default": "*",
    "@slidev/theme-seriph": "*"
  },
  "devDependencies": {
    "playwright-chromium": "^1.28.1"
  }
}


Can't Deploy Azure

Problem encountered on https://dotnet.microsoft.com/learn/aspnet/deploy-microservice-tutorial/deploy
Operating System: macos
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.
Sample Code
taylorstafford-smith@taylors-MacBook-Pro myMicroservice % kubectl apply -f deploy-myMicroservice.yaml
error: error validating "deploy-myMicroservice.yaml": error validating data: invalid object to validate; if you choose to ignore these errors, turn validation off with --validate=false
taylorstafford-smith@taylors-MacBook-Pro myMicroservice % az aks get-credentials --resource-group myMicroserviceResources --name myMicroserviceCluster
Merged "myMicroserviceCluster" as current context in /Users/taylorstafford-smith/.kube/config
taylorstafford-smith@taylors-MacBook-Pro myMicroservice % cd myMicroservice
cd: no such file or directory: myMicroservice
taylorstafford-smith@taylors-MacBook-Pro myMicroservice % cd mymicroservice

That's what they did @Rick-Anderson.
@shirhatti @nishanil can you help?

That's what they did @Rick-Anderson.
No, I transferred it per the request of  @javiercn

Yes, but it was originally transferred from dotnet/core where the "I ran into an issue" button takes you.


CI/CD Pipeline

Build a CI/CD Pipeline to support both testing and subsequent deployments.
This will also support regenerating static assets.

See also #12

Given the time available, I think we keep it super simple and focused on delivery. Here's what I'm thinking, from the user's perspective... this can happen either the first time they run terraform or after they've already deployed the main demo:

fork sample app repo
add repo details to terraform.tfvars and enable building the pipeline
run terraform, which sets up the necessary services, SAs, and IAM roles and configures a Cloud Build trigger to watch the repo
push to repo and watch as it is deployed

I think we should handle the testing stuff separately and come back and hook it up to this if we have time. I'm the wrong person to build out the testing system anyway. Someone else should pick that up and work on it in a parallel branch.
@thagomizer @subfuzion: what do you think?
@villasenor: anything I'm missing or should be prepared for?

@bleything Maybe I'm a bit confused here, but how does #18 enable CI/CD? Are you saying that in the future we can add functionality that will check that variable and setup CI/CD if it is enabled?
As far as CI/CD goes, I would normally do some basic Terraform linting and validation, do a terraform plan and check for a proper exit code, and then if that CI passes, literally just run terraform apply -auto-approve for the CD portion. This can run anywhere, but ideally in Cloud Build. I'm not sure how authentication would work for this pipeline - I haven't done that in an automated fashion on GCP yet. But if it's anything like most providers, it shouldn't be too bad. A sandbox environment that is locked down can be good for this.

@villasenor

Are you saying that in the future we can add functionality that will check that variable and setup CI/CD if it is enabled?

Yep, #18 is WIP; I just made a simple commit so I could open the PR.

As far as CI/CD goes, I would normally do some basic Terraform linting and validation, do a terraform plan and check for a proper exit code, and then if that CI passes, literally just run terraform apply -auto-approve for the CD portion.

Ah I think we might have some crossed wires. The goal of this feature is to make Terraform provision a CI/CD pipeline for the demo application, not to add CI for this repo specifically. It'd probably good to have both at some point, but building a deployment pipeline for the demo application is more important right now.
Sorry that wasn't clear before, that's my bad. I'll clarify in the PR so we have that info for future reference.

@bleything Ahh I see. No worries - sorry for assuming! Ok in that case, I think everything you described is perfect for CD. I would add some testing though so that there is a CI component. That could even be linting - the point is that there is a "placeholder" for that type of functionality - showing where it would go and how the flow works.

@villasenor: oh that's a really good point about having a placeholder for a more robust testing environment down the road. I'll plan on adding a linting step and we can expand on it later. Thank you!


[WFCORE-5575] Refactor Boolean parsing and Bool object use (domain-http)

https://issues.redhat.com/browse/WFCORE-5575

@jmesnil thanks for your feedback

I'm not sure the use of Boolean here is worth it. The current code reads better

The current implementation with autoboxing is not null safe, thats the intention of the change. I fully agree the readability is much better.
At the moment it looks like a static (never null) value is here: o.j.a.d.h.s.ManagementHttpServer.java#L277 but this might change.
I'll undo all other changes comparable to this one - but weighing null-safety/robustness vs. readability you're sure you want readability in these cases?

I'll change the other PRs accordingly to your feedback. This has only one (non-readable) change, therefor I withdraw it.


Add a Getting Help section to somewhere

Like how Redux do, we might need a Getting Help section to encourage people to ask questions on StackOverflow. We can either create a CONTRIBUTING page or just append it to the README.
How do you think?
cc @istarkov @acdlite

I've created a PR for this issue #260.


Change tab title with Piskel name

To reproduce, create a new Piskel and save it to your gallery with a different name. The browser tab text does not change to reflect the new name, and instead still shows the original name ("New piskel"). Instead, the tab text should change to reflect the new file name, or if this is not possible, the tab text should not include the file name.

Good point!
Updating the window's title should be handled by the website that embeds piskel. So here we actually think about piskelapp.com, for which the code is at https://github.com/juliandescottes/piskel-website
Ideally, piskel-website should have a script that does this and also takes care of what is currently handled in HeaderController.js. In the meantime however we could handle it in HeaderController.js directly, just making sure that window.pskl.appEngineToken_ is truthy (this token should only be set when piskel is embedded in piskel-website).

Fixed, closing


Width of text in blockquotes is not limited

I noticed if a feed entry contains a blockquote with text in it without enclosing paragraph element, the width of the text ist not capped, rather it uses the full width of the browser.
e.g.

Some long text

Takes the whole width, while

Some long text

works like intended. As far as I see it, only strict XHTML requires that a blockquote only contains blocks. Thus my first example should be valid html and it should be formatted correctly.

Hi @michaelmattig, I can't reproduce your issue, but I can imagine what you're seeing:
I limited the maximum width of paragraphs to 45em for better readability. blockquotes are not limited in width. Both is intended, because a blockquote might also contain code, which should not wrap early.
So text without paragraphs in a blockquote fills the whole width of the blockquote. But it won't scroll horizontally.
Can you confirm this behaviour?
If it's different/broken for you, what browser/version and which OS are you using?

Yes, I can confirm this behavior. If this is intended I'm going to have to live with it (or fork). Thanks for your response, though.


Firefly won't start after closing infinite loop

Issue description
Sent atoi to my own second profile, sending process never ended. Closed Firefly for restart but won't enter wallet after restarting, only logo appears but nothing happens for hours... can click on burgermenu, but doesn't appear to help the process
Wallet version
Firefly
0.3.1
System specification
win10
build19042
Is it a repeatable issue?
N
Expected behaviour
Restart Firefly > choose profile > enter pw > send and receive
Actual behaviour
just Firefly logo and burgermenu appears
Errors
clicking "Fehlerprotokoll" or any other won't cause any action

This is what the console says:
C:\Users\xyz\…\build\preload.js:1 Uncaught Error: Uncaught TypeError: Cannot read property 'data' of null
at C:\Users\xyz\AppData\Local\Programs\desktop\resources\app.asar\public\build\preload.js:1:17674
at C:\Users\xyz\AppData\Local\Programs\desktop\resources\app.asar\public\build\preload.js:1:24580
at Array.forEach ()
at destroy (C:\Users\xyz\AppData\Local\Programs\desktop\resources\app.asar\public\build\preload.js:1:24568)
at C:\Users\xyz\AppData\Local\Programs\desktop\resources\app.asar\public\build\preload.js:1:19467

Did you have a custom currency selected ?

Did you have a custom currency selected ?

Can you specify?

Did you go into the settings and change your currency from the default USD.

ok thanks, there is a problem with custom currencies in the current version, the changes in the next build should fix the issue you were seeing.

ok, is it capable of updating automatically or do I have to reinstall?

never mind, I can update before clicking my profile. Thanks for your support!

The new build is not yet released, you will have to reinstall when it is released
You can completely reset your current version by removing the contents of
C:\Users\xyz\AppData\Roaming\Firefly Beta

Removed content as described above, recovered from backup, now able to enter but shows wrong balance. Closed Firefly while being in an infinite transaction process in the first case ... anything to do with that maybe? (Total received 40Mi>total send 1 Mi>Total Balance 27 Mi)

There are a few known issue with balances, I would ignore them for now


Add labels and links

Note: This change depends on #113
This change adds an entity ID to Wikidata label map to the results page. This map is then used to display labels for various entity IDs displayed on the page.
Bug: T291569

Hey hey, thank you for the thorough review I updated the code according to your remarks, added more comments so that hopefully the code is clearer now. I also updated the browser tests, and found a bug with Qids that start with a lowercase Q (see last commit). Feel free to unresolve any of the comments if there is more to add or change.

Thanks for the typo fix!


moved undelete button and changed Add File button color

Description

moved undelete button from header to side panel
added some warning text in undelete modal regarding permanently deleting items after 30 days
updated "add file" button color

There are a lot of lint changes staged in this PR because I used prettier for linting (including the .prettierrc in the codebase). Unfortunately, this makes this PR difficult to review because there are so many lint changes - however, going forward, this will make it easier to work in these files so I left the lint changes in.

Clickup Ticket
I don't think there is one
Type of change
Delete those that don't apply.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Locally checked UI in a variety of data scenarios
Checklist:
Delete those that don't apply. Only apply the final commit message using the changelog when merging a feature to DEVELOPMENT that will be deployed to all users.

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added unit tests that prove my fix is effective or that my feature works
[x] I have pushed the final commit message using the changelog format

@jfromme - good point! Let me get some feedback on the placement, I agree it isn't directly related to the file details functionality so the placement is a bit odd.


fixed the not finding packages bug and adjust the css for template html

Fixed two issues.
Issue 1:
It will cause
can't load package "PROJECT-NAME/MODULE/MODULE_NAME": cannot find package "PROJECT-NAME/MODULE/MODULE_NAME" in any of: 	/usr/local/go/src/PROJECT-NAME/MODULE/MODULE_NAME (from $GOROOT) 	/Users/Russell/golang/src/PROJECT-NAME/MODULE/MODULE_NAME (from $GOPATH) cannot find package "PROJECT-NAME/MODULE/MODULE_NAME" in any of: 	/usr/local/go/src/PROJECT-NAME/MODULE/MODULE_NAME (from $GOROOT) 	/Users/Russell/golang/src/PROJECT-NAME/MODULE/MODULE_NAME (from $GOPATH)
errors when I pass the relate path under the GOPATH directory to the goreporter.
e.g:
$ cd $GOPATH/src/git.cloudware.com/
$goreporter -p ./price-api -r ./ -f html
The "git.cloudware.com" is vanity url. It's just a meaningless directory.
So I fixed this error in the utils.go
Issue 2:
Before fixed the css:

After fixed the css:

Thanks!

Codecov Report

Merging #59 into master will increase coverage by 0.18%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
+ Coverage   31.67%   31.86%   +0.18%
==========================================
  Files          18       18
  Lines        1269     1274       +5
==========================================
+ Hits          402      406       +4
- Misses        828      829       +1
  Partials       39       39

Impacted Files
Coverage Δ

utils/utils.go
40.49% <80%> (+1.7%)
:arrow_up:

Continue to review full report at Codecov.

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

Thank you very much for your contribution.


Feature request: quiet mode

Devbox is great and can be used with vscode easily. However the lack of a quiet mode triggers problems when you configure it with vscode (for instance for the formatter). In this case the log printed by devbox when the shell command is called appears in the formatted file.
It would be great if devbox featured a quiet mode in which it will not log anything else the output of the command it executed.
The quiet mode would be a simple -q flag to append to any devbox command and will remove the devbox logs.

#414

@aacebedo the pull request regarding this issue is merged. You'll have the ability to put --quiet or -q to devbox shell, devbox run, and devbox init commands in the next release which will likely be next week.


feat(client): Added the ability to set default values for options in the Transaction when initializing PrismaClient

Thank you for the grate project!
I have implemented a feature that allows setting default values for Transaction options, such as maxWait , timeout , and isolationLevel , during the initialization of PrismaClient . Previously, it was difficult to unify the default values for Transaction created from a specific PrismaClient because these options could only be passed during the instantiation of a Transaction instance.
With this enhancement, you can now configure the default values for Transaction options when creating a PrismaClient . I believe this feature will be beneficial, and I would greatly appreciate your review if you find it valuable.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@SevInf @aqrln Hi! Thank you for maintaining it!
Is there any updates?

@tockn did you see this message maybe?

This would be a very welcome change -- we use a 20 second timeout for all of our transactions, and would love to be able to set that by default.

Any chance this can be merged soon?

Sorry for the delay in responding! I will respond shortly!

@aqrln
I have implemented the TSClient and added tests. Could you review it again?

@SevInf @aqrln Is there any updates or anything else I should do?

@aqrln @SevInf Hi! I want to know the situation. Is there anything I should do?

@Jolg42 Any update on this? Anything I can help.

@shrujalshah28 I'm not sure what's the current state at the moment, I remember that his was quite a nice contribution.
At the moment, to move this forward, we would to fix the git conflicts and review it.

@Jolg42 I have opened MR for this - https://github.com/prisma/prisma/pull/22583

Thank you. I will fix the conflicts!

@Jolg42 Thank you for your response! I have resolved the conflicts. Please review it! (Some test cases have failed, but they seem like flaky tests?)

@Jolg42 Would it be possible for you to review this for me?

@tockn Sorry for the delay, I didn't forget you but didn't have the time as I had more urgent things to do. I'll try to take a moment this week and report back.

@SevInf thank you for reviewing! i've fixed those points!

@tockn (and others) you can (finally!) try this out in the following dev version 5.10.0-dev.71.
Thanks again for the good work 💚
Let us know if you have any feedback 🙌🏼
I recommend waiting for the official 5.10.0 release scheduled, next week, on Tuesday, 20th February to use it in production.