Abnormal in-node latency with EFA enabled

Environment:

AWS ParallelCluster / CfnCluster version: pcluster 2.4.0
OS: ubuntu1604
Scheduler: slurm
Master instance type: c5n.large
Compute instance type: c5n.18xlarge

Bug description and how to reproduce:
When EFA is enabled in ~/.parallelcluster/config using enable_efa = compute and using built-in openMPI & libfabric, in-node latency as benchmarked using osu-micro-benchmarks is extremely high compared to without-EFA levels.
Steps to reproduce:

Create a HPC cluster with EFA enabled (enable_efa = compute).
Build osu-micro-benchmarks from http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.1.tar.gz and run osu_latency test on one single node:

srun -N 1 -n 2 --pty /bin/bash
mpirun --mca btl self,vader,tcp ./osu_latency

Results show > 10 us latency in one single node:
# OSU MPI Latency Test v5.6.1
# Size          Latency (us)
0                      14.78
1                      15.76
2                      15.70
4                      15.05
8                      15.02
16                     15.04
32                     15.01
64                     15.05
128                    15.02
256                    15.08
512                    15.14
1024                   15.83
2048                   16.09
4096                   17.64
8192                   20.23
16384                  54.93
32768                  60.09
65536                  70.12
131072                 85.27
262144                153.30
524288                294.98
1048576               597.51
2097152              1200.84
4194304              2371.78

Which is extremely high compared to when EFA is disabled, where latencies are ~1 us scale.
0                       0.31
1                       0.34
2                       0.33
4                       0.33
8                       0.33
16                      0.37
32                      0.37
64                      0.41
128                     0.43
256                     0.48
512                     0.63
1024                    0.73
2048                    0.90
4096                    1.62
8192                    1.86
16384                   2.54
32768                   3.33
65536                   5.05
131072                  8.57
262144                 15.75
524288                 33.36
1048576                83.37
2097152               209.42
4194304               407.54

Additional context:
This issue results in extremely degraded performance in MPI when enabling EFA. It seems like MPI shared memory has something wrong. We suspect that enabling EFA messed up OpenMPI's Vader BTL for shared memory data transfer.

This is expected as the libfabric provider for EFA does not currently detect a local process and defer to the shm provider to accelerate in-node traffic. It is on our roadmap this year to add this capability and we will follow up on this ticket when we have more information.

Seems like Intel-MPI does not have this problem. Tested with pcluster 2.4.1 on a single c5n.18xlarge node (ubuntu1604). Here're the reproducible steps and results:
Both OpenMPI and Intel MPI are pre-installed:
$ module avail
------------------------------------- /usr/share/modules/versions --------------------------------------
3.2.10

------------------------------------ /usr/share/modules/modulefiles ------------------------------------
dot                 module-git          modules             openmpi/3.1.4-2
intelmpi/2019.4.243 module-info         null                use.own
$ module load intelmpi/2019.4.243
$ which mpicc
/opt/intel/compilers_and_libraries_2019.4.243/linux/mpi/intel64/bin/mpicc

Grab OSU:
wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.1.tar.gz
tar zxf osu-micro-benchmarks-5.6.1.tar.gz
cd osu-micro-benchmarks-5.6.1
./configure CC=mpicc CXX=mpicxx --prefix=$HOME/osu
make
make install

Measure point-to-point latency on a single node:
$ cd $HOME/osu/libexec/osu-micro-benchmarks/mpi/pt2pt
$ # srun -N 1 -n 2 ./osu_latency  # this doesn't work as the MPI is not built properly with Slurm
$ srun -N 1 -n 2 --pty /bin/bash  # interactive session works though
$ mpirun ./osu_latency
# OSU MPI Latency Test v5.6.1
# Size          Latency (us)
0                       0.45
1                       0.42
2                       0.42
4                       0.42
8                       0.42
16                      0.42
32                      0.44
64                      0.44
128                     0.55
256                     0.61
512                     0.81
1024                    0.90
2048                    1.06
4096                    1.50
8192                    1.94
16384                   3.31
32768                   5.08
65536                   9.46
131072                 18.43
262144                 35.54
524288                 84.90
1048576               171.69
2097152               341.89
4194304               683.29

which is normal in-node latency.
OpenMPI still have the problem shown by @jimmielin. Just replace module load intelmpi with module load openmpi in the above steps.

The in-node latency problem has disastrous impact on the performance of MPI_Bcast and other collectives, which heavily rely on shared-memory message passing.
For broadcasting large messages, OpenMPI is 10x slower than Intel MPI (15000 us vs 1500 us) :

It is even slower than OpenMPI without EFA (falls back to TCP):

This could kill the performance of I/O heavy models... (for example WRF by default uses serial read + broadcasting). I can stick to Intel MPI for now, but fixing OpenMPI would be much more ideal, given its popularity... Is it possible to fix this by an ad-hoc patch to openmpi or libfabric? I don't mind applying some hacks by myself if that's doable.

Jiawei -  Thanks for sharing the results. Neither the Open MPI libfabric MTL (OFI MTL) nor the libfabric EFA provider optimize for intra-instance communication with shared-memory today. LIke Sean mentioned, adding shared-memory support to the EFA provider is something on our roadmap and is being actively worked on, but we do not have a date for when that will be available yet. It is more involved than a quick patch to either of these libraries, so I don't think we can suggest a workaround/hack at this time.

@rajachan Thanks, this is useful to know! I will use Intel MPI before the fix.

Thanks @JiaweiZhuang !
Can you clarify MPI is not built properly with Slurm ? Usually I run with:
module load intelmpi
export I_MPI_PMI_LIBRARY=/opt/slurm/lib/libpmi.so
srun -N 1 -n 2 /shared/intelmpi/osu-micro-benchmarks-5.4/mpi/pt2pt/osu_latency

I think all you're missing is export I_MPI_PMI_LIBRARY=/opt/slurm/lib/libpmi.so line. See https://slurm.schedmd.com/mpi_guide.html#intel_mpi

@sean-smith Yes I was missing I_MPI_PMI_LIBRARY -- adding so fixes the Slurm problem. Thanks!

Thanks @JiaweiZhuang for testing Intel MPI results. I've been trying to use intel-mpi with gfortran and I've ran into this issue with a handful of legacy code (e.g. in hdf5 fortran bindings) where use mpi is used instead of include "mpif.h" in modern fortran.
This results in a unexpected EOF when reading the mpi module, as Intel MPI's mpi.mod is compiled with Intel compilers (ifort) instead of gfortran, resulting in module file incompatibility. This is shown by
strings mpi.mod | grep 17
17.0.3

Thus it will be impossible to use use mpi in gfortran-compiled fortran code linked with Intel MPI. The following hack will fix this issue:

Remove mpi.mod compiled with Intel ifort from the Intel-MPI directory
ln -sf mpif90 mpifort to avoid existing amazon EFA-enabled openmpi from interfering with the intel fortran compilers (Intel MPI does not have mpifort by default, so some code that calls mpifort will use Open-MPI compiler while mpif90 is the right intel-MPI compiler)
Create a file hack.f90 with the following:

module mpi
    include "mpif.h"
end module mpi

Compile using mpif90 -c hack.f90 and rm hack.o, keeping mpi.mod that is binary compatible with gfortran

This should fix the issues. I will be reporting this to Intel too but I am posting it here in case anyone is stuck with a similar issue.

I can confirm the use mpi problem reported by @jimmielin . The default compiler (GCC 4.8.5 on CentOS 7) works fine, but a very new version (GCC 9.2.0) has this problem. Just put the steps here for record.
$ spack -v install<EMAIL_ADDRESS>$ spack compiler add $(spack location -i<EMAIL_ADDRESS>$ export PATH=$(spack location -i gcc)/bin:$PATH
$ module load intelmpi
$ mpicc --version   # wraps a new version of gcc
gcc (GCC) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Test program test.f90:
program test
use mpi
integer ierr

call mpi_init(ierr)
print *, "Hello world"
call mpi_finalize(ierr)

stop
end

Error:
$ mpif90 test.f90
test.f90:2.4:

use mpi
    1
Fatal Error: File 'mpi.mod' opened at (1) is not a GNU Fortran module file

This is indeed an Intel-MPI problem and should be raised upstream instead of here. Just in case people hit the same issue. For example WRF has a ton of use mpi statements.

@jimmielin and @JiaweiZhuang thanks for sharing!

As an update to this issue, shared-memory support has been directly added to the EFA provider in libfabric. Open MPI can now leverage this to optimize node-local communication without any modifications to the OFI MTL. This is available as part of libfabric 1.9 that was release a couple days back.

I can confirm that the latency problem is now solved by libfabric 1.9 (installable via Spack spack/spack#13964).
spack -v install osu-micro-benchmarks<EMAIL_ADDRESS>schedulers=slurm fabrics=libfabric<EMAIL_ADDRESS>fabrics=efa
cd $(spack location -i osu-micro-benchmarks)/libexec/osu-micro-benchmarks/mpi/pt2pt/
srun -N 1 -n 2 ./osu_latency

which gives:
# OSU MPI Latency Test v5.6.1
# Size          Latency (us)
0                       1.10
1                       1.99
2                       1.00
4                       0.99
8                       1.00
16                      1.10
32                      1.14
64                      1.14
128                     1.14
256                     1.17
512                     1.24
1024                    1.37
2048                    1.58
4096                    3.03
8192                    5.64
16384                   6.87
32768                   7.46
65536                   8.85
131072                 11.59
262144                 16.95
524288                 31.36
1048576                85.78
2097152               218.69
4194304               420.02

Thanks @rajachan and thanks @JiaweiZhuang for verifying this. The issue can be closed now.


v0.5.1

Minor fixes + error handlers + code quality

Removed /ping /uptime

Added /info with modern embed

Code quality do not met the requirements.


Testing: Add automated test to detect git merge conflict markers

We should create an automated test to prevent PRs from being merged which contain git merge conflict markers, e.g.,
<<<<<<< HEAD

... stuff

=======

... stuff

>>>>>>> abc123...

Relates to #2832

We have closed this issue because it is more than 3 years
old. If this issue is still relevant, please add a comment and re-open
the issue. Thank you for your contribution to CockroachDB docs!

Def still valid AFAICT, see also #3301


Add crystal implementation reference

Hi! I added crystal implementation reference: https://github.com/SuperPaintman/ulid

Current coverage is 82.85% (diff: 100%)

Merging #10 into master will not change coverage

@@             master        #10   diff @@
==========================================
  Files             2          2
  Lines            70         70
  Methods          20         20
  Messages          0          0
  Branches          8          8
==========================================
  Hits             58         58
  Misses           12         12
  Partials          0          0

Powered by Codecov. Last update 163da55...686ddb5

🎉 thanks @SuperPaintman!


Ensure IOUring#isAvailable does not throw Exception

Motivation:
When invoking IOUring#isAvailable the exception below is thrown. This is a regression made with #97
java.lang.ExceptionInInitializerError
	at io.netty.incubator.channel.uring.IOUring.<clinit>(IOUring.java:27)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at reactor.netty.resources.DefaultLoopIOUring.<clinit>(DefaultLoopIOUring.java:95)
	at reactor.netty.resources.DefaultLoopNativeDetector.<clinit>(DefaultLoopNativeDetector.java:32)
	at reactor.netty.resources.LoopResources.hasNativeSupport(LoopResources.java:270)
...
Caused by: java.lang.IllegalStateException: Only supported on Linux
	at io.netty.incubator.channel.uring.Native.loadNativeLibrary(Native.java:277)
	at io.netty.incubator.channel.uring.Native.<clinit>(Native.java:69)
	... 106 more

This is related to https://github.com/reactor/reactor-netty/actions/runs/992135575
Modifications:

Introduce global try/catch that will handle all exceptions thrown by
io.netty.incubator.channel.uring.Native and initialises IOUring#UNAVAILABILITY_CAUSE.
Thus this will ensure IOUring#isAvailable does not throw Exception

Result:
Ensure IOUring#isAvailable does not throw Exception, but gives information
whether this functionality is supported or not

@violetagg thanks a lot!


Outdated solr configuration?

Today I tried to setup a Solr server.
After following the instructions and clicking save, I recieved 2 messages:

"The server was successfully saved."
"You are using outdated Solr configuration set. Please follow the instructions described in the README.md file for setting up Solr."

It states it can connect OK is the view table in Drupal 10. And the configured version and detected version appear to match:

Server Connection
The Solr server could be reached.

Core Connection
The Solr core could be accessed (latency: 10.037945343018 ms).

Configured Solr Version
8.11.2

Detected Solr Version
8.11.2

However, I am unfamiliar with Solr so not really sure if there are any "issues".
We may need to update the configuration or, perhaps, add a note on the addon page to "ignore the warning".
Test
1.. Follow installation guide.
2. Click "save"
3. Check messages.
DDEV: 1.24.1
Drupal: 10.0.2

Also appears when install on Drupal 9.5.1

This complaint is @mkalkbrenner, the maintainer of search_api_solr, telling us that he doesn't want us to use the "Standard" solr connector any more, he wants us to use Solr Cloud.
Details in

https://github.com/drud/ddev-contrib/tree/master/docker-compose-services/solr
https://github.com/drud/ddev-contrib/pull/195

But this add-on is specifically intended to use the "Standard" solr connector. I would dearly love to see something more approved by @mkalkbrenner but he hasn't responded in the problem issues. I think we can do it though. I'm just not good enough with solr to want to maintain something even more complex than this is.
However, I'm sure that with the two links above we could get solr cloud going in a new add-on.

The complaint is not related with Solr cloud. If you verify the code, it checks the version number in config.
Currently our version number is drupal-4.2.6-solr. While the SEARCH_API_SOLR_MIN_SCHEMA_VERSION const is currently set to 4.2.8.

I have created Error message - You are using outdated Solr configuration set.

I got it working by updating the Solr config in DDEV, see the issue above. If anyone else can confirm that this method fixes their issue, I can add this step to the README.

Yay, thanks for your work on this. If you can improve the docs here that will be very welcome.

Is this still valid?

This is not related to a the ddev module. It is drupal.


[Removal]: Slow Infrared Buffalo

Hotspot Name
Slow Infrared Buffalo
Hotspot b58 Address
112o7eCinNbZWMGP9BEpoH5hSgqoJTqpZA5XxtvL92i163aJeamh
Discord Handle
No response
Hotspot Manufacturer
Bobcat
Removal Reason
My hotspots is a true deployment,that can be detected or mappping at any time. I request that my my hotspots be removed from the rejected list, and I hope helium can approves it.
Modifications
No
Extra forwarders
No
Extra antennas
No
Additional Information
Here are my hotspots actual photos
https://user-images.githubusercontent.com/64061024/156873784-bdd81f85-525d-493e-a9c1-4a06459b5dc1.mp4

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Update rstudio to 1.0.44

After making all changes to the cask:

[X] brew cask audit --download rstudio.rb is error-free.
[X] brew cask style --fix rstudio.rb reports no offenses.
[X] The commit message includes the cask’s name and version.

Rev rstudio from: version '0.99.903' to version '1.0.44' with brewed r dependancy.
tyr:~/Code/Homebrew benc$ brew cask audit --download ./rstudio.rb
==> Downloading https://download1.rstudio.org/RStudio-1.0.44.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask rstudio
audit for rstudio: passed
tyr:~/Code/Homebrew benc$ brew cask style --fix ./rstudio.rb
==> Installing or updating 'rubocop-cask' gem
Fetching: rubocop-0.43.0.gem (100%)
Successfully installed rubocop-0.43.0
Fetching: rubocop-cask-0.10.4.gem (100%)
Successfully installed rubocop-cask-0.10.4
2 gems installed
== rstudio.rb ==
C:  4:  1: [Corrected] stanza groups should be separated by a single empty line

1 file inspected, 1 offense detected, 1 offense corrected
benc$ brew cask reinstall ./rstudio.rb
==> Removing App: '/Applications/RStudio.app'
==> Satisfying dependencies
==> Installing Formula dependencies from Homebrew
homebrew/science/r ... ==> Warning: homebrew/science/r-3.3.2 already installed
done
complete
==> Downloading https://download1.rstudio.org/RStudio-1.0.44.dmg
Already downloaded: /Users/benc/Library/Caches/Homebrew/Cask/rstudio--1.0.44.dmg
==> Verifying checksum for Cask rstudio
==> Moving App 'RStudio.app' to '/Applications/RStudio.app'
🍺  rstudio was successfully installed!

This also closes #26308; I see all license files were nuked. Missed that discussion, but just for completeness rstudio is out under the AGPL v3

Thank you.

welcome took longer that is should have as I was testing a bunch of depends_on stanzas rather than just removing the line.

That's part of the problem being explored in #26345.
The problem is there are multiple ways to get R. With the move toward bottles there is less need for R-app. If you want r and the gui you can unlink R-app; and try:
brew install r r-gui
I bet you get the same results as you will pull the bottle which should be the same as the cask. R-Gui will give you the gui interface. Possibly r-app should be deprecated.

That works.  Thanks!


Port transform and use libbsd

Rebased branch
Just tackling some very low hanging fruits without understanding much yet :)

Looks interesting, I don't have a linux setup (yet?) so @dgrove-oss (or any other people involved with the linux port) should have a look that it works for them.

I can take a look and verify whether or not it builds for me.
The main question I have is whether or not we want to add libbsd as a pre-req for libdispatch.   It would make somethings simpler and maybe is expedient. But it is one more thing to install. Any guidance?

To successfully link and run a test program, I had to put back in the stub definitions for mach_error_string and mach_task_self in shims/linux_stubs.c.   With that tweak, it seems fine.   On a previous pull request, Daniel had requested we use #ifdef APPLE instead of #if HAVE_MACH.  Not sure if that also applies to this pull request too or if HAVE_MACH is ok to use in these files.

the libbsd-dev thing makes sense to me, it's available on all platforms, else you will have to redo what it does in dispatch which sounds like a waste. The argument against would be performance but I don't think strlcpy() and getprogname() are worth considering this.
linux distro package systems will handle the rdeps for you just fine.

I fixed what @dgrove-oss asked for, and merged master to fix the libdispatch_la_LIBADD variable that was touched in two places now.


strip newline before Base64 decoding

I applied the fix suggested by @begriffs on May 30th.
I wrote unit tests for Input/Output in shell script. Only parts of these tests pass with this PR, namely all the tests related to Base64-encoded secrets.

Wow, this is thorough work! I could learn a thing or two from your detailed style of commit messages.
How about adding your test runner to circle.yml too so it can run as part of CI?

How about adding your test runner to circle.yml too so it can run as part of CI?

Done.

This PR is also nice because it gives people another place to write a certain kind of test if they need to.
Add an entry to the changelog and I think this is good to merge.

Thanks!


Speed is low for showing gif.

I download a gif and show it , the speed is really low, gif is about 2mb. I test this on iPhone6.
It's normal, or can be improved? Thx!

In UIImage+GIF.m file, if the gif image each duration not the same(like:0.1s,0.1s,0.1s,2s).when play the image with same duration will show slow. so i add this code:

(UIImage *)sd_animatedGIFWithData:(NSData *)data {
if (!data) {
return nil;
}
CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)data, NULL);
size_t count = CGImageSourceGetCount(source);
UIImage *animatedImage;
if (count <= 1) {
animatedImage = [[UIImage alloc] initWithData:data];
}
else {
NSMutableArray *images = [NSMutableArray array];
  NSTimeInterval duration = 0.0f;

  for (size_t i = 0; i < count; i++) {
      CGImageRef image = CGImageSourceCreateImageAtIndex(source, i, NULL);
      float eachDuration = [self sd_frameDurationAtIndex:i source:source];
      duration += eachDuration;
      if (eachDuration>0.1) { //if duration larger than 0.1; repeat input this duration image
          int repeatCount = eachDuration/0.1;
          for (int k=0; k<repeatCount; k++) {
              [images addObject:[UIImage imageWithCGImage:image scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]];
          }
      }
      else{
         [images addObject:[UIImage imageWithCGImage:image scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp]];
      }

      CGImageRelease(image);
  }

  if (!duration) {
      duration = (1.0f / 10.0f) * count;
  }

  animatedImage = [UIImage animatedImageWithImages:images duration:duration];

}
CFRelease(source);
return animatedImage;
}

@zhw511006  We have replaced our GIF component with a library from Flipboard (FLAnimatedImage). Could you try our 4.x branch (instructions) and see if it helps?

Closing. The FLAnimatedImage solution replacing our own GIF is integrated into the 4.x branch.


Improved responsiveness of Web UI #2005

This PR fixes the following issues:
the line graph being cut of on small screens
solved by adding dynamic width adjustment
before:

after:
:warning: I was unable to test this with europe_germany_berlin.pbf :warning:
the route information disappearing on small screens
solved by adding a min height of 100px
before:

after:

missing support for small screens
solved by tweaking the css in a media query
before:

after:

I was unable to test this with europe_germany_berlin.pbf

I just tried this and the elevation widget seems to be invisible. All we see are the open/close buttons:

Unfortunately I have the same problem as @easbar.

I'm still unable to test it after changing the config and doing a clean rebuild

Can you describe the problem why you are unable to test this?
What I did to test this: I switched to your branch. Then I downloaded the berlin-latest.osm.pbf, used the sample config and enabled elevation like  @easbar described. Then removed the graph-cache folder. Then cd web-bundle and npm run watch and finally started GH with IntelliJ to force a fresh import. Or instead you can also build the jar via command line mvn clean install and run as described in the readme.

Unfortunately I have the same problem as @easbar.

After the latest commits the elevation widget was visible for me. But it did not adjust its width. Another problem was that after using the full screen button some parts of the screen remained white, so the space was not used.


Topology connector is cutting off in example

The curved connector int he topology example is being cut off at the edges of the connected containers.
https://grommet.github.io/hpe/docs/topology
Your Environment

Browser Name and version: Firefox 48.0 and Chrome 53.0.2785.116

Fixed in grommet commit 427b510b836535324ac3aab537aebef1d2905074.


Expose version numbers in the widget when expanded

The widget does not expose the version numbers, even though the data is right there in the JSON file. Right now I have to jump through hoops in order to get the actual list of browser versions that have support for a certain feature:

Hmm, good point. On MDN and caniuse.com that is done intentionally, because a) version numbers have mostly lost their meaning for most developers and b) that information is still available on the page itself on those sites.
I can see how that might still be useful on other sites. Bramus, can you talk a bit about your use case for version numbers? Would like to understand in particular whether having that information in the expanded state is fine or would be needed in the widget in the collapsed state.

Ah, makes sense, but do you need version numbers or rather the date for when something became available in a browser? I'm guessing we'd probably need both?

I don't think version numbers are all that helpful to regular developers (seriously, most people don't actually know which version of Chrome they are using, much less when something shipped). If we were to show anything, dates would likely be most useful.
For our docs I'm suggesting we use the MDN widget when things are still limited availability (so for most content on developer.chrome.com) and use the Baseline widget for content on web.dev which typically is in Baseline. At that point I think it's far less interesting to people what version a thing is, maybe when we expect it to be widely available might be though.

I don't think version numbers are all that helpful to regular developers

Agreed, but I don't see that being a reason to exclude the non-regular developers who do want the version number details.
As mentioned I'm fine with showing the version numbers only in the expanded state of the widget so that interested devs can dig deeper. MDN also does it that way, by providing an in-page link to the browser support table they already have on their pages.
When talking about bigger features such as View Transitions that are not Baseline yet, devs want to know which specific versions some sub-feature will work in or not. It really makes a difference by giving them the info then and there, instead of requiring them to look up the entry in the baseline data to see which caniuse feature / bcd entry it maps to, and then have them to go to that specific site to find the actual numbers. That's a lot of jumping through hoops.

For our docs I'm suggesting we use the MDN widget when things are still limited availability

That would require us to constantly go back to already published articles to change the widget it needs to show. By incorporating the version numbers in the baseline widget this is not necessary.

That would require us to constantly go back to already published articles to change the widget it needs to show. By incorporating the version numbers in the baseline widget this is not necessary.

That's not the case, I wouldn't expect to move away from the MDN widget on developer.chrome.com and on web.dev we don't have content about limited availability features (check the internal docs for clarification).

But this widget is meant to be used on more than just DCC/WDD, right? Those writers, like me, might have a need to provide version information along with that. As the info is already present in the data, why not expose it (when expanded)?
Also: there are (~ will be) demos up on chrome.dev that evolve from being pre-Baseline only to Baseline over time. Those would require updating when the info is not included.

what if next to "Learn more" was a link to Caniuse?
i'm not finding the current Learn More link very helpful, but a caniuse link would

Great suggestion. That way the responsibility to show up-to-date version info can remain offloaded to places authors most likely already visit.

Yes, we discussed that option earlier this week (independently of also providing the data inline). One issue is that not every Web Feature has a caniuse entry yet, but Alexis is working on an integration already, and we could also link to an MDN entry in the meantime or additionally.

I agree that something would be useful here, and that (even as a version-aware user) I'm generally more interested in the date than the version. Expanding on that, 'widely available' is entirely time-based, and a somewhat arbitrary point along a timeline of things becoming more and more available. I think that's reasonable, but I've often wished this component would show a progress bar for newly available items, so we can see how new.
(Maybe that's tangential enough that I should open a new issue, or create my own component, but I thought it might be relevant to this discussion)

I've often wished this component would show a progress bar for newly available items, so we can see how new.

Somewhat related, for Limited support features, knowing how long has a feature been blocked for, seems useful.
For example, accent-color has, at this point, been blocked by Safari (the last browser that hasn't yet implemented it) for 3 years.

(I believe they do now support accent-color, but provide a static AccentColor not based on user/OS settings, so that data might be out of date – but) Yes that does also sound useful.

https://pawelgrzybek.com/baseline-status-of-a-web-platform-feature-on-a-hugo-website/#make-it-yours is an example of what I personally find a more useful representation of the data:


Custom environment other than IONIC_ENV, is not recognized as an internal or external command

when trying to change IONIC_ENV to BV_ENV, throws error
BV_ENV is not recognized as an internal or external command
is there any other place where I have to declare this variable?

If you are on Windows, use a command like this in your package.json:
"build:DEV": "set BV_ENV=DEV&& ionic-app-scripts build"
Note there is no space between DEV and &&.

@AndrWeisR Thanks! It helped me


error - invalid version format: ￀DC3 NUL 3?.....Illegal argument...

Hello Anton,
I just received my new gadget for evaluation which runs under Android.
It is a Phone/Radio with SIM card model F25.
I have installed the latest Traccar client and manager from the playstore, as I did with my Motorola and for my iPhone.
Here is the issue:
2017-01-09 22:10:12  WARN: [AABFAC72] error - invalid version format: ￀
Attached a screen shot from the Log file.

Are you sure you didn't enable encryption in the Traccar Client?

Absolutely sure and Android is version 5.1

Please attach a screenshot of the Traccar Client main screen.

Brgds

Looks fine to me. It probably means that the HEX example that you provided wasn't from Traccar Client. What do you see on the status screen in the Client app?

That was the only tracker runing at time of tests.
And it inly appears when I start the cient on this device.

If the port is open to internet, it can receive any message from anybody, not only your own devices.
On the status screen, you should see "location update" messages. If you don't, it means that device doesn't have location info, so it won't send anything.

Well,
the problem is that it only happens the first time I run the client on the device after I shut down and back on again.
Last was :
16030100d2010000ce030306198caa74652db257723a793e8778b39699af8d9d782f2a9bd357ae34bad3d800002a0a0acca9cca8cc14cc13c02bc02f009ec02cc030c009c0130033c00ac0140039009c009d002f0035000a0100007b8a8a0000ff0100010000000014001200000f6d617273752e64796e646e732e74760017000000230000000d0012001006010603050105030401040302010203000500050100000000001200000010000e000c02683208687474702f312e3175500000000b00020100000a000a00081a1a001d00170018aaaa000100
you have the URL in clear after decoding in the HEX decoder.And this is correct.
Then I don't get anything until I put in standby mode and back on.
I will check with a similar device if it also has the same issue.
Thx for the support
Patrick

Traccar Client sends a regular HTTP request, so it should be completely human readable text after decoding HEX string. Your message looks more like encrypted data. Did you turn encryption at some point by any chance? I would recommend to re-install the app, and try without touching encryption switch.

GET / HTTP/1.1
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1; F25 Build/LMY47D)
Host: marsu.dyndns.tv:5055
Accept-Encoding: gzip
X-WISP: spgw01pogc
(already decoded)
Is when I change from GPS to Network provider in "Location Provider" section
As said, nothing is encrypted in anyway. I check and double checked.

I guess I found something. Can it be that the GPS function from the device does not work?

Well, if you don't have location enabled, obviously you won't get anything.
Your last example is also NOT from Traccar Client.

Sorry, but defintely must be...
"ser-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1; F25 Build/LMY47D" corresponds to the radio, and only Traccar client is installed with the connection information to the server with port number...
This was sent once:
474554202f3f69643d3630363138372674696d657374616d703d31343834303837313335266c61743d34362e35303738323837266c6f6e3d362e36333336342673706565643d302e302662656172696e673d302e3026616c7469747564653d302e3026626174743d35342e3020485454502f312e310d0a557365722d4167656e743a2044616c76696b2f322e312e3020284c696e75783b20553b20416e64726f696420352e313b20463235204275696c642f4c4d59343744290d0a486f73743a206d617273752e64796e646e732e74763a353035350d0a436f6e6e656374696f6e3a204b6565702d416c6976650d0a4163636570742d456e636f64696e673a20677a69700d0a0d0a
And that worked, the device appeared on the map, but only worked once.
I'll make some additional tests tomorrow and so on, and let you know what I find out.
Thx again

Now that looks like data from the Client app.

Sorry, but defintely must be...

If it's from your phone, it doesn't necessarily mean it's from the app.

Dear Anton,
Just want to let you know that the issue has now been solved. We adjusted some GPS settings from within the device and the trackers are now sending correct data to the server.
Best regards
Patrick

Great. Closing the issue.


[help]Is there a way to save the downloading protoc process?

Here's the situation:
We are depending on this awesome plugin to compile proto files during build process.
Downloading protoc from central maven takes 1:30 min on average when the plugin is invoked on a CI machine. (Our network connection is not that good.) And that 1:30 min looks like something could be saved.
In order to do this, I come up with an idea to store the plugin and its relative dependencies like protoc into our project as maven local dependency.
Here are my questions:

Is this applicable? If so which files should I save into the project?
Any better suggestion?

Forgot to mention, we are using protobuf 3.5.1

Either maven or the plugin will save a local copy. What's your configuration?

Here's our config of the plugin.
<build>         <plugins>             <plugin>                 <groupId>com.github.os72</groupId>                 <artifactId>protoc-jar-maven-plugin</artifactId>                 <version>3.5.0</version>                 <executions>                     <execution>                         <id>java</id>                         <phase>generate-sources</phase>                         <goals>                             <goal>run</goal>                         </goals>                         <configuration>                             <protocVersion>3.5.1</protocVersion>                             <includeDirectories>                                 <includeDirectory>src/main/proto</includeDirectory>                             </includeDirectories>                             <inputDirectories>                                 <inputDirectory>src/main/proto</inputDirectory>                             </inputDirectories>                             <outputTargets>                                 <outputTarget>                                     <type>java</type>                                 </outputTarget>                             </outputTargets>                         </configuration>                     </execution>                 </executions>             </plugin>         </plugins>     </build>
The project is copied into a new docker image first. Then 'mvn install' is executed in the file system of that image. So I think the plugin's downloading process will grab and cache the binary inside that docker image. Since the binary is not saved into any base images, each time a new merge request triggers a CI process, the plugin sees no cached binary and starts to download it. The very downloading time is what I want to save.

You could just upgrade to 3.5.1, which has protoc 3.5.1 embedded in the jar
https://github.com/os72/protoc-jar-maven-plugin/blob/master/RELEASE_NOTES.md

Thank you!


fix(repo): resolve security vulnerability

:pencil: Description

Fixes script injection vulnerability according to GitHub's official recommendation for this type of vulnerability.

:tada: This PR is included in version 1.25.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Extract WinForms and WPF code to their own projects

This will make it possible to generate a Unity build much more easily.
WPF- and WinForms-specific code is extracted into two separate projects which will have their own NuGet packages as well. The CI will include Corale.Colore.Wpf.dll and Corale.Colore.WinForms.dll in all zip distribution packages too.
Updates #157.

We now officially support Unity again! Tried and tested. Good work @Sharparam!

Correction, log4net does indeed cause issues:

The class System.Diagnostics.EventLogEntryType could not be loaded, used in System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
The class System.Configuration.IConfigurationSectionHandler could not be loaded, used in System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089

My sincerest apologies there. After all that, I forgot to follow my own instructions.
As per http://developer.razerzone.com/chroma/download/
Instructions for Unity

Download the AnyCPU version to allow users on a 64-bit machine to use it, even if your game was built in 32-bit.
Extract the files into the Assets/plugins folder within your Unity project.
Set the API compatibility level of the player to .NET 2.0.

By default, it is set to a subset that can’t load in the Colore Library. Head over to Edit >> Project Settings >> Player and under “Other Settings” there is a section called Optimization. You will be able to adjust the API Level below that.

I've reviewed this and am happy with it.  @Sharparam I know you were looking at deployment methods to the Unity store, any progress?
@njbmartin Are you happy with this implementation?  Managed to test?

@brandonscott I haven't been able to find any information about automatic asset deployment. The easiest way for us is probably to just manually submit updates to the asset store when we build releases.
We can make the CI generate a zip file or whatever the Unity Asset Store requires and we can then just download from the CI and upload to the asset store.

@Sharparam Cool, guess we just wait for sign off from @njbmartin and then we can merge.

Yep, looks great and works well with Unity as long as you are following the existing instructions regarding the API level in Unity. Granted it doesn't officially support the subset, but as mentioned you can rectify this manually by replacing the log4net.dll with a Mono compatible version.
I'm just going to investigate something.

Let's merge this as is. It works fine when following the pre-existing instructions. We can then look into further Unity support later as per @Xinhuan's request.
I'll put a Unity guide up on the wiki.


Fix 2DRenderer height offset

Fix #2988

While the 2D and Wireframe renderers match each other now, unfortunately it seems the height offset is incorrect.  Admittedly, my bug report was in error making it hard to reproduce this.  I've updated a session file at /glade/p/cisl/vast/vapor/Bugs/2988/2988.vss.
What is shows is the 2D and Wireframe renderers matching each other's height.  However they're being drawn in the middle of the DVR when they should be drawn beneath it.  On the main branch, our wireframe renderer will be drawn at the correct height.  I believe the base of the issue is DataMgrUtils::GetExtents() not returning correct minimum Z values for the Image and 2D renderers.
main:

issue2988:

@sgpearse your session file is applying a height variable, 'HGT'. Try setting to 'none'

@clyne I'm not sure I follow.  We need to apply the height variable in this use case.  The height-matched renderers (2D, Image, and Wireframe) need to follow along the base of the DVR.

@sgpearse the "height" variable specifies a displacement from the bottom of the domain, not the absolute vertical coordinate. We should probably add a tool tip to this effect. Having the ability for the "height" variable to be treated either as a displacement or an absolute coordinate might be a desirable future option. Bottom line: I believe that the behavior you are seeing is correct.

@clyne - Got it.  I can't think of a use case where the height isn't depicted at the absolute vertical coordinate.  I'll open a ticket and we can talk about it next meeting.


Add bolt command to only build SVC

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #360

PR #357

PR #358

PR #359

PR #365

PR #366

PR #371

PR #372   👈

This stack of pull requests is managed by Graphite.


New package: TenXData v1.0.1

Registering package: TenXData
Repository: https://github.com/mkarikom/TenXData.jl
Created by: @mkarikom
Version: v1.0.1
Commit: c69cccfcd0b750a48fbb1563a0d2d553b08599a5
Git reference: master
Release notes:

initial commit

dont merge this, ill make a new pr with suggested changes


Nice scrolling behavior on notes list

This is described in this twitter thread: https://twitter.com/kentcdodds/status/1676730931170910208
Check out the loom: https://www.loom.com/share/407a116d969145a3be721b2604c880ca
The relevant file is here: https://github.com/epicweb-dev/epic-stack/blob/f3459e75224aaf7c13ea0a71859070528313c714/app/routes/users%2B/%24username_%2B/notes.tsx#L84

@kentcdodds Here is a solution to your question that only makes a few minor changes, retains your flex-1 wrapper, and implements the desired functionality: https://play.tailwindcss.com/cKjBnmYyLk?size=1592x645

Thanks for the help @brandonmcconnell. If you think you can improve on the solution I built with help from @im-ironclad, then please do. I'm pretty happy with the solution we have now.


[x264] enable asm optimizations

Enable ASM support during build.
Fixes https://github.com/microsoft/vcpkg/issues/13792

Thanks for your contribution!

Thanks for the fix, exactly what we need! Looks like this previously regressed with
https://github.com/JackBoosY/vcpkg/commit/ad493fd8600c13f75dabcad60e6bd8d644f83c6b#diff-42b96e0cb8e3df5bdbd7b2fcff9b7ac57c5c1fc06c790a325bca5843f40eb7d4


Not able to create peer node with Hyperledger Fabric Azure Kubernetes Service (AKS) Template for default node size 3x Standard DS2 v2

Hi Team,
I have created one ordering service with default node size VM 3x Standard DS2 v2 by using hyperledger fabric Kubernetes Service template . When i tried to create peer node to build consortium with default node size 3x Standard DS2 v2 . I was unable to create although i tried peer node in different resource group and by changing different secret id but every time i got same template validation error .
However when i changed VM Size 3x Standard DS1 v2 i was able to create . So Is there any limitation to create peer node to choose different VM Size ?
I have attached both deployment screenshot one is before choosing 3x Standard DS1 v2 (when i encountered issue )

Below image after choosing 3x Standard DS1 v2 (successful deployment).

If we get template validation error when we can see ?
I tried to troubleshoot with deployment error command by using Azure -Cli but it was showing deployment doesn't exist . (referred below link)
https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/common-deployment-errors#code-try-1
Please advise ,thank you very much.
Regards
Asif

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

ID: 6027fb65-cf5c-024c-e68a-e1793bddaae0
Version Independent ID: ec943077-b1d0-d888-cef7-a5050b8abc74
Content: Hyperledger Fabric consortium on Azure Kubernetes Service (AKS) - Azure Blockchain
Content Source: articles/blockchain/templates/hyperledger-fabric-consortium-azure-kubernetes-service.md
Service: azure-blockchain
GitHub Login: @PatAltimore
Microsoft Alias: patricka

Thanks for the question! We will review and get back to you shortly.

I have assigned the issue to the content author to evaluate and update as appropriate.

Hi asifwaquar,
From the error message and the details provided, it looks like you have hit a Quota issue in your subscription for DS2 V2, hence the template which in turn tries to deploy these VMs for AKS cluster, has failed as it was not able to deploy the VMs. Each VM SKU has a specific number that can be provisioned for a subscription and a particular region. You can check https://docs.microsoft.com/en-us/azure/azure-portal/supportability/per-vm-quota-requests to know how you can increase the VM Quota.
To verify, you can try to deploy 3(as chosen for the template) DS2 V2 VM in your subscription in the same region as you had chosen for the HLF template.
Thanks,
Ramya

thank you so much Ramya for details ,Yes It was due to VM quota limit issue. Now I am able to deploy .
Regards
Asif


Adding a license

This here provides a reason why you should consider adding a license to any public github repo
It would be a good idea as something like MIT would grant more rights for other people

Sure, will do! thanks! 👍


WebMapServiceImageryProvider clobbers srs option

If, theoretically, one were using a different SRS, such as one for the moon, and wanted to pass that through to a WMS via the WebMapServiceImageryProvider, there is currently no way to do so as this is hardcoded as follows:
// Use SRS or CRS based on the WMS version.
if (parseFloat(resource.queryParameters.version) >= 1.3) {
// Use CRS with 1.3.0 and going forward.
// For GeographicTilingScheme, use CRS:84 vice EPSG:4326 to specify lon, lat (x, y) ordering for
// bbox requests.
parameters.crs = options.tilingScheme instanceof WebMercatorTilingScheme ? 'EPSG:3857' : 'CRS:84';
} else {
// SRS for WMS 1.1.0 or 1.1.1.
parameters.srs = options.tilingScheme instanceof WebMercatorTilingScheme ? 'EPSG:3857' : 'EPSG:4326';
}
It would be a simple thing to check for the srs parameter in the options, and use that instead.

Thanks @tamarmot! If you have a chance, we'd be happy to take another PR with this fix =)

Yep, I'll be looking into this soon now that I know the process!
On Thu, Feb 15, 2018 at 7:18 AM, Hannah<EMAIL_ADDRESS>wrote:

Thanks @tamarmot https://github.com/tamarmot! If you have a chance,
we'd be happy to take another PR with this fix =)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AnalyticalGraphicsInc/cesium/issues/6223#issuecomment-365958104,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFgK8C_YZCYAvGtHFe6t0jUEkfuBgmKkks5tVEqhgaJpZM4SGMmA
.


The books chapter on React uses pre version 18 syntax?

 I tried to do the following:
import React from "react";
import {App} from "./App.jsx";
import {render} from "react-dom";
import { createRoot } from 'react-dom/client';
import {act} from "react-dom/test-utils"

// @ts-ignore
global.IS_REACT_ACT_ENVIRONMENT = true
const container = document.createElement("div");
let root = createRoot(container)

test('renders the h1 header', () => {
    act(()=> {
      root.render(<App />);
    });
    const header = document.querySelector("h1");
    expect(header.textContent).toBe("Cheesecakes: ")

  });

But I get null passed to the header so the test fails.
If you could point me int he right direction that would be awesome.

Yes
On Mon, 9 May, 2022, 07:25 John Williams, @.***> wrote:

I get a bunch of error messages when running the tests on page 259. I
tried to do the following:
import React from "react";
import {App} from "./App.jsx";
import {render} from "react-dom";
import { createRoot } from 'react-dom/client';
import {act} from "react-dom/test-utils"
// @ts-ignore
global.IS_REACT_ACT_ENVIRONMENT = true
const container = document.createElement("div");
let root = createRoot(container)
test('renders the h1 header', () => {
act(()=> {
root.render();
});
const header = document.querySelector("h1");
expect(header.textContent).toBe("Cheesecakes: ")
});
But I get null passed to the header so the test fails.
If you could point me int he right direction that would be awesome.
—
Reply to this email directly, view it on GitHub
https://github.com/lucasfcosta/testing-javascript-applications/issues/27,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHG7CMWPCVCHFMOBOPEJNLVJBV73ANCNFSM5VMY6SMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

is it possible to get any update on this?


[ZEPPELIN-5791] Update hbase interpreter version from 1.0.0 to 2.4.12

What is this PR for?
Update hbase interpreter version from 1.0.0 to 2.4.12
What type of PR is it?
Refactoring
Todos

[x] update hbase interpreter version

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-5791

How should this be tested?

CI should pass

Screenshots (if appropriate)
Questions:

Does the licenses files need to update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Could you please check what happens when you building it?
[INFO] Zeppelin: Angular interpreter ...................... SUCCESS [  0.375 s]
[INFO] Zeppelin: Livy interpreter ......................... SUCCESS [ 13.572 s]
[INFO] Zeppelin: HBase interpreter ........................ FAILURE [ 12.142 s]
[INFO] Zeppelin: JDBC interpreter ......................... SKIPPED
[INFO] Zeppelin: File System Interpreters ................. SKIPPED

Error occured when maven download some libs blocked http request.
I solved it by editing the maven settings in local env. (https://gist.github.com/vegaasen/1d545aafeda867fcb48ae3f6cd8fd7c7)
Any ideas or related issues to solve this problem?

I solved error by exclusion glassfish. Please let me know if there is anything else I should do.
Thanks!

Thank you for checking it. Let's see how it goes on :-). BTW, hbase-server might not be used by the code level so I guess we can remove the dependency itself.

Removed hbase-server dependency from hbase interpreter.
Please check the commits. Thanks!


Dependency package long has a new version available

We have identified a dependency on version 4.0.0 of long. A new version (5.2.0) is available for upgrade.
Following are the steps to upgrade package dependency.

Understand the breaking changes between the version being used and the version you want to upgrade to.

Identify all packages that take a dependency on this package.

Go to the root folder for each such package (/sdk/service-name/package-name) and update package.json to have the new version.

Run rush update to ensure the new version is pulled in.

Make relevant changes to absorb the breaking changes.

Repeat steps 3 to 5 for each of the packages that have a dependency on this package.

Code pointers for anyone wanting to contribute to fix this issue:

Set up your dev environment
Move to folder sdk/servicebus/service-bus
Update the version of long used in the package.json file in the above folder
Run rush update to ensure the new versions gets installed
Check the changelog for long to understand the breaking changes and make any required edits in the current folder to absorb these changes
Run rushx build in current folder to find and fix any build errors in the package due to the upgrade.
Send the PR!

Closed as per #21208


Implement search-external &all

Fixes #1111

I force-pushed an update to resolve the conflict in the NEXT-RELEASE.md file.

I am not merging this in its current form - the existing implementation just uses exec.LookPath, which supports Windows, while the implementation in this PR breaks that.
Since this is going to reimplement exec.LookPath anyway, I'd rather fork the entire implementation in lp_unix.go and lp_windows.go, and remove all dependency on exec.LookPath to ensure consistency. The forked implementation can live in a new package too - maybe eval/ext (ext for "external command").

which supports Windows, while the implementation in this PR breaks that.

Yes, but only when using the &all option. Which I thought I had documented. Regardless, I agree it would be better if it "just worked" on both UNIX and Windows whether or not the &all option was used. This was a stepping stone since I, personally, don't use MS Windows.

FYI, I'm still interested in getting this feature merged. I just got side-tracked by other issues. I've left this P.R. open to remind me to revisit the change.
I read the respective licenses and don't see any obvious reason we can't fork the golang.org source for the os.exec package. However, I'm ambivalent about forking that code. Since the feature implemented by this issue is not performance critical it may make more sense to implement the &all behavior in terms of the Go stdlib behavior by trimming the PATH env var in a loop when the &all option is used.
On the other hand, the Go code we're talking about was last modified in a substantive fashion five years ago and therefore seems to be stable. Therefore, the maintenance cost is likely small if we fork it. On the other hand... Do we care about abandoning support for platforms such as "Plan9" if we fork the unix/windows implementation but none of the others?

Closing because implementing this feature in a fashion that also supports MS Windows will require forking the Go stdlib code. That's because the functionality needed by search-external &all is also needed by the EachExternal() method that is used by the completion code; whether directly or indirectly thru the EachVariableInTop() method. Since I don't care about MS Windows support, and there are many problems with Elvish on Windows, I don't know if, or when, I'll bother to do the necessary work.


Split Node health check code into a separate package and make it use static codegen

This fixes #7158.
This is technically an API breakage, but I doubt anyone is currently using the part that's getting broken. Just loading it is somewhat obscure.

https://grpc-testing.appspot.com/job/gRPC_pull_requests/10573/config=dbg,language=node,platform=linux/console
Tests ain't happy.

The Node tests are now green.


Add stack policy exmaple

This adds a simple example of a stack policy validation. I did not include the helper function but can if we think it would useful. Ideally we get some sort of helper like this in the pulumi-policy repo.

opted for adding the utility helper here instead of making people hop all over for how to do it!


adding new pbi command and pbi generation

Description
adding new pbi command and pbi generation
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing

Codecov Report

Merging #95 (74201c1) into main (c4d2cfb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #95   +/-   ##
=======================================
  Coverage   43.98%   43.98%
=======================================
  Files          48       48
  Lines        2512     2512
=======================================
  Hits         1105     1105
  Misses       1399     1399
  Partials        8        8


PHP requirement incompatible

Package flynsarmy/csv-seeder at version 2.* has a PHP requirement incompatible with your PHP version (7.3.11)

I kindly need a version that is compatible with php 7.3. Thank You

1.* Works with old PHP versions.


https://uttc.edu.mx/?p=218

Ingeniería en Desarrollo y Gestión de Software

@vicoro First stage of verification passed, official domain is uttc.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@vicoro Thank you for your patience while waiting for a review and processing your request. Pull request merged.


[Windows] "RDP enabled" rollback fails

Tested on Windows 10 Home (with Helper installed), physical device, applying rollback to “RDP enabled” throws an error.

Cannot reproduce the error in powershell, the commands are working as intended. The error may come from the applicaiton itself.


adding autocompletion for Dropdown?

this issue is closely relates to #692. The difference here is for Dropdown.
For example, if user wants to make a Dropdown of all US states. If he/she wants to choose New York, just type 'N'.

This sounds like a great idea.

Duplicate of #574.


Loss function

Hi，
Your project is very good, but I have a question about the loss function.

1.What is the loss expression in 85 row intended to do, or what is its meaning？It provides a negative loss.
Best，
Luoda

Hi Luoda,
Thank you for having an interest in our work!
The loss "kld_discrete" indicates the negative entropy regualaization term for the discrete latent, which corresponds to the third term of Equation (8) in our paper (https://proceedings.mlr.press/v162/takida22a.html).


compilation failure on master; fedora 18

I'm compiling gnome-pie on fedora 18.  I'm currently at d19128892077452c2cfcc5fa6afde1966fa06011 on the master branch.
I've installed the development dependencies through yum and the config seems happen but I hit a compilation error:
Compilation succeeded - 231 warning(s)
Scanning dependencies of target gnome-pie
[  3%] [  4%] [  6%] [  8%] [  9%] Building C object src/CMakeFiles/gnome-pie.dir/deamon.c.o
[ 11%] Building C object src/CMakeFiles/gnome-pie.dir/utilities/focusGrabber.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/trigger.c.o
[ 12%] Building C object src/CMakeFiles/gnome-pie.dir/utilities/paths.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/key.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/logger.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/config.c.o
[ 14%] Building C object src/CMakeFiles/gnome-pie.dir/utilities/bindingManager.c.o
/home/tony/work/repos/Gnome-Pie/build/src/utilities/bindingManager.c: In function ‘gnome_pie_binding_manager_event_filter’:
/home/tony/work/repos/Gnome-Pie/build/src/utilities/bindingManager.c:976:12: error: variable or field ‘_tmp0_’ declared void
/home/tony/work/repos/Gnome-Pie/build/src/utilities/bindingManager.c:983:9: error: void value not ignored as it ought to be
make[2]: *** [src/CMakeFiles/gnome-pie.dir/utilities/bindingManager.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/gnome-pie.dir/all] Error 2
make: *** [all] Error 2

The full compilation log is:
-- The C compiler identification is GNU 4.7.2
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found Vala: /bin/valac
-- checking for a minimum Vala version of 0.11.0
--   found Vala, version 0.18.1
-- Found PkgConfig: /bin/pkg-config (found version "0.27")
-- checking for module 'gtk+-3.0'
--   package 'gtk+-3.0' not found
-- checking for module 'gtk+-2.0'
--   found gtk+-2.0, version 2.24.18
-- checking for module 'appindicator-0.1'
--   package 'appindicator-0.1' not found
-- checking for module 'unique-1.0'
--   found unique-1.0, version 1.1.6
-- checking for module 'libwnck-1.0'
--   found libwnck-1.0, version 2.30.7
-- checking for module 'libbamf'
--   found libbamf, version 0.2.104
-- checking for module 'gio-unix-2.0'
--   found gio-unix-2.0, version 2.34.2
-- checking for module 'cairo'
--   found cairo, version 1.12.14
-- checking for module 'gee-1.0'
--   found gee-1.0, version <IP_ADDRESS>
-- checking for module 'x11'
--   found x11, version 1.5.0
-- checking for module 'libxml-2.0'
--   found libxml-2.0, version 2.9.0
-- checking for module 'xtst'
--   found xtst, version 1.2.1
-- checking for module 'libgnome-menu-3.0'
--   found libgnome-menu-3.0, version 3.6.1

Summary:
  EXECUTABLE_OUTPUT_PATH = /home/tony/work/repos/Gnome-Pie
  VALA_EXECUTABLE = /bin/valac
Libs:
  GTK2_LIBRARIES = gtk-x11-2.0;gdk-x11-2.0;atk-1.0;gio-2.0;pangoft2-1.0;pangocairo-1.0;gdk_pixbuf-2.0;cairo;pango-1.0;freetype;fontconfig;gobject-2.0;glib-2.0
  GTK3_LIBRARIES =
  CAIRO_LIBRARIES = cairo
  GEE_LIBRARIES = gee;gobject-2.0;glib-2.0
  INDICATOR_LIBRARIES =
  INDICATOR3_LIBRARIES =
  XML_LIBRARIES = xml2
  XTST_LIBRARIES = Xtst
  GMENU_LIBRARIES =
  GMENU3_LIBRARIES = gnome-menu-3;gio-2.0;gobject-2.0;glib-2.0
  UNIQUE_LIBRARIES = unique-1.0;gtk-x11-2.0;gdk-x11-2.0;atk-1.0;gio-2.0;pangoft2-1.0;pangocairo-1.0;gdk_pixbuf-2.0;cairo;pango-1.0;freetype;fontconfig;gobject-2.0;glib-2.0
  X11_LIBRARIES = X11
  BAMF_LIBRARIES = bamf;wnck-1;gtk-x11-2.0;gdk-x11-2.0;atk-1.0;gio-2.0;pangoft2-1.0;pangocairo-1.0;gdk_pixbuf-2.0;cairo;pango-1.0;freetype;fontconfig;gobject-2.0;glib-2.0
  WNCK_LIBRARIES = wnck-1;gtk-x11-2.0;gdk-x11-2.0;atk-1.0;gio-2.0;pangoft2-1.0;pangocairo-1.0;gdk_pixbuf-2.0;cairo;pango-1.0;freetype;fontconfig;gobject-2.0;glib-2.0

-- Configuring done
-- Generating done
-- Build files have been written to: /home/tony/work/repos/Gnome-Pie/build
[  1%] Generating deamon.c, utilities/trigger.c, utilities/focusGrabber.c, utilities/key.c, utilities/paths.c, utilities/logger.c, utilities/config.c, utilities/bindingManager.c, utilities/color.c, utilities/animatedValue.c, gui/aboutWindow.c, gui/piePreviewRenderer.c, gui/iconSelectWindow.c, gui/triggerSelectWindow.c, gui/themeList.c, gui/triggerSelectButton.c, gui/piePreviewCenter.c, gui/newsWindow.c, gui/piePreviewAddSign.c, gui/indicator.c, gui/newSliceWindow.c, gui/pieComboList.c, gui/preferencesWindow.c, gui/renameWindow.c, gui/pieList.c, gui/sliceTypeList.c, gui/piePreviewDeleteSign.c, gui/settingsWindow.c, gui/piePreview.c, gui/piePreviewSliceRenderer.c, actionGroups/windowListGroup.c, actionGroups/groupRegistry.c, actionGroups/bookmarkGroup.c, actionGroups/sessionGroup.c, actionGroups/clipboardGroup.c, actionGroups/actionGroup.c, actionGroups/devicesGroup.c, actionGroups/menuGroup.c, pies/load.c, pies/pieManager.c, pies/defaultConfig.c, pies/save.c, pies/pie.c, renderers/sliceRenderer.c, renderers/centerRenderer.c, renderers/pieRenderer.c, renderers/pieWindow.c, images/image.c, images/renderedText.c, images/themedIcon.c, images/icon.c, themes/sliceLayer.c, themes/theme.c, themes/centerLayer.c, actions/sigAction.c, actions/uriAction.c, actions/actionRegistry.c, actions/pieAction.c, actions/appAction.c, actions/action.c, actions/keyAction.c
gtk+-2.0.vapi:5802.40-5802.42: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//color.vala:84.9-84.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:109.30-109.32: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:152.9-152.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:129.30-129.32: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:77.27-77.29: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:81.33-81.35: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:246.9-246.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:160.17-160.19: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:161.30-161.32: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:179.17-179.19: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:182.30-182.32: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:122.24-122.26: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//trigger.vala:124.24-124.26: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:48.9-48.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:49.9-49.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:50.9-50.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:52.9-52.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:52.36-52.38: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:53.9-53.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:53.36-53.38: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:54.9-54.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:54.36-54.38: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:56.9-56.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:56.36-56.38: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:56.63-56.65: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:90.30-90.32: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:287.30-287.32: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:131.29-131.31: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:132.20-132.22: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:102.33-102.35: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:103.24-103.26: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:105.13-105.15: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:118.13-118.15: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//bindingManager.vala:268.16-268.18: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//paths.vala:128.13-128.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//paths.vala:131.9-131.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:83.28-83.30: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:100.25-100.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:101.25-101.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:102.25-102.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:103.25-103.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:260.13-260.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:34.26-34.28: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:114.29-114.31: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:114.68-114.70: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:115.46-115.48: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:115.82-115.84: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:116.46-116.48: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:116.67-116.69: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:118.34-118.36: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:118.74-118.76: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:118.95-118.97: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:71.27-71.29: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:71.46-71.48: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:72.27-72.29: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//focusGrabber.vala:72.47-72.49: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:281.13-281.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:309.18-309.20: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:310.18-310.20: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:312.17-312.19: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:313.22-313.24: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:314.22-314.24: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:315.22-315.24: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:316.22-316.24: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:346.17-346.19: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:144.13-144.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:221.23-221.25: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:300.66-300.68: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/renderers//pieWindow.vala:301.66-301.68: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:76.9-76.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:78.22-78.24: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:86.28-86.30: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:87.22-87.24: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:138.9-138.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:147.26-147.28: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:150.26-150.28: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:153.26-153.28: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:156.26-156.28: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:99.48-99.50: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:100.48-100.50: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:101.48-101.50: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/utilities//key.vala:102.48-102.50: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//icon.vala:86.21-86.23: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/actions//actionRegistry.vala:150.14-150.16: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//windowListGroup.vala:82.45-82.48: warning: Wnck is deprecated. Use libwnck-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//windowListGroup.vala:98.21-98.24: warning: Wnck is deprecated. Use libwnck-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//windowListGroup.vala:101.31-101.34: warning: Wnck is deprecated. Use libwnck-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//windowListGroup.vala:102.32-102.34: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//windowListGroup.vala:64.23-64.26: warning: Wnck is deprecated. Use libwnck-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:172.24-172.26: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:172.35-172.37: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:174.26-174.28: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//image.vala:174.72-174.74: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/images//icon.vala:41.9-41.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/images//icon.vala:111.26-111.28: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreviewCenter.vala:76.29-76.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:46.25-46.27: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:51.41-51.43: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:55.29-55.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:58.31-58.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:59.36-59.38: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:61.35-61.37: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//sliceTypeList.vala:64.35-64.37: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:144.50-144.52: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:153.17-153.19: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:378.63-378.65: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:409.26-409.28: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:395.70-395.72: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:160.43-160.45: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:162.39-162.41: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:184.41-184.43: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:222.32-222.34: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:235.38-235.40: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//iconSelectWindow.vala:263.39-263.41: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieComboList.vala:52.25-52.27: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieComboList.vala:56.41-56.43: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieComboList.vala:60.31-60.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieComboList.vala:64.31-64.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:50.47-50.49: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:51.47-51.49: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:52.47-52.49: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:53.47-53.49: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:65.17-65.19: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:91.9-91.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:114.17-114.19: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectButton.vala:116.24-116.26: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newSliceWindow.vala:104.39-104.41: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newSliceWindow.vala:384.40-384.42: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//clipboardGroup.vala:94.45-94.47: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//clipboardGroup.vala:88.26-88.28: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/actionGroups//clipboardGroup.vala:88.44-88.46: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:209.23-209.25: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:87.25-87.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:88.25-88.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:89.25-89.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:376.59-376.61: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:376.89-376.91: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:378.13-378.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:378.39-378.41: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:378.79-378.81: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:378.101-378.103: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:95.53-95.55: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:97.9-97.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:97.33-97.35: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:97.69-97.71: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:97.91-97.93: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:97.113-97.115: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:302.9-302.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:335.54-335.56: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:389.13-389.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:151.30-151.32: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:151.83-151.85: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:152.26-152.28: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:152.52-152.54: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:156.33-156.35: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:178.24-178.26: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:178.46-178.48: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//piePreview.vala:178.75-178.77: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:60.25-60.27: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:65.52-65.54: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:69.29-69.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:73.25-73.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:75.31-75.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:76.35-76.37: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:81.35-81.37: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:94.39-94.41: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:94.79-94.81: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:95.46-95.48: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:95.68-95.70: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:95.90-95.92: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:208.13-208.15: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:224.25-224.27: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:225.42-225.44: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:226.30-226.32: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:227.42-227.44: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//pieList.vala:229.9-229.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//themeList.vala:54.24-54.26: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//themeList.vala:58.29-58.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//themeList.vala:61.31-61.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//themeList.vala:63.36-63.38: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//themeList.vala:64.35-64.37: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//themeList.vala:67.36-67.38: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//settingsWindow.vala:44.39-44.41: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//settingsWindow.vala:179.29-179.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//settingsWindow.vala:179.64-179.66: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//settingsWindow.vala:179.87-179.89: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectWindow.vala:65.39-65.41: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectWindow.vala:168.30-168.32: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectWindow.vala:168.88-168.90: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectWindow.vala:169.48-169.50: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//triggerSelectWindow.vala:169.71-169.73: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//renameWindow.vala:46.39-46.41: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:67.31-67.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:73.36-73.38: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:74.25-74.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:75.25-75.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:76.25-76.27: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:188.44-188.46: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:226.30-226.32: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:226.88-226.90: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:227.26-227.28: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:227.52-227.54: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:231.33-231.35: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:154.43-154.45: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//preferencesWindow.vala:154.65-154.67: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:75.17-75.19: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:75.56-75.58: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:94.34-94.36: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:110.29-110.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:117.24-117.26: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:117.54-117.56: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:126.20-126.22: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:126.50-126.52: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:136.24-136.26: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:141.20-141.22: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:141.49-141.51: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//indicator.vala:142.31-142.33: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:42.9-42.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:43.9-43.11: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:90.27-90.29: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:145.9-145.11: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:184.3-184.5: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:172.6-172.8: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/deamon.vala:174.6-174.8: warning: Gdk is deprecated. Use gdk-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newsWindow.vala:37.23-37.25: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newsWindow.vala:39.29-39.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newsWindow.vala:39.67-39.69: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newsWindow.vala:42.28-42.30: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newsWindow.vala:49.29-49.31: warning: Gtk is deprecated. Use gtk+-3.0
/home/tony/work/repos/Gnome-Pie/src/gui//newsWindow.vala:64.25-64.27: warning: Gtk is deprecated. Use gtk+-3.0
Compilation succeeded - 231 warning(s)
Scanning dependencies of target gnome-pie
[  3%] [  4%] [  6%] [  8%] [  9%] Building C object src/CMakeFiles/gnome-pie.dir/deamon.c.o
[ 11%] Building C object src/CMakeFiles/gnome-pie.dir/utilities/focusGrabber.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/trigger.c.o
[ 12%] Building C object src/CMakeFiles/gnome-pie.dir/utilities/paths.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/key.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/logger.c.o
Building C object src/CMakeFiles/gnome-pie.dir/utilities/config.c.o
[ 14%] Building C object src/CMakeFiles/gnome-pie.dir/utilities/bindingManager.c.o
/home/tony/work/repos/Gnome-Pie/build/src/utilities/bindingManager.c: In function ‘gnome_pie_binding_manager_event_filter’:
/home/tony/work/repos/Gnome-Pie/build/src/utilities/bindingManager.c:976:12: error: variable or field ‘_tmp0_’ declared void
/home/tony/work/repos/Gnome-Pie/build/src/utilities/bindingManager.c:983:9: error: void value not ignored as it ought to be
make[2]: *** [src/CMakeFiles/gnome-pie.dir/utilities/bindingManager.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/gnome-pie.dir/all] Error 2
make: *** [all] Error 2

I close this issue for it is quite old. If it still is an issue, please re-open!


Eq and Ord

First typeclasses lesson, Eq and Ord! Love to know what y'all think - If this looks good, we're ready to put the rest of this project on the front burner for a while.

@chris-martin Hi! any update on this PR? :)

Made requested changes!