sample is broken

the compile of the sample does not work because build.gradle references non-existing versions.

Please be more specific.  What is referenced that is non-existing?

you should notice when you try to build with gradle... i remove the "-SNAPSHOT" and the third party lib to make it work.

Perhaps related to https://github.com/osmdroid/osmdroid/pull/122

I have merged #122 and everything works, so please check if you're still having a problem.

I suppose @emdete is talking of the build.gradle in OpenStreetMapViewer directory having references to -SNAPSHOT version of osmdroid-android and osmdroid-third-party. This is not a bug, this only means that your first supposed to build these 2 libraries from the sources and install them in your local Maven repository before building the OpenStreetMapViewer sample project.
If you don't build these first, you'll have unresolved dependencies!
Note: If you remove the -SNAPSHOT from the build.gradle, gradle will fetch the last published version from MavenCentral, so it will build, but this is not what this sub project is for I guess. It is for testing that the osmdroid-android and osmdroid-third-party library are working as expected from their current sources (hence why it is part of the project and not another project altogether).

The snapshot is also published to Maven Central, but of course that could be an older version.
And I understand that it should work without using Maven locally.

i onsider sample a teaching code project that should build out of itself. it is not a test that prooves correctness of the current HEAD. so i would expect that you don't have to compile something else beforehand. especially because there is no doc explaining so. ;)

I see that I didn't push the 4.4 snapshot.  I'll try and do that in the next few days.
https://oss.sonatype.org/content/groups/public/org/osmdroid/osmdroid-android/

@neilboyd : that maven repo you mention, it is not used by maven nor by gradle by default, is it?
Maybe the fix is just to add that repo to the build.gradle and pom.xml so that the -SNAPSHOT artifacts are indeed fetched...
If you don't need that repo configuration for the OpenStreetMapViewer module, I expect that you actually have it defined globally in your settings.xml, don't you? I'm saying this because I have the same behaviour as @emdete if I clean my local repo of all -SNAPSHOT and try to build the module without building and installing the other modules first.

I Googled a little and apparently snapshots aren't synchronized to Maven Central.  I think they used to be.
http://central.sonatype.org/pages/apache-maven.html#performing-a-snapshot-deployment
Here's how to get them:
http://stackoverflow.com/questions/7713996/is-there-a-way-to-make-maven-download-snapshot-versions-automatically

That's what I'm talking about (maybe indeed Maven Central policy about snapshots changed, I couldn't tell, I haven't been using maven long enough).
But rather than asking users to add something to their settings.xml as the answer you linked suggest, I think we could add this bit of configuration to the pom.xml (and build.gradle) of the OpenStreetMapViewer module, so that snapshots would only be used for it, right?
I'll have a look at it later today and do a PR if I can get it to work.

Yes, I suppose it should be possible to put that configuration into build.gradle.
Maybe it's pointless putting it into pom.xml because if you build with Maven then you'll have the dependencies in your local repo.

@emdete is this issue resolved now? i just pushed some changes that should resolve it. no one was maintaining the gradle build files. On top of that, every time google updates the sdk, they tend to delete old versions of support libraries, thus there being some issues on a freshly updated machine with a clean maven/gradle local repo

to be clear, you need the Android SDK installed. then download the maven-android-sdk-deployer and run mvn install -fn. Then build osmdroid using mvn clean install.
feel free to reopen if this is still a problem.

The Wiki could use a ittle love :)


Imported plugin not being resolved

Question
Description
I'm trying to import a plugin but it's not being compiled with docz and don't return any error even in debug mode. Should be something with the implementation or how i'm exporting it?
Importing:
https://github.com/marceloavf/docz-plugin-vue/blob/master/examples/vue/doczrc.js
Plugin config that should return some error:
https://github.com/marceloavf/docz-plugin-vue/blob/master/packages/docz-plugin-vue/src/index.ts
Thanks!

I sent you a dm on twitter about that @marceloavf ✌


Is it possible to access properties on record types?

I'm trying to construct a union type from string literals. This union type is used in a lot of places where I actually only want a subset of the literals. So I'm interested in a way to construct that subset but protect myself from typos in the types themselves.
I tried the following but ran into errors. Is there another way to do this? If not, I guess this is a feature request.
Try flow
// @flow

// The superset.
type all = 'a' | 'b' | 'c';

// An inline subset, but it has a typo!
const z2: 'aa' | 'b' = 'b';
// ---------^

// What if I defined a record to hold them?
type recordT = {
  a: 'a',
  b: 'b',
  c: 'c',
};

// It doesn't work, though.
const x: recordT.a = 'a';
const y: recordT.a | recordT.b = 'b';

// If it did, it'd be possible to point out the analagous typo below.
const z: recordT.aa | recordT.b = 'b';
// --------------^

There are multiple options here:

alias literal types:

type a = 'a';
type b = 'b';
type c = 'c';
type all = a | b | c;

const z2: aa | b = 'b'; // won't work

assert that type is a subtype of another:

type all = 'a' | 'b' | 'c';
type some = 'aa' | 'b';

declare var some_: some;
(some_: all); // error

use $PropertyType.


Optimize some copying

[x] Potentially closes #7181
[x] Tests added
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst

I have passed along some more memo dicts, which could prevent some double deep-copying of the same data (don't know how exactly, but who knows :P)
Also, I have found some copy calls that did not pass along the deep argument (I am not sure if that breaks things, lets find out).
And finally I have found some places where shallow copies are enough.
All together it should improve the performance a lot when copying things around.

Thanks @headtr1ck do we have a benchmark for this, if not can we add one please?

Thanks @headtr1ck do we have a benchmark for this, if not can we add one please?

Since the benchmark didn't change we either don't have one or my change doesn't matter much, haha.
I think the most important change is the shallow copy for Variable.to_index_variable, but I will have to check how to test this in a useful way, probably better testing some functions that use it indirectly.

The change does matter - but deep copies are still much more expensive than they used to be (as to be expected, I guess)

The change does matter - but deep copies are still much more expensive than they used to be (as to be expected, I guess)

Do you by any chance know which parts have improved, so we can add them as a benchmark here?

I added a benchmark for swap_dims which uses Variable.to_index_variable when swapping into an existing coord, but I can not see any significant improvement... Any ideas what else to test?

The change in Variable.to_index_variable seems sensible (not sure when one wants a deep copy of an IndexVariable or an Xarray / Pandas index).
to_index_variable may be called in some core functions of Xarray internals (e.g., in as_variable()) so it might be tricky to benchmark its effect Xarray-wise. Perhaps it would be good to track it down in the original issue #7181?

Are we merging this anyway, or should we try harder to find a benchmark that shows some improvement?

I don't think we need a benchmark to merge. Sorry that wasn't clear, it mostly for information purposes.

The change in Variable.to_index_variable seems sensible (not sure when one wants a deep copy of an IndexVariable or an Xarray / Pandas index).

Great! let's merge


Remote creation failed

[I'm supposed to describe steps to replicate my issue here and if I don't do that, I understand that my issue will be probably ignored.]
I have a remote Linux server whose ssh lives on port 2020. I have therefore set the following in my ~/.ssh/config:
Host btk_git_host
HostName example.com
Port 2020
User david
On the server, in /var/git/mbtk, I have done a:
git init --shared --bare
I have then tried to set this up as a new remote in brackets (inside Intel XDK) by specifying the following as the name of the new remote:
btk_git_host:/var/git/mbtk
I was asked the "Create new remote" dialog a second time, and then received this error.
What I don't understand is that this is my second project. It worked fine on the first one.

Brackets 1.4.0-0 (mac), Git 2.3.8 (Apple Git-58) & Brackets-Git 0.14.28
Remote creation failed
Error: fatal: 'btk_git_host:/var/git/mbtk' is not a valid remote name

call: git remote add btk_git_host:/var/git/mbtk btk_git_host:/var/git/mbtk
Error: fatal: 'btk_git_host:/var/git/mbtk' is not a valid remote name
    at Object.exports.toError (file:///Users/david/Library/Application%20Support/XDK/editor/extensions/user/zaggino.brackets-git/src/ErrorHandler.js:162:19)
    at NodeConnection.<anonymous> (file:///Users/david/Library/Application%20Support/XDK/editor/extensions/user/zaggino.brackets-git/src/Cli.js:176:44)
    at j (file:///Applications/Intel%20XDK.app/Contents/Resources/app.nw/brackets/b/thirdparty/thirdparty.min.js:559:26911)
    at Object.k.fireWith (file:///Applications/Intel%20XDK.app/Contents/Resources/app.nw/brackets/b/thirdparty/thirdparty.min.js:559:27724)
    at NodeConnection._receive (/utils/NodeConnection.js:498:34)

Just discovered that everything is now OK after a reboot, which I think may have upgraded this plugin.


Graph for today/last 24 h disappear and dates missing in datepicker

Since today in Umami 1.38 and 1.39.3 the graph for today / last 24 h will shortly show up an then disappear immediately (with scaling effect) – but all data like Page and Referrers is ok. For all other dates ranges, yesterday and real time it works like intended.
After further investigations I found that the 30th and 31st of October are missing:

When you change to date range and select 1st November, the 30th and 31st are shown in the right side date picker and the graph will show up like intended:

Might there be correlation with  last night's time change?  Daylight Saving ended last night here in Europe.

Same problem here (Europe/Germany)

It has to do with DST ending, same thing has been reported previously #333 #833

Thx! Today everything is back to normal. So, yes, DST is still a problem…

Yes, unfortunately this happens every year. One day we'll get it fixed.


vmTools: support specifying multiple repositories

Issue description
The distro's listed in vmTools currently take a single list of packages as arguments. It should support multiple so that we can include other packages as well. This is needed in order to build a Nix RPM (https://github.com/NixOS/nix/pull/1141#issuecomment-347374010) on CentOS.

cc @therealpxc @bhipple
I was actually looking at this during the weekend, because I also want to build an RPM for on CentOS. If I understood the code correctly, it uses import from derivation to build the package list. I think we could write a script that merges the xml files and wrap that in a Nix function.

Another option, but requiring more work, is having a maintainer script that parses the XML and creates JSON or a Nix expression listing per package its dependencies and source. We could create for each XML file such a file, and then use a fixed-point combinator to merge the "lists".

Thanks for creating an issue on the appropriate repo for this.
Neither option you've presented sounds bad to me, but given that it is more work, what do you see as the main advantage of the second option? That the same expressions could be applied for other Nix-y purposes not yet anticipated?

The latter option prevents building during evaluation.
How RPM deals with dependencies isn't trivial though. Packages don't directly depend on other packages, but instead they specify which files they require and which files they provide. Based on that one can find multiple packages that fulfill requirements.

Turns out that the current implementation already supports using multiple package lists.
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index e31f513c666..50615f025b0 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1303,17 +1303,33 @@ rec {
       packages = commonCentOSPackages ++ [ "procps-ng" ];
     };

-    centos74x86_64 = rec {
+    centos74x86_64 = let
+      # N.B. Switch to vault.centos.org when the next release comes out
+      lists = [
+        rec {
+          urlPrefix = http://mirror.centos.org/centos-7/7.4.1708/os/x86_64;
+          packagesList = fetchurl {
+            url = "${urlPrefix}/repodata/b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz";
+            sha256 = "1mayp4f3nzd8n4wa3hsz4lk8p076djkvk1wkdmjkwcipyfhd71mn";
+          };
+        }
+        rec {
+          urlPrefix = http://dl.fedoraproject.org/pub/epel/7/x86_64;
+          packagesList = fetchurl {
+            url = "${urlPrefix}/repodata/e1e16427f1cfc8a2b8d483e3298743d5eff22064be1e31501725dee272a8117c-primary.xml.gz";
+            sha256 = "0z0im1rf5pi52x8327mychhg5vym8f3jkqw3sjwa5j6gy4kn9qg1";
+          };
+        }
+      ];
+      urlPrefixes = lib.catAttrs "urlPrefix" lists;
+      packagesLists = lib.catAttrs "packagesList" lists;
+    in rec {
       name = "centos-7.4-x86_64";
       fullName = "CentOS 7.4 (x86_64)";
-      # N.B. Switch to vault.centos.org when the next release comes out
-      urlPrefix = http://mirror.centos.org/centos-7/7.4.1708/os/x86_64;
-      packagesList = fetchurl {
-        url = "${urlPrefix}/repodata/b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz";
-        sha256 = "1mayp4f3nzd8n4wa3hsz4lk8p076djkvk1wkdmjkwcipyfhd71mn";
-      };
+      inherit urlPrefixes;
+      inherit packagesLists;
       archs = ["noarch" "x86_64"];
-      packages = commonCentOSPackages ++ [ "procps-ng" ];
+      packages = commonCentOSPackages ++ [ "procps-ng" "libsodium-devel" ];
     };
   };

Unfortunately the gcc in CentOS 7.4 is too old to build Nix master:
+ /usr/bin/make
  GEN    Makefile.config
  CC     src/linenoise/linenoise.o
  CXX    src/nix/add-to-store.o
g++: error: unrecognized command line option '-std=c++14'
make: *** [src/nix/add-to-store.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.IDua0c (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.IDua0c (%build)
[  233.129985] reboot: Power down
builder for '/nix/store/871gkdl8qcl9xfnx31k6pkvclrxcs3hq-nix-rpm-centos-7.4-x86_64-1.12pre1234.abcdef.drv' failed with exit code 1
error: build of '/nix/store/871gkdl8qcl9xfnx31k6pkvclrxcs3hq-nix-rpm-centos-7.4-x86_64-1.12pre1234.abcdef.drv' failed

gcc from the devtoolset-7 is 7.2.1 and can be used on CentOS 7.4:
https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/
Which I think could be grabbed using something like:
http://mirror.centos.org/centos/7/sclo/x86_64/rh/repodata/4fa6a0369ce6428286d2f663789abaf1c9bb44abbee8a12da7593e64335da666-primary.xml.gz
Two notes, though:

Will need to wrap in 'scl enable devtoolset-7 bash` or adjust PATH to include devtools paths (/opt/something/...)
Looking at listing in that directory it looks like these only live for a few months, maybe? I'm not sure of all the details but this might require periodic maintenance or impact long-term reproducibility.


Can't get it work on RPI4 buster/crankshaft, help

Hi,
I'm struggling to connect RCA camera, connected through USB receiver, connected to RPI4 Buster/Crankshaft, @fazerxlo branch
I use EasyCap receiver, like this
Rear camera is this one,
Tried to build cam_overlay, both master and cpp branch, but no luck,
Tried to enable/disable rpi-config fake KMS. No luck.
master branch gives error:
pi@raspberrypi:~/cam_overlay $ ./cam_overlay.bin
Opened device '/dev/video0'
Dimensions: 640 x 480 Pixel Format: MJPG
cam_overlay.bin: cam_overlay.c:105: init_ogl: Assertion `EGL_FALSE != result' failed.
Aborted

with cpp branch had issues building, in the end it also does not work:
pi@raspberrypi:~ $ ./cam_overlay_cpp/cam_overlay/bin/camoverlay.bin
Initialising DisplayBcm...
Initialising GL context...
* failed to add service - already in use?

Please help.

I guess the problem ischipset of Easycap stick:
#pi@raspberrypi:/home $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 18ec:5555 Arkmicro Technologies Inc.

It appears in dmesg output, with some warnings:
[    5.008212] vc4-drm gpu: fb0: vc4drmfb frame buffer device
[    5.012612] usb 1-1.3.4: New USB device found, idVendor=18ec, idProduct=5555, bcdDevice= 1.00
[    5.012632] usb 1-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.012648] usb 1-1.3.4: Product: USB2.0 PC CAMERA
[    5.012664] usb 1-1.3.4: Manufacturer: ARKMICRO
[    5.030425] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.035233] usb 1-1.3.4: 3:1: cannot get freq at ep 0x82
[    5.093315] usb 1-1.3.4: Warning! Unlikely big volume range (=11903), cval->res is probably wrong.
[    5.093337] usb 1-1.3.4: [2] FU [Mic Capture Volume] ch = 2, val = 384/12287/1
[    5.095481] brcmfmac: F1 signature read @0x18000000=0x15264345
[    5.112253] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    5.112828] usbcore: registered new interface driver brcmfmac
[    5.138988] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
[    5.149002] rpivid-mem feb00000.hevc-decoder: rpivid-hevcmem initialised: Registers at 0xfeb00000 length 0x00010000
[    5.149437] rpivid-mem feb10000.rpivid-local-intc: rpivid-intcmem initialised: Registers at 0xfeb10000 length 0x00001000
[    5.149851] rpivid-mem feb20000.h264-decoder: rpivid-h264mem initialised: Registers at 0xfeb20000 length 0x00010000
[    5.150250] rpivid-mem feb30000.vp9-decoder: rpivid-vp9mem initialised: Registers at 0xfeb30000 length 0x00010000
[    5.376445] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    5.398580] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar  2 2020 23:30:41 version 7.45.202 (r724630 CY) FWID 01-72f6ece2
[    5.944894] uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:5555)
[    5.983078] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[    6.006746] uvcvideo 1-1.3.4:1.0: Entity type for entity Processing 2 was not initialized!
[    6.006770] uvcvideo 1-1.3.4:1.0: Entity type for entity Camera 1 was not initialized!
[    6.010790] input: USB2.0 PC CAMERA as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/input/input7
[    6.018993] usbcore: registered new interface driver uvcvideo
[    6.019010] USB Video Class driver (1.1.1)

I succeeded to open video using mplayer:
pi@raspberrypi:~ $ mplayer tv:// -tv device=/dev/video0
MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski<EMAIL_ADDRESS> comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
Selected device: USB2.0 PC CAMERA
 Capabilities:  video capture  streaming
 supported norms:
 inputs: 0 = Camera 1;
 Current input: 0
 Current format: MJPEG
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Inappropriate ioctl for device
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
Failed to open VDPAU backend libvdpau_vc4.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.35.100 (external)
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
Audio: no sound
Starting playback...
[mjpeg @ 0xb5d72878]No JPEG data found in image
Error while decoding frame!
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0xb6839400]bicubic scaler, from yuv422p to yuv420p using C
VO: [xv] 640x480 => 640x480 Planar YV12
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 640x480 => 640x480 Planar YV12
V:   0.0 245/245 ??% ??% ??,?% 0 0
No bind found for key 'CTRL-c'.
V:   0.0 334/334 ??% ??% ??,?% 0 0

v4l2: ioctl set mute failed: Invalid argument
v4l2: 335 frames successfully processed, 26 frames dropped.

Exiting... (End of file)

vlc gives error:
pi@raspberrypi:~/cam_overlay $ vlc v4l2:///dev/video0 -v
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
[01adab58] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
qt5ct: using qt5ct plugin
qt5ct: D-Bus global menu: no
qt5ct: D-Bus system tray: no
[99c00a28] v4l2 demux warning: cannot reset cropping limits: Inappropriate ioctl for device
[99c07618] mmal_codec decoder: VCSM init succeeded: CMA
[99c07618] main decoder error: buffer deadlock prevented
QObject::~QObject: Timers cannot be stopped from another thread

@meekys , could it be related to RPI4 different implementation of OpenGL? I found some interesting info here:

@egisz It's quite possible it's related the issue you've linked. cam_overlay is using bcm_host_init and vc related functions (vc_dispmanx_display_open, `vc_dispmanx_update_start', etc...) for direct display control.
I haven't got a pi4 to test with, so I couldn't say for certain.
If you have X11 running, you may be able to force it to use an X11 window instead (on the cpp branch) by using --display=X11. This would at least let us narrow down the issue.
The link you provided would probably be enough to get started on either changing (if still backwards compatibly with older pi's) or creating an alternative display option for the pi4

@meekys , could you update instructions how to properly install prerequisites to build cpp branch?
And could you check if it builds for you?
I face 2 problems:

cmake is blaming it cannot find OPENGL_opengl_LIBRARY on both RPi3 and 4:

pi@CRANKSHAFT-NG:~/src/cam_overlay/src/Gl $ cmake . -LH
CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.13/Modules/FindOpenGL.cmake:395 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:21 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/pi/src/cam_overlay/src/Gl/CMakeFiles/CMakeOutput.log".
-- Cache values
// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=

// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

// Path to a file.
OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include

// Path to a file.
OPENGL_GLX_INCLUDE_DIR:PATH=/usr/include

// Path to a file.
OPENGL_INCLUDE_DIR:PATH=/usr/include

// Path to a library.
OPENGL_egl_LIBRARY:FILEPATH=/usr/lib/arm-linux-gnueabihf/libEGL.so

// Path to a library.
OPENGL_gl_LIBRARY:FILEPATH=/usr/lib/arm-linux-gnueabihf/libGL.so

// Path to a library.
OPENGL_glu_LIBRARY:FILEPATH=OPENGL_glu_LIBRARY-NOTFOUND

// Path to a library.
OPENGL_glx_LIBRARY:FILEPATH=/usr/lib/arm-linux-gnueabihf/libGLX.so

// Path to a library.
OPENGL_opengl_LIBRARY:FILEPATH=OPENGL_opengl_LIBRARY-NOTFOUND

// Path to a file.
OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND

If I modify src/Gl/CmakeLists.txt, and remove REQUIERED, then cmake succeds, but I'm not sure if this is OK or not?
find_package(OpenGL REQUIRED COMPONENTS EGL)

make command fails:

Scanning dependencies of target DisplayBcm
[ 48%] Building CXX object src/Display/Bcm/CMakeFiles/DisplayBcm.dir/src/DisplayBcm.cpp.o
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp: In constructor ‘DisplayBcm::DisplayBcm(std::shared_ptr<ILogger>)’:
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:10:10: error: ‘void init’ has incomplete type
     auto init = bcm_host_init();
          ^~~~
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:12:23: error: unable to find string literal operator ‘operator""_’ with ‘const char [29]’, ‘unsigned int’ arguments
         _logger->Warn("bcm_host_init() failed with "_ + init);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:19:25: error: unable to find string literal operator ‘operator""_’ with ‘const char [41]’, ‘unsigned int’ arguments
         throw Exception("graphics_get_display_size() failed with "_ + success);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:19:15: error: ‘Exception’ was not declared in this scope
         throw Exception("graphics_get_display_size() failed with "_ + success);
               ^~~~~~~~~
make[2]: *** [src/Display/Bcm/CMakeFiles/DisplayBcm.dir/build.make:63: src/Display/Bcm/CMakeFiles/DisplayBcm.dir/src/DisplayBcm.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:316: src/Display/Bcm/CMakeFiles/DisplayBcm.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

I have some small progress:
I modified cam_overlay/src/RaspberryPi.cmake:
changed NAMES from brcmEGL to libbrcmEGL
  find_library(OPENGL_gl_LIBRARY
    NAMES libbrcmEGL
    PATHS /opt/vc/lib
    NO_DEFAULT_PATH
  )

  find_library(OPENGL_egl_LIBRARY
    NAMES libbrcmEGL
    PATHS /opt/vc/lib
    NO_DEFAULT_PATH
  )

Now cmake finds all dependencies:
pi@CRANKSHAFT-NG:~/src/cam_overlay $ cmake .
display_projects DisplayBcm;DisplayX11
input_projects InputV4L2;InputFile
output_projects OutputJpeg;OutputShader;OutputFile
display_modules Bcm;X11
input_modules V4L2MMap;V4L2UserPtr;V4L2Read;File
output_modules Jpeg;Shader;File
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/src/cam_overlay

but make still fails at same file:
[ 48%] Building CXX object src/Display/Bcm/CMakeFiles/DisplayBcm.dir/src/DisplayBcm.cpp.o
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp: In constructor ‘DisplayBcm::DisplayBcm(std::shared_ptr<ILogger>)’:
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:10:10: error: ‘void init’ has incomplete type
     auto init = bcm_host_init();
          ^~~~
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:12:23: error: unable to find string literal operator ‘operator""_’ with ‘const char [29]’, ‘unsigned int’ arguments
         _logger->Warn("bcm_host_init() failed with "_ + init);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:19:25: error: unable to find string literal operator ‘operator""_’ with ‘const char [41]’, ‘unsigned int’ arguments
         throw Exception("graphics_get_display_size() failed with "_ + success);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/src/cam_overlay/src/Display/Bcm/src/DisplayBcm.cpp:19:15: error: ‘Exception’ was not declared in this scope
         throw Exception("graphics_get_display_size() failed with "_ + success);
               ^~~~~~~~~
make[2]: *** [src/Display/Bcm/CMakeFiles/DisplayBcm.dir/build.make:63: src/Display/Bcm/CMakeFiles/DisplayBcm.dir/src/DisplayBcm.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:316: src/Display/Bcm/CMakeFiles/DisplayBcm.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

It's possible the libraries for Bmc have changed slightly in later versions of Raspbian/Raspberry Pi OS, as you've found with brcmEGL in RaspberryPi.cmake
On top of this, it looks like bcm_host_init() now returns void too, so it'd just be a matter of not assigning the result (as there now isn't one) to a variable and then not checking that variable.
In src/Display/Bcm/src/DisplayBcm.cpp
    auto init = bcm_host_init();
    if (init < 0)
        _logger->Warn("bcm_host_init() failed with "_ + init);

Replaced with
    bcm_host_init();

For the unable to find string literal operator ‘operator""_’ type errors, you might need to replace the _ with an s.
I have to admit, I haven't tried with the latest version(s) of Raspbian/Raspberry Pi OS, but if this fixes it to compile, it might be worth creating a pull request for these fixes.

Any updates on this?
I'm experiencing the same issue on Crankshaft on a RPi 3A+:
Opened device '/dev/video0'
Dimensions: 720 x 480 Pixel Format: YUYV
* failed to add service - already in use?


Added contribution footer for github and slack links.

What does this PR do?

Adds the contribution items of slack and github links to the footer of the site

Description of Task to be completed?

Not sure on this one but I believe it only needs merging

How should this be manually tested?

run the site locally and visually check the footer is OK. Run react tests with the test:all script.

What are the relevant Trello Card stories?  Trello Card Item

Getting board not found - This was from a feature idea raised by myself here: https://github.com/Say-Their-Name/say-their-names-web/issues/154

Pull Request Type (check one)

[x] Feature
[ ] Bug Fixes
[ ] Chore

Developer Checklist

[x] New code has been scanned for ESlint issues
[x] I have tested my code locally
[x] I made sure that there are no other pull requests that solve for this issue
[x] My code follows the same structure within the guidelines

Screenshots (if appropriate)

@Easybuoy thanks! I believe the formatting issue is being caused by the svg image sizes being differently sized to the other svgs used in the social media links since they're all using the same styles. I think resizing the contributor images to the same size as the social media will fix the issue.

I've looked into it, and indeed it's the SVGs - the width is set to 220 in both new svgs. In other images the width corresponds to the drawn paths, while here its's much wider. Submitting a suggestion with fixes

Fixed the svgs :)

Thanks @hybridcattt


Fix piping in entrypoint script

Fix piping in entrypoint script

Hi @taltcher, I see that you haven't attached any Trello card, let me help you with that...

 reviewdog-action-ember-template-lint - Fix piping in entrypoint script


BeamSearchDecoder: fix beam not full, and add test module

fix issue mentioned in https://github.com/tensorflow/tensorflow/issues/10641
and add a test module for it

Can one of the admins verify this patch?

I have signed the CLA

@ebrevdo could you take a look? Thanks!

Jenkins, test this please.

Strange, build was aborted.
Jenkins, test this please.

Excuse me, but why would you need to rebuild? I only changed the python code.

We run checks for compliance with style guide, tests, etc. In that case, the following failed.

FAIL: Found 6 non-whitelited pylint errors:
tensorflow/contrib/seq2seq/python/kernel_tests/beam_search_decoder_test.py:240: [W0311(bad-indentation), ] Bad indentation. Found 8 spaces, expected 6

tensorflow/contrib/seq2seq/python/kernel_tests/beam_search_decoder_test.py:241: [W0311(bad-indentation), ] Bad indentation. Found 8 spaces, expected 6

tensorflow/contrib/seq2seq/python/kernel_tests/beam_search_decoder_test.py:246: [W0311(bad-indentation), ] Bad indentation. Found 8 spaces, expected 6

tensorflow/contrib/seq2seq/python/kernel_tests/beam_search_decoder_test.py:248: [W0311(bad-indentation), ] Bad indentation. Found 8 spaces, expected 6

tensorflow/contrib/seq2seq/python/kernel_tests/beam_search_decoder_test.py:251: [W0311(bad-indentation), ] Bad indentation. Found 8 spaces, expected 6

tensorflow/contrib/seq2seq/python/kernel_tests/beam_search_decoder_test.py:252: [W0311(bad-indentation), ] Bad indentation. Found 8 spaces, expected 6

could you please tell me how to check style? I will check it and make it right.

I have corrected the style. now what do I do? I don't need to pull another request, do I?

Jenkins, test this please.
You should be fine
On Jun 26, 2017 10:15 PM, "JerrikEph"<EMAIL_ADDRESS>wrote:

I have corrected the style. now what do I do? I don't need to pull another
request, do I?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/10752#issuecomment-311255050,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT_SbRwnCvI4JLvP09QFLt-b6GTtqppVks5sIJAEgaJpZM4N78L3
.

OK, tests pass, it's ready for @ebrevdo  to review.

@adarob can you and cinjon do the rest of the review for correctness?  I'll be OOO.

@ebrevdo  sure, i can look at it tomorrow.

I have changed the code as requested

Jenkins, test this please.

I have no idea what is wrong.

@tensorflow-jenkins test this please
@ebrevdo, @adarob did you finish the review?

@rmlarsen, @cinjon said he wanted to review it. I will ping him.

any update?

@adarob any luck?

@adarob ping

any update?

sorry for losing track of this PR.  can you rebase on master?

@JerrikEph btw does tf nightly handle this case correctly now?

Akward, I don't know what tf nightly is. :(

The tf nightly is the automatic build that is pushed nightly. They can be installed like this. Probably best to do that in a docker instance.

@JerrikEph could you pull rebase and push again?

@drpngx I have rebased my change on upstream tensorflow. Is it because I merged so it didn't pass? It's my first time contribute to tensorflow. Please tell me where I did wrong, why is it taking so long?


Don1760/raster rendering rule new sample

@nCastle1 Can you please code-review this new .NET sample called 'RasterRenderingRule'?
I will be out on vacation for 2 weeks, so if you would be so kind as to make whatever code-review changes you feel are necessary and merge it into master, I would appreciate it. I will co-assign the issue to you as well so you can get credit for the work you did.
Thanks,
-don

With changes this is ready to merge.


PrepareFolderForZipping filter option

Please describe the feature you would like to see implemented.
Please add possibility to specify composer packages to be filtered out as well.
Additionally, to filterShopwareRequires.
So, we can use preparation without any plugin-dependency to be installed into plugins vendor.

I like. I need as well


Add Qovery deployment section

Hello, do I need to do something ?

Hello @iansu and @amyrlam , do I need to do something?

Hello, is there anyone to check this PR?

Still waiting for the PR review, I write a comment to avoid stale label

Hello, someone is still reviewing PR here?

Hello, any update? it's been almost 4 months :(

ping


Active timing measurements may impact performance due to excessive task synchronization

Several calls to ESMF_VMBarrier(), used for timing purposes, may negatively impact runtime performance of MAPL-based applications due to excessive task synchronization.
I'd like to propose adding an option (perhaps to MAPL_CapOptions) to disable component timing. Timing-related code as well as calls to ESMF_VMBarrier() could, for instance, be wrapped with additional MAPL APIs which would invoke/skip the synchronization barrier according to the option provided.

I'm sympathetic in principle but am wary of whether there is a one-size-fits-all solution.   Perhaps some of these barriers have additional rationale.     Further, I suspect some of these serve no purpose and all and should simply be removed rather than changing to a wrapper.      (I'm also a bit skeptical that the performance impact is even measurable for the GOCART use case - but I could be wrong.)
The timers in CapGridComp itself are not typical for GEOS and were added by the model developers to get a throughput measure independent of the main profiling capabilities used in MAPL.    But as near as I can tell these atypical timers only involve the root process and thus don't need the barrier at all.
The barrier before writing the EGRESS file is essential and should not be turned off.    At most it should have a separate switch if it really is a problem on the NOAA end.
I've assigned a couple more people in the group in case they have some memory for why some of these barriers exist.

@rmontuoro you can disable component timing with the existing MAPL. While the timing is turned on by default, in MAPL_CapGridComp.F90 we call MAPL_ProfDisable if enableTimers was not set to "YES"

In CAP.rc you can specify
MAPL_ENABLE_TIMERS: NO

I take it back - by default the timers are disabled (i.e. unless you specifically ask for MAPL_DISABLE_TIMERS: YES they should not be active). Please check you resource settings

@atrayano  First - I'm not sure that switch has any impact on the new timers.   And we really should now delete the old timers.
The barrier's in this thread appear to be in support of timers but are not encapsulated in any way at all.     Not sure who introduced them in CapGridComp - I don't think they were there originally or at least they did not catch my eye at the time I refactored this layer into existence.


Fastnlight: Watch +85593282983

Fastnlight requests the watch of the watch_number +85593282983. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


The Source IDs for a VmReconfigureRequest are strings

On a VmReconfigureRequest, the options hash has a key :src_ids and a value of an array of Vm IDs that the reconfigure applies to.  When the code was written, the IDs were Integers.  On master, euwe and darga the IDs are now strings.  Surprisingly the requests are still working, but the code was written expecting regular (integer) IDs.
In my opinion these should go back to being IDs instead of strings.
For more discussion, please see conversation in #12472

@miq-bot assign @lgalis
@lgalis perhaps this should be addressed in ui-classic


Create ELM v2 NGEE Arctic spin up bugfix version

Source:  https://github.com/fmyuan/E3SM/tree/elm_v2-for-ngee

Initial testing with OLMT is promising.  All cases ran and model spun up correctly.

Done


CheckoutConfirmTemplateSubscriber breaks when accessing issuer code

Shopware version: <IP_ADDRESS> stable
Plugin version: 2.5.0
It appears an event subscriber tries to access the private property MultiSafepay\Api\Issuers\Issuer::$code in an external context.
Should use public method \MultiSafepay\Api\Issuers\Issuer::getCode instead.
See: src/Subscriber/CheckoutConfirmTemplateSubscriber.php:145
Stack trace:
Error: Cannot access private property MultiSafepay\Api\Issuers\Issuer::$code
#21 /vendor/store.shopware.com/mltisafemultisafepay/src/Subscriber/CheckoutConfirmTemplateSubscriber.php(145): MultiSafepay\Shopware6\Subscriber\CheckoutConfirmTemplateSubscriber::getRealIdealName
#20 /vendor/store.shopware.com/mltisafemultisafepay/src/Subscriber/CheckoutConfirmTemplateSubscriber.php(103): MultiSafepay\Shopware6\Subscriber\CheckoutConfirmTemplateSubscriber::addMultiSafepayExtension
#19 /vendor/symfony/event-dispatcher/EventDispatcher.php(270): Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}
#18 /vendor/symfony/event-dispatcher/EventDispatcher.php(230): Symfony\Component\EventDispatcher\EventDispatcher::callListeners
#17 /vendor/symfony/event-dispatcher/EventDispatcher.php(59): Symfony\Component\EventDispatcher\EventDispatcher::dispatch
#16 /vendor/shopware/core/Content/Flow/Dispatching/FlowDispatcher.php(50): Shopware\Core\Content\Flow\Dispatching\FlowDispatcher::dispatch
#15 /vendor/shopware/core/Framework/Webhook/WebhookDispatcher.php(94): Shopware\Core\Framework\Webhook\WebhookDispatcher::dispatch
#14 /vendor/shopware/core/Framework/Event/BusinessEventDispatcher.php(52): Shopware\Core\Framework\Event\BusinessEventDispatcher::dispatch
#13 /vendor/shopware/core/Framework/Event/NestedEventDispatcher.php(32): Shopware\Core\Framework\Event\NestedEventDispatcher::dispatch
#12 /vendor/shopware/storefront/Page/Checkout/Confirm/CheckoutConfirmPageLoader.php(101): Shopware\Storefront\Page\Checkout\Confirm\CheckoutConfirmPageLoader::load
#11 /vendor/shopware/storefront/Controller/CheckoutController.php(135): Shopware\Storefront\Controller\CheckoutController::confirmPage
#10 /vendor/symfony/http-kernel/HttpKernel.php(156): Symfony\Component\HttpKernel\HttpKernel::handleRaw
#9 /vendor/symfony/http-kernel/HttpKernel.php(78): Symfony\Component\HttpKernel\HttpKernel::handle
#8 /vendor/symfony/http-kernel/Kernel.php(199): Symfony\Component\HttpKernel\Kernel::handle
#7 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle
#6 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(479): Symfony\Component\HttpKernel\HttpCache\HttpCache::forward
#5 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(452): Symfony\Component\HttpKernel\HttpCache\HttpCache::fetch
#4 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(346): Symfony\Component\HttpKernel\HttpCache\HttpCache::lookup
#3 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(224): Symfony\Component\HttpKernel\HttpCache\HttpCache::handle
#2 /vendor/shopware/core/HttpKernel.php(181): Shopware\Core\HttpKernel::doHandle
#1 /vendor/shopware/core/HttpKernel.php(81): Shopware\Core\HttpKernel::handle
#0 /public/index.php(83): null

I see that the more recent versions of this plugin aren't hosted within this repository any longer. @Jasper-MultiSafepay if you have a better location where I can report this, please point me in the right direction.
N.B.: It may have been fixed in 2.5.1, but that version is constrained to Shopware 6.3, which is not a solution for 6.4 projects.

hi @johmanx10
version 2.5.1 is be available for Shopware versions 6.3 and above, and should be available in the Shopware store for versions 6.3 and 6.4. So could you clarify what you mean with constrained so we could help you further with this?

Hi @Mike-MultiSafepay my previous message is a bit confusing, as version 2.5.1 of this package does not explicitly deny Shopware 6.4 and up. However, it does so implicitly through the added dependency on the Guzzle adapter package.
Shopware 6.4 and up depend on guzzlehttp/guzzle versions ~7.2. See https://github.com/shopware/platform/blob/trunk/composer.json#L70
This conflicts with the newly added dependency on php-http/guzzle6-adapter in version 2.5.1 of this package, which prevents me from installing that specific patch version in Shopware 6.4 projects.

I see this change is the cause: https://github.com/MultiSafepay/shopware6/compare/2.5.0...2.5.1#diff-d2ab9925cad7eac58e0ff4cc0d251a937ecf49e4b6bf57f8b95aab76648a9d34R15
You could solve that by moving it from the require to require-dev section in composer.json and adding a suggestion through suggest.
If that is not a satisfactory solution, you probably need to write your own adapter, so as to not conflict with Guzzle 7 dependencies.

We added a fix to our internal repository that should solve this issue. We moved from the guzzle adapter to an other psr/http-client-implementation. This one should not conflict with Shopware or Guzzle.
We will probably do an release somewhere these upcoming days

Thanks @Mike-MultiSafepay. I'll check for the availability of the new version soon. Once that version is released, I consider this issue closed.

We just released version 2.5.2 which should resolve this issue.
If this issue still persist please reopen the issue.


Allow manual configuration of ∆E method when interpolating steps

We considered exposing not just specifying the ∆E method, but also configuring ∆E specific parameters and ended up deciding to just do the method. If desired, users can always create a new ∆E method that subclasses the desired one but sets the defaults to whatever is desired. Then, that one can be called.
I'm just not sure such complexity is needed for steps, and if a user absolutely wants to configure a delta_e method, they can always subclass it, set the defaults to whatever they want to use, and register that ∆E method as a new one that can then be used.
For now, we'll go with simplicity and wait to see if there is a strong demand to do otherwise.

@gir-bot lgtm


Provide unit tests for IdentitySet

🆕🐥:dog: First Timers Only
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝
:space_invader: Description of the issue
The class ´ IdentitySet´can easily be tested but currently we have zero unit tests.
📋 Step by Step

🙋 Claim this issue: Comment below.
🔄 replace the up for grabs label with in progress.
:fork_and_knife: fork the repository in github by simply clicking the 'fork' button.
:arrow_heading_down: check out the forked repository
:twisted_rightwards_arrows: create a feature branch for the issue. We do not have any naming definition for branches.
💾 Commit your changes.
🔀 Start a Pull Request.
🏁 Done 👍 Ask in comments for a review :)
🔬 If the reviewer find some missing peaces or a problem he will start a discussion with you and describe the next steps how the problem can be solved.
:boom: you did it! We will merge the fix in the master of the Dolphin Platform project.
:bouquet: Thanks, thanks, thanks for being part as an open source contributor for Dolphin Platform

🤔❓ Questions
You can join our community chat at Slack

I'll do this.


fix documentation errors

Hi @tanjunchen ! Thanks for this helpful fix! We require all of our commits to be signed. Would you mind following this guide to do so? https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification

ok.updated.

Hi @tanjunchen ! Thanks for this helpful fix! We require all of our commits to be signed. Would you mind following this guide to do so? https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification

done


Implemented GitHub Actions cache example

GitHub Actions Cache
Implemented example of GitHub Actions Cache usage, to run CI faster.

Hey, great idea with the actions cache, that can really help for faster CI workflows! Even better would be ccache support, which would allow us to cache the built binaries as well.
Perhaps instead of a dedicated section in the readme, this would deserve its own wiki page and readme could link there?

For ccache, I have written this before, which works for pretty much every CI workflow.
I'm pretty sure this needs some adjustment to work on Windows. We only run Linux/macOS CI at work.
[...]
    env:
      CCACHE_HASH_DIR: true
      CCACHE_UNIFY: true
      CCACHE_SLOPPINESS: 'file_macro,time_macros'
      CCACHE_DIR: '${{ github.workspace }}/.ccache'
[...]
      - name: Configure Cache
        run: |
          # Export slug variables for the cache action (requires gsed on macOS).
          slug_ref() {
            echo "$1" |
              tr "[:upper:]" "[:lower:]" |
              ${{ matrix.os.tag == 'macOS' && 'gsed' || 'sed' }} -r 's#refs/[^\/]*/##;s/[~\^]+//g;s/[^a-zA-Z0-9.]+/-/g;s/^-+\|-+$//g;s/^-*//;s/-*$//' |
              cut -c1-63
          }
          # Identify OS, Compiler, and CMake Configuration based on the configuration matrix.
          echo ::set-env name=CACHE_PREFIX::"${{ matrix.os.tag }}-${{ matrix.os.compiler }}-${{ matrix.configure.tag }"
          echo ::set-env name=CACHE_MAIN_BRANCH::"master"
          echo ::set-env name=CACHE_REF_SLUG::"$(slug_ref "$GITHUB_REF")"
          echo ::set-env name=CACHE_HEAD_REF_SLUG::"$(slug_ref "$GITHUB_HEAD_REF")"
          echo ::set-env name=CACHE_BASE_REF_SLUG::"$(slug_ref "$GITHUB_BASE_REF")"
[...]
      # For 'pull_request' events we want to take the latest build on the PR
      # branch, or if that fails the latest build from the branch we're merging
      # into.
      - name: Fetch ccache Cache (Pull Request)
        if: github.event_name == 'pull_request'
        uses: actions/cache@v2
        with:
          path: .ccache
          key: ccache-${{ env.CACHE_PREFIX }}-${{ env.CACHE_HEAD_REF_SLUG }}-${{ github.sha }}
          restore-keys: |
            ccache-${{ env.CACHE_PREFIX }}-${{ env.CACHE_HEAD_REF_SLUG }}
            ccache-${{ env.CACHE_PREFIX }}}-${{ env.CACHE_BASE_REF_SLUG }}
            ccache-${{ env.CACHE_PREFIX }}
      # For 'push' events we want to take the latest build on the branch we pushed to.
      - name: Fetch ccache Cache (Push)
        if: github.event_name == 'push'
        uses: actions/cache@v2
        with:
          path: .ccache
          key: ccache-${{ env.CACHE_PREFIX }}-${{ env.CACHE_REF_SLUG }}-${{ github.sha }}
          restore-keys: |
            ccache-${{ env.CACHE_PREFIX }}-${{ env.CACHE_REF_SLUG }}
            ccache-${{ env.CACHE_PREFIX }}
      # For 'release' events we want to take the latest master build.
      - name: Fetch ccache Cache (Release)
        if: github.event_name == 'release'
        uses: actions/cache@v2
        with:
          path: .ccache
          key: ccache-${{ env.CACHE_PREFIX }}-${{ env.CACHE_MAIN_BRANCH }}-${{ github.sha }}
          restore-keys: |
            ccache-${{ env.CACHE_PREFIX }}-${{ env.CACHE_MAIN_BRANCH }}
            ccache-${{ env.CACHE_PREFIX }}
[...]
      # Do the actual build and configuration
      - name: Configure / Build
[...]
      - name: Show ccache Statistics
        run: |
          # Print statistics counter IDs and corresponding values.
          ccache --show-stats

Thanks for the example @dominiklohmann! May I ask what the advantage is of splitting the configuration for pushes, PRs and release? E.g. this tutorial has much less configuration code.

The variables $GITHUB_REF, $GITHUB_HEAD_REF, and $GITHUB_BASE_REF have different meanings depending on the event that triggered the workflow run. The split allows for better approximation which cache we want to use. E.g., for a pull_request event, we want to use the last cache from within that pull request, falling back to the cache from the branch we're merging into.

I see, thanks for the explanation!

Hey, I create a new wiki page with both CPM.cmake and ccache example. For ccache I used the tutoral that Lars talked about.
I think we should put more information about CMake setup to use ccache, since we're talking about GitHub Actions, didn't address about.
I'll be updating my PR to link to the wiki page.


arcgis username and password authentication

Provides draft for peer review for adding username/password authentication with ArcGIS server.
Things to possibly do yet

Update UI webapp to provide username/password options or token with url, remove hardcoded section for testing
Testing and handle use cases beyond happy path
Move getServerUrl to Helper file
Move getPortalUrl to Helper file
Update layer token to get token from identity manager
Move plugins/arcgis/web-app/projects/main/src/lib/arc-layer/arc-layer.component.ts addLayer to helper file and use instead of encodeURIComponent
Provide ability to refresh token upon expiration (if needed)
Any remaining TODOs

Looks like you have some merge errors


ID handling for conrefered structures

How this plugin handles IDs in conrefered contend depends on the nesting context and can result in output files with duplicate IDs:

If a conrefered element contains an ID the plugin ignores this for the output element.
Source: <conref> --> <ph id=”ABC”>
Output: <ph>

If a conrefered element contains other elements with IDs the plugin generates new IDs for these elements in the corresponding output elements.
Source: <conref> --> <ph id=”ABC”><ph id=”DEF”>
Output: <ph><ph id=”djpigfv”>
But it generates for each conref target only one publication wide ID.
If a conref is used several times within a topic (e. g. product name variables) we get duplicate IDs in the output.

If an element with conkeyref attribute on top level contains a ID there are two possible outputs:

If the conrefered element contains another conkeyref the ID of this target will be set as output ID all other IDs (top-level and all lower conreference levels) are ignored.
Source: <conref1 id=”ABC”> --> <conref2 id=”DEF”> --> <conref3 id=”GHI”>
Output: Output ID from conref 2 id=“DEF”
If the conrefered element is not a conreference element by itself the top-level ID is set as output ID
Source: <conref1 id=”ABC”> --> <ph id="DEF"><conref2 id=”GHI”> --> <conref3 id=”JKL”>
Output: Output ID from conref 1 id=“ABC”

("top-level" means the conreference cascade chain starting point)
("low-level" means the last conrefered target in chain finaly rendered)
I am not shure about the intended handling but first of all it would be good to prevent duplicate ID generation within a topic. Is it possible to generate new IDs for each use case of a conref target or to set a suffix?
Otherwise maybe it would be possible to controll ID generation of nested elements using something like -dita-use-conref-target.
Additionally I would like to get the original id values rendered to the output files instead of new generated.
In my opinion the described cases  1. and 2. should grab IDs from the same level: "ABC" (top level) or "DEF" (second level).
Testing Files:
ID-handling-normalizeDITA.zip

In case of conref push with conaction="pushreplace" the plugin handles IDs quiet different too.
The result IDs are fetched from all levels of pushed source content.
IDs of the push-replace target placeholder structures are ignored on all levels.
Source: <ph id="ABC"> <-- <ph conaction="pushreplace" id="DEF" ...><ph id="GHI"><ph id="JKL">
Output: <ph id="DEF"><ph id="GHI><ph id=JKL>
This behaviour is the best for us because we are able to control all rendered IDs.
Of course, the problem with duplicate IDs within topics is still there but unavoidable.
Even the described ID handlings are no issues, if someone needs controlled IDs in normalized DITA for post processing this behavior might be good to know.


Rust threadsafety annotation changed in release 2.6.0

In version 2.5.0 the StanLibrary struct was marked as Send and Sync:
https://docs.rs/bridgestan/2.5.0/bridgestan/struct.StanLibrary.html#synthetic-implementations
But in 2.6.0 the same struct is marked as not Send and Sync:
https://docs.rs/bridgestan/latest/bridgestan/struct.StanLibrary.html#synthetic-implementations
If some entry on the c-side changed from const to non-const, that might explain why this is suddenly different, but I couldn't find any such change.
So maybe the update of bindgen triggered this?
I think StanLibrary is in fact threadsafe, I can't see any reason why different threads couldn't create models at the same time? But maybe I'm missing something on the C++ side...
If we think it should be safe, I can make a simple PR that informs rust about this.

I'm re-opening this issue until we actually release the patch as a reminder to myself


Research icon size

The icon size should be adjusted, it does not display correctly when viewing the Research. I tested, and the following change displays the icon correctly:
technologies.lua
-- icon_size = 128,
++ icon_size = 256,

Fixed. Thanks, mate!

Very helpful mod, much appreciated. And thank you for the fix.


Get lattice parameters of MOF

I would like to generate a MOF and then write this to a cif file. so I can pass it into mofdescribe (the features I want to calculate require the unit cell info). To do this I need info on the periodicity but I don't know how to get this. I generate a MOF using your example code:
Produce a Pd+2 atom with 4 functional groups.
palladium_atom = stk.BuildingBlock(
smiles='[Pd+2]',
functional_groups=(
stk.SingleAtom(stk.Pd(0, charge=2))
for i in range(4)
),
position_matrix=[[0., 0., 0.]],
)
Build a building block with two functional groups using
the SmartsFunctionalGroupFactory.
bb1 = stk.BuildingBlock(
smiles=(
'C1=NC=CC(C2=CC=CC(C3=C'
'C=NC=C3)=C2)=C1'
),
functional_groups=[
stk.SmartsFunctionalGroupFactory(
smarts='[#6]~[#7X2]~[#6]',
bonders=(1, ),
deleters=(),
),
],
)
cage1 = stk.ConstructedMolecule(
stk.cage.M2L4Lantern(
building_blocks=(palladium_atom, bb1),
# Ensure that bonds between the
# GenericFunctionalGroups of the ligand and the
# SingleAtom functional groups of the metal are
# dative.
reaction_factory=stk.DativeReactionFactory(
stk.GenericReactionFactory(
bond_orders={
frozenset({
stk.GenericFunctionalGroup,
stk.SingleAtom,
}): 9,
},
),
),
),
)
stk.MolWriter().write(cage1, "test.xyz")
If I understand correctly, it should be possible to get the lattice parameters from this, because I specify a topology when building the MOF, but I don't know how to do it. Maybe the directions of the lattice vectors and their relative lengths, and the angles, are known for each topology, then I can measure the size of the molecule to scale the lattice vectors? I would optimise the structure first. It seems like the organic cage building option gives lattice parameters.
I've read the docs but not found the answer sorry.

Hello and welcome!
So, it is possible to do what you want to do, see accessing periodic information in https://stk.readthedocs.io/en/stable/stk.molecular.topology_graphs.cof.cof.html for an example on COFs.
Also see this issue for some more information: https://github.com/lukasturcani/stk/issues/461
However, the code you sent is constructing an M2L4 metal-organic cage, not a MOF. Cages are not periodic structures and, therefore, what you are trying to do here is not appropriate. You need to construct a molecule using a periodic topology graph, not all topology graphs are periodic. If you can clarify what you would like to construct, we can help you further.

Thanks I'll read that. I would like to build a Metal Organic Framework and get the lattice info as well as the .xyz structure so I can create a pymatgen structure object out of it.

I've had a closer look but I don't know how to build a MOF sorry. The metal organic cage topologies are non periodic, but the COF topologies don't have metals and look to all be 2D. Should I build a custom MOF topology? The documentation on adding topologies doesn't mention periodicity but I guess I can combine the code for a metal organic cage with the periodicity of a COF?
Thanks

So, stk does not have any limitations in terms of what building block you place on a topology graph, in terms of chemistry. You can place a metal atom in a COF topology, the same way you do for a MOC topology. See here for an example of my placing cages in a COF topology to make a polymer of MOCs: https://github.com/andrewtarzia/stk-examples/blob/main/polymerised_mocs/ligand_connected.py
But, your other point is correct - stk does not currently have 3D MOFs. We have not really given it a full go yet to implement the appropriate rotations/alignments required for MOF generation - but the issue is discussed #204 #421  - Therefore, depending on what topology you intend on building, you will need to implement a custom topology graph, which we are happy to help with if you come across issues.

Thanks, I'll have a go.


crash sometime happened

.UnsupportedOperationException: Sorting went bad, the start event should always be at index 0

Can you give more information about the issue like when it happens, or maybe post the stack trace.

Hello
2021-07-16 10:33:53.922 23564-23564/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: story.reels.video.downloader, PID: 23564
java.lang.UnsupportedOperationException: Sorting went bad, the start event should always be at index 0
at android.animation.AnimatorSet.sortAnimationEvents(AnimatorSet.java:1638)
at android.animation.AnimatorSet.createDependencyGraph(AnimatorSet.java:1534)
at android.animation.AnimatorSet.initAnimation(AnimatorSet.java:700)
at android.animation.AnimatorSet.start(AnimatorSet.java:719)
at android.animation.AnimatorSet.start(AnimatorSet.java:684)
at np.com.susanthapa.curved_bottom_navigation.BottomNavItemView.startIntermediateAnimation(BottomNavItemView.kt:58)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.getBezierCurveAnimation$lambda-11$lambda-10(CurvedBottomNavigationView.kt:609)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.lambda$HfusvZnYG6MdA8klc2s64vbnySs(Unknown Source:0)
at np.com.susanthapa.curved_bottom_navigation.-$$Lambda$CurvedBottomNavigationView$HfusvZnYG6MdA8klc2s64vbnySs.onAnimationUpdate(Unknown Source:19)
at android.animation.ValueAnimator.animateValue(ValueAnimator.java:1558)
at android.animation.ValueAnimator.setCurrentFraction(ValueAnimator.java:684)
at android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:647)
at android.animation.ValueAnimator.start(ValueAnimator.java:1079)
at android.animation.ValueAnimator.start(ValueAnimator.java:1098)
at android.animation.ValueAnimator.startWithoutPulsing(ValueAnimator.java:1091)
at android.animation.AnimatorSet.handleAnimationEvents(AnimatorSet.java:1149)
at android.animation.AnimatorSet.startAnimation(AnimatorSet.java:1234)
at android.animation.AnimatorSet.start(AnimatorSet.java:729)
at android.animation.AnimatorSet.start(AnimatorSet.java:684)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.animateItemSelection(CurvedBottomNavigationView.kt:534)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.onMenuItemClick(CurvedBottomNavigationView.kt:490)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController$lambda-6(CurvedBottomNavigationView.kt:387)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.lambda$llKMWHA5k7PUlYtvwsA96TEIQxI(Unknown Source:0)
at np.com.susanthapa.curved_bottom_navigation.-$$Lambda$CurvedBottomNavigationView$llKMWHA5k7PUlYtvwsA96TEIQxI.onDestinationChanged(Unknown Source:2)
at androidx.navigation.NavController.addOnDestinationChangedListener(NavController.java:233)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController(CurvedBottomNavigationView.kt:378)
at instagram.photo.video.downloader.repost.insta.home.HomeActivity.setupListeners(HomeActivity.kt:72)
at instagram.photo.video.downloader.repost.insta.home.HomeActivity.onStart(HomeActivity.kt:26)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1433)
at android.app.Activity.performStart(Activity.java:7924)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3332)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7560)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

more likely not setting the setupWithNavController makes things work, but if pass a navController it breaks. My only doubt was since internally both onMenuItemClick i don't know whats the issue

Can you reproduce the issue, if so please mention the steps to reproduce.

I can't promise you the steps that might reproduce the same error. I have two projects that use the same component. One is just a test app with your package to test, while as other is a production app. Both use the same code and same versions of navigation fragment. But the test works fine but not the production app since even tho all the code is the same.  We can get on a meet where I can show you the issue if you want to.

Ok, let's talk on skype. Can you give me your skype id?

Or you can attach some videos of it.

Sorry, can I get back to you on monday

Its fine, you can upload a video and I will take a look

Hello,
Sorry for replying late. I am not sure how useful are the videos. the prod application just crashes when you open the app with this bug.
  java.lang.RuntimeException: initialize menu by calling setMenuItems() before setting up with NavController
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController(CurvedBottomNavigationView.kt:370)
        at instagram.photo.video.downloader.repost.insta.home.HomeActivity.setupListeners(HomeActivity.kt:118)
        at instagram.photo.video.downloader.repost.insta.home.HomeActivity.onStart(HomeActivity.kt:63)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1436)
        at android.app.Activity.performStart(Activity.java:8158)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3566)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:236)
        at android.app.ActivityThread.main(ActivityThread.java:8061)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

My fix for this was to write my own menuItemClickListener and remove the navListener, where I think the problem lies.
        binding.cbnvHome.setMenuItems(menuItems, 2)
        binding.cbnvHome.setOnMenuItemClickListener { cbnMenuItem, index ->
            if (cbnMenuItem.destinationId == -1) {
                throw RuntimeException("please set a valid id, unable the navigation!")
            }
            val builder = NavOptions.Builder()
                .setLaunchSingleTop(true)
                .setEnterAnim(R.anim.nav_default_enter_anim)
                .setExitAnim(R.anim.nav_default_exit_anim)
                .setPopEnterAnim(R.anim.nav_default_pop_enter_anim)
                .setPopExitAnim(R.anim.nav_default_pop_exit_anim)
            // pop to the navigation graph's start  destination
            builder.setPopUpTo(findStartDestination(navController.graph).id, false)
            val options = builder.build()
            try {
                navController.navigate(cbnMenuItem.destinationId, null, options)
            } catch (e: IllegalArgumentException) {
                Log.w("HOME", "unable to navigate!", e)
            }
        }

obviously, any directions from the NavController wouldn't work so there is no point trying.
But a blank Project with just this much works fine.
package com.jeevan.bottomnavigation

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.navigation.findNavController
import np.com.susanthapa.curved_bottom_navigation.CbnMenuItem
import np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onStart() {
        super.onStart()
        val cbnv : CurvedBottomNavigationView = findViewById(R.id.nav_view)

        val menuItems = arrayOf(
            CbnMenuItem(
                R.drawable.ic_download, // the icon
                R.drawable.anim, // the AVD that will be shown in FAB
                R.id.downloadFragment // optional if you use Jetpack Navigation
            ),
            CbnMenuItem(
                R.drawable.ic_instagram,
                R.drawable.anim,
                R.id.instagramFragment
            ),
            CbnMenuItem(
                R.drawable.ic_post_saver,
                R.drawable.anim,
                R.id.postSaverFragment
            ),
            CbnMenuItem(
                R.drawable.ic_tools,
                R.drawable.anim,
                R.id.toolFragment
            ),
        )
        cbnv.setMenuItems(menuItems)
        cbnv.setupWithNavController(findNavController(R.id.nav_host_fragment))
    }
}

Also setting the default navController layout to something else other than 0 index leads to something like this

The stack trace suggests that you are setting navController before setting the menuItems. I will verify the second case.

sorry that was the wrong stack trace, here is the correct one
java.lang.UnsupportedOperationException: Sorting went bad, the start event should always be at index 0
        at android.animation.AnimatorSet.sortAnimationEvents(AnimatorSet.java:1638)
        at android.animation.AnimatorSet.createDependencyGraph(AnimatorSet.java:1534)
        at android.animation.AnimatorSet.initAnimation(AnimatorSet.java:700)
        at android.animation.AnimatorSet.start(AnimatorSet.java:719)
        at android.animation.AnimatorSet.start(AnimatorSet.java:684)
        at np.com.susanthapa.curved_bottom_navigation.BottomNavItemView.startIntermediateAnimation(BottomNavItemView.kt:58)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.getBezierCurveAnimation$lambda-11$lambda-10(CurvedBottomNavigationView.kt:609)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.lambda$HfusvZnYG6MdA8klc2s64vbnySs(Unknown Source:0)
        at np.com.susanthapa.curved_bottom_navigation.-$$Lambda$CurvedBottomNavigationView$HfusvZnYG6MdA8klc2s64vbnySs.onAnimationUpdate(Unknown Source:19)
        at android.animation.ValueAnimator.animateValue(ValueAnimator.java:1566)
        at android.animation.ValueAnimator.setCurrentFraction(ValueAnimator.java:692)
        at android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:655)
        at android.animation.ValueAnimator.start(ValueAnimator.java:1087)
        at android.animation.ValueAnimator.start(ValueAnimator.java:1106)
        at android.animation.ValueAnimator.startWithoutPulsing(ValueAnimator.java:1099)
        at android.animation.AnimatorSet.handleAnimationEvents(AnimatorSet.java:1149)
        at android.animation.AnimatorSet.startAnimation(AnimatorSet.java:1234)
        at android.animation.AnimatorSet.start(AnimatorSet.java:729)
        at android.animation.AnimatorSet.start(AnimatorSet.java:684)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.animateItemSelection(CurvedBottomNavigationView.kt:534)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.onMenuItemClick(CurvedBottomNavigationView.kt:490)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController$lambda-6(CurvedBottomNavigationView.kt:387)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.lambda$llKMWHA5k7PUlYtvwsA96TEIQxI(Unknown Source:0)
        at np.com.susanthapa.curved_bottom_navigation.-$$Lambda$CurvedBottomNavigationView$llKMWHA5k7PUlYtvwsA96TEIQxI.onDestinationChanged(Unknown Source:2)
        at androidx.navigation.NavController.addOnDestinationChangedListener(NavController.java:233)
        at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController(CurvedBottomNavigationView.kt:378)
        at instagram.photo.video.downloader.repost.insta.home.HomeActivity.setupListeners(HomeActivity.kt:97)
        at instagram.photo.video.downloader.repost.insta.home.HomeActivity.onStart(HomeActivity.kt:63)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1436)
        at android.app.Activity.performStart(Activity.java:8158)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3566)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:236)
        at android.app.ActivityThread.main(ActivityThread.java:8061)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

Upon further inspection, I have realised that setting the active index while initializing the menuItems like this solves my issue.
 binding.cbnvHome.setMenuItems(menuItems,2)

This works because setup navController calls onMenuItemClick and onMenuItemClickhas a check that says.
if (selectedIndex == index) {
       Log.i(TAG, "same icon multiple clicked, skipping animation!")
       return
}

since the selectedIndex is equal to index it works.
but otherwise this function is executed animateItemSelection
and inside this function there is some code with AnimatorSet
        animatorSet = AnimatorSet()
        animatorSet.playTogether(centerYAnimatorHide, offsetAnimator, centerYAnimatorShow)
        animatorSet.interpolator = FastOutSlowInInterpolator()
        animatorSet.start()

start throws mee the  error.

hope this is helpful

Thanks for the information. I will fix this issue when I have some free time.Until then you can use your work around.

Thanks for the information. I will fix this issue when I have some free time.Until then you can use your work around.

i am getting the issue of  Caused by: android.content.res.Resources$NotFoundException: why my resource png file is not showing

i am getting the issue of Caused by: android.content.res.Resources$NotFoundException: why my resource png file is not showing

This library is built to work with AnimatedVectorDrawable, if you are passing anything other than AVD, then it won't work.

Upon further inspection, I have realised that setting the active index while initializing the menuItems like this solves my issue.
 binding.cbnvHome.setMenuItems(menuItems,2)

This works because setup navController calls onMenuItemClick and onMenuItemClickhas a check that says.
if (selectedIndex == index) {
       Log.i(TAG, "same icon multiple clicked, skipping animation!")
       return
}

since the selectedIndex is equal to index it works.
but otherwise this function is executed animateItemSelection
and inside this function there is some code with AnimatorSet
        animatorSet = AnimatorSet()
        animatorSet.playTogether(centerYAnimatorHide, offsetAnimator, centerYAnimatorShow)
        animatorSet.interpolator = FastOutSlowInInterpolator()
        animatorSet.start()

start throws mee the error.

So after inspection I think I found the problem. The problem is that the home destination that have been setup in navigation graph should match the active index in setupMenuItems() function . I have reproduced the issues and I think this is the cause. I will update the README, let me know if this is the issue that you have been facing.

i am getting the issue of Caused by: android.content.res.Resources$NotFoundException: why my resource png file is not showing

This library is built to work with AnimatedVectorDrawable, if you are passing anything other than AVD, then it won't work.

ok thanks it works now but i want to be the selected icon fully inside the bottom bar but here it is half outside is there any way

i am getting the issue of Caused by: android.content.res.Resources$NotFoundException: why my resource png file is not showing

This library is built to work with AnimatedVectorDrawable, if you are passing anything other than AVD, then it won't work.

ok thanks it works now but i want to be the selected icon fully inside the bottom bar but here it is half outside is there any way

Can you attach some screenshots and also the code that you have used to setup the bottom navigation.

i am getting the issue of Caused by: android.content.res.Resources$NotFoundException: why my resource png file is not showing

This library is built to work with AnimatedVectorDrawable, if you are passing anything other than AVD, then it won't work.

ok thanks it works now but i want to be the selected icon fully inside the bottom bar but here it is half outside is there any way

Can you attach some screenshots and also the code that you have used to setup the bottom navigation.

there is no problem with the design it is as in the image shown here but i want the icon completely inside the bottom bar but in your design half of the selected item is outside and half is inside the bottom bar i want the selected item to be completely inside the bottom bar

Sorry this is currently not supported.

Is there any solution for this @susonthapa ?

Can you post some screen shot of the design that you are trying to replicate?

The stack trace suggests that you are setting navController before setting the menuItems. I will verify the second case.

Thanks for the information. I will fix this issue when I have some free time.Until then you can use your work around.

Hi Susonthapa,
Is this issue fixed? Application is crashing with this stack trace.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.<>/com.<>.MainActivity}: java.lang.UnsupportedOperationException: Sorting went bad, the start event should always be at index 0
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3735)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3903)
at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5828)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5734)
at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2328)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:255)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
Caused by: java.lang.UnsupportedOperationException: Sorting went bad, the start event should always be at index 0
at android.animation.AnimatorSet.sortAnimationEvents(AnimatorSet.java:1638)
at android.animation.AnimatorSet.createDependencyGraph(AnimatorSet.java:1534)
at android.animation.AnimatorSet.initAnimation(AnimatorSet.java:700)
at android.animation.AnimatorSet.start(AnimatorSet.java:719)
at android.animation.AnimatorSet.start(AnimatorSet.java:684)
at np.com.susanthapa.curved_bottom_navigation.BottomNavItemView.startIntermediateAnimation(BottomNavItemView.kt:58)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.getBezierCurveAnimation$lambda-11$lambda-10(CurvedBottomNavigationView.kt:609)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.$r8$lambda$HfusvZnYG6MdA8klc2s64vbnySs(Unknown Source:0)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView$$ExternalSyntheticLambda0.onAnimationUpdate(Unknown Source:19)
at android.animation.ValueAnimator.animateValue(ValueAnimator.java:1579)
at android.animation.ValueAnimator.setCurrentFraction(ValueAnimator.java:692)
at android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:655)
at android.animation.ValueAnimator.start(ValueAnimator.java:1087)
at android.animation.ValueAnimator.start(ValueAnimator.java:1106)
at android.animation.ValueAnimator.startWithoutPulsing(ValueAnimator.java:1099)
at android.animation.AnimatorSet.handleAnimationEvents(AnimatorSet.java:1149)
at android.animation.AnimatorSet.startAnimation(AnimatorSet.java:1234)
at android.animation.AnimatorSet.start(AnimatorSet.java:729)
at android.animation.AnimatorSet.start(AnimatorSet.java:684)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.animateItemSelection(CurvedBottomNavigationView.kt:534)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.onMenuItemClick(CurvedBottomNavigationView.kt:490)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController$lambda-6(CurvedBottomNavigationView.kt:387)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.$r8$lambda$llKMWHA5k7PUlYtvwsA96TEIQxI(Unknown Source:0)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView$$ExternalSyntheticLambda4.onDestinationChanged(Unknown Source:2)
at androidx.navigation.NavController.addOnDestinationChangedListener(NavController.kt:403)
at np.com.susanthapa.curved_bottom_navigation.CurvedBottomNavigationView.setupWithNavController(CurvedBottomNavigationView.kt:378)
E/AndroidRuntime:     at com.<>MainActivity.onCreate(MainActivity.kt:35)
at android.app.Activity.performCreate(Activity.java:8151)
at android.app.Activity.performCreate(Activity.java:8135)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3704)
... 13 more

I haven't been able to look into this, does the workaround fixes your issue?

Came here looking for a solution because we saw the same stack trace in crash reporting. We are unable to reproduce the issue locally to figure what exactly is going wrong.
Here is an issue tracker that may receive some guidance at some point https://issuetracker.google.com/issues/234749373

@susonthapa
Any update on this issue?
I am facing this one again & again

I had the same issue.
If the index of bottomNav and startDestination of navigation_graph do not match the UI glitches
I solved it like this
Firstly I am using it with navContoller and toolbar, so whatever your startDestination, that will be your index in the bottomNav
For Example:
I have 3 Fragments: homeFragment, notificationFragment and settingFragment. Now if in my navigation_graph I keep my startDestination: homeFragment and in my MainActivity I code like this bottomNav.setMenuItems(menuItems, 0)
startDestination: notificationFragment and bottomNav.setMenuItems(menuItems, 1)

@anitanTIC
Please read the README.

Note: Make sure the home destination in your navigation graph corresponds to the activeIndex that you have passed to setMenuItems().

This is most likely caused by the mismatch of IDs between the navigation graph and the index passed to setMenuItems.
I haven't looked into this library in a while and with Jetpack Compose becoming the standard I don't know how useful this library is.


Created py3.7 version

Created a 64bit Python 3.7 version.
Changed naming under win64 to py3.6 and py3.7. I assumed that's the convention which is preferred.
Suggest this is built with the tag cdrx/pyinstaller-windows:python3.7

Example built image available here: https://hub.docker.com/r/lewisoaten/pyinstaller-windows

Any progress on fixing these conflicts and merging? :)


⚠ Bofrost.es has degraded performance

In ff4542f, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1540 ms

Resolved: Bofrost.es performance has improved in 3efac91 after 6 minutes.


Multiple figures rendering error, only last figure repeated for n figures.

I thought I saw this somewhere else but can't find it now.
When plotting and exporting multiple figures (imatlab_export_fig('print-png')) in one cell, only the last figure is repeated for the number of figures I want. So if plot figure 1,2,3,4,5, the output shows figures 5,5,5,5,5.
Running 2018b (update 4) and latest Jupyter lab (0.35.4).
Thanks

woops.  should be fixed now, give it a try?

Works now, thanks!


v0.4.0 build.yaml file is missing config-logging configmap, controller and webhook deployments

Expected Behavior
The v0.4.0 build.yaml should presumably include the config-logging configmap and the controller and webhook deployments. Not sure if it's by design, but relative to the v0.3.0 release, definitions of kind image are also missing.
Actual Behavior
Steps to Reproduce the Problem

Additional Info

This is a baffling bug.
Running the release script locally produces a release YAML which includes all the Deployments, etc., you'd expect.
The autorelease process that built the 0.4.0 release when it detected the release-0.4 branch did so after passing integration tests, which indicates it's capable of ko resolve-ing config/ into a full and valid config YAML, but it seems like it re-generates the release YAML fresh after passing those tests.
@nbarthwal are there any steps to debug the autorelease process, or even get its logs to see if it said anything useful while it built the release?

Yes, the logs for auto-release can be seen. Since it is a prow job, like any other jobs - you can obtain the logs for the jobs. Locat the jobs you want to look at from: https://prow.knative.dev/?job=ci-knative-build-auto-release https://prow.knative.dev/?job=ci-knative-build-auto-release
And then clicking on it will give the full logs.
I think the logs for the job that build the 0.4.0 should be at : https://gubernator.knative.dev/build/knative-prow/logs/ci-knative-build-auto-release/1098252910535380992/?log#log https://gubernator.knative.dev/build/knative-prow/logs/ci-knative-build-auto-release/1098252910535380992/?log#log

On Feb 22, 2019, at 1:56 PM, Jason Hall<EMAIL_ADDRESS>wrote:
This is a baffling bug.
Running the release script locally produces a release YAML which includes all the Deployments, etc., you'd expect.
The autorelease process that built the 0.4.0 release when it detected the release-0.4 branch did so after passing integration tests, which indicates it's capable of ko resolve-ing config/ into a full and valid config YAML, but it seems like it re-generates the release YAML fresh after passing those tests.
@nbarthwal https://github.com/nbarthwal are there any steps to debug the autorelease process, or even get its logs to see if it said anything useful while it built the release?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/knative/build/issues/566#issuecomment-466561767, or mute the thread https://github.com/notifications/unsubscribe-auth/AsL15r4ginZckQ1swrx-emxCaFeZTfcdks5vQGd3gaJpZM4bGr8p.

@nbarthwal thanks I'll look through and see if anything stands out.
One thing I think we should fix is that integration tests are run against a config YAML that are then thrown away and regenerated from scratch. AFAICT no integration tests are run against the actual YAML we produce with the release.

One curious log line, not sure it's related:
I0220 16:35:17.750] 2019/02/20 16:35:17 error processing import paths in "config/999-cache.yaml": UNKNOWN: Project 'projects/knative-release' not found or deleted.

I'm pretty sure that's supposed to be knative-releases

The release didn't build an image for controller (possibly others) for v0.4.0: https://console.cloud.google.com/gcr/images/knative-releases/GLOBAL/github.com/knative/build/cmd/controller
I only see on line indicating an image was published at the end of the release script:
I0220 16:35:17.750] 2019/02/20 16:35:17 Published gcr.io/knative-releases/github.com/knative/build/cmd/nop@sha256:f767af095ef33cca414905fbf0088e1df2df1c92f85de29ba2c91d964a228a3a

I'm pretty sure that's supposed to be knative-releases

Yeah. It's a typo, I'm wondering how ko proceeded through that error at all, and I'm wondering if that's why the yaml is incomplete.

Re https://github.com/knative/build/issues/566#issuecomment-466574693 the nop image seems to be the only one that was published during the release, but it wasn't even tagged v0.4.0 nor included in the final release yaml.
Current theory is that the knative-release typo caused ko to generate partial yaml and only push some images, but somehow succeed enough to convince the release to proceed.

So apparently ko resolve will output whatever yamls it can that don't contain references, then build and push images from the references it finds, then output yaml with those references replaced. The typo in .ko.yaml.release caused ko to barf on that second step, after it had output the non-reference-containing yaml.
Normally this would just cause the release to break because ko resolve failed. Somehow, it didn't, and this line failed but the release proceeded and "succeeded".
I'm not sure how that happened since according to this block it looks like we should be in set -o errexit mode.

Fixing the typo and rebasing release-0.4 and re-auto-releasing from that branch created a new v0.4. release which includes all the expected resources.


RDF has confusing datanodes for WP4657

Freddie asked me about this issue. WP4657 on WikiPathways has no histone genes but the RDF gives some:
https://bit.ly/39a0jCu
Also the original ttl file does not have them. (attache
WP4657.txt
d)
Somehow these histone genes show up. What could be the cause?

All the histone genes seem to be linked to a list of ncbi genes and ensembl genes:
https://bit.ly/3AkinFM
But none of these appear in the WP

Found the cause in the WP (not gpml) rdf file for this pathway (attached)
WP4657.txt
The protein annotated with https://identifiers.org/uniprot/P62805 has all these names and IDs.

We know now where it comes from - but still may want to solve this mapping issue. Its not one pathway, but a few hundred which have this extensive histone gene mappings. And, these histones make according to the WP RDF the MOST ABUNDANT genes in WikiPathways:

Maybe with an updated bridgeDb for gene/geneproducts? or if it is from the source, check with Uniprot if that is really intended?

Found the cause in the WP (not gpml) rdf file for this pathway (attached)
WP4657.txt

This is something essential to realize: in the WikiPathways RDF world, WPRDF is not the "RDF of a pathway". That is the GPMLRDF. WPRDF is the full biological knowledge in WikiPathways.

"Debugged" it and the problem is the P62805 UniProt identifiers in the pathways:

The multiple gene mappings come originally from Ensembl/UniProt:

@fehrhart, there are 34 pathways with that UniProt identifier: https://bit.ly/39v8BFj
I have created a unit test for it.

Of these, 33 are Reactome pathways: https://bit.ly/3lD7GrK


[BUG] Multi-instance launch not working

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
Multiple instance launcher isn't working. I open a game on my main browser with my account, then with an alt, on another browser, I open the same game (although not on the same server), and a warning immediately pops up asking me to confirm opening a new tab, and that opening said tab would make the current (open) tab close.


⚠ Bofrost.at has degraded performance

In b0add40, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1004 ms

Resolved: Bofrost.at performance has improved in f86ef64 after 7 minutes.


Use the atom-text-editor tag instead of the editor class.

In styles/red-wavy-underline.less: Use the atom-text-editor tag instead of the editor class.

I've got both in there. I'll be removing the old .editor class after a couple more Atom versions come out.
Thanks for reporting!


Microsoft.NET.Build.Containers versions above 0.4.0 are not available on nuget.org

Versions above 0.4.0 are not available on nuget.org.
None of the below works:
dotnet add package Microsoft.NET.Build.Containers --version 0.5.0-alpha.1
dotnet add package Microsoft.NET.Build.Containers --version 0.4.1

error: NU1102: Unable to find package Microsoft.NET.Build.Containers with version (>= 0.5.0-alpha.1)
error:   - Found 4 version(s) in nuget.org [ Nearest version: 0.4.0 ]

Does this apply to version 0.4.1 as well?
Consuming from source https://nuget.pkg.github.com/dotnet/index.json from an outsider's perspective is uneasy as it requires authentication.

New versions are now available: https://www.nuget.org/packages/Microsoft.NET.Build.Containers/
Now Microsoft.NET.Build.Containers is released together with .NET SDK (including previews) and versioned accordingly.

New versions are now available: https://www.nuget.org/packages/Microsoft.NET.Build.Containers/
Now Microsoft.NET.Build.Containers is released together with .NET SDK (including previews) and versioned accordingly.

Great, thank you very much 🙏🏽


Trap release audio executed on all players instead of player near trap

Still open or is it solved ? (as I'm looking into the traps code atm)

Check players near trap and send audio to player only near trap.

As specified in wiki, if 4th param soundPosition is used, then soundSource (2nd) is ignored
but you need to get ATL pos or sound is underground (maybe that was the problem using distance param)
https://github.com/gerard-sog/arma3-macvsog-columbia-scripts/commit/fb1d9cc3bd80959d5205026f4e89d658b1f59b77


chore: upgrade phpstan to v2

What

Upgrade phpstan to v2
Upgrade required dependencies to other versions

rector v2.0-rc2
spaze/phpstan-disallowed-calls v4

Remove phpat, it doesn't yet support phpstan, and I cannot see any progress on it. I have found this issue , but no branches revering it etc.

Why not wait?
Well , as it stands, phpstan doesn't allot for property hooks, I tried a property hook in an interface and phpstan paniced to the point it became unusable. In my opinion, I rather have php 8.4 features, than the features added by phpat, which can be re-added when phpat does provide phpstan 2.0 support.
Why the baseline
I rather introduce phpstan 2.0 early and fix the issues from the baseline later, the alternative is my trying to clean up while others keep on piling new issues without them even knowing they did it (because phpstan 2 has become more strict)

Nice!

Pipeline fixed, newly introduced code from main had a new error in it, adding it to the baseline for now.

Let's go!

FYI @blackshadev @aidan-casey @brendt
PHPat now supports PHPStan 2.0 https://github.com/carlosas/phpat/releases/tag/0.11.0

Thank you, @carlosas! Appreciate your continued work on the project!

FYI @blackshadev @aidan-casey @brendt PHPat now supports PHPStan 2.0 https://github.com/carlosas/phpat/releases/tag/0.11.0 Support for PHP 8.4 (like catching dependencies in property hooks) is WIP

Thanks, created an MR to re-add it https://github.com/tempestphp/tempest-framework/pull/873


Make spring-boot actuator as optional dependency

BinderFactoryConfiguration has a conditional configuration that creates BinderFactory with binder health indicators only if the spring-boot actuator is in classpath
Move Channels endpoint configuration into a separate conditional configuration class

Resolves #869

Added some refactoring here: https://github.com/mbogoevici/spring-cloud-stream/commit/993059e92a73ecc0015be5abab7c308f62667268

@mbogoevici The refactoring changes look good to me. Also verified the changes using a SCSt app (with/without actuator dependency).


Validation data is same as test data?

Hi,
I found that the validation data seems to be copy of the test data in the get_dataset function at examples/utils.py#L64. Is this correct?

Yes, in domain adaptation, the standard is to report validation accuracy. The same is followed for reporting results on all baselines.

And the same validation data can be used to tune the model/hyperparameters or choose the best model?

In domain adaptation, one adaptation setting like Ar --> Pr for Office-Home can be used to tune the model/hyperparameters and used for all other adaptation settings like (Ar --> Cl, Ar--> Rw, etc.). Hence, the evaluation is fair overall.

Correct me if I'm wrong, but it appears that your best model for a specific source-target data pair is chosen on the training model's performance on the same target domain test data.  (examples/cdan_mcc_sdat.py#L164) This doesn't seem to be a fair evaluation.

        # remember best acc@1 and save checkpoint
        torch.save(classifier.state_dict(),
                   logger.get_checkpoint_path('latest'))
        if acc1 > best_acc1:
            shutil.copy(logger.get_checkpoint_path('latest'),
                        logger.get_checkpoint_path('best'))
        best_acc1 = max(acc1, best_acc1)

Yes, the best model is chosen based on target domain accuracy. But all the methods follow this; hence the comparison is fair (refer: https://github.com/thuml/Transfer-Learning-Library for details). This is the case for Office-Home and VisDA datasets.
For DomainNet, there are separate sets of data for validation and testing; hence test set is used for final accuracy evaluation.
Hope this helps :)

I do agree that there are some concerns regarding this evaluation procedure. In this work, we followed and reported results using the standard protocol at: https://github.com/thuml/Transfer-Learning-Library. I am unaware of the work that started, but most new works follow this protocol (https://github.com/thuml/Transfer-Learning-Library).
I will close this issue for now as it's unrelated to our work. In case you have any questions related to our implementation, please feel free to re-open it.