Recreate static build packaging script

Goal: a single script that produces a self-contained PhantomJS executable with virtually no dependency.
The script needs to do the following:

Verify the necessary requirements (compiler, Qt 5.6, etc)
Grab and build some dependencies from source (ICU, OpenSSL, etc)
Compile a QtWebKit release from annulen/webkit
Build PhantomJS with all the above

The script must run on macOS, Windows, and Linux (32-bit and 64-bit). The produced binaries will be made available from http://phantomjs.org/download.html.
NOTE: This is not intended for a distribution packager who wants to package PhantomJS for Debian/Fedora/Homebrew/etc. See #14458 for some additional context.

This is also important to support installer wrapper such as:

npm's phantomjs-prebuilt for Node.js /cc @nicks
phantomjs gem for Ruby, etc.

So I got tired of waiting and figured out how to do this, mostly based on build.py. Here goes.
I did this on Ubuntu 16.10.

First, I had to uninstall qmake and the qt development packages, because it was conflicting with the static qt I had to build.
Clone https://github.com/qt/qtbase somewhere, check out 5.7.1 or whatever stable version you have
symlink the phantom qt platform plugin into the qt source code (phantomjs 2.1.1 had the phantom plugin in its forked version of qtbase, so I duplicated that. I don't know if this is necessary, I don't know what I'm doing.)
edit src/plugins/platforms/platforms.pro, add !win32:!winrt: SUBDIRS += phantom (again, the forked qtbase had this, to activate the platform plugin)
build qt. The configure is based on build.py, but modified for 5.7, e.g. -no-mirclient is needed to disable the new mir client.

./configure -static -release -prefix . -opensource -confirm-license -qpa phantom -openssl -openssl-linked -no-openvg -no-eglfs -no-egl -no-glib -no-gtk -no-cups -no-sm -no-xkb -no-xcb -no-kms -no-linuxfb -no-directfb -no-mirclient -no-mtdev -no-libudev -no-evdev -no-pulseaudio -no-alsa -no-feature-PRINTPREVIEWWIDGET -fontconfig -icu -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -nomake examples -nomake tools -nomake tests -no-qml-debug -no-dbus -no-opengl -no-audio-backend -D QT_NO_GRAPHICSVIEW -D QT_NO_GRAPHICSEFFECT -D QT_NO_STYLESHEET -D QT_NO_STYLE_CDE -D QT_NO_STYLE_CLEANLOOKS -D QT_NO_STYLE_MOTIF -D QT_NO_STYLE_PLASTIQUE -D QT_NO_PRINTPREVIEWDIALOG -no-pkg-config

build it (make -j4). No need to install it, but this directory will now act as the installation prefix.
Add the bin subdirectory to your path to make your life easier. I think this also avoids some problems with cmake not finding qmake. I also had to delete /usr/bin/qmake, which is part of the qtchooser package on ubuntu (couldn't uninstall that because of dependencies, so it was pointing to a nonexistent qmake), to make sure it found my qmake, not that one.
Clone https://github.com/qt/qtlocation and https://github.com/qt/qtsensors, check out same stable version as qtbase, then qmake && make && make install. It'll install to your qtbase directory.
Clone https://github.com/annulen/webkit. The qtwebkit-stable branch should be checked out.
You'll need to hack its makefiles to make it build correctly:

Edit Source/cmake/OptionsQt.cmake, add add_definitions(-DQT_NO_GRAPHICSVIEW) under add_definitions(-DBUILDING_QT__=1) . I don't know why it's not picking this up from Qt, since it was built with QT_NO_GRAPHICSVIEW, but this was the only way to make it build.
Edit Tools/PlatformQt.cmake, comment out add_subdirectory(QtTestBrowser). QTestBrowser won't build without GraphicsView, but we don't need it.

Build webkit, using the linux instructions, but with some changes to the cmake command:

mkdir -p WebKitBuild/Release && cd WebKitBuild/Release
cmake -DPORT=Qt -DCMAKE_INSTALL_PREFIX="$WORKDIR"/qtbase -DCMAKE_BUILD_TYPE=Release -DQT_QMAKE_EXECUTABLE="$WORKDIR"/qtbase/bin/qmake -DCMAKE_PREFIX_PATH="$WORKDIR"/qtbase -DUSE_GSTREAMER=OFF -DENABLE_OPENGL=OFF -DENABLE_WEB_AUDIO=OFF -DENABLE_VIDEO=OFF -DENABLE_WEBKIT2=OFF -DENABLE_NETSCAPE_PLUGIN_API=OFF -DENABLE_TEST_SUPPORT=off -DQT_STATIC_BUILD=on -DENABLE_API_TESTS=off -DUSE_THIN_ARCHIVES=off  ../..
make -j4
make install

Replace $WORKDIR with the directory where qtbase is located.
I don't know if -DQT_STATIC_BUILD=on is needed, since webkit's Makefile should set that automatically, but I set it just in case. These options are mostly based on how build.py disabled features when building qtwebkit, I tried to find their equivalents here, but I couldn't find all of them. I also disabled the tests, since they failed to build because of missing graphicsview.
Make install will install it to your qtbase directory

Finally, building phantomjs.

export WEB_INSPECTOR_RESOURCES_DIR="$WORKDIR/webkit//WebKitBuild/Release/DerivedSources/WebInspectorUI/"
qmake && make
This will fail, but it will generate src/Makefile.phantomjs, and it won't override it, so we're going to hack that. I don't know how to do these things properly, it was easier to just hack the generated Makefile to get it to build.
Edit LFLAGS and add -static-libstdc++ -static-libgcc. This was needed to get the binary that I built  on Ubuntu 16.10 to work Debian Jessie. I think the old 2.1.1 build script got away with dynamically linking the standard libraries by building on Wheezy, so the standard libraries were old enough to work on most distros. That's also an option.
Edit LIBS. I had to remove -lQt5DBus (qt was built without dbus, and I couldn't figure out why this was being added), add -lQt5Positioning, -lQt5Sensors (this can probably be added in the pro file, but I was lazy)
Remove -lqtpng from LIBS. I built qtbase with -qt-libpng, based on build.py, but when I built phantomjs, I think it tried to use the system libpng as well, and ended up looking for a symbol that only exists in libpng 16, which was installed on my system. So I just replaced -lqtpng with -l:libpng.a (since I wanted to link it statically).
Link a bunch of libraries statically by changing -lXXX to -l:libXXX.a: crypto, hyphen, webp, z, png, icui18n, icuuc icudata. In the end it looked like this:

LIBS          = $(SUBLIBS) -L/home/nkovacs/progs/phantomjs2/phantomjs/src/qt-qpa-platform-plugin/plugins/platforms -lqphantom -lgthread-2.0 -pthread -lglib-2.0 -lXrender -lXext -lX11 -linput -lxkbcommon -ludev -lmtdev -lEGL -lGL -L/home/nkovacs/progs/phantomjs2/qtbase/lib/x86_64-linux-gnu -lQt5WebKitWidgets -L/home/nkovacs/progs/phantomjs2/qtbase/lib -lQt5Sensors -lQt5PrintSupport -lQt5Widgets -lQt5WebKit -lQt5PlatformSupport -lQt5Positioning -lfontconfig -lfreetype -L/home/nkovacs/progs/phantomjs2/qtbase/plugins/imageformats -lqico -lQt5Gui -lharfbuzz -L/home/nkovacs/progs/phantomjs2/qtbase/plugins/bearer -lqgenericbearer -lQt5Network -lssl -l:libcrypto.a -L/home/nkovacs/progs/phantomjs2/qtbase/plugins/sqldrivers -lqsqlite -lQt5Sql -lQt5Core -lqtpcre -lm -ldl -lrt -lpthread -lWebCore -lJavaScriptCore -lWTF -lxml2 -lbmalloc -lxslt -l:libhyphen.a -l:libwebp.a -lwoff2 -lbrotli -lfontconfig -l:libz.a -lfreetype -lQt5Sensors -l:libpng.a -l:libicui18n.a -l:libicuuc.a -l:libicudata.a

The binary seems to work fine, and it runs on Debian Jessie. However, the remote debugger can't find its resources. I've uploaded it here: https://github.com/nkovacs/selenium-standalone-phantomjs/tree/b5c20ef4eba3395bf23d5228d480810f3e4378f9

@nkovacs thank you for this detailed instruction! I have some comments below:

First, I had to uninstall qmake and the qt development packages, because it was conflicting with the static qt I had to build.

You don't need to. You need to specify the correct qmake.

symlink the phantom qt platform plugin into the qt source code (phantomjs 2.1.1 had the phantom plugin in its forked version of qtbase, so I duplicated that. I don't know if this is necessary, I don't know what I'm doing.)

No needs to do that. Current master already includes the needed platform plugin that will be built on Linux.

-qt-zlib -qt-libpng -qt-libjpeg

This is dangerous and can lead to unpredicted behaviour. If you are building QtWebKitNG in-the-source (qt5.git), you can use bundled libraries, but not for out-of-the-source (like in your instruction), it's better to use system libraries.

Clone https://github.com/qt/qtlocation and https://github.com/qt/qtsensors,

These components are optional. Here is the list of Qt modules that you need for specific functionality:
Geolocation - qtlocation
Device Orientation - qtsensors
Multimedia (audio/video) - qtmultimedia

Clone https://github.com/annulen/webkit.

Instead of using this huge repo, I suggest to use qtwebkit-snapshots

10 and 11

Again, you don't need to hack CMake configuration, just use this command to build QtWebKitNG:
./Tools/Scripts/build-webkit --qt --release --no-device-orientation \
--no-web-audio --no-video --no-video-track --no-touch-events \
--no-touch-slider --no-geolocation --no-netscape-plugin-api --64-bit \
--cmakeargs="-Wno-dev -DCMAKE_PREFIX_PATH={PATH_TO_YOUR_QT_BUILD} -DUSE_GSTREAMER=OFF -DUSE_THIN_ARCHIVES=OFF -DENABLE_API_TESTS=OFF -DENABLE_TEST_SUPPORT=OFF -ENABLE_OPENGL=NO"

Thanks, I'll try your suggestions.

You don't need to. You need to specify the correct qmake.

I did that (-DQT_QMAKE_EXECUTABLE), but it wasn't working for some reason. Also, -DCMAKE_PREFIX_PATH didn't work, it was still picking up the system qt cmake files. When I uninstalled the ubuntu dev packages, it found the static qt's cmake files instead.

This is dangerous and can lead to unpredicted behaviour. If you are building QtWebKitNG in-the-source (qt5.git), you can use bundled libraries, but not for out-of-the-source (like in your instruction), it's better to use system libraries.

I took that from build.py: https://github.com/ariya/phantomjs/blob/2.1.1/build.py#L254
So I should leave that out and just statically link the system libraries to phantomjs? I think jpeg isn't used by phantomjs btw.

Again, you don't need to hack CMake configuration, just use this command to build QtWebKitNG:

That won't work because of QtTestBrowser, and I can't get it to install the libraries to the qtbase directory.
There's also a mistake, it should be -DENABLE_OPENGL=NO

No needs to do that. Current master already includes the needed platform plugin that will be built on Linux.

Doesn't work, the build fails with cannot find -lqphantom.
The Makefile in the qt-qpa-platform-plugin directory doesn't seem to be doing anything.

Doesn't work, the build fails with cannot find -lqphantom.

@nkovacs you must use the latest version from the master branch.

I am using master.

Could you please post the output of qmake -r on a clean tree?

Info: creating stash file /home/nkovacs/progs/phantomjs2/phantomjs3/.qmake.stash
Reading /home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin/phantom.pro
Info: creating stash file /home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin/.qmake.stash
Reading /home/nkovacs/progs/phantomjs2/phantomjs3/src/phantomjs.pro
Project MESSAGE: Using Web Inspector resources from /home/nkovacs/progs/phantomjs2/webkit2/WebKitBuild/Release/DerivedSources/WebInspectorUI
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!

@nkovacs looks good. Now can you post the output of make command? Thanks!

cd src/qt-qpa-platform-plugin/ && ( test -e Makefile.phantom || /home/nkovacs/progs/phantomjs2/qtbase2/bin/qmake /home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin/phantom.pro -o Makefile.phantom ) && make -f Makefile.phantom
make[1]: Entering directory '/home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin'
/home/nkovacs/progs/phantomjs2/qtbase2/bin/moc -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQ_FONTCONFIGDATABASE -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -DQT_NO_PRINTPREVIEWDIALOG -I/home/nkovacs/progs/phantomjs2/qtbase2/mkspecs/linux-g++ -I/home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin -I/home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin -I/home/nkovacs/progs/phantomjs2/qtbase2/include -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1/QtCore -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore -I/usr/include/c++/6 -I/usr/include/x86_64-linux-gnu/c++/6 -I/usr/include/c++/6/backward -I/usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include main.cpp -o .moc/main.moc
g++ -c -pipe -O2 -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQ_FONTCONFIGDATABASE -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -DQT_NO_PRINTPREVIEWDIALOG -I. -I. -I/home/nkovacs/progs/phantomjs2/qtbase2/include -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1/QtCore -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore -I.moc -I/home/nkovacs/progs/phantomjs2/qtbase2/mkspecs/linux-g++ -o .obj/main.o main.cpp
g++ -c -pipe -O2 -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQ_FONTCONFIGDATABASE -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -DQT_NO_PRINTPREVIEWDIALOG -I. -I. -I/home/nkovacs/progs/phantomjs2/qtbase2/include -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1/QtCore -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore -I.moc -I/home/nkovacs/progs/phantomjs2/qtbase2/mkspecs/linux-g++ -o .obj/phantomintegration.o phantomintegration.cpp
g++ -c -pipe -O2 -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQ_FONTCONFIGDATABASE -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -DQT_NO_PRINTPREVIEWDIALOG -I. -I. -I/home/nkovacs/progs/phantomjs2/qtbase2/include -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtPlatformSupport/5.7.1/QtPlatformSupport -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui/5.7.1/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtGui -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1 -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore/5.7.1/QtCore -I/home/nkovacs/progs/phantomjs2/qtbase2/include/QtCore -I.moc -I/home/nkovacs/progs/phantomjs2/qtbase2/mkspecs/linux-g++ -o .obj/phantombackingstore.o phantombackingstore.cpp
rm -f /home/nkovacs/progs/phantomjs2/qtbase2/plugins/platforms/libqphantom.a
ar cqs /home/nkovacs/progs/phantomjs2/qtbase2/plugins/platforms/libqphantom.a .obj/main.o .obj/phantomintegration.o .obj/phantombackingstore.o
make[1]: Leaving directory '/home/nkovacs/progs/phantomjs2/phantomjs3/src/qt-qpa-platform-plugin'

It creates phantombackingstore.o, main.o and phantomintegration.o in .obj.

Also, add_definitions(-DQT_NO_GRAPHICSVIEW) is still needed for webkit, otherwise it builds libQt5WebKitWidgets.a with graphicsview, and it won't link.

No, I meant the full build log on a clean tree.

Here it is: https://gist.github.com/nkovacs/07fb55ee615a6818ae411763807ec41a

The previous binary had some problems, so I rebuilt it with some libraries built from static sources.
Updated instructions:

export WORKDIR=some directory where you'll be building phantomjs
Build a static icu

apt-get source icu
cd icu*
./configure --prefix="$WORKDIR"/icu-install --enable-static --disable-shared
make && make install

Add $WORKDIR/icu-install to paths

export C_INCLUDE_PATH="$WORKDIR"/icu-install/include/
export CPLUS_INCLUDE_PATH="$WORKDIR"/icu-install/include/
export LIBRARY_PATH="$WORKDIR"/icu-install/lib

Build static libxml

apt-get source libxml2
cd libxml2-*
./configure --prefix="$WORKDIR"/icu-install --enable-static --disable-shared --without-python --with-libxml-prefix="$WORKDIR/icu-install/"
make && make install

Build static libxslt

apt-get source libxslt
Same as icu

Build static liblzma

apt-get source liblzma
Same as icu

Build static qtbase

Clone qtbase, checkout v5.7.1
edit src/3rdparty/icu_dependency.pri, add -ldl to the linker flags. See https://bugreports.qt.io/browse/QTBUG-58301
./configure -static -release -prefix . -opensource -confirm-license -qpa phantom -openssl -openssl-linked -no-openvg -no-eglfs -no-egl -no-glib -no-gtk -no-cups -no-sm -no-xkb -no-xcb -no-kms -no-linuxfb -no-directfb -no-mirclient -no-mtdev -no-libudev -no-evdev -no-pulseaudio -no-alsa -no-feature-PRINTPREVIEWWIDGET -fontconfig -icu -nomake examples -nomake tools -nomake tests -no-qml-debug -no-dbus -no-opengl -no-audio-backend -D QT_NO_GRAPHICSVIEW -D QT_NO_GRAPHICSEFFECT -D QT_NO_STYLESHEET -D QT_NO_STYLE_CDE -D QT_NO_STYLE_CLEANLOOKS -D QT_NO_STYLE_MOTIF -D QT_NO_STYLE_PLASTIQUE -D QT_NO_PRINTPREVIEWDIALOG -no-pkg-config
make

Build webkit

clone annulen/webkit
Edit Source/cmake/OptionsQt.cmake, add add_definitions(-DQT_NO_GRAPHICSVIEW) under add_definitions(-DBUILDING_QT__=1)
Edit Tools/PlatformQt.cmake, comment out add_subdirectory(QtTestBrowser)
./Tools/Scripts/build-webkit --qt --release --no-device-orientation --no-web-audio --no-video --no-video-track --no-touch-events --no-touch-slider --no-geolocation --no-netscape-plugin-api --64-bit --cmakeargs="-Wno-dev -DCMAKE_PREFIX_PATH=$WORKDIR/qtbase -DUSE_GSTREAMER=OFF -DUSE_THIN_ARCHIVES=OFF -DENABLE_API_TESTS=OFF -DENABLE_TEST_SUPPORT=OFF -DENABLE_OPENGL=OFF -DCMAKE_INSTALL_PREFIX=$WORKDIR/qtbase"
Install it: cd WebKitBuild/Release && ninja install

Build phantomjs

$WORKDIR/qtbase/bin/qmake && make
This won't work because of the platform plugin. Fix it: mkdir -p src/qt-qpa-platform-plugin/plugins/platforms && cp $WORKDIR/qtbase/plugins/platforms/libphantom.* src/qt-qpa-plugin/plugins/platforms/
Edit src/Makefile.phantom and add -static-libstdc++ -static-libgcc to LFLAGS
Edit src/Makefile.phantom and make some libraries in LIBS static by changing -lXXX to -l:libXXX.a. The order will also be incorrect, static libraries must come after their dependants. E.g. this works:

LIBS          = $(SUBLIBS) -L/home/nkovacs/progs/phantomjs2/phantomjs/src/qt-qpa-platform-plugin/plugins/platforms -lqphantom -L/home/nkovacs/progs/phantomjs2/qtbase/lib -lQt5WebKitWidgets -lQt5PrintSupport -lQt5Widgets -lQt5WebKit -lQt5PlatformSupport -lfontconfig -lfreetype -L/home/nkovacs/progs/phantomjs2/qtbase/plugins/imageformats -lqico -lQt5Gui -ljpeg -lqtharfbuzzng -L/home/nkovacs/progs/phantomjs2/qtbase/plugins/bearer -lqgenericbearer -lQt5Network -lssl -l:libcrypto.a -L/home/nkovacs/progs/phantomjs2/qtbase/plugins/sqldrivers -lqsqlite -lQt5Sql -lQt5Core -lz -l:libpcre16.a -lm -ldl -lrt -lpthread -lWebCore -lJavaScriptCore -licui18n -licuuc -licudata -lWTF -lxml2 -lbmalloc -lxslt -l:libhyphen.a -l:libwebp.a -lwoff2 -lbrotli -lfontconfig -lfreetype -llzma -l:libpng.a

This one now works in my docker image (nkovacs/selenium-standalone-phantomjs) as well as Debian Jessie: https://github.com/nkovacs/selenium-standalone-phantomjs/tree/11420aaf2174428b56086673232365c820f98a42

@nkovacs
I saw that you success in compiling phantomJS 2.5.0
Do you have a simple script to do that ... for linux at least..
Thank by advance
@Vitallium
I don't understand how it is so complex to compile source now... We aren't Qt and Webkit experts.

@nkovacs Thanks a ton for the detailed steps, I was able to get a static build working on SuSE linux by following your steps. The only change was in the Webkit compilation step where I had to pass -DCMAKE_PREFIX_PATH=$WORKDIR/icu-install instead of -DCMAKE_PREFIX_PATH=$WORKDIR/qtbase
A few places where I got tripped up:

If you have multiple versions of a library installed, then it is possible that Qt or webkit will build against one version of a library (libpng in my case) and link against another version which will cause a segfault when phantom is run. Check the configure output of the Qt and Webkit compilations steps carefully to ensure you are building against the version you intend to.
CMake caches detected library versions, so if you see the wrong library versions detected and make changes to include the right one, then delete the CMake cache files first (*Cache.txt) before re-running the build
Latest PhantomJS version doesn't enable local storage by default. See #14740 for a fix

Other than that, everything seems to be working fine so far against a medium sized angular application. Fingers crossed that it stays that way.

@pixiuPL Are we continuing the development on phantomjs? I'm really glad to see some movement again. Thank you 👍

Due to our very limited maintenance capacity (see #14541 for more details), we need to prioritize our development focus on other tasks. Therefore, this issue will be closed. In the future, if we see the need to attend to this issue again, then it will be reopened.
Thank you for your contribution!


Plugin Development: How to set custom attributes to a cell

How can I set a custom attribute for a cell that gets saved with the document?
getAttribute/setAttribute does not work the way I think.
I found this documentation, but it does not really help. I don't understand how I can use an XML node as the value of the cell.

I use this code now in my prototype. I don't think this is the best way (or maybe it is?). How would you do it properly? Also, I want this feature to be composable - it should be non-invasive and work with other plugins.

It is really a cell style? In mxGraph there's the concept of a user object child node of a cell, which is basically a custom data storage object that you can access via cell.value.
Check out:
https://jgraph.github.io/mxgraph/javascript/examples/userobject.html
https://github.com/jgraph/mxgraph/blob/master/javascript/examples/userobject.html

Thanks for the info and the example! But it seems, if multiple plugins use cell.value, there will be conflicts.
Also, I am not so sure what happens if a user edits a diagram with my plugin and my plugins overwrites some cell values with a custom xml element that wraps the original value and my custom data, and the user then edits this diagram without my plugin.
I guess all the wrapped values will disappear.

It is really a cell style?
No, this is a hack :D
But it seems to be pretty harmless to add unknown style properties while it seems to have big impact to overwrite the cell's value with my custom xml node.

We suggest to make the user object an XML node. A well behaved plugin should create a node under that with a reasonably unique name and write/read there. If other plugins want to pretend they own the user object, well, they won't be very popular.
That said, you do raise the point that there's only one graph.convertValueToString, that does limit the amount of plugins you could have...
It's not world ending to use the style, since we manage changes to it for you. We do this for metadata on imports, it's certainly simpler.

Ah, I see that the default implementation of graph.convertValueToString actually checks if the value is an object and uses its label property if present.
I thought label was just an example property of how convertValueToString could be implemented.
With this default all my concerns are addressed!

For future reference:
This code block does not break anything:
if (!mxUtils.isNode(value))
{
    var doc = mxUtils.createXmlDocument();
    var obj = doc.createElement('object');
    obj.setAttribute('label', value || '');
    value = obj;
}

Documents with nodes that have been transformed like this can be edited on draw.io without the need for plugins.
Providing a custom convertValueToString is not necessary.

@hediet Many many thanks.


Support external lists

See https://github.com/SharePoint/PnP-Sites-Core/issues/1044 from @Pieter-Veenstra
Category
[ X ] Bug
[ ] Enhancement
Environment
[ X ] Office 365 / SharePoint Online
[ ] SharePoint 2016
[ ] SharePoint 2013
Expected or Desired Behavior
External lists are exported without any problem (although maybe some information needed to recreate the list may need to be added)
Observed Behavior
When Applying the template the external list is failing
More details also on tech community:
https://techcommunity.microsoft.com/t5/SharePoint-Developer/PnP-Provisioning-Engine-and-external-lists/m-p/44464/highlight/false#M1431
Steps to Reproduce
Add external list to a site.
export the site as a template. Then apply the template to a new site.
====
I've done some more investigation into this issue today.
For external lists we're not storing any data source connections etc. So this is likely to need schema changes etc.
Are there any plans to implement this? External lists are quite a common element of our solutions and therefore this could be quite painful if this isn't included.

We added the DataSource element to the ListInstance element. It will show up in the upcoming schema release.

@PaoloPia I've tried to generate a provisioning template with Get-SPOProvisioningTemplate but didn't get any DataSource elements in the generated template for the external list.
The content type bindings for this external list look like
<pnp:ContentTypeBindings>
    <pnp:ContentTypeBinding ContentTypeID="0x01" Default="true" />
</pnp:ContentTypeBindings>

The  <pnp:Views> looks like it is referencing correct methods and fields but neither does it seem to reference the proper external content type.


Document API

Apologies if I've missed it, but it doesn't look like the REST API is documented anywhere. Looking at the code, I was able to figure out:

/api/v1/apps (list all apps)
/api/v1/apps/category/Game

List of available categories?

/api/v1/apps/collection/recently-updated
/api/v1/apps/com.play0ad.zeroad (more info on a single application)

You are right. The API is not documented yet. One of the reasons is because is not stable yet. I will add a warning about that

Is there any documentation now for the API and is it stable?

Flathub.org's backend was replaced recently by this one
I'm closing this issue as this repo is going to be archived soon.


Messages from fatalError/etc are no longer propagated on Bugsnag reports

Expected behavior
Forcing the app to crash by calling fatalError("i am a message") includes the "i am a message" text in the bugsnag report.
Observed behavior
No message is included:
https://app.bugsnag.com/recharge-labs/ios-consumer/errors/5bbe93a371c2fc001a3e9ba8
Version
Bugsnag 5.17.0
Xcode Version 10.0 (10A255)
Additional information
Original feature request (#159) and PR to add the feature (#188).  I'm guessing that something in Swift 4.2 or Xcode 10 changed the way those notable addresses are attached to the crash report?  Or maybe broke the heuristics in some other way?

I just updated to Bugsnag 5.17.1 and the issue is still not fixed.  I tried both on a dev build and an ad-hoc distribution, no luck getting the fatalError message on either:
dev build https://app.bugsnag.com/recharge-labs/ios-consumer/errors/5c05587150c99b001aa35ac0
production https://app.bugsnag.com/recharge-labs/ios-consumer/errors/5c055ca9638ce3001a10ce8d

"i am a message" is less than 16 characters and is no longer possible to show. If you have a message of more than 16 characters it should work

Same issue, even with a message longer than 16 characters ("Eric test crash..") https://app.bugsnag.com/recharge-labs/ios-consumer/errors/5c0560f209f364001a4947be

@edenman What device? I can try to reproduce and figure out what's going on.

@kattrali iPhone SE.  Swift 4.2, Xcode 10.0 (10A255)

It seems to be working for me in a reduced test case using:

iPhone SE + Swift 4.2 + Xcode 10.0 (10A255)
iPhone SE + Swift 4.2 + Xcode 10.1 (10B61)

In both debug and production builds, and I tried a few different strings to rule out any weirdness.
I updated the test project here (on the kattrali/upgrade-swift-ios-project branch) with the settings I'm using. Can you try it on your machine to see if it also works for you? If it does, perhaps we can see if a particular setting is causing different behavior.

I just ran the test project, although I had to tweak a few things to get it working.  Do you see the crashes I forced?  I'm guessing they're being uploaded to a project that I don't have access to.

By default there's no API key set, so you'd have to add one in the app delegate.

Derp.  Ok, yeah, it's working fine in the sample app.  Not sure why it's not working in my actual app.

Can this be re-opened? I have same problem, anytime we invoke fatalError("custom message"), we get a blank message in bugsnag:

Our release builds to the App Store use bitcode, could that be affecting things?

@sjmueller "custom message" is less than 16 characters so would be known not to work. Are you actually trying with that string or a longer one?

Correct, we are experiencing this with more than 16 characters. Example: this is the line for Actions.swift:742:
guard routes.last != route.rawValue else { fatalError("Attempted to push the same route twice") }

Any update here? This is leaving us in the dark with our bug reports.

@sjmueller I wasn't able to figure out what was causing this.  I ended up just wrapping all fatalError calls in my own helper method that first adds a breadcrumb and then calls fatalError.  It sucks, but /shrug

The problem is with different versions of swift or the compiler that the memory location that this information in changes. I believe that we have to reach into specific registers to find it, and it depends on how long the string is as to where the information is. The reality is that swift needs to make an API for this so we can fetch it which I believe @kattrali is thinking about.

@snmaynard but that doesn't make too much sense if @edenman is writing the error to a breadcrumb before invoking the fatalError. If he's able to write the information to the breadcrumbs portion of the api, then why can't it be written to the right place automatically?

That's because he is doing it before calling fatalError. There is no API from a crash handler to get access to this information. We have to inspect registers to get it - and it's not reliable.

Thanks for the response. Do you have an alternative suggestion to invoking fatalError that would enable bugsnag to capture exceptions in these scenarios? In the case of fatalError it's our code invoking, so we could change to another pattern pretty quickly.

@kattrali may have some ideas - but what @edenman has done with wrapping it and adding a breadcrumb doesn't seem terrible to me. I'll see if I can think of other ideas - its annoying we cant get access to the data in the crash handler - I think @kattrali was looking to see if a proposal could be made to swift to change that.

My workaround works but it breaks grouping. And the issue I opened on that problem is stuck too: https://github.com/bugsnag/bugsnag-cocoa/issues/226

I just stumbled upon the same issue. The message we pass to fatalError is 18 characters long. There's a message included in the crash report, but its not the one we passed to fatalError.
To debug this, I took a look at the crashing binary with Hopper Disassembler and found that the error message that was passed to fatalError ("Test for Log.fatal") is stored at 0x1006c28f0, while the message that the crash handler included into the report ("al data for MSCB ") is located at 0x1006c28d0, which is just 32 (0x20) less than the correct address. There seems to be an error in the offset that the crash handler uses to determine the location of the message.

This is in a simulator build for x86_64. Compiler is 11.0.0 (clang-1<IP_ADDRESS>) from Xcode 11.3.1 (11C505).

Hey @Nemixdre, until we've got something more concrete from Swift, this isn't going to be progressed, unfortunately. As noted above, the locations for this data moves depending on a few factors, without a single and robust method for us to gather the data. We've made a proposal to Swift to make this change and are following any responses closely, we'll report back here as soon as there are any updates! :)

If we were to run Instabug in parallel, would they have the same exact problems? In other words, is this a Bugsnag issue or one that is unsolvable across the entire space?

For anyone wondering, the Swift proposal that was mentioned earlier in this thread is likely this one: Cleanup callback for fatal Swift errors

From that thread:

The Swift compiler in development now emits fatal error traps with an artificial inline frame, which will allow crash reporters than understand debug info to show the error directly as part of the backtrace. Future toolchains that include this change should be able to do better.

Does this mean BugSnag has the ability to fix this now? If so, how long will it take?

Hey @sjmueller, it looks like this may now be possible. We'll take a look into this as priorities allow.

Hi there, is there any update on this? This is something Crashlytics already does correctly, and we're disappointed to see Bugsnag doesn't

Hi @sethfri,
We are working on this at the moment, although we don't have any definite timeframe as yet. We will share any updates here as we have them.

We've now implemented a new approach to extracting the error messages from Swift's assertionFailure, fatalError, and preconditionFailure functions, which has been released in v6.5.0.
For further details see:
https://github.com/bugsnag/bugsnag-cocoa/pull/948

We've now implemented a new approach to extracting the error messages from Swift's assertionFailure, fatalError, and preconditionFailure functions, which has been released in v6.5.0.
For further details see:
https://github.com/bugsnag/bugsnag-cocoa/pull/948


Move code under namespace "connect"

Add cnct package for backward compatibility
Increase code coverage
Fix documentation

Codecov Report

Merging #19 (31e87c2) into master (a332b7e) will increase coverage by 3.30%.
The diff coverage is 94.73%.

@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
+ Coverage   94.39%   97.70%   +3.30%
==========================================
  Files          14       14
  Lines         964      960       -4
  Branches      170      168       -2
==========================================
+ Hits          910      938      +28
+ Misses         29       12      -17
+ Partials       25       10      -15

Impacted Files
Coverage Δ

connect/client/constants.py
100.00% <ø> (ø)

connect/client/exceptions.py
100.00% <ø> (ø)

connect/client/openapi.py
94.52% <ø> (ø)

connect/client/rql/utils.py
100.00% <ø> (ø)

connect/client/version.py
71.42% <50.00%> (ø)

connect/client/__init__.py
100.00% <100.00%> (ø)

connect/client/fluent.py
100.00% <100.00%> (ø)

connect/client/help_formatter.py
90.83% <100.00%> (ø)

connect/client/models/__init__.py
100.00% <100.00%> (ø)

connect/client/models/base.py
100.00% <100.00%> (ø)

... and 13 more

Continue to review full report at Codecov.

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


Clean up clone button script and prevent flicker on page load

The button 'primary' class needs to be set in a synchronous script to prevent flicker of the button which was regressed recently, fixed that.
Additionally, reduced the two script tags to just one, the previous scripts were actually initializing the buttons thrice on the empty repo page, now it only initializes once. Finally, removed duplicate code and re-used the inline function in the update code as well.
I had to split out the script into a separate template as on the empty repo page, the script needs access to the clone URL span in the example text, which is rendered below the clone buttons, so buttons and script could not be combined.

The init function can be called before jQuery's document-ready, eg: https://github.com/go-gitea/gitea/blob/main/web_src/js/index.js#L90-L92
Then there is no need to write scripts in templates.

Any script that's loaded via URL will be asynchronously executed and not be fast enough to prevent the flicker, which is very noticable in Firefox to me. I see no other way around than this inline script.

(I updated my comment, sorry for bothering). How about moving the buttons into a dropdown menu like GitHub?

Dropdown menu akin to GitHub might work for existing repos, but the new repo page still needs the URLs in the page rendering.
Proper solution will probably be to eventually store user settings like this in the backend so protocol preference is available at template rendering time and we don't need localStorage any longer.

Squashed and rebased.

.


Disable date-selection for Search types that don't have a concept of time

The Search management UI allows you to both test and execute searches against a specific point in time. This is useful for search types like Elasticsearch (via @timestamp) but is meaningless for searches that have no concept of time (like HTTP). In the latter case, we should just hide the time selection functionality (The wrench icon).
The isTimeBased method on Searches will tell you whether these elements should be visible, but it varies depending on which source (in the case of Elasticsearch, which cluster) you're targeting. We'd need a bit of js to check the current source cluster and hide/show the buttons accordingly.

Could you @kiwiz give more details about this issue?

Some details added.

Hey @kiwiz, could I get this issue?

Yup, assigned to you!

It's weird, in the #145 you did. Anyway, I'm working on this :)


Remove an unnecessary at-pattern that made all the shadowing going on even more confusing

That was a seriously odd pattern!


LwM2M: Occasional registration updates fail with 4.4 error

These occasional failures are due to the LwM2M engine thread having a fairly low priority (-1).
Seems like we need to retry the registrations a bit earlier to account for this.

Re-tested this and couldn't duplicate now.   Closing.


[TelegramBridge] Fix sticker, attachment & reply processing

Fixes sticker, attachment and reply processing.

Pull request artifacts

file
last change

Telegram-current-context1
2022-03-28, 18:58:26

Telegram-pr-context1
2022-03-28, 18:58:26

The example channel looks exactly the same as before :D Do you have an example were I can see the difference?

I've created a test channel (https://t.me/s/rssbridge) which has the changes for sticker and attachments. I can't see away to reply to messages or find an example in another public channel, so I haven't tested that but it worked before.

I've created a test channel (https://t.me/s/rssbridge) which has the changes for sticker and attachments. I can't see a way to reply to messages or find an example in another public channel, so I haven't tested that but it worked before.

Thanks for the effort!
I can see that attachments dont really work as intended, right? See the third entry (the logo attachment). There is nothing attached to the feed item.
The sticker is just a giant outline.
The video doesnt play.
Are all of those issues of the html-view and work in rss/atom?

Stickers are rendered using JavaScript and use a custom file format, so it only possible to get the grey outline image.
File attachments like the logo (https://t.me/rssbridge/3) can only be viewed in full via the app mobile or desktop client.
File attachments in the desktop client:

Video playback works for me 👇

Ah, it seems like there was an issue in my browser yesterday. The video works now.
As for the stickers, its at least an "info" that a sticker was sent :)
So I'm fine with this. merging


Fixes #30: GPS Lat/Long Obfuscation

This change is to round the latitude and longitude coordinates to
0.01 degrees of precision (2 decimal places).
It allows privacy protection for the installer of the Frog sensor, as it will not be possible for someone to precisely determine the location of the sensor.
Also adds unit test to confirm rounding behavior

I flashed a test device and confirmed this is functional in the golioth test console:


WEB UI not displaying settings correctly

The WEB UI in portrait mode does not show settings but it when you turn the phone into landscape they show up

Stumbled across the solution to this.  Available in the next release:

Closing as now available in released v0.5.6 version.  Great catch!


Need bypass navigator.deviceMemory

I used proxy on website,but this website is not rendering page beacuse of (navigator.deviceMemory)?
 Failed to initialize "navigator.deviceMemory" TypeError: Cannot read properties of undefined (reading 'hasOwnProperty')
How bypass it?
UPD
i tried userProfile, but anyway site was empty

Do you have anything else to go on here? Like logs from website or a Session database? (welcome to dm me on discord)

Do you have anything else to go on here? Like logs from website or a Session database? (welcome to dm me on discord)

I will send you details to discord

solution was appending disableDevtools: true in options


getUsagelogs returning KeyError 'Content'

Hi there,
I followed the link from https://www.fullstackanalyst.io/blog/adobe-analytics/monitor-adobe-analytics-usage-for-free-with-power-bi-and-python/ and was hoping to use this to get some SS reporting running but I keep getting a 'content' error.
Error logs as below:
startDate='2022-07-11T00:00:00-07'
endDate='2022-07-12T14:32:33-07'
mycompany.getUsageLogs(startDate=startDate,endDate=endDate)
2022-07-13 15:28:34,654::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::starting getUsageLogs::2162
2022-07-13 15:28:34,654::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::starting getUsageLogs::2162
2022-07-13 15:28:34,654::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::starting getUsageLogs::2162
2022-07-13 15:28:34,654::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::starting getUsageLogs::2162
2022-07-13 15:28:34,654::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::starting getUsageLogs::2162
2022-07-13 15:28:34,655::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::params: {'page': 0, 'limit': 100, 'startDate': '2022-07-11T00:00:00-07', 'endDate': '2022-07-12T14:32:33-07'}::2182
2022-07-13 15:28:34,655::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::params: {'page': 0, 'limit': 100, 'startDate': '2022-07-11T00:00:00-07', 'endDate': '2022-07-12T14:32:33-07'}::2182
2022-07-13 15:28:34,655::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::params: {'page': 0, 'limit': 100, 'startDate': '2022-07-11T00:00:00-07', 'endDate': '2022-07-12T14:32:33-07'}::2182
2022-07-13 15:28:34,655::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::params: {'page': 0, 'limit': 100, 'startDate': '2022-07-11T00:00:00-07', 'endDate': '2022-07-12T14:32:33-07'}::2182
2022-07-13 15:28:34,655::aanalytics2.aanalytics2.analytics::getUsageLogs::DEBUG::params: {'page': 0, 'limit': 100, 'startDate': '2022-07-11T00:00:00-07', 'endDate': '2022-07-12T14:32:33-07'}::2182
Traceback (most recent call last):
Input In [27] in <cell line: 3>
mycompany.getUsageLogs(startDate=startDate,endDate=endDate)
File ~\Anaconda\lib\site-packages\aanalytics2\aanalytics2.py:2184 in getUsageLogs
data = res['content']
KeyError: 'content'
Do you have any ideas? I'm stuck ^^
Thanks!

I have heard some issues around that, on the measure slack channel.
It was quite strange, and several ways to potentially solve that:

Close the Jupyter notebook and try again (I am not kidding - it happened to me)
Check Permission for your Project API
Provide the API Product Admin (by taking the technical account email and manually add it as Product Admin)
Add your tech account email as a user in a Product Profile that has this permission
Contact Customer Care

Let me know if any of these work.

Thanks for the above, I have tried all of them, but they didn't work
Contacting Customer Care and ill update here once i have  the answer
Thanks

Adobe CC have confirmed that the accesses were set up correctly so I remain confused

Have you had any luck with a solution here? Weird bug because the api was running perfectly, then this error just popped up

anyone found a solution for this ?
I am able to see it intermittently and it is the Analytics Server not responding so I am incline to close this issue and blame it on AA API 2.0 server... but not sure if I am missing something.

I experienced something similar but with getSegment() (KeyError: 'content'). I was re-running the same cell a couple of times, and after the 20th try it worked! Strange... But with Adobe you never know :)

Thanks @trfx .
It confirms my suspicion that it is coming from the AA server not responding.
I am closing this issue and feel free to open an issue on the official AA repo @T-Osb


Add cuttlefish atlas

https://www.cuttlebase.org/downloads

Noting that we have a student working on this ATM, to avoid duplication of efforts :)


Update to latest icu4c?

Some tools like node have dependencies to later versions of icu4c than currently used version 63.1 in charlock_holms 0.7.6. Is there an update in shedule?

icu4c is working in 0.7.7.


Differentiate between same name tests

We need a way to differentiate between tests with the same names.
For example: test\test_importlib\test_abc.py and test\test_abc.py are both run with IronPythonTest.Cases.AllCPythonCases.test_abc. Maybe the one under importlib should be IronPythonTest.Cases.AllCPythonCases.test_importlib.test_abc?
Clone of IronLanguages/ironpython3#189

Fixed via #441


Will there be a dark mode?

Will there be a dark mode update available?

Hello @gitgitwhat,
Thank you for your interest in working with our products, we will integrate the Dark Mood into the next product update.
All the best,
Stefan


Receive object strings with SETCHAN

Hi,
After some research I didn't find a way to receive the object strings lastly set on the producer. There is a way to receive the strings from the points calculated by Tile38 by using ROAM with SCAN:* but this doesn't solve my problem. Following issues can help to understand the problem better: https://github.com/tidwall/tile38/issues/93 https://github.com/tidwall/tile38/issues/96 https://github.com/tidwall/tile38/issues/315
So, suppose I have a consumer and start it with following commands:
SETCHAN nearby NEARBY people MATCH match FENCE ROAM people * 5000 SCAN :*
SUBSCRIBE nearby

And then I run the following commands on a producer:
SET people alice:lastname STRING "Denton"
SET people alice POINT 33.02 -115.02
SET people bob:lastname STRING "Marley"
SET people bob POINT 33.01 -115.01

Let me explain why I put the STRINGs first. I need that after each SET the consumer has the ability to receive the STRING related to the point that were lastly set and not the nearby points previously set as explained here
So, we would have like this as a result of the last SET command (set point bob):
{"command":"set","detect":"roam","hook":"",
"time":"2016-12-08T09:27:54.306035387-07:00",
"key":"people","id":"bob",
"object":{"type":"Point","coordinates":[-115.01,33.01]},
"nearby":{
  "key":"people","id":"alice","meters":1451.13,
  "objects":[
      {"id":"alice","object":{"type":"Point","coordinates":[-115.02,33.02]}},
      {"id":"alice:lastname","object":"Denton"}
   ]
}}

But it lacks the string information related to bob point. I need something like this:
{"command":"set","detect":"roam","hook":"",
"time":"2016-12-08T09:27:54.306035387-07:00",
"key":"people","id":"bob",
"objects":[
    {"id":"bob","object":{"type":"Point","coordinates":[-115.01,33.01]},
    {"id":"bob:lastname","object":"Marley"}   // I need this information
],
"nearby":{
  "key":"people","id":"alice","meters":1451.13,
  "objects":[
      {"id":"alice","object":{"type":"Point","coordinates":[-115.02,33.02]}},
      {"id":"alice:lastname","object":"Denton"}
   ]
}}

Besides the ROAM solution, I tried to use SCAN :* with static geofence and it didn't work. It would be another solution to our problem, because static geofence always returns the points that were set lastly, not the ones previously saved.
There is also a possible third solution that could be to add another channel that would work like a common pubsub but with strings in such a way that for each STRING set on producer, the consumer would read that string with the point on same operation.
In summary, is there a way to receive the object STRINGs that were SET lastly on producer by using a pubsub channel?

Hi Rafael,

is there a way to receive the object STRINGs that were SET lastly on producer by using a pubsub channel?

It makes sense what you want, but I think that this would probably require a change to Tile38.
A workaround could be to use a GeoJSON Feature with properties, such as:
SET people alice OBJECT {"type":"Feature","geometry":{"type":"Point","coordinates":[-115.02,33.02]}},"properties":{"lastname":"Denton"}}
SET people bob OBJECT {"type":"Feature","geometry":{"type":"Point","coordinates":[-115.01,33.01]}},"properties":{"lastname":"Marley"}}

If GeoJSON is allowable for your application then you may find it a more extensive format.

Hi tidwall,
First of all thank you for the answer. But we tried a slight different solution:
SET people alice OBJECT {"type":"Point","coordinates":[-115.02,33.02]}}, "lastname":"Denton"}
SET people bob OBJECT {"type":"Point","coordinates":[-115.01,33.01]}},"lastname":"Marley"}

And it worked fine! But it not follows the GeoJSON pattern. We checked the specification there is a "Extending GeoJSON" section. Do you think we can continue using this approach or it can be somehow a risk to our application?

You should be fine with that approach, and won't see any performance or consistency issues.
Tile38 supports "foreign members" and I have no intention of removing that ability in the future.
Though I generally recommend sticking to the GeoJSON spec and using the Feature type, because doing so provides additional guarantees that your objects can interoperate with software other than Tile38.

Thank you, we are going to follow the spec. I think this solution is fine for now.


The Cmakefile does not support make install

The cmakefile.txt in kinesis-video-native-build does not written correctly, and missing install.
So make install will not work in kinesis-video-native-build  folder. and it also does not have a find_package(AWS_KINESISI_VIDEO) function provided for applications.
So building an application to support that  library requires some hard code path to the library.
And making build integration into the build system such as Yocto/Buildroot much more difficult.

Hi @ek9852

find_package(AWS_KINESISI_VIDEO) function provided for applications

We have plans to make CMakelists work modular (along with external dependencies) and include target export.


Extract common logic between blocks and search transactions

There is a common logic especially with regards to how transaction operations are generated from "database" types like InternalCommand, UserCommand or ZkAppCommand. The block database types (like InternalCommandMetadata) are slightly different than search types (InternallCommand) and they also ultimately transform to slightly different response types, however the logic for generating operations is the same or very similar.
I believe that the way to approach it could be to create a common trait for each type e.g. InternalCommandOperations (including fn generate_operations()) and implement it for each respective type.

Might be killing two birds with one stone when doing https://github.com/MinaFoundation/MinaMesh/issues/76.


Gradle repository ?

I am using Android Studio and would like to integrate the Kissmetrics SDK using a dependency in my build.gradle file. The SDK as present here needs to be imported by either adding the classes to my project or create a library project.

I've pushed the library to the JCenter repo.  You can include it with:
dependencies {
  compile 'com.kissmetrics.sdk:KISSmetricsSDK:2.2.2'
}

If you don't already have jcenter in your repositories also include it:
buildscript {
  repositories {
    jcenter()
  }
}

Let me know if you have any problems with this.


Rename channels to sensors

Well, actually this is a question because at the moment a channel provides events from multiple sensors

Need to think good on that. I'd like to have as few terms as possible. For now I have channels which produce events, and the events are tagged with some keys, which is not really clear name

Maybe that's a good idea to join channels and actions back to services. And then have events identified by sensor ID or something

Now I have only services and channels.


Add missing Twitter archive request step

The steps here missed clicking on "Settings and privacy"

I am not on twitter anymore so cannot check if this is correct but I'll trust you @yndajas ! Thanks for the update :)

I am not on twitter anymore so cannot check if this is correct but I'll trust you @yndajas ! Thanks for the update :)

Thanks! I've deleted my fork too - feels weird having one for something like this!


ACCUMULO-4777: fix log messages

Reverted to only log the warning message after attempt 1.  Fixed log messages to display 1 based attempt number.

Commits squashed and commited into 1.7, 1.8, and master


add removeTag to Task

=> shortens task.getTask().remove() to task.removeTask()

not needed anymore


Update README for prototype2

Signed-off-by: Andy Goldstein<EMAIL_ADDRESS>Co-authored-by: Dr. Stefan Schimanski<EMAIL_ADDRESS>

WIP. Not ready for merge. But would love feedback. Thanks!

few nits

Also, in the presentation from @sttts there was a page at the end of miscellaneous technical issues --- some of which looked quite big and deep and I do not yet see mentioned in the README.


[GH-912]:Fixed issue "Handle error case where issuetypes are not available" of Jira plugin

Summary

In some cases, while getting the metadata for projects issueTypes were inaccessible due to some permission schemes. So now changed the pluginAPI /api/v2/get-jira-project-metadata to get the project list first and then get the issueTypes for each project to not show the projects whose issueTypes are inaccessible.

Reference https://community.mattermost.com/_redirect/pl/zgocguq9wtgbtmztrctztrkrhh

Issue

Issue #912

Hello @Kshitij-Katiyar,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Codecov Report
Base: 30.14% // Head: 30.01% // Decreases project coverage by -0.14% :warning:

Coverage data is based on head (d044e94) compared to base (7a5c616).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #915      +/-   ##
==========================================
- Coverage   30.14%   30.01%   -0.14%
==========================================
  Files          49       49
  Lines        7467     7500      +33
==========================================
  Hits         2251     2251
- Misses       5027     5060      +33
  Partials      189      189

Impacted Files
Coverage Δ

server/client.go
8.04% <ø> (ø)

server/client_cloud.go
0.00% <0.00%> (ø)

server/client_server.go
0.00% <0.00%> (ø)

server/issue.go
30.21% <0.00%> (-0.54%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@Kshitij-Katiyar Are you able to share how to specifically configure a Jira server to reproduce this issue? Or possibly share the actual Jira server you're using to assert the code works?
cc @DHaussermann

@Kshitij-Katiyar Are you able to share how to specifically configure a Jira server to reproduce this issue? Or possibly share the actual Jira server you're using to assert the code works?
cc @DHaussermann

@mickmister No I am not able to reproduce this particular with my Jira server (tried many permissions). For testing purposes, Just for the sake of Jira returning an error, I have created a wrong custom issue type for a project but the error it returns is not the same as this issue.

Hi @Kshitij-Katiyar
I've done a round of testing on this and there is still an issue with loading projects in the subscriptions and craete modal.
When the list of projects contains a record where the test user does not have create permissions, even projects where both browse and create are granted are not usable for creating issues and subscriptions.
Ex:
Open the subscription modal when
Project A --> Browse and Create access
Project B --> Browse access
I see an error when either project is selected.
{"timestamp":"2023-02-24 18:05:28.928 Z","level":"error","msg":"ERROR: ","caller":"app/plugin_api.go:976","plugin_id":"jira","Status":"500","Error":"Request failed. Please analyze the request body for more details. Status code: 400","Path":"/api/v2/get-create-issue-metadata-for-project","Method":"GET","query":"instance_id=http%3A%2F%2Fdkh-token.ngrok.io&project-keys=PEP"}
After some investigation by @mickmister it was determined the solution here is only partially implemented https://github.com/mattermost/mattermost-plugin-jira/issues/912#issuecomment-1430341080. To narrow down the issue, Michael made a change on a separate branch for debugging purposes https://github.com/mattermost/mattermost-plugin-jira/blob/c40056257d013d2668fea2f285e590f04ac9bc99/server/client_server.go#L67
With this change deployed Project A is usable but Project B shows no issue types available. In this case - Project B should not be shown in the drop down at all.
Based on this, can you please implement a solution? It would also be useful to add more context on the error message received above as it seems to be received from Jira with no other context in the log.

@mickmister @hanzei @DHaussermann  I explored a bit on the issue keeping the above post of @DHaussermann in mind.
I tested the code for the jira server above and below 9.0.0 and on the cloud as well. Everything is working fine for the jira cloud.
There are mainly 2 problems I am facing to resolve this issue.

The first is to remove the projects from the dropdown itself where we don't have access to create issue. When we open the subscription modal, an API get-jira-project-metadataeventually which eventually calls the jira API  /rest/api/2/project to get the list of projects for an instance. So I thought we can expand the issueTypes parameter and see if we have access and if we don't in that case we can individually fetch the issueTypes for each projects and remove the projects we don't have access to.
But this API doesn't expand issueTypes for the jira server and I am attaching a screenshot for the supported values of expand parameter. The supported values are description,lead,url,projectKeys.

Without this, the only solution I have is to iterate on every project every time if we don't want these projects in the dropdown itself. This could slow down the process a lot.

The second problem is for the Jira servers above 9.0.0 after we select a project even if we have access to this project if there is even 1 project in that list we don't have access to we are going to get the same error due to the code.
https://github.com/mattermost/mattermost-plugin-jira/blob/e277ede06d0270c1ac3d3c3e116946c31df6db2e/server/client_server.go#L71
As we can see this code is just breaking and returning from the loop rather than just continuing with the next project in that list.
For now, I think we can fix this part and after the fix, users can see all the projects in the list and can select and use the projects they have access to but if they select the project they don't have access to we can just show them the error.

Please give your views on this.

@Kshitij-Katiyar Thanks so much for digging into the problem

but if they select the project they don't have access to we can just show them the error.

This is fine for now :+1:
cc @DHaussermann For the purposes of this PR, we will show the projects the user does not have create permissions for, but will show an error to the user saying why they can't create a subscription for that project if they select that project. This defect is a product of the changes needed for the issue this PR is fixing.
As an improvement after this PR, maybe this API endpoint could help us figure out if a user has access to create issues before we populate the select box?
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permissions/#api-rest-api-3-permissions-check-post

@Kshitij-Katiyar It's hard to tell by your comment, are you blocked on anything or is the path forward here clear?

@mickmister Sure I was just asking whether I should implement the solution I suggested before doing the changes.  For now, I fix problem 2 in my above post of just showing the error and after implementing that I will explore more on the API you have suggested. Is it fine?

@Kshitij-Katiyar That sounds good to me :+1: Let's get this merged 🙂

For the purposes of this PR, we will show the projects the user does not have create permissions for, but will show an error to the user saying why they can't create a subscription for that project if they select that project.

Understood. 👍
@mickmister and @Kshitij-Katiyar I'll tst this as soon as possible.
@Kshitij-Katiyar please let me know once you have a new commit up to implement this. As of right now, I don't see anything new.

@Kshitij-Katiyar I found another issue with the function we're discussing. Please see this commit for a related fix that should go in this PR: https://github.com/mattermost/mattermost-plugin-jira/commit/eb760151c999a8db03e8256f388041fafa505a5d. Note that the linked commit is on a debug branch, and it won't be going to master outside of your PR.
Essentially, we were fetching all projects when the client is requesting CreateMetaInfo for a specific project. The linked commit makes it so we only fetch the specified project. Also notice that some methods are renamed for more accurate representation of the return types. The if err != nil { break } issues still need to be addressed as you pointed out.

@Kshitij-Katiyar I found another issue with the function we're discussing. Please see this commit for a related fix that should go in this PR: eb76015. Note that the linked commit is on a debug branch, and it won't be going to master outside of your PR.
Essentially, we were fetching all projects when the client is requesting CreateMetaInfo for a specific project. The linked commit makes it so we only fetch the specified project. Also notice that some methods are renamed for more accurate representation of the return types. The if err != nil { break } issues still need to be addressed as you pointed out.

@mickmister I saw this too and was thinking of fixing it. Thanks for fixing it. Push the changes for the other issue as well.

@mickmister @hanzei I've added a rereview request for the latest commits that fix 915

Tested and this is now wp

@Kshitij-Katiyar Could you, please open a separate PR that cherry-picks these changes into  release-3.2? Thanks!

@Kshitij-Katiyar Could you, please open a separate PR that cherry-picks these changes into release-3.2? Thanks!

@hanzei Cherry picked the commit https://github.com/mattermost/mattermost-plugin-jira/commit/a7f0e417ba67ba5a0113815cad2d6f655aceffc3 into the branch release-3.2 .There were some merge conflicts, but i have resolved them. Let me know if everything looks fine.


release 0.3.0

The 0.3.0 release contains added support for GPX 1.0, "bounds" support
for tracks, and improved error handling.

Landed in https://github.com/georust/rust-gpx/commit/ee2bcfc6302cff1ccc05203bfd5ec2b7abc772f3, thanks!


ScanSettings: Add setLegacy method

This option allows for scanning of BLE devices with extended advertising.
It is supported on Android 8.0 and above.
https://developer.android.com/reference/android/bluetooth/le/ScanSettings.Builder#setLegacy(boolean)

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

The image below shows an application reading an extended advertising (70 bytes on this case). I modified the flutter_reactive_ble library to use my fork of RxAndroidBLE.

Looks good. I plan to merge it in the near future (read days)

I have merged it to develop branch — it will be available in a 1.16.0-SNAPSHOT shortly and a regular release a few days from now

@dariuszseweryn Eagerly awaiting this update 🙏

I have just released 1.16.0. Should be available in the nearest hours. Cheers!


How can I use gaussian correction in getints3c?

Hello PySCF Community,
I previously utilized Gaussian correction in the getints function successfully with an earlier version of PySCF. However, after updating to the most recent version, I encountered an error when attempting to use the same feature. The error message is as follows:
File "/home/.local/lib/python3.8/site-packages/pyscf/gto/moleintor.py", line 243, in getints
return getints3c(intor_name, atm, bas, env, shls_slice, comp,
File "/home/.local/lib/python3.8/site-packages/pyscf/gto/moleintor.py", line 560, in getints3c
cintopt = make_cintopt(atm, bas[:max(i1, j1)], env, intor_name)
File "/home/.local/lib/python3.8/site-packages/pyscf/gto/moleintor.py", line 813, in make_cintopt
foptinit = getattr(libcgto, intor+'_optimizer')
File "/usr/lib/python3.8/ctypes/init.py", line 386, in getattr
func = self.getitem(name)
File "/usr/lib/python3.8/ctypes/init.py", line 391, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /home/.local/lib/python3.8/site-packages/pyscf/lib/libcgto.so: undefined symbol: int3c2e_gtg_optimizer
Any suggestions for resolving this error would be greatly appreciated.
Best,
Nan

Hi,
I plan to calculate the gtg integrals for a large molecule and focus on calculating integrals for a specific segment. I saw libcint has been removed gtg integrals. Are there any alternative approaches or updates in the pyscf library that offer similar functionality?
from pyscf import lib,gto
from pyscf.gto.moleintor import getints
geom =  """
O                 -0.02159827    0.93952482    0.00000000
H                  0.93840173    0.93952482    0.00000000
H                 -0.34205286    1.84446066    0.00000000
"""
basis ="ccpvtz"
auxbasis = "ccpvtzjkfit"
mol_gauss = gto.M(atom=geom, basis= basis)
auxmol_gauss = gto.M(atom=geom, basis= auxbasis)
slice = (0, mol_gauss.nbas, 0, mol_gauss.nbas, mol_gauss.nbas, mol_gauss.nbas+ auxmol_gauss.nbas)
def slice_int2e3c_gc(shls_slice):
'''
Caclualte 2e3c - with gaussian
(alpha beta |X)_gaussian = (ab|X)_gaussian
'''
aosym = 's1'
comp = 1
out = None
hermi = 0
ao_loc = None
atm, bas, env = gto.mole.conc_env(mol_gauss._atm, mol_gauss._bas, mol_gauss._env,
                auxmol_gauss._atm, auxmol_gauss._bas, auxmol_gauss._env)
cintopt = None
intor = mol_gauss._add_suffix('int3c2e_gtg')

return getints(intor, atm, bas, env, shls_slice, comp, hermi, aosym,ao_loc, cintopt, out)

print(slice_int2e3c_gc(slice))
Thanks,
Nan

Is the integral you are requesting just the conventional 3c2e integrals?

Hello,
Not conventional 3c2e. I'd like to use Gaussian-type geminal integrals. Here is the formula for this:
$V_{gtg} = X_0 e^{-\gamma |r_{12}|^2}$

It seems these integrals have been removed in libcint 6.0.0 since they are erronous https://github.com/sunqm/libcint/blob/8d13863ff481cea27efea5e56c9e4d352cdb8f80/ChangeLog#L10


navbar comes vertical when we use bootstrap navbar code. i wrote correct code for that

Here  is the correct css for navbar class of bootstrap.css file
.navbar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-brand {
  display: inline-block;
  margin-right: 1rem;
  line-height: inherit;
  white-space: nowrap;
}

Both navbar and navbar-nav have flex-direction: column;. Also there is no .nav-item class.

Closing as I can't reproduce this and there's no test case presented in this issue.


pass dbName to ac

depends on https://github.com/orbitdb/orbit-db/pull/608

Change taken care of in https://github.com/orbitdb/orbit-db/pull/608


[WICKET-5314] Made AutoCompleteBehavior AjaxRequestAttributes aware.

Fixed WICKET-5314.
Made AutoCompleteBehavior fully aware of AjaxRequestAttributes by passing them to JavaScript function and merging them with the dynamically created attributes by using jQuery.extend(...)
Now we're able to use alternative AjaxChannels or pass in all kinds of AjacCallListener's callbacks, preconditions etc.

Can be close due to https://github.com/apache/wicket/commit/b8be5346311406fe394741009f943fdf5dc71809

Thanks a lot @RoadRunner120485

@RoadRunner120485 Ping!
Please close the Pull Request because we don't have the permission to do it. Thank you!


Let h_pos and v_pos go under 0

(Note: this PR only fixes the GMS2 project, as I don't have GMS1 installed to edit the files)
Currently, h_pos and v_pos are always positive, so the stated range of -1 to 1 is false.
If the x or y positions of the joystick are negative, they end up positive (due to subtracting negatives from negatives). Even if the coords are positive, there's a check in there for some reason to return 0 if the values are negative. This PR fixes the negative issue and removes the check, allowing h_pos and v_pos to work properly whether the coords are negative or positive (with the stated range of -1 to 1).

Thanks for the check and fix! I didn't have the time to properly review this project lately. 😢


Improve the UX of non-migratable VMs in node maintenance mode

Summary
PR Checklist

Is this a multi-tenancy feature/bug?

[ ] Yes, the relevant RBAC changes are at:

Do we need to backport changes to the old Rancher UI, such as RKE1?

[ ] Yes, the relevant PR is at:

Are backend engineers aware of UI changes?

[ ] Yes, the backend owner is:

Related Issue https://github.com/harvester/harvester/issues/4888

Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

@mergify backport release-harvester-v1.3

@mergify backport release-harvester-v1.4


Add option for sanitizers enabled so that pthread library can be expl… [4772]

…icitly linked
Sanitizers like ASan and TSan have their own flavor thread libraries which prevent
cmake from linking the pthread library. Explicity linking this library when SANITIZER_ENABLED
option is on.

Build status:

Linux
Mac
Windows

I can't provide a better proposal since I haven't tried it yet but I am not convinced that adding a CMake option for this is the best path forward.

I can't provide a better proposal since I haven't tried it yet but I am not convinced that adding a CMake option for this is the best path forward.

What are the downsides to adding the cmake option?
The new cmake option could potentially be used to make all sanitizer specific changes going forward, like skipping some tests or setting up some prerequisites when library path/LD_PRELOAD is changed.
Do you think unconditionally linking pthread is better?

What are the downsides to adding the cmake option?

You need to specifically enable that CMake option as well as you need to document its existence.

Do you think unconditionally linking pthread is better?

Either a package does need pthread or it doesn't. If the sanitizer itself brings in that dependency it should be specified by the sanitizer invocation.

What are the downsides to adding the cmake option?

You need to specifically enable that CMake option as well as you need to document its existence.

Agree that the new CMake option should be made known. However this is true for any cmake option introduced, including the other new CMake arg in this file, INSTALL_EXAMPLES

Do you think unconditionally linking pthread is better?

Either a package does need pthread or it doesn't. If the sanitizer itself brings in that dependency it should be specified by the sanitizer invocation.
If we specify the new cmake option during sanitizer invocation, then the package itself can determine how it would like to work with the sanitizer, either by adding pthread or not overriding LD_PRELOAD or so on. Without the cmake option, we will need to add this pthread/LD_PRELOAD logic in the caller (like the address sanitizer job) and that can get messy when dealing with multiple requirements for multiple packages. One way to think about this is that the new cmake option is how the sanitizer brings in or requests for the required dependencies

What are the downsides to adding the cmake option?

You need to specifically enable that CMake option as well as you need to document its existence.

Agree that the new CMake option should be made known. However this is true for any cmake option introduced, including the other new CMake arg in this file, INSTALL_EXAMPLES

Do you think unconditionally linking pthread is better?

Either a package does need pthread or it doesn't. If the sanitizer itself brings in that dependency it should be specified by the sanitizer invocation.

If we specify the new cmake option during sanitizer invocation, then the package itself can determine how it would like to work with the sanitizer, either by adding pthread or not overriding LD_PRELOAD or so on. Without the cmake option, we will need to add this pthread/LD_PRELOAD logic in the caller (like the address sanitizer job) and that can get messy when dealing with multiple requirements for multiple packages. One way to think about this is that the new cmake option is how the sanitizer brings in or requests for the required dependencies

Additionally having the sanitizer based logic in the package itself might be better to avoid duplication of such logic in the calling packages (CI jobs is just one of the places where this package is built)

Additionally having the sanitizer based logic in the package itself might be better to avoid duplication of such logic in the calling packages

Isn't implying that potentially each and every package needs this kind of logic the very essence of undesired duplication?

Additionally having the sanitizer based logic in the package itself might be better to avoid duplication of such logic in the calling packages

Isn't implying that potentially each and every package needs this kind of logic the very essence of undesired duplication?

Please let me know a good way forward here :). What I really meant with the above statement is that instead of having multiple callers have the pthread logic like:
Address sanitizer CI job: colcon build .... -fsanitizer  -pthread...
Thread sanitizer CI job: colcon build .... -fsanitizer  -pthread...
Another place of asan based build invocation: colcon build .... -fsanitizer  -pthread...
we can have the logic to introduce pthread only in the fastrtps package

Build status:

Linux
Mac
Windows

Build status:

Linux
Mac
Windows

Gentoo wiki pthread suggestion: https://wiki.gentoo.org/wiki/AddressSanitizer/Problems#pthread_linking_issues

Gentoo wiki pthread suggestion: https://wiki.gentoo.org/wiki/AddressSanitizer/Problems#pthread_linking_issues

I asked @bhatsach to drop this link while we were discussing the sanitizer jobs we're aiming to run on the ROS 2 CI farm earlier.
The relevent text from the linked article:

Some configure scripts test the need of the -lpthread compiler flag by testing whether the function pthread_create() is available without it. The Address Sanitizer library (libasan) provides this function. However it does not have a full pthread implementation, more advanced pthread functions aren't provided. Therefore the compilation fails.
A workaround is to add the -lpthread compiler flag manually, the overlay provides a package.env file which does this for some known packages with this problem.

One question I have is if there's a reason not to explicitly add -lpthreads unconditionally on Linux as we've done for several packages in ROS 2 already. Always adding the flag on Linux removes @dirk-thomas objection to new CMake options and also resolves the issue when using sanitizers that break the CMake heuristic.

+1 for adding -lpthread unconditionally on Linux. @dirk-thomas and @richiware, what do you think about the same?

@MiguelCompany has reminded me that we always do find_package(Threads REQUIRED) and later we use ${CMAKE_THREAD_LIBS_INIT} in target_link_libraries. This should add -lpthread in Linux. Is it not working for you?

@MiguelCompany has reminded me that we always do find_package(Threads REQUIRED) and later we use ${CMAKE_THREAD_LIBS_INIT} in target_link_libraries. This should add -lpthread in Linux. Is it not working for you?

Ideally ${CMAKE_THREAD_LIBS_INIT} should add -lpthread, however when sanitizers are linked, CMAKE_THREAD_LIBS_INIT is either empty or points to the sanitizer's own flavor of pthread which is not a complete implementation.

@MiguelCompany has reminded me that we always do find_package(Threads REQUIRED) and later we use ${CMAKE_THREAD_LIBS_INIT} in target_link_libraries. This should add -lpthread in Linux. Is it not working for you?

Ideally ${CMAKE_THREAD_LIBS_INIT} should add -lpthread, however when sanitizers are linked, CMAKE_THREAD_LIBS_INIT either does not contain pthread or points to the sanitizer's own flavor of pthread which is not a complete implementation.

@MiguelCompany has reminded me that we always do find_package(Threads REQUIRED) and later we use ${CMAKE_THREAD_LIBS_INIT} in target_link_libraries. This should add -lpthread in Linux. Is it not working for you?

Ideally ${CMAKE_THREAD_LIBS_INIT} should add -lpthread, however when sanitizers are linked, CMAKE_THREAD_LIBS_INIT either does not contain pthread or points to the sanitizer's own flavor of pthread which is not a complete implementation.

I was reviewing FindThreads.cmake file that comes with CMake. It is prepared to detect if the thread implementation is inside the libc library. This is the reason CMAKE_THREAD_LIBS_INIT is empty when -fsanitize=address is set. But I don't know if there will be another situation where the thread implementation is in libc, and setting always pthread can conflict with how FindThreads.cmake works.
@dirk-thomas Knowing that using -fsanitize=address requires of -lpthread. Is not more suitable to add this into the asan mixin? Maybe another packages can benefice of this.

It is prepared to detect if the thread implementation is inside the libc library. This is the reason CMAKE_THREAD_LIBS_INIT is empty when -fsanitize=address is set. But I don't know if there will be another situation where the thread implementation is in libc, and setting always pthread can conflict with how FindThreads.cmake works.

There's a recent change in CMake upstream's FindThreads.cmake that handles this case explicitly by using a different (presumably absent in asan) function for the heuristic. One possibility is vendoring this version of FindThreads.cmake with a guard to print a warning when the required CMake version is at 3.14 or newer as this change is part of the 3.14 release candidate.

Closing this in favor or https://github.com/eProsima/Fast-RTPS/pull/438 wherein @nuclearsandwich has implemented what was discussed in the above comment. We are vendoring FindThreads.cmake from CMake 3.14-rc2 which fixes the need of pthread library


File count not correct in the GET /drive api

We are using "GET /drive" api specified in this document.
https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/drive_get?view=odsp-graph-online
From the documentation we see that the drive resource details are returned as specified by
https://docs.microsoft.com/en-us/onedrive/developer/rest-api/resources/drive?view=odsp-graph-online
We see the quota block returned as a response.
"quota": {
"deleted": 187917,
"fileCount": 192,
"remaining":<PHONE_NUMBER>764,
"state": "normal",
"total":<PHONE_NUMBER>776,
"used": 82688
}
The fileCount is not specified in this document
https://docs.microsoft.com/en-us/onedrive/developer/rest-api/resources/drive?view=odsp-graph-online.
The file count that we see in this response does not match with that of the total number of files in onedrive.
In case if this is not the total file count, what is this file count number representing.
Date Fri, 26 Feb 2019 21:43:21 GMT
request-id f816c79e-c0dd-0000-271b-647373b23a1b
SPRequestGuid f816c79e-c0dd-0000-271b-647373b23a1b

Reference:
https://docs.microsoft.com/en-us/office365/admin/activity-reports/onedrive-for-business-usage?redirectSourcePath=%252fclient%252fOneDrive-for-Business-usage-0de3b312-c4e8-4e4b-a02d-32b2f726a680&view=o365-worldwide
Similar to
NOTE: At times there may be unpredictable delays in data collection and processing which may delay report generation. The displayed report date is always reflective of the current date for which the system has processed report data. We strive to keep these within 24-48 hours from the time of activity.
The count usually reflect a 24 to 48 hour latency from time of activity.
Sometime this count is subject to unpredictable delays

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


View Encapsulation not working between multiple Angular 4 Apps (built with aot)

Bug Report or Feature Request (mark with an x)
- [X] bug report -> please search issues before submitting
- [ ] feature request

Versions.

node: 6.9.4
npm: 3.10.10
I'm using webpack 2.3.3 with @ngtools/webpack loader (v. 1.2.13)
Repro steps.

Here is an working example with JIT-compiled Apps, both apps get different css selectors. If i build these apps with AOT, both Apps get the same css selector:
http://plnkr.co/edit/fFTrK07EWBV6vSxhYaFe?p=preview
Desired functionality.

If i boot multiple (different) Angular 4 Apps (in different zones), the styles of each app will be adopt to all apps, because of the same css selector ( .app[_ngcontent-c0] )

One possible solution should be a configurable prefix for the css-selector.

Heya, could you open this on https://github.com/angular/angular instead? It seems to be related with the AOT compiler itself and not the CLI (which merely uses it).


fix: Update the urls to the new repo

Summary
The following resources should be checked and updated:

[ ] models in huggingface/second-state
[ ] LangChain LlamaEdge Integration Tutorial
[ ] run-llm.sh
[ ] flows.network download-counter
[ ] Second State Articles
[ ] Michael Yuan's medium article
[ ] WasmEdge Docs

Appendix
No response

[ ] Youtube videos descriptions
[ ] Zhihhu


suggestion: document use as systemd journalctl pager

You might want to add a note to documentation that this is how to make tailspin your pager for systemd journalctl:
SYSTEMD_PAGERSECURE=true PAGER=/usr/bin/tailspin journalctl

...but you might wanna first implement #27 since currently your pager isn't secure.
Also, the above does not actually work - adding option -f or -e works but calling bare journalctl just hangs with nothing output to screen. :-(

Have you had a chance to test the new --tail-command flag? Does this affect the current setup?

No, haven't taken time to look into that yet.

I have reworked how tailspin handles piping in 1.3.0. From here on, it will output everything to stdout if we try to pipe anything to it from stdin. I believe this behavior will make it easier to combine tailspin in other scripts. It also makes it easier to pipe to. I still have the now renamed --follow-command flag for those who want to remain in the less pager while still "following" the stdout output of a given command.
Will these changes affect how tailspin can be used with systemd and journalctl?

I believe that with the changes from 1.3.0, these commands would work as expected:
journalctl -f | spin
journalctl -ef | spin

The commands above would be similar to tail -f, meaning it will just output to stdout until it is interrupted.
If you wanted to stay inside less while maintaining the ability to drop in and out of follow mode, then we can still use the --follow-command flag:
spin --follow-command 'journalctl -f'

However I am not on Debian, so I cannot confirm this. Let me know if it is working as intended, then we can update the readme.

Closing this as the readme has been updated.


bug: kinesis re-shard may cause data loss when scan.startup.mode is latest

          @stdrc talked about enumerator should inherent offset settings from source props. But it cannot handle the case if the user set `scan.startup.mode` to `latest`, leading to data loss from the shard starts to the time we actually start reading data.

Originally posted by @tabVersion in https://github.com/risingwavelabs/risingwave/issues/18038#issuecomment-2288074706

Hi @stdrc, can you share more on re-shard and data loss?


instagram.getUserFeeds().getData()

Consider the sample application and please look at gallery.jsp page ....
The page uses instagram.getUserFeeds().getData() to get the mediaList. It returns around 18-20 pages.
How is it possible to use jInstagram to get the previous user feeds. I found that there is a method (instagram.getUserFeeds().getPagination() ) But I could not find how to use it ?!
Regards

Searching for the answer to this too !

Closing the ticket... Re-open if needed


Merge main into beta

:tada: This PR is included in version 0.4.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Incorporate PSScriptAnalyzerSettings for Enhanced Code Quality

The purpose of this improvement request is to propose the inclusion of PSScriptAnalyzerSettings.psd1 in the Pode project. PowerShell Script Analyzer is a static code checker for PowerShell scripts and modules that encourages best practices and improves code quality. By integrating PSScriptAnalyzerSettings.psd1, we can define custom rules and configurations specific to Pode's needs, ensuring consistent code style, adherence to best practices, and early detection of potential issues.
Issue #1244

I spotted in #1244 you reference updating the docs, is this something you want to do for the PR or good to merge?

I think it's good to go
renaming the internal functions is something for a future version


Remove unmodified bin/ files from the assembly to prevent version breakage

bin/client, bin/inc have version numbers, and since we are not modifying those script files, we should not include them in the assembly src/main/resources

Fixed by #30


Selfbotting is against Discord ToS.

You might want to include this image in the readme. Otherwise, people are going to blame you for getting their accounts banned soon after using the bot.

I hardly believe that the bot is for "testing" but hey, as long as people are warned first, I think GitHub allows it to be here.

I actually had it on my last repository.
I also deleted my last one because of the amount of messages I received from server owners saying their server was raided and assumed it was from this script.
Originally it was made for joking around with friends, then I just started adding tons of features and realized how easy it was to get past discords anti-spam so it became a matter of "how much I can do". Personally I make this for testing anti-spam. (As I'm an admin on a server with over 900 users)


bug: Libfunc alloc_local is not allowed in the libfuncs list 'audited_v0.1.0'

Bug Report
Cairo version: commit 382ff3f1

Current behavior:
Unable to build https://github.com/Th0rgal/erc721/tree/50098af2b39da7ca31bf6b887d6ccb5e8eeea783
client-172-18-90-109:erc721 thomas$ make starknet-compile dir=src/erc721
    Finished dev [unoptimized + debuginfo] target(s) in 0.47s
     Running `target/debug/starknet-compile src/erc721 out/erc721.json`
Error: Libfunc alloc_local is not allowed in the libfuncs list 'audited_v0.1.0'.
 Run with '--allowed_libfuncs_list_name experimental_v0.1.0' to allow all libfuncs.
make: *** [starknet-compile] Error 1

Expected behavior:
This should build

Steps to reproduce:
git clone https://github.com/Th0rgal/erc721
git checkout 50098af2b39da7ca31bf6b887d6ccb5e8eeea783
make starknet-compile dir=src/erc721

Other information:
I'm not sure if this is a bug or I just did something wrong.

@CeliktepeMurat actually already opened the same issue: https://github.com/starkware-libs/cairo/issues/2126


How to use Blender vertex color channel as Renderman material color / texture?

Hi,
Thanks for creating and improving your great bridge between Blender and Renderman, much appreciated.
I'm wondering how I can display vertex colors on my rendered meshes. I've connected the resultRGB output of a PxrPrimvar node to the baseColor input of a PxrDisney material, changed the Variable Type dropdown entry to 'color', and entered 'Col' (default Blender vertex color channel name) in the Variable Name field. This is more or less how you would connect an Attribute node to a Cycles material, indicating 'Col' as the attribute name.
But no matter what I've tried to adjust in the PxrPrimvar node so far, the mesh surface remains black in my Renderman IT rendering.
Many thanks in advance for your help.

Looks like the default vertex color is called Cs according to the tooltip in the mesh options panel.  Try entering that in the PxrPrimvar.

It works, great! Muchas gracias!


CityJSON 2.0 support

Hello,
according to README.md, CityJSON 1.0 is supported. However, in Nov 2023 CityJSON 2.0 was published and accepted as an OGC standard. In April 2024 2.0.1 was published.
I think it'd make sense to implement support for it

CityJSON 2.0 will be supported by the next major version 5.0 of the 3DCityDB. The Importer/Exporter will be replaced by citydb-tool as database client for version 5.0. You can already download and test beta releases from here.
There are no plans to add support for CityJSON 2.0 in the current Importer/Exporter anymore.

Okay. Thank you for the clarification. I suppose this issue can then be closed


Documentation on My has no links

This page is pretty useless. Why on earth aren't there links from it to pages describing Me, My.... in detail?

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

ID: 20f52784-f9fa-b1e9-f123-3ef94f29aea5
Version Independent ID: 608407bc-8615-7c6e-1771-b4340c06d6ce
Content: Me, My, MyBase, and MyClass - Visual Basic
Content Source: docs/visual-basic/programming-guide/program-structure/me-my-mybase-and-myclass.md
Product: dotnet-visualbasic
GitHub Login: @KathleenDollard
Microsoft Alias: kdollard

Where would you want these links to go? This is the page with detailed information to the keywords. In fact, the Me link on the Keywords reference page takes to you this page, while MyBase and MyClass take you to the Inheritance Basics, which is the only "See also" link.
Do you have any known page that should be linked to? Or are you missing any information (which?) that you assumed would be on a different page (which probably doesn't exist)?

For example, https://learn.microsoft.com/en-us/dotnet/visual-basic/language-reference/objects/my-settings-object.
There seems to be no way from the Me, MyBase ..... page to pages which give the details of the My.xxx objects. I agree that MyBase and MyClass probably don't need more information, so my comment was a bit harsh. But I was trying to find out what My.xxx object there are, and had reached a brick wall.
Sorry for the late response - for some reason I don't get notifications about messages here even for topics I've subscribed to.


'Calculated values' - Error messages are different in 'Remote' and 'Standalone' modes

Affected Version: Standalone, Remote
Steps to Reproduce:

Launch Ketcher (Remote)
Draw a structure on the canvas, e.g. cyclohexane
With the R-Group Label Tool set any label for any structure atom, for example, R1
Click the 'Calculated Values' button
Click 'Close' button
Click the 'Calculated Values" button again
Repeat steps 1-6 in Standalone mode

Expected result:
4. Error messages are the same in Remote and Standalone modes.
6. No active cursor in shown in 'Molecular Weight', 'Exact Mass', 'Elemental Analysis' fields
Actual result:
4. Remote mode - 'error: Cannot calculate mass for structure with pseudoatoms, template atoms or RSites'.
Standalone mode - 'mass: Cannot calculate mass for structure with pseudoatoms, template atoms or RSites'.
6. In the 'Molecular Weight' field the end of the error message is shown with the active cursor in the end of the line.

Related issue: https://github.com/epam/Indigo/issues/383

Related issue: https://github.com/epam/Indigo/issues/384

Steps:
1.Open
31LHIS_ringbond.zip
2. Click Calculated Values button
Actual result:
Alert with information instead of it's display in the Calculated Values window in standalone mode

remote mode:

Expected result:
Information in remote and standalone mode displayed identically

Steps:
1.Open
R-Group (1).zip
2. Click Calculated Values button
Actual result:
Alert with information instead of it's display in the Calculated Values window in standalone mode

Expected result:
Information in remote and standalone mode displayed identically: all fields contain 'Cannot calculate properties for RGroups' message


feat(integration): xcodebuild.nvim integration (#207)

Resolves #207
Also fixes off-by-one error in nvim-tree x_offset adjustment

Oops, sorry I didn't see this. I already pushed d1b2a7147b5e51238830d939d2fcab12f08c38fb ; can you rebase on top of that? The comment you left in there is very helpful too.

Rebased :)

Oh, one more thing: can you drop a change in the README advertising this integration option? Here https://github.com/j-hui/fidget.nvim/blob/main/README.md?plain=1#L241-L245

Btw. don't merge it yet, I'm fixing your comments :)

Looks awesome, I'm gonna merge it! Thanks so much for the contribution!

🍻 thank you for the great plugin!


1.0.0

What happened to 1.0.0? All of the commits are 2 years old. Does anyone have a nice fork?

Just following up here. I scrapped the v1 release. Been a long time since i was able to work on this project, but in the new js-es6 branch there is the actual new v1 release. It's pretty solid with tests. Hoping to have it available asap. The initial draft is finished though.


Consider using xarray as a data store

Some of the data we are generating for the timesteps are well suited for storing in an xarray. Most of the data we are working with are some form of (time step, atom index).
As dimensions we can use:

Time
Labels of the sites or (diffusing) atoms
Then we can use the parameters per atom/site (occupancy, transition state, speed, etc) as columns in the array

Pandas dataframes are also nice for generating plots, but I think they can be generated quite easily from xarray if needed

We are moving to pandas instead,so this can be closed.


Remove healthcare worker category / intermediate method

Includes detailed arguments in the Q&A for why this category doesn't make sense.

this is extremely clear; the multiplied-through example drives the point home very effectively; the wording is straightforward; explaining why we used to do it a different way is A+ on transparency; overall very enthusiastic about this and getting this out quickly!

Yes! The broad risk categories were never meant for your friends!


Self Reporting check box on New/Edit Skill dialog does not have a properly associated label

The "Self Reporting" label for the checkbox is not associated via for=id nor does the checkbox have an aria-label, as such, screenreaders have no context for what that checkbox means, it's read as "checkbox checked/not checked". Associate the existing label using for=id or add aria-label to the checkbox.

PR: #1426

:+1: