GitHub Actions Test Results Accuracy Issue

Performance testing using Kotlin's built in measureNanoTime function provides highly accurate and reliable time measurements for blocks of code.
This has been demonstrated offline using OpenJDK 11, however it appears that on GitHub, the measureNanoTime function returns values that are multiples of 100, or 0.

Table 1: TargetedAccess Test Measurements The most recent GitHub Actions Test report for PrimeCachePerformanceTest, showing the TargetedAccess Test output.
This occurs in both Java 8 and Java 11 Test Reports.
Implications
Without a common reliable computing resource, reproducibility is a challenge. Comparing results between changes over time will require consideration of the system running the tests, which unfortunately will not be GitHub.
Potential Resolutions
One way that this could be resolved, is to investigate alternative OpenJDK distributions available in GitHub Actions. Another is to try to use a newer version of OpenJDK.
Originally posted by @DK96-OS in https://github.com/DK96-OS/MathTools/issues/21#issuecomment-874916971

Unless there is another method besides measureNanoTime that can record time measurements to nanosecond accuracy, the only option remaining is to perform each operation 100x.
One issue with this approach is that the operation itself is not isolated, the cache must be cleared between each operation which may affect the result. To work around this, the Cache can be instantiated 100x, and each cache can be accessed in sequence during the measurement. This would isolate the operation, and enable the cache clearing to be performed post-measurement.

Reading about Micro-Benchmarks:
https://github.com/google/caliper/wiki/JavaMicrobenchmarks#what-is-a-microbenchmark


Folder path with spaces causes generate to fail

It seems as though a folder path that includes space, like C:\Users\Kevin Weeks\... causes generate to fail.
The error I get is:
Cannot write to C:/Users/Kevin/index.html (No such file or directory)

I'm confirming the same problem on Mac, with the error sh: -c: line 0: syntax error near unexpected token ('
sh: -c: line 0: `wget --recursive --convert-links --page-requisites --no-parent --directory-prefix /path/containing some/spaces/static --no-host-directories --restrict-file-name=unix http://<IP_ADDRESS>:2368'


Workaround vector layer type rename in QGIS 3.30

Calling QgsVectorLayer().type().name QGIS 3.30.x returns "Vector", while previous versions return "VectorLayer"
Related issue: https://github.com/qgis/QGIS/issues/53023
Fixes regression introduced in #637 .

Hm, is that worth raising in QGIS itself? Looks like a broken python API promise that shouldn't happen until QGIS 4.0.

Related issue: qgis/QGIS#53023

See

Related issue: https://github.com/qgis/QGIS/issues/53023


Was the 'spconv-all-no-lvis' model trained using RGB?

Thank you for your excellent work！
Was the 'spconv-all-no-lvis' model trained using RGB?

Yes.


[Bug] [COMMON] JSONUtils.toMap method cannot cast json to the provided type

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When i try to parse json to complex class(like BaseHeartBeat.class), there will be a ClassCastException.
That is because the JSONUtils.toMap(String json, Class classK, Class classV) uses TypeReference to parse json which cannot deal generic type correctly, we can use MapType instead.
public void toGenericMap() {
        String json = "{\"beatHeart\":{\"processId\":18,\"host\":\"<IP_ADDRESS>\"}}";

        Map<String, BaseHeartBeat> models = JSONUtils.toMap(json, String.class, BaseHeartBeat.class);
        Assertions.assertEquals(18, models.get("beatHeart").getProcessId());
}

What you expected to happen
no exceptin should be throw
How to reproduce
just parse the json to any custom class
Anything else
No response
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Please ask meaningful questions.


Add GWT build to Jenkins job

GWT has proven to break pretty often with seemingly innocent changes. We need to add the GWT build step as part of the Ashley Jenkins job.

We cannot compile Ashley with GWT as it is, we need a project that uses it (AFAIK). I've setup a Jenkins job for Ashley SuperJumper that builds every time Ashley is build or every time the repo changes.
http://libgdx.badlogicgames.com:8080/job/ashley-superjumpe


Use translate3d only if really needed

Translate3d caused me troubles couple times in the past with different problems.
Today I found another problem with it: it broke visibility of an element positioned and transition-translated over the slider.
Please comment if you need any more detailes and I'll provide you with more info and examples.

FYI as far as I know translate3d uses the GPU where possible unlike translate, so I'm not sure if this is beneficial to everyone. Might be worth making this an option to be able to do both?

Closing as incompatible with current version of Swiper


Universal Main

This PR is an attempt to improve the startup process of Mill. Currently, to run in different modes (client/server, standalone/no-server) we use different entry points which reside in different classes. Also, the client main is implemented in pure Java to improve the startup time of the client (by keep classloading at a minimum). To reflect the different entry points, we currently need a rather sophisticated start script. Although this PR does not simplify the process as such, it simplifies it's user side by supporting all modes through only one main class, the mill.main.client.MillClientMain. That way the good startup times in client mode remain.
Because we handle all modes in a single point, we can better handle server startup issues. E.g. we can now gracefully fall back to a in-process or sub-process runner when the server runner can not be properly started. This should improve the user experience on some Windows setups and newer M1 Macs a lot.
I didn't removed the complexity of the startup script for now, but simply ensured it always calls the client main.
The client main now ensures that custom JVM properties (.mill-jvm-opts) are properly applied in case we can't start the server and will, if necessary, start in a sub-process (with properly applied JVM options) instead of in-process.
The .mill-version is currently not handled (as before), but there is no reason that we could not detect a mismatch and even implement fetching and starting of another version in future.
So, this PR should also improve the way Mill can be embedded into other tools or launcher, like coursier.
I have no idea how to test all this automatically, so I tried to test as much locally as possible, but any help in testing this, especially in edge cases like special environments, high load scenarios, many mill server instances (e.g. with different JVMs) would be really appreciated.

This is a great improvement for Mill. I tested on my biggest project and I didn't notice any problem. I'd say to merge this and let users test it before releasing 0.10.1.

The documentation still says that installing Mill via coursier is unsupported:

Coursier (unsupported)
Installing mill via coursier or cs is currently not officially supported. There are various issues, especially with interactive mode.
https://com-lihaoyi.github.io/mill/mill/Intro_to_Mill.html#_coursier_unsupported

When this PR is merged is are the docs still right on this or should they be updated? If other blocking issues exist where are these issues filed? The only issue I found is this in coursier's repo which directs to this PR.

The documentation still says that installing Mill via coursier is unsupported:

Coursier (unsupported)
Installing mill via coursier or cs is currently not officially supported. There are various issues, especially with interactive mode.

https://com-lihaoyi.github.io/mill/mill/Intro_to_Mill.html#_coursier_unsupported
When this PR is merged is are the docs still right on this or should they be updated? If other blocking issues exist where are these issues filed? The only issue I found is this in coursier's repo which directs to this PR.

This is a good question. I didn't follow recent changes in coursier and it's installable apps. If there is only one Mill app which is running the Mill client, than we are closer to remove that notice. It needs further review though, e.g. whether handling of .mill-version and .mill-jvm-opts works as expected. I doubt that, but can't say for sure. A minimal acceptable coursier-installed app should at least detect and warn in situations where the running version is different than requested by .mill-version or $MILL_VERSION and/or when it's not using the requested options.

It needs further review though, e.g. whether handling of .mill-version and .mill-jvm-opts works as expected. I doubt that, but can't say for sure. A minimal acceptable coursier-installed app should at least detect and warn in situations where the running version is different than requested by .mill-version or $MILL_VERSION and/or when it's not using the requested options.

It doesn't for now. cs launch mill:X.Y.Z basically launches Mill version X.Y.Z. This doesn't read .mill-version. coursier/apps#166 should make it read .mill-jvm-opts.

I think coursier/apps#166 is not doing the right thing. The properties are not meant to be loaded by the Mill client JVM.
Mill client automatically loads the properties file to start the server process. But in case we don't want a server (e.g. options -i or --no-server), the JVM needs to run with these options. After reviewing the startup process in main branch, Mill already detects cases, when the options where not applied, and just starts a new JVM. This can be slower and inefficient, but should be enough for coursier.
https://github.com/com-lihaoyi/mill/blob/bc2bcfe6bfabf78ad5d57719f79aa0858fb694d2/main/client/src/mill/main/client/MillClientMain.java#L64
https://github.com/com-lihaoyi/mill/blob/bc2bcfe6bfabf78ad5d57719f79aa0858fb694d2/main/client/src/mill/main/client/IsolatedMillMainLoader.java#L50


generate pkgconfig files with PCFILE_LIB_SUFFIX

With CLIPPER2_USINGZ=ON, cmake generates two pkgconfig files:

Clipper2.pc
Clipper2Z.pc

But these files are same contents due to PCFILE_LIB_SUFFIX has no value.
Name: Clipper2@PCFILE_LIB_SUFFIX@
Libs: -L${libdir} -lClipper2@PCFILE_LIB_SUFFIX@

This PR try to solve it.

I'll rely on those with much more experienced with CMake to advise on this, but I don't think the files aren't meant to change. ISTM that only the precompiler directive (USINGZ) should change.

@AngusJohnson
Thank you for reply!
I think there are several ways.
I will leave it to the discretion of the maintainers.
It is acceptable for me if this PR is rejected.


[Pending] Specifying hashInputOrder

waiting for requirement of md5 confirmation
add functionality and tests for specifying inputHashOrder for algorithms:
hmac{md5, sha1, sha256, sha512} and {sha1, sha256, sha512}

@googlebot I fixed it.


Enable multiselect for Logic apps tree

Operarions with selected items:

export logic apps names;

Implemented multiselection via checkboxes. Closing the task


Not able to build TFLite GPU Delegate dynamic library with bazel for android arm64

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS Monterey(12.6)
TensorFlow installed from (source or binary): Source
Python version: 3.9.13
Bazel version (if compiling from source): 5.3.0
GCC/Compiler version (if compiling from source): Apple clang version 14.0.0 (clang-14<IP_ADDRESS>)
Exact command to reproduce: bazel build -c opt --config=android_arm64 --cpu=arm64-v8a //tensorflow/lite/delegates/gpu:libtensorflowlite_gpu_delegate.so

Describe the problem
Not able to build dynamic tensorflow lite library with gpu delegate for android arm 64. Other tensorflow lite libraries with nnapi, xnnpack delegates are building fine.
Error
tensorflow/lite/delegates/gpu/delegate.cc:796:7: error: use of undeclared identifier 'AHardwareBuffer_acquire'; did you mean 'AHardwareBuffer_Plane'?
AHardwareBuffer_acquire(ahwb);
^
external/androidndk/ndk/sysroot/usr/include/android/hardware_buffer.h:320:3: note: 'AHardwareBuffer_Plane' declared here
} AHardwareBuffer_Plane;
^
tensorflow/lite/delegates/gpu/delegate.cc:804:9: error: use of undeclared identifier 'AHardwareBuffer_release'; did you mean 'AHardwareBuffer_Plane'?
AHardwareBuffer_release(b);
^
external/androidndk/ndk/sysroot/usr/include/android/hardware_buffer.h:320:3: note: 'AHardwareBuffer_Plane' declared here
} AHardwareBuffer_Plane;
^
tensorflow/lite/delegates/gpu/delegate.cc:812:7: error: use of undeclared identifier 'AHardwareBuffer_describe'
AHardwareBuffer_describe(uptr_ahwb.get(), &desc_ahwb);
^
tensorflow/lite/delegates/gpu/delegate.cc:1194:18: error: use of undeclared identifier 'AHardwareBuffer_lock'
return AHardwareBuffer_lock(buffer, this->usage_, -1 /* fence /,
^
tensorflow/lite/delegates/gpu/delegate.cc:1221:24: error: use of undeclared identifier 'AHardwareBuffer_unlock'
return AHardwareBuffer_unlock(buffer, nullptr / fence */);
^
5 errors generated.
Target //tensorflow/lite/delegates/gpu:libtensorflowlite_gpu_delegate.so failed to build

Please specify the location of python: Correct path location provided(Python version 3.9)
Please input the desired Python library path to use: Correct path location provided(Python version 3.9)
Do you wish to build TensorFlow with ROCm support? [y/N]: N
No ROCm support will be enabled for TensorFlow.
Do you wish to build TensorFlow with CUDA support? [y/N]: N
No CUDA support will be enabled for TensorFlow.
Do you wish to download a fresh release of clang? (Experimental) [y/N]: N
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -Wno-sign-compare]: Enabled just the default
Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: y
Please specify the home path of the Android NDK to use: Provided path for ndk/21.4.7075529
Please specify the (min) Android NDK API level to use: Default of 26
Please specify the home path of the Android SDK to use: Provided sdk path
Please specify the Android SDK API level to use: 33-ext4
Please specify an Android build tools version to use: 34.0.0-rc1
Do you wish to build TensorFlow with iOS support? [y/N]: N

Other build for android with below commands are working fine:

bazel build -c opt --config=android_arm64 --cpu=arm64-v8a --define tflite_with_xnnpack=true //tensorflow/lite:tensorflowlite
bazel build -c opt --config=android_arm64 --cpu=arm64-v8a //tensorflow/lite/delegates/nnapi:nnapi_delegate_no_nnapi_implementation
bazel build -c opt --config=android_arm64 --cpu=arm64-v8a //tensorflow/lite/nnapi:nnapi_implementation

Hi @rahul-exp Sorry for the delayed response.
Can you please provide the bazel version you are using and which version of TF you are using?
I couldn't reproduce it at my end and facing different error.
Thanks.

TF version on my mac is 2.11.0. I had checked out the latest changes from the main branch of the repo for building the TFLite libraries. Should I switch to a release branch for building TFLite libraries?

Hi @rahul-exp Thanks for the information.
I have tried on MacOsS (13.2) with Bazel 5.3.0 and using master branch. I was able to succesfully generate libtensorflowlite_gpu_delegate.so file. Please find the screenshot below

I have tested on Ubuntu 20.04 with same config and found no issues.
Can you try bazel clean --expunge and try the same again.
This is my config for your reference

Thanks.

@pjpratik I get this error as well, can't build the GPU delegate.
Setup

bazel 5.3.0
Fresh clone of tensorflow
git checkout v2.13.0
run configure and use:

ANDROID_NDK_HOME="/home/yuval/android/android-ndk-r21e"
ANDROID_NDK_API_LEVEL="21"
ANDROID_BUILD_TOOLS_VERSION="33.0.0"
ANDROID_SDK_API_LEVEL="33"

Build
$ bazel build -c opt --config=android_arm64 //tensorflow/lite/delegates/gpu:libtensorflowlite_gpu_delegate.so

ERROR: /home/yuval/MyProjects/tensorflow/tensorflow/lite/delegates/gpu/BUILD:225:11: Compiling tensorflow/lite/delegates/gpu/delegate.cc failed: (Exit 1): clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -gcc-toolchain external/androidndk/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -target ... (remaining 192 arguments skipped)
tensorflow/lite/delegates/gpu/delegate.cc:786:7: error: use of undeclared identifier 'AHardwareBuffer_acquire'; did you mean 'AHardwareBuffer_Plane'?
      AHardwareBuffer_acquire(ahwb);
      ^
external/androidndk/ndk/sysroot/usr/include/android/hardware_buffer.h:320:3: note: 'AHardwareBuffer_Plane' declared here} AHardwareBuffer_Plane;
  ^
tensorflow/lite/delegates/gpu/delegate.cc:794:9: error: use of undeclared identifier 'AHardwareBuffer_release'; did you mean 'AHardwareBuffer_Plane'?
        AHardwareBuffer_release(b);
        ^
external/androidndk/ndk/sysroot/usr/include/android/hardware_buffer.h:320:3: note: 'AHardwareBuffer_Plane' declared here} AHardwareBuffer_Plane;
  ^
tensorflow/lite/delegates/gpu/delegate.cc:802:7: error: use of undeclared identifier 'AHardwareBuffer_describe'
      AHardwareBuffer_describe(uptr_ahwb.get(), &desc_ahwb);
      ^
tensorflow/lite/delegates/gpu/delegate.cc:1184:18: error: use of undeclared identifier 'AHardwareBuffer_lock'
          return AHardwareBuffer_lock(buffer, this->usage_, -1 /* fence */,
                 ^
tensorflow/lite/delegates/gpu/delegate.cc:1211:24: error: use of undeclared identifier 'AHardwareBuffer_unlock'
                return AHardwareBuffer_unlock(buffer, nullptr /* fence */);
                       ^
5 errors generated.

Hi @ValYouW, I encountered the same problem, did you solve it?

@colorjam No :(

@colorjam I'm back at it today and I was able to resolve the issue, you need to specify that the min NDK version to use is 26 (don't confuse it with ANDROID_SDK_API_LEVEL, which is what I did...).
I just set these env vars on my bashrc
export ANDROID_SDK_HOME="<path to where my android sdk is>"
export ANDROID_NDK_HOME="<my android sdk home>/android-ndk-r21e"
export ANDROID_NDK_API_LEVEL="26"
export ANDROID_BUILD_TOOLS_VERSION="34.0.0"
export ANDROID_SDK_API_LEVEL="34"


normalize line endings in test samples

Tests now pass on Windows

I guess I should reference the issue it solves: #52

hmm... I'm tempted to just hit "merge". But I'm skeptical that the apply method is the right place to fix up the line endings. I like my case classes to just be simple data containers. Can't we fix the line endings up at the place they are read from disk, keeping I/O concerns in one place?


Add instructions for redis dump to changelog

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

I also created a list of redis keys the bot currently uses
https://gist.github.com/RAnders00/b5dd8077f466b50571f83b17e86f9341
I guess some of these could be in the dump script as well?

adding the new redis keys and what-not to the redis dump script should probably be done after the next release


build: Add keys to sdist archive for tests

While packaging latest release for debian from pypi tarball
I noticed some tests' files were not shipped, let's add them.
Relate-to: https://github.com/theupdateframework/tuf/issues/263
Signed-off-by: Philippe Coval<EMAIL_ADDRESS>Please fill in the fields below to submit a pull request.  The more information
that is provided, the better.
Fixes #
Description of the changes being introduced by the pull request:
Please verify and check that the pull request fulfills the following
requirements:

[x] The code follows the Code Style Guidelines
[x] Tests have been added for the bug fix or new feature
[x] Docs have been added for the bug fix or new feature

Or an other strategy is to remove hardcoded keys and generate new ones at build time, is it possible ?
Cc: @joshuagl

If the keys have expiry dates, generating new ones at build time seems like the way to go.

Thanks for the patch, this change LGTM. I'm generally in favour of generating certificates and keys, but:

I'm not certain we can assume that the tests are being run on a system that can generate a certificate
we need to generate at test time, not build time, because we run these tests on developer's systems without having first "built" anything.


Descriptive Title

Descriptive Title
User Story
AS A marketing agency
I WANT a codebase that follows accessibility standards
SO THAT our own site is optimized for search engines
Acceptance Criteria
WHEN I view the title element
THEN I find a concise, descriptive title

Added Optimizing SEO


Can not connect to mongodb

On an ubuntu machine, I have modified config.js to
"Database": {
		"Type": "MongoDB",
		"Bolt": {
 			"Path": "gowebapp.db"
  		},
		"MongoDB": {
			"URL": "<IP_ADDRESS>",
			"Database": "gowebappdb"
		},

And I have created gowebappdb. However I get  this error at compile time:
database.go:98: MongoDB Driver Error write tcp <IP_ADDRESS>:34161-><IP_ADDRESS>:27017: i/o timeout
register.go:88: Database is unavailable.

Appreciate your hints.

Are you able to access the Mongo instance using the mongo shell? https://docs.mongodb.org/manual/reference/mongo-shell/

Yes. I created the db from mongo shell. It may worth mentioning that he web server is on port 8080, i.e. http://localhost:8080/register

Can you try connecting to mongo via the IP address?
This is the code used to connect to Mongo. Can you try increasing the socket timeout?
		// Connect to MongoDB
		if Mongo, err = mgo.DialWithTimeout(d.MongoDB.URL, 5); err != nil {
			log.Println("MongoDB Driver Error", err)
			return
		}

		// Prevents these errors: read tcp <IP_ADDRESS>:27017: i/o timeout
		Mongo.SetSocketTimeout(1 * time.Second)

		// Check if is alive
		if err = Mongo.Ping(); err != nil {
			log.Println("Database Error", err)
		}

Well I set the timeout to 1000 sec but still get this error:
database.go:98: MongoDB Driver Error write tcp <IP_ADDRESS>:35979-><IP_ADDRESS>:27017: i/o timeout

And yes, I can connect to mongodb from the IP:
me@pc:~/go/src/github.com/josephspurrier/gowebapp$ mongo --host 127.0.01   --verbose
MongoDB shell version: 3.2.5
connecting to: 127.0.01:27017/test
2016-04-21T04:08:35.398+0200 D NETWORK  [thread1] creating new connection to:127.0.01:27017
2016-04-21T04:08:35.398+0200 D COMMAND  [ConnectBG] BackgroundJob starting: ConnectBG
2016-04-21T04:08:35.398+0200 D NETWORK  [thread1] connected to server 127.0.01:27017 (<IP_ADDRESS>)
2016-04-21T04:08:35.398+0200 D NETWORK  [thread1] connected connection!
Server has startup warnings:
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten]
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten]
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten]
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten]
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-04-21T04:05:21.351+0200 I CONTROL  [initandlisten]
> show databases
gowebappdb  0.078GB
local       0.078GB
taskdb      0.078GB

Solved!
I changed
		if Mongo, err = mgo.DialWithTimeout(d.MongoDB.URL, 5); err != nil {
			log.Println("MongoDB Driver Error", err)
			return
		}

to
if Mongo, err = mgo.Dial("localhost"); err != nil {
log.Println("MongoDB Driver Error", err)
return
}
And now I can register users to the db.

Ah, it looks like the DialWithTimeout value of 5 is not seconds, it is nanoseconds. It should be set to 5000. Thanks, I'll update the code!

https://github.com/josephspurrier/gowebapp/commit/53a57574ad3deec6a4d887a4d5ab6d29f21a6498


⚠ Bofrost.es has degraded performance

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

HTTP code: 200
Response time: 1569 ms

Resolved: Bofrost.es performance has improved in e9d9e81 after 7 minutes.


Apply techniques from JCTools to reduce false and true sharing in StreamingMergeSortedGrouper

http://psy-lob-saw.blogspot.com.co/p/lock-free-queues.html, https://github.com/JCTools/JCTools

JCTools looks to provide several types of concurrent queues, but rows are stored in ByteBuffer in StreamingMergeSortedGrouper. How are you thinking to use the queues of JCTools for data StreamingMergeSortedGrouper? Does it provide an off-heap queue?

This is not about using the library, this is about applying the same techniques as used in that library to optimize StreamingMergeSortedGrouper.

Ok, it sounds good.


Improve API Reference in Core Component named A to C

Signed-off-by: Tomasz Szuba<EMAIL_ADDRESS>Hey, I just made a Pull Request!
Another API reference PR.
Making them small, so they are easier to review.
This time core-components package and components A-C.
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

I think I will make some more of those, and can make them more or less granular, as you prefer.
Didn't knew how to handle Chip component, as it only has a storybook, and is unchanged from material-ui

Thank you! 👍 🎉
I think this is a a good level of granularity
I realized something I missed in the last one and fixing up in #7384, this needs a changeset. Even though the microsite changes will be released without a changeset we ship the types and documentation of those in the published package, e.g. for editor popovers. So we want packages to be published too 😁

I will create a seperate PR with changeset for tech radar plugin


[resolves #439] Add support for CXF spring configuration

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/316/
Test PASSed.


Is there way to set selected Item in List Dialog?

I read the read me and sample project ...and most of the issues but i cant find a way to set selected item in normal list dialog(not Single Choice List) . I used setSelectedIndex but it didn't work
MaterialDialog pickupFloorDialog;
pickupFloorDialog.setSelectedIndex(1);
 pickupFloorDialog = new MaterialDialog.Builder(this)
              .items(floors)
              .itemsCallback(new MaterialDialog.ListCallback() {
                  @Override
                  public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
                      selectedPickupFloor=which;
                      lblPickupFloorSelector.setText(floors[which]);
                  }
              }).build();

That's currently not a function of this library.

If you need to change selector states, you can use a custom adapter to specify custom list item layouts. From there, you can use getListView() to modify selector states of list items.


Free For All Random Battles

Hello, i'm interested to free-for-all random battles json data. Will they be added in future?
Thank you

Sorry for the delay in responding to this - I wasn't 'Watching' this repo by default :(
I actually deliberately disabled multi random battle generation in https://github.com/pkmn/randbats/commit/24d2dda7deace59e303d703c5850475e8b2608e2 - the sets used in the multi formats are currently the same as gen8doublesrandombattle, with the exception that in multi you need to prune Ally Switch from any movepool that would otherwise have it. https://github.com/smogon/pokemon-showdown/blob/master/data/random-teams.ts#L1706. This is also the same reason monotype "isn't supported" - the sets are the same as singles just all one type. If and when FFA/multi battles have different sets I'll add support for it. Cheers.

Thank you a lot :)


fix adjust case if running on muti BEs

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Change background color, outside chart

When trying to change the background color by passing the matplotlib fig, the background inside the axes is changed but outside isn't.

Can you post the code that you used to create this? This may have to do with how matplotlib requires its users to use the current background color even if its already set when saving.

Just fixed this. I needed to add savefig_kwargs in the animation.save method. Thank you for reporting the issue!

Hi is there a chance that I can see the code that changes the background color I tried to use fig= parameter but I wasn't quite able to figure it out

Same as @ahmetakil, anyone can help to tell an example to set the background color (inside, not outside)? Thanks.

Same as @ahmetakil, anyone can help to tell an example to set the background color (inside, not outside)? Thanks.


Allow selection of i2c bus for older (rev 1) Pi

Extend init method with default bus number and set in the init method.
A very simple change that is backwards compatible. I am grateful to you for writing the code but had to alter it to run on a rev 1 Pi. This update should allow all versions to run.

Thank you very much for this small update, I'm very glad to hear that you found the code useful. As you can see I've merged your minor change. Thank you for it, the first revision of the Raspberry Pi is almost always overlooked while developing for the Raspberry Pi.


Allow suppressing tree leaves

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (3591470) 82.74% compared to head (b4c6272) 82.80%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #139      +/-   ##
==========================================
+ Coverage   82.74%   82.80%   +0.05%
==========================================
  Files         120      120
  Lines        9181     9229      +48
==========================================
+ Hits         7597     7642      +45
- Misses       1584     1587       +3

Flag
Coverage Δ

unittests
82.80% <100.00%> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add topics to leap metadata

Another small step towards exercism/xocaml#46

@dcorking Thanks for your contributions!


WIP: Auto invalidate cache

The PR brings a way to provide via web-api a consistent data only
Igor Kononenko (3):
core: fix: avoid excessive dbus-requests
core: entity: add a way to invalidate cache
entity: fix RebootRemainingProvider query.

By testing process were found issues of optional interfaces of several dbus-object, that brings negative impact on the invalidate caches feature.
It is required to add a mechanism to mark that some interfaces defined via IQuery endpoint configuration may be optional and their may be absent on dbus.


Using this cookbook in Amazon Linux

Hi there,
I'd like to use this cookbook to add the IUS repo in an Amazon Linux 2015.03 so I can install the python33 package offered by IUS. I'm aware that the version of Amazon Linux I'm using adds a python34 package but for now I'd like to stick with Python 3.3.x as a precaution for the compatibility of my app.
Anyway, if I just add include_recipe "yum-ius::default" to my recipe, the Chef run fails with the following output:
[2015-05-21T11:34:14-04:00] ERROR: yum_repository[ius] (yum-ius::default line 36) had an error: Mixlib::ShellOut::ShellCommandFailed: execute[yum-makecache-ius] (/var/chef/cache/cookbooks/yum/providers/repository.rb line 55) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of yum -q makecache --disablerepo=* --enablerepo=ius ----
STDOUT:
STDERR: One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: ius
---- End output of yum -q makecache --disablerepo=* --enablerepo=ius ----
Ran yum -q makecache --disablerepo=* --enablerepo=ius returned 1

FWIW, the /etc/yum.repos.d/ius.repo file does get created:
% cat ius.repo
# This file was generated by Chef
# Do NOT modify this file by hand.

[ius]
name=Ye Ole Rpm Repo
enabled=1
failovermethod=priority
gpgcheck=1
gpgkey=http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY
sslverify=true

I'm guessing that the failure has to do with the ius.repo file missing a mirrorlist= line, but I only have vague theories as to why that is -- perhaps it's the IUS repo itself that's unable to support Amazon Linux, so the failure isn't really this cookbook's fault.
So anyway, I wanted to ask if that's actually expected, i.e. if Amazon Linux is basically unsupported for one reason or another. If so, that's fine -- just wanted to see if anyone knew anything about this.

I'm pretty sure it's because in [your_chef_root]/cookbooks/yum-ius/ius.rb there are these lines:
case node['platform']
when 'redhat'
case node['platform_version'].to_i
when 5
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-el5&arch=$basearch&protocol=http'
when 6
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-el6&arch=$basearch&protocol=http'
when 7
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-el7&arch=$basearch&protocol=http'
end
else
case node['platform_version'].to_i
when 5
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-centos5&arch=$basearch&protocol=http'
when 6
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-centos6&arch=$basearch&protocol=http'
when 7
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-centos7&arch=$basearch&protocol=http'
end
end
I believe Amazon Linux == 2015 (when using to_i), and hence the mirrorlist never gets added.
I think you can create an attribute like:
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-centos6&arch=$basearch&protocol=http'
so it will be defined.  Also, I've had to run (as mentioned by the chef README markdown file):
sudo yum clean metadata
Hope this helps.

sorry typo the attribute added should be el6 like:
default['yum']['ius']['mirrorlist'] = 'https://mirrors.iuscommunity.org/mirrorlist/?repo=ius-el6&arch=$basearch&protocol=http'

Thanks for the reply :) I'm past the point of caring now since I'm no longer using AWS or the IUS repo but hopefully this'll be useful to someone.

It doesn't appear the iUS support Amazon natively.  If someone wants to attempt to add it to this cookbook thats fine, but I wouldn't consider it a bug at the moment since upstream isn't supporting it.


How to send QDM negations

I do not see any references in the IG to QDM negations. Several eCQMs use negations in their measure logic. How are we expected to send those over FHIR for UDS+?
Can you provide some examples of how to send a negation on the appropriate resource pages of the IG?
Here are the UDS measures that use negations, as well as which QDM templates and FHIR resources are used:
Table 6B Line 13

Intervention, Order = Service Request
Intervention, Performed = Procedure
Medication, Order = Medication Request
Physical Exam, Performed = Lab Observation
Table 6B Line 17A
Medication, Order = Medication Request
Table 6B Line 21
Assessment, Performed = Lab Observation

Anthony, there is a gap in the IG on some of the negations, this will be addressed in the next version.

Great, thanks!
I just want to document here that we can use the statusReason element on the Procedure resource for negations.
The rest of the resources do not seem to have a way of documenting the negation, so I'll check back when the next version of the IG comes out.


"STRICT" is not a valid value for "--dependency_mode"

make index-en   or   make en
mkdir -p appengine/generated/en/
java -jar third-party-downloads/SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --isUsingIjData --outputPathFormat appengine/index/generated/en/soy.js --srcs appengine/index/template.soy
python build-app.py index en
Scanning for Blockly messages in index...
"STRICT" is not a valid value for "--dependency_mode"
Sample usage: --compilation_level (-O) VAL --externs VAL --js VAL --js_output_file VAL --warning_level (-W) [QUIET | DEFAULT | VERBOSE]
Run with --help for all options and details
Compressed to 0 KB.
Found 0 Blockly messages.
Compiling Index - en
third-party-downloads/build/closurebuilder.py: Scanning paths...
"STRICT" is not a valid value for "--dependency_mode"
Sample usage: --compilation_level (-O) VAL --externs VAL --js VAL --js_output_file VAL --warning_level (-W) [QUIET | DEFAULT | VERBOSE]
Run with --help for all options and details
Compressed to 0 KB.
third-party-downloads/build/closurebuilder.py: 742 sources scanned.
third-party-downloads/build/closurebuilder.py: Building dependency tree..
Traceback (most recent call last):
File "third-party-downloads/build/closurebuilder.py", line 293, in
main()
File "third-party-downloads/build/closurebuilder.py", line 253, in main
out.writelines([js_source.GetPath() + '\n' for js_source in deps])
TypeError: a bytes-like object is required, not 'str'
Found 0 dependencies.

Wonderful, the API for Closure Compiler has changed.  Yet its documentation has not:
https://github.com/google/closure-compiler/wiki/Managing-Dependencies#using---dependency_mode-to-drop-unreferenced-files
As a temporary work-around, you can comment out line 217 of build-app.py.

I've changed STRICT to PRUNE since that seems to work.  But there is no documentation about what PRUNE does, so I'm going to leave this bug open until Closure Compiler addresses their documentation issue.

thanks. fixed.

I want to keep this issue open until we actually know what PRUNE means.  It's probably right, but without any documentation from Closure it's just a wild guess.  The correct option might be PRUNE_LEGACY, whatever that is.  We just don't know.

Closure Compiler confirms that PRUNE is correct and have updated their docs.


Highlight audit commands during output

This makes it a bit easier for a novice to figure out what to copy-paste into their terminal.

r? @mystor


Update simplesamlphp/simplesamlphp for security issue

Does not affect us, just to silence checkers.

Merging this one, but I'm working on another fix to upgrade symfony.


Adding Starboard to the addons

Adding the starboard operator to the microk8s addons
https://github.com/aquasecurity/starboard
Thank you for making MicroK8s better
Please reference the issue this PR is fixing, or provide a description of the problem addressed.
Also verify you have:

[x] Read the contributions page.
[x] Submitted the CLA form, if you are a first time contributor.

This looks very interesting!

Can you please sign the CLA and fix the formatting in the Python tests (using black)?

Hi @AnaisUrlichs have you signed the CLA agreement? The test is failing but I see you have checked the box on your PR. I wonder if this is an issue with the CLA checker.

I think it's an issue with my GH account/email


Upgrade faraday dependency to version 2.0

Hi @ashkan18! Please take a look.

@ashkan18 sure, I'll update the CHANGELOG file. Sorry for disabling danger. It was dependent on faraday 1 somewhere deep in the dependency tree, I couldn't fix it easily and left a TODO comment to reenable danger.


CFA should consider branch flags

This is a suggestion to improve the CFA. It would be good if TypeScript considered branch flags when analysing code paths.
function f() {
    let text: string;
    let hasTakenVerySpecificBranch = false;
    if (0.5 < Math.random()) {
        if (0.5 < Math.random()) {
            if (0.5 < Math.random()) {
                hasTakenVerySpecificBranch = true;
                text = '';
            }
        }
    }
    if (!hasTakenVerySpecificBranch) {
        text = ''
    }
    console.log(text); // Error 'text' is used before assigned.
}

We assign text on all possible code paths above. And it shouldn't error above.
A branch flag is simply a boolean variable that is considered when doing the control flow analysis.

Unless there's some simple way to do this that I'm missing, it seems almost incredibly complex to track all the possible interactions of variables as the function runs.

Maybe you are thinking about a more generic case of taking into consideration all variable assignment types?
I was thinking about just :

Mark variables that is initialized to false as candidates for branch flags.
Detect true assignment branches.
Check if there is catch-all-but-true branch. (if (!hasTakenVerySpecificBranch))
If and only if a variable is assigned on catch-all-but-true and all true branches then narrow the types to the corresponding assigned types.

I detected 3 places in my code that could benefit from this. The workaround I do right now is to define the variable as string | undefined and use the non-null assertion operator everywhere. This can get ugly quickly if you use the variable in a lot of places.
I think the pattern of using branch flags is quite common. The variable hasTakenVerySpecificBranch  is really part of the control flow like the if, else if and else statements are and should be treated equally in CFA.

Hmm, after thinking about it a bit, a branch flag can have have more values than just two:

const enum Animal {
    Unknown,
    Cow,
    Pig,
    Chicken,
}

interface IAnimal {
    type: Animal;
    age: number;
    sound: string;
    legs: 2 | 4;
}

function detectAnimal(sound: string, age: number): IAnimal {
    let type = Animal.Unknown;
    let legs: 2 | 4;
    if (age > 1) {
        if (sound === 'quack quack') {
            type = Animal.Chicken;
            legs = 2;
        }
        if (sound === 'nöff nöff') {
            type = Animal.Pig;
            legs = 4;
        }
    }
    else {
        throw new Error('Animals do not make sound at age lower than 1.');
    }
    if (type !== Animal.Chicken && type !== Animal.Pig) {
        legs = 4;
    }
    return {
        type,
        age,
        sound,
        legs, // Error 'legs' is used before assigned.
    }
}

I could probably put up a more detailed proposal.

This could be useful for the following cases:
const condition = true; // <-- can be obtained differently, the point is that it's a constant
let message: string;

if (condition) message = 'hello';

// Some shared code that runs independently of condition

if (condition) console.log(message); // <--- this gives error "message is not defined"


Memory issue on OS X Sierra

I tested the construction of the bacterial index on a Laptop with OS X Sierra and 16 GB RAM. Most of the steps are fine and fit well in the memory, except "CONSTRUCTING SA + KLCP IN PARALLEL". We should check again if its memory consumption has not increased since our last big tests due to some memory leaks.
Also, this error might be a consequence of something else than a lack of memory.
Btw. we also have to consider OS memory requirements. It might be possible that the basic memory footprint of Sierra is too big. @salikhov-kamil @simonepignotti  Do you have any possibility to test it on a laptop with Linux with 16 GB RAM?
[prophyle] 2017-04-11 15:10:59 Downloading started
[prophyle] 2017-04-11 15:10:59 Running: mkdir -p /Users/karel/prophyle/bacteria
[prophyle] 2017-04-11 15:10:59 Finished: mkdir -p /Users/karel/prophyle/bacteria
[prophyle] 2017-04-11 15:10:59 Checking library 'bacteria' in '/Users/karel/prophyle/bacteria'
[prophyle] 2017-04-11 15:10:59 Downloading library '/Users/karel/prophyle'
[prophyle] 2017-04-11 15:10:59 Copying Newick/NHX tree '/Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/trees/bacteria.nw' to '/Users/karel/prophyle/bacteria/../bacteria.nw'
[prophyle] 2017-04-11 15:10:59 Copying Newick/NHX tree '/Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/trees/test_bacteria.nw' to '/Users/karel/prophyle/bacteria/../test_bacteria.nw'
[prophyle] 2017-04-11 15:10:59 Running: cd /Users/karel/prophyle/bacteria && curl https://ftp.ncbi.nlm.nih.gov/genomes/archive/old_refseq/Bacteria/all.fna.tar.gz | tar xz
[prophyle] 2017-04-11 15:13:22 Finished: cd /Users/karel/prophyle/bacteria && curl https://ftp.ncbi.nlm.nih.gov/genomes/archive/old_refseq/Bacteria/all.fna.tar.gz | tar xz
[prophyle] 2017-04-11 15:13:22 Downloading finished
[prophyle] 2017-04-11 15:13:23 Index construction started
[prophyle] 2017-04-11 15:13:23 Binaries are missing, going to compile them
[prophyle] 2017-04-11 15:13:23 Running: make -C /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle
[prophyle] 2017-04-11 15:13:36 Finished: make -C /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle
[prophyle] 2017-04-11 15:13:36 Running: mkdir -p index_bacteria
[prophyle] 2017-04-11 15:13:36 Finished: mkdir -p index_bacteria
[prophyle] 2017-04-11 15:13:36 [1/5] COPYING/MERGING TREES
[prophyle] 2017-04-11 15:13:36 Generating index tree
[prophyle] 2017-04-11 15:13:36 Running: prophyle_merge_trees.py /Users/karel/prophyle/bacteria.nw index_bacteria/tree.nw
[prophyle] 2017-04-11 15:13:38 Finished: prophyle_merge_trees.py /Users/karel/prophyle/bacteria.nw index_bacteria/tree.nw
[prophyle] 2017-04-11 15:13:38 [2/5] RUNNING K-MER PROPAGATION
[prophyle] 2017-04-11 15:13:38 Creating Makefile for k-mer propagation
[prophyle] 2017-04-11 15:13:38 Running: mkdir -p index_bacteria/propagation
[prophyle] 2017-04-11 15:13:38 Finished: mkdir -p index_bacteria/propagation
[prophyle] 2017-04-11 15:13:38 Running: prophyle_propagation_makefile.py -n index_bacteria/tree.nw -k 31 -o ./ -l /Users/karel/prophyle
[prophyle] 2017-04-11 15:13:39 Finished: prophyle_propagation_makefile.py -n index_bacteria/tree.nw -k 31 -o ./ -l /Users/karel/prophyle
[prophyle] 2017-04-11 15:13:39 Running k-mer propagation
[prophyle] 2017-04-11 15:13:39 Running: make -j 4 -C index_bacteria/propagation V=1 PRG_ASM=/Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_assembler/prophyle_assembler
[prophyle] 2017-04-11 17:06:11 Finished: make -j 4 -C index_bacteria/propagation V=1 PRG_ASM=/Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_assembler/prophyle_assembler
[prophyle] 2017-04-11 17:06:11 Generating index.fa
[prophyle] 2017-04-11 17:06:11 Running: prophyle_merge_fa.py index_bacteria/propagation
[prophyle] 2017-04-11 17:11:13 Finished: prophyle_merge_fa.py index_bacteria/propagation
[prophyle] 2017-04-11 17:11:13 [3/5] CONSTRUCTING BWT+OCC
[prophyle] 2017-04-11 17:11:13 Generating packed FASTA file
[prophyle] 2017-04-11 17:11:13 Running: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/bwa/bwa fa2pac index_bacteria/index.fa index_bacteria/index.fa
[prophyle] 2017-04-11 17:12:47 Finished: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/bwa/bwa fa2pac index_bacteria/index.fa index_bacteria/index.fa
[prophyle] 2017-04-11 17:12:47 Generating BWT
[prophyle] 2017-04-11 17:12:47 Running: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/bwa/bwa pac2bwtgen index_bacteria/index.fa.pac index_bacteria/index.fa.bwt
[prophyle] 2017-04-11 19:53:52 Finished: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/bwa/bwa pac2bwtgen index_bacteria/index.fa.pac index_bacteria/index.fa.bwt
[prophyle] 2017-04-11 19:53:52 Generating sampled OCC array
[prophyle] 2017-04-11 19:53:52 Running: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/bwa/bwa bwtupdate index_bacteria/index.fa.bwt
[prophyle] 2017-04-11 19:55:12 Finished: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/bwa/bwa bwtupdate index_bacteria/index.fa.bwt
[prophyle] 2017-04-11 19:55:12 [4/5],[5/5] CONSTRUCTING SA + KLCP IN PARALLEL
[prophyle] 2017-04-11 19:55:12 Generating k-LCP array and SA in parallel
[prophyle] 2017-04-11 19:55:12 Running: /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/prophyle_index build -s -k 31 index_bacteria/index.fa
[prophyle] 2017-04-11 21:09:33 Unfinished, an error occurred (error code -9): /Users/karel/miniconda/envs/q/lib/python3.5/site-packages/prophyle/prophyle_index/prophyle_index build -s -k 31 index_bacteria/index.fa

Karel, I am thinking that this could also be due to the few hundred sequences added in the new trees (the ones I didn't find a TaxID for before). BTW, how much free memory do you have when your laptop is idle?


Update LBD type constructor

Summary
Function NewLBD specified the network to Cashew (LBD testnet).
So it gonna fixed to 2 type of constructor, NewCashew and NewDaphne.
Breaking change

Function NewLBD interface has changed

We should use NewCashew or NewDaphne to create LBD instance instead.

Thank you for your contribution!


Request: extend SPIRV-Cross to accept OpenCL dialect of SPIR-V..

Hi,
just seeing IWOCL 2019 keynote presentation slides:(https://www.khronos.org/assets/uploads/developers/library/2019-iwocl/IWOCL Keynote May19.pdf)
https://www.khronos.org/developers/library/2019-iwocl
in page 31 we see talks about possible plans for "OpenCL portability initiative on Apple":

i.e. a OpenCL->Metal shim as Neil mentions that OpenCL maps to Metal better than to Vulkan (for CL->Vulkan we have clvk in progress) and with Apple deprecated OpenCL support maybe of interest..
for that, the slide mentions "SPIR-V Cross would need to be expanded to handle OpenCL dialect of SPIR-V) so just asking here..
I don't know why he doesn't mention using also clspv project which already maps OpenCL C source to SPIR-V Vulkan dialect..
Maybe because project is not mature enough or because maybe because is not enough as OpenCL 2.1 allows feeding directly SPIR-V OpenCL "binary" kernels for which clspv is of not use..
sorry, just random thoughts.. :-)

SPIRV-Cross as-is does not support the "Kernel" execution mode as it supports various things which are impossible to express in GLSL/HLSL and I think MSL, non-structured control flow (goto) for one. I don't know what the scope of adding this is, and I have no plans to look into it until something materializes.

Any news on this? We are currently looking at producing SPIR-V Kernel for Intel and were hoping to re-use some of that work by using SPIR-V Cross to compile to MSL. The idea was mentioned in one of the last presentations https://images.anandtech.com/doci/15746/OpenCL 30 Press Deck_20.png

Kernel is fundamentally incompatible with high level languages, since it supports unstructured control-flow. A subset of Kernel which uses structured control flow may or may not work, but this is not a priority for me any time soon.

fwiw: https://github.com/google/clspv

Hi, on this diagram from https://www.khronos.org/spir/, it looks like there's a path from: OpenCL C -> Clang -> LLVM -> SPIR-V LLVM IR Translator -> SPIR-V Tools -> SPIRV-Cross -> Metal Shading Language.
Is it possible to go from OpenCL to Metal via SPIRV-Cross, or am I misreading the diagram?

SPIRV-Tools is marked with a red arrow to SPIRV-Cross, i.e. Shading model, not Kernel. OpenCL SPIR-V is not supported.


TypeError: unsupported operand type(s) for |: 'type' and '_GenericAlias'

Description
I encountered an error while trying to execute the twc command in the terminal. I installed twc using pip3.
Error Traceback
Traceback (most recent call last):
  File "/Users/igroza/Library/Python/3.9/bin/twc", line 5, in <module>
    from twc.__main__ import cli
  File "/Users/igroza/Library/Python/3.9/lib/python/site-packages/twc/__init__.py", line 5, in <module>
    from .api import TimewebCloud
  File "/Users/igroza/Library/Python/3.9/lib/python/site-packages/twc/api/__init__.py", line 3, in <module>
    from .client import TimewebCloud
  File "/Users/igroza/Library/Python/3.9/lib/python/site-packages/twc/api/client.py", line 8, in <module>
    from .base import TimewebCloudBase
  File "/Users/igroza/Library/Python/3.9/lib/python/site-packages/twc/api/base.py", line 10, in <module>
    from . import exceptions as exc
  File "/Users/igroza/Library/Python/3.9/lib/python/site-packages/twc/api/exceptions.py", line 9, in <module>
    class ErrResponse:
  File "/Users/igroza/Library/Python/3.9/lib/python/site-packages/twc/api/exceptions.py", line 16, in ErrResponse
    message: str | List[str] = None,
TypeError: unsupported operand type(s) for |: 'type' and '_GenericAlias'

Environment
pip: 23.1.2
Python: 3.9.6
Operating System: Mac OS 13.3.1
Processor: Apple M1
Please help me resolve this issue. Thank you!

Thanks for the detailed report! Bug fixed in version 2.0.1. Please update:
pip3 install --update twc-cli


Anyone else getting 'too many 500 error responses'

Wondering if anybody else is getting a similar error:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.ticktick.com', port=443): Max retries exceeded with url: /api/v2/user/signin?wc=True&remember=True (Caused by ResponseError('too many 500 error responses'))
I had this over a year ago and it was some server side anti-fraud measure that eventually went away. But I've left it for days this time and it doesn't seem to be going away. If people are also experiencing this I can provide more troubleshooting I've done otherwise if there are still people using this successfully please let me know and it's surely an issue just on my end somehow.
Cheers!

Hey @btw04 sorry to ping you here but you're the last person I can see active using this. I wonder if you're still using it succesfully with the unofficial API endpoints or maybe they have blocked access?

Same here.  @btw04's fix appears to work (so far).
I also wanted to add that I'm seeing some issues with the app on my Android phone.  It doesn't appear to be syncing with the online app, and I'm getting some errors indicating that it's failing to communicate with the server.  So it's possible that they changed something in their server and it's also affecting the Android app.

Thank you @btw04 fix appears to work so far, for me too! Thank you for your work on this package for those of us less acquainted with APIs.
For anyone interested, I found it easiest to implement this with
`USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0"
X_DEVICE_ = '{"platform":"web","os":"OS X","device":"Firefox 95.0","name":"unofficial api!","version":4531,'
'"id":"6490' + secrets.token_hex(10) + '","channel":"website","campaign":"","websocket":""}'
TickTickClient.HEADERS = {'User-Agent': USER_AGENT,
'x-device': X_DEVICE_}`
After:
from ticktick.oauth2 import OAuth2  # OAuth2 Manager from ticktick.api import TickTickClient  # Main Interface
But before initialising the client, so that I could deploy my script without having to directly edit the installed package, but I'm not a python expert so please disregard if this is a poor way to perform this.
Closing issue accordingly.


Generating valid C-CDA

I am doing some FHIR -> CCDA transformation work and I thought this project might be a good source of test data.
Unfortunately, when I ran the sample CCDA output through a validator (e.g. the one at https://sitenv.org/sandbox-ccda/ccda-validator), it pointed to a number of issues.
ERROR: Mu2consol US Realm Header SHALL contain at least one [1..*] recordTarget, where its type is Record Target each SHALL contain exactly one [1..1] patientRole, where  patient Role SHALL contain exactly one [1..1] patient, where  patient SHALL contain exactly one [1..1] ethnicGroupCode, where the @code SHALL be selected from OMB Standards for the Classification of Federal Data on Race and Ethnicity.
ERROR: Consol US Realm Header SHALL contain at least one [1..*] author, where its type is Author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where  (CONF:5448) each SHALL contain at least one [1..*] addr (CONF:5452, R2.1=CONF:1198-5452) addr SHALL contain at least one and not more than 4 streetAddressLine (CONF:7291, R2.1=CONF:81-7291)
ERROR: Consol US Realm Header SHALL contain at least one [1..*] author, where its type is Author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where  (CONF:5448) each SHALL contain at least one [1..*] addr (CONF:5452, R2.1=CONF:1198-5452) addr SHALL contain exactly one [1..1] city (CONF:7292, R2.1=CONF:81-7292)
...

Any plans to address those?  Or maybe I'm missing something?

CCDA is not my strong suit (so I'm probably the one missing something), and CCDA is not a big priority at the moment.
That being said, I'd love to take a pull request on those changes to fix your issue and CCDAs.

Which options did you use when you ran the ccda-validator?

@lmsurpre I think I fixed this issue by updating the health-data-standards dependency. Care to verify by updating, generating a CCDA, and validating? I ran a few dozen records through the validator, and I didn't run into any errors.

I thought he was talking about FHIR -> C-CDA conversion (which I think is tricky because there's some missing information once converted to FHIR from what I'm lead to believe...in other words going back is harder).
If we're talking about the current C-CDA output, there's a few things I've noted. More than just the header section, there's some missing things. So while it may be "valid" in a sense, it's missing some key things. For example <code> elements contain nullFlavor in them so most systems will ignore all of the <translation> elements underneath. I've been trying to figure out how to set the preferred_code that the health-data-standards seems to use, but couldn't figure it out. That would be nice.
If you'd like I can raise more issues with C-CDA related things, but after reading this I just didn't know if it was worthwhile or if it was a real priority for the project. So I basically held off.

I'll also note this tool here (in Node.js), which has worked ok with some modifications. https://github.com/amida-tech/fhir2ccda  ... Not perfect though. Lots of validation errors. The date format is incorrect for starters. Though it generates quite a bit of XML from the FHIR JSON. Might be a good starting point, although it's not in Ruby.

@tmaiaroto I assumed he was talking about our C-CDA output... not converting our FHIR JSON output into C-CDA.
The health-data-standards project outputs C-CDA based on templates, and not everything can be changed using the API... at least not without editing the templates.
I consider myself a C-CDA newbie. I am much more familiar with FHIR. We output the C-CDA format because people have asked for it and it is in broad use in the industry. I personally don't have a use for it, but as long as the community wants C-CDA support we'll try to maintain it.

Yeah, my particular use case is FHIR-to-CCDA but Jason is right; my intent is that this issue be focused on the output of the synthea tool.
@jawalonoski I will try out the changes soon, thanks for doing that!
@tmaiaroto Even if its not a priority for Jason, I'd suggest opening an issue for outstanding issues you see with the C-CDA. There may be others in the community with an interest in C-CDA that might be able to pitch in.

OK, I got around to testing it.  This update is way better, but I'm still seeing a few validation issues.
The first one I validated on SITE had no errors, but the second one I tried had 4 instances of this issue:
Document Xpath: /ClinicalDocument/component/structuredBody/component[7]/section/entry/organizer/component[27]/observation```

Additionally, when I run them against the latest version of the mdht validator (https://github.com/mdht/mdht-models), I get the following two errors on every instance:

ERROR: Mu2consol US Realm Header SHALL have at least one documentationOf/serviceEvent/performer OR have at least one componentOf/encompassingEncounter/responsibleParty OR have at least one componentOf/encompassingEncounter/encounterParticipant

ERROR: Mu2consol US Realm Header SHALL contain at least one [1..] recordTarget, where its type is Record Target each SHALL contain exactly one [1..1] patientRole, where  patient Role SHALL contain exactly one [1..1] patient, where  each SHOULD contain zero or more [0..] languageCommunication, where  languageCommunication languageCode SHALL be selected from ValueSet LanguageCode STATIC where the @code SHALL be selected from the set of alpha-3 codes of ISO 639-2 that are in ISO 639-1

Not sure why the SITE validator doesn't complain about those...

Blah. OK. I'll take a look at these in the next few days.

For the two MDHT-reported issues, I'm guessing those are more about the templateIds you claim to conform to than any particular data issue.  If you intend Synthea to produce C-CDA 2.1 (which I think should be the target), then I think you're supposed to include an extension on the templateIds.
Example:
  <templateId root="2.16.840.1.1138<IP_ADDRESS>.1.2" extension="2015-08-01"/>
  <templateId root="2.16.840.1.1138<IP_ADDRESS>.1.1"/>
  <templateId root="2.16.840.1.1138<IP_ADDRESS>.1.1" extension="2015-08-01"/>

Is there a command-line way to run the mdht validator? I don't really want to have to write a whole bunch of Java code to validate the files...
I haven't been able to recreate these errors yet, I'm guessing I'm going to have to generate a lot of records and bulk validate them to find deep corner-cases.

Re: SITE errors, I'm not sure if it will help but here is the synthea-generated file that had those errors:
Grady280_Lovie57_57.xml.zip
I checked about 15 more just now and confirm than none of the others had this...
Re: MDHT, Unfortunately not, but you shouldn't need to write a bunch of java code to validate.  You should be able to download the latest release from https://github.com/mdht/mdht-models/ and write a main class that calls the validator (http://www.cdatools.com/docs/developeruserguide/org.openhealthtools.mdht.cda.doc.developerguide/tasks/t_Validate_CDA.html).  I understand if its not a priority.

In case it helps, I just pushed a 1-class project that will invoke the MDHT validator on a directory of files:  https://github.com/lmsurpre/mdht-validator
The only part I forgot to mention above is that you need to load the MDHT EMF "packages" before calling the validator.

@lmsurpre Made a bunch of changes for R2.1 upstream in health-data-standards. Generated and successfully validated a few thousand patients with https://github.com/lmsurpre/mdht-validator. Can you confirm and close this issue if you are satisfied?

I confirm that with these updates, the generated files are passing validation. I don't have the power to close the issue, but please do. Thanks!


Issue with Spotify playlists causing error

TypeError: Cannot read properties of undefined (reading 'items')
i get this error

Can you provide some more details please, such as:

What command you are trying to run
The playlist you are trying to play

i am trying to play a spotify playlist with the /play command

It appears that this issue is not due to Melody's code, but rather the package that it relys on. Whilst I can't roll out any fix to the bot's code, you can change the package code on your own instance to resolve this issue until it is fixed by the discord-player developers.
To do this, open /node_modules/discord-player/dist/Player.js and scroll to around line 430, where you should see a block of code with the following:
else {
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    playlist.tracks = spotifyPlaylist.tracks.items.map((m) => {
        const data = new Track_1.default(this, {
            title: m.track.name ?? "",
            description: m.track.description ?? "",
            author: m.track.artists?.[0]?.name ?? "Unknown Artist",
            url: m.track.external_urls?.spotify ?? query,
            thumbnail: m.track.album?.images?.[0]?.url ?? "https://www.scdn.co/i/_global/twitter_card-default.jpg",
            duration: Util_1.Util.buildTimeCode(Util_1.Util.parseMS(m.track.duration_ms)),
            views: 0,
            requestedBy: options.requestedBy,
            playlist,
            source: "spotify"
        });
        return data;
    });
}

Please replace the code above, and only the code above, with the following code:
else {
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    playlist.tracks = spotifyPlaylist.trackList.map((m) => {
        const data = new Track_1.default(this, {
            title: m.title ?? "",
            description: m.description ?? "",
            author: m.subtitle ?? "Unknown Artist",
            url: m.external_urls?.spotify ?? query,
            thumbnail: m.album?.images?.[0]?.url ?? "https://www.scdn.co/i/_global/twitter_card-default.jpg",
            duration: Util_1.Util.buildTimeCode(Util_1.Util.parseMS(m.duration)),
            views: 0,
            requestedBy: options.requestedBy,
            playlist,
            source: "spotify"
        });
        return data;
    });
}

This should fix your issue until an update is rolled out by the discord-player developers.
If you require anymore help, please feel free to ask! Hope this helps!

thank you <3

if im hosting my bot online how do i change it?

if im hosting my bot online how do i change it?

Most hosting companies should give you access to a web file manager or SFTP where you can access the node_modules folder, and follow the same method. If your hosting company doesn't allow you to do this, then you should probably switch to another.

I use fly.io for hosting

I use fly.io for hosting

How did you install Melody on fly.io?
I've never used them, but if you have SSH access, you can use the cd node_modules/discord-player/dist command to get into the discord-player folder, then you can nano Player.js to edit the file.

It is hosted via cli
On Fri, Dec 30, 2022, 6:24 PM techy @.***> wrote:

I use fly.io for hosting
How did you install Melody on fly.io?
I've never used them, but if you have SSH access, you can use the cd
node_modules/discord-player/dist command to get into the discord-player
folder, then you can nano Player.js to edit the file.
—
Reply to this email directly, view it on GitHub
https://github.com/NerdyTechy/Melody/issues/22#issuecomment-1367904177,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY5TADQ755V566C3GHPDY33WP3LQ3ANCNFSM6AAAAAATGZW3RU
.
You are receiving this because you authored the thread.Message ID:
@.***>

It is hosted via cli

I actually do recommend fly.io their pricing is not that pricy and good performance

This issue has been fixed in version 5.4.0 of discord-player.


Bump most dev dependencies

Bumps eslint, prettier, and typescript, along with associated configs. ESLint has a new config format, which I've migrated to.
Newer versions of typescript-eslint and TypeScript seem to have more lints--I've disabled some and manually ignored others.
Prettier v3 is async, so we can't use it in toLeopard. Instead, we continue using v2 there but use v3 for the codebase itself.

Once this is merged, perhaps it's time for an sb-edit release on npm?

Would in effect involve publishing #122 (affects users), #147 (no affect on users), and this PR ("no" affect on users but good for maintenance). Means saving #150 (affects users) til next - no problem here. This set sounds reasonable to us - good to have compatibility fixes available sooner than later.
Filed #156 for some discussion about a 1.0.0 release in particular, somewhat related to these changes.


Pybossa setup & config documentation

Create a documentation on how to set up and configure pybossa to work with the object service.

Finished?


gdown in colab gives access denied error

Trying to run download.ipynb in colab, I get the following error:
Access denied with the following error:

 	Too many users have viewed or downloaded this file recently. Please
	try accessing the file again later. If the file you are trying to
	access is particularly large or is shared with many people, it may
	take up to 24 hours to be able to view or download the file. If you
	still can't access a file after 24 hours, contact your domain
	administrator.

You may still be able to access the file from the browser:

	 https://drive.google.com/uc?id=1zmylV7XW2dfQVCLeg1LbllfQtHD2KUon

I tried
!pip install --upgrade --no-cache-dir gdown --pre
print(gdown.__version__) # 4.6.0

As an alternative to
file_id_map = dict(zip(file_ids['name'].values, file_ids['id'].values))

def download_by_name(fname, output=None, quiet=False):
    if fname in file_id_map:
        url = 'https://drive.google.com/uc?id='+file_id_map[fname]
        gdown.download(url, output=output, quiet=quiet)
    else:
        print(f'The file: {fname} can not be found!')

I tried to use a single line command !gdown 'https://drive.google.com/uc?id=1zmylV7XW2dfQVCLeg1LbllfQtHD2KUon', but still the same error!
Is there more efficient way to obtain data in colab than manually download them and put them in working directory?
cheers,

Hi @mrgransky closing this issue as we've moved the datasets from gdrive and updated the download links, thus gdown package is no longer needed here. Please see our dataset webpage for details. Thanks!


ci: report new dependencies on pull requests

This PR updates the docs project with a ci step recently fixed in project eslint-config-okp4

@fredericvilcot agree?


Trying to get coverage from clang

I do not know if it will actually work in the end, but
The problem: i run codecov bash script with -x llvm-cov-3.8 -a gcov, which i assume should produce what the script expects.
However, $gcov_exe is also run with some hardcoded arguments: -pb or -pbcu
https://github.com/codecov/codecov-bash/blob/ef00447d164a2bea2a4ec69720a7afaac29e4585/codecov#L805
llvm-cov gcov does not support them, and fails https://travis-ci.org/darktable-org/rawspeed/builds/198960321#L1115
Perhaps these -pb or -pbcu should be configurable somehow?

https://github.com/codecov/codecov-python/issues/52 is related

Use quotes -x 'llvm-cov-3.8 gcov'.

-x 'llvm-cov-3.8 gcov' doesn't really work for now, since the script will only take the first word as the $gcov_exe without the quotes around $OPTARG.

If you use -x “llvm-cov-3.8 gcov” it should work. gcov should be part of the gcov-exec argument and not part of the gcov-args argument.

Same issue. Today llvm-cov from llvm 9.0 is not fully compatible with gcov from gcc 9.2.
I've compiled program using clang and tried to use gcov, received the following error:
version '402*', prefer 'A83*'
So we have to use llvm-cov gcov instead of gcov.

My solutions looks like:
if ([ -n "$CI" ] && [ -n "$TRAVIS" ]); then
  curl -s "https://codecov.io/bash" > "codecov.sh"
  chmod +x "codecov.sh"
fi

...

if (echo "$toolchain" | grep -q "clang/coverage.cmake$"); then
  "./codecov.sh" -x "llvm-cov gcov"
else
  "./codecov.sh" -x "gcov"
fi


Revert "Bump webpack-dev-server from 2.11.2 to 3.1.7"

Reverts MarkUsProject/Markus#3480

@adisandro looks like this isn't compatible with versions of webpack < 4.x, and webpacker only has supports this on a pre-release. I'm good if you want to update to that pre-release, but also if you want to wait that's okay too.

@david-yz-liu I didn't see that, sorry.
The problem is that I don't run it at all in development, so I just checked that it would install. Do you use it in the vm?


 This converts the ScrollViewExample to a list of simple text items, similar to the append example inside of it.
What it looks like: https://i.imgur.com/jt083Iv.png
Changelog

[iOS] [Fixed] - Fix testScrollViewExample flakiness
Test Plan

Run the tests.

@hramos it appears to be fixed.


CARDS-2071 - Patient portal: some error messages displayed to the user are too technical

There are more user-facing error messages in unsubscribe.jsx and ToUDialog.jsx, should those be updated in this PR as well?


Change the UI to make it clear that the leader needs to press "start singing" and "stop singing"

New user interface fixes this

New user interface fixes this


[FR] More gradual breakage of setuptools.command.test

What's the problem this feature will solve?
First, let me just say that I do not envy the position of maintaining setuptools, and if this issue is at all burdensome, please ignore it :-)
Regarding https://github.com/pypa/setuptools/issues/4519, in the event that setuptools chooses to revert something (looks like issue is already top ten all time by emoji count), I'm wondering if there are creative ways to introduce this breakage more slowly
Describe the solution you'd like
Currently, anyone trying to install a package that has a test command breaks. This is unfortunate, because people may not even be using that test command (in fact, hopefully not, since that's been messaged for years), and so no one may even have have seen the warning.
Instead, we could maybe follow something like the following sequence of steps:

Add a deprecation warning in setuptools.command.test.__getattr__
Make run in setuptools.command.test.test raise an error

This would greatly increase the number of people to whom the warning is visible.
It would also accomplish the goal of killing python setup.py test, while not yet breaking installs from those package versions.
Code of Conduct

[X] I agree to follow the PSF Code of Conduct

I'm just a regular Dev, having the same "happy morning" as probably 1/3 of the programming world, and in no way affiliated with setuptools. But the test command has been deprecated since 41.5.0 which was releaset almost 5 years ago.
I'd say that that was gradual enough ;)

This is unfortunate, because people may not even be using that test command (in fact, hopefully not, since that's been messaged for years), and so no one may even have have seen the warning.

This is likely the crux of the issue. A breaking change would need to at least message at the point that is about to break.
In this case, if the plan was to break install on these packages, then the message should've been on the "install" for at least one major version.
This gives folks time to find workarounds, and also provides some time for the change to be rolled out with known workarounds.
However, I'm seeing people on #4519 scrambling to find workarounds. That's an indicator that the change wasn't gradual to these folks.
This isn't a ding on the contributors, I'm just stating my observation in the issues.

https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/16289

setuptools is core package in the python ecosystem, unfortunately now there are dozens of popular packages that are failing to install, there needs to be a better way to handle this deprecation end to end and not just within the confines of the setuptools codebase

This is likely the crux of the issue. A breaking change would need to at least message at the point that is about to break.
In this case, if the plan was to break install on these packages, then the message should've been on the "install" for at least one major version.

Hi @chrisirhc, please note that this message you are referring to was there for 5 years: https://github.com/pypa/setuptools/commit/cd84510713ada48bf33d4efa749c2952e3fc1a49.

please note that this message you are referring to was there for 5 years.

As a user of setuptools/pip/poetry who uses this toolchain to install packages I need, this is the first time I've ever seen anything about this deprecation, and I've gotten to know about it by deploy tasks failing. This can't be the correct way to spread the word.
Yes, it has been the failure of many maintainers and/or developers sticking with old packages etc., but that's simply how this works in the real world. We oftentimes have to deal with old packages, end of story. setuptools is so deeply ingrained in so much of the Python ecosystem, removing anything from it must be treated with much much more caution than this has been. "There's been a message there nobody saw" isn't cutting it.

It's perfectly reasonable that a package relies on a specific, not-the-most-recent, version of setuptools.
And it's perfectly reasonable that major versions of setuptools could cause older versions of packages that depend on older versions of setuptools to fail to build.
I agree with this bug report that the deprecation should have been more visible, but I also believe there is an unrealistic assumption that newer versions of setuptools will always be able to build older versions of packages that have setuptools backend.
And unfortunately that assumption has been tacitly supported by Setuptools documentation itself, in failing to call attention to the fact that build backends should have an upper bound version pin.
To this end, I've reported #4521.
I hope that this issue will move developers of setuptools depending packages to remember to upper-pin the major versions of their build-backends.

The test command was deprecated 5 years ago, in the mean time the only "warning" for whoever was using it was a log in a single method:
https://github.com/pypa/setuptools/blob/08bd31115732ece3cca50bd93f338e1b90dead34/setuptools/command/test.py#L202-L209
There were no other warnings to inform a user which had left a legacy element inside its own codebase telling "ehy, you are using a deprecated element, remove it".
A warning which is only displayed if a class-method is run was not enough to inform users.

In an effort to find the right balance for such a deeply ingrained infrastructure, and from some of the comments, I suspect some people have more control over build flow vs others who have less, I feel that "deprecation" can be a range.
It can be a breaking change that removes causes hard failure, but it can also be a stub NoOp or even a warning, but one that is not causing any harm to existing setup.
This will mean zero maintenance is needed (the goal for deprecation in the 1st place) without the extra breakage noise.

Instead, we could maybe follow something like the following sequence of steps:
1. Add a deprecation warning in `setuptools.command.test.__getattr__`

2. Make `run` in `setuptools.command.test.test` raise an error

This sounds reasonable.
I'm trying to decide how to approach. One option, instead of reverting the changes, simply restore a minimum interface to address these concerns. I think that would have the effect described above.
I plan to scan through other issues and PRs first, and then pursue that option.

For reference, the code was removed in #4458.

Apologies if this is the wrong issue to ask on, but I also wonder how this change was tested, when it's broken libraries like celery and requests. Things fall through the net, but I feel like there's a "do the most common libraries still build" sanity check missing somewhere.

Setuptools does run "integration" tests on each tagged release against these packages. Those tests did pass (after one failure in brotli).
Perhaps celery or requests could be added to those integration tests. Since it's a bit of a shotgun approach, the best we can do is hope that the sample of packages we've selected catch any missed expectations. In this case, they did not. I'd be fine with adding celery and requests to that list.

 Thanks, will have a play.

I've already confirmed that adding requests and celery fail on 72.x but pass on #4522, so I'm going to include that in the PR.

Here are the packages in the pypi top 2500 which import the test command:
top2500/clickclick-20.10.2.tar.gz: clickclick-20.10.2/setup.py: from setuptools.command.test import test as TestCommand
top2500/amqp-5.2.0.tar.gz: amqp-5.2.0/setup.py: import setuptools.command.test
top2500/autobahn-23.6.2.tar.gz: autobahn-23.6.2/setup.py: from setuptools.command.test import test as test_command
top2500/boxsdk-3.11.0.tar.gz: boxsdk-3.11.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/dogpile.cache-1.3.3.tar.gz: dogpile.cache-1.3.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/fbprophet-0.7.1.tar.gz: fbprophet-0.7.1/setup.py: from setuptools.command.test import test as test_command
top2500/ffmpy-0.3.2.tar.gz: ffmpy-0.3.2/setup.py: from setuptools.command.test import test as TestCommand  # noqa
top2500/diskcache-5.6.3.tar.gz: diskcache-5.6.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/flaky-3.8.1.tar.gz: flaky-3.8.1/setup.py: from setuptools.command.test import test as TestCommand
top2500/django-celery-beat-2.6.0.tar.gz: django-celery-beat-2.6.0/setup.py: import setuptools.command.test
top2500/furl-2.1.3.tar.gz: furl-2.1.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/django_celery_results-2.5.1.tar.gz: django_celery_results-2.5.1/setup.py: import setuptools.command.test
top2500/gender-guesser-0.4.0.tar.gz: gender-guesser-0.4.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/ibm-cloud-sdk-core-3.20.3.tar.gz: ibm-cloud-sdk-core-3.20.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/intervaltree-3.1.0.tar.gz: intervaltree-3.1.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/httplib2-0.22.0.tar.gz: httplib2-0.22.0/setup.py: import setuptools.command.test
top2500/graphene-3.3.tar.gz: graphene-3.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/elastic-apm-6.22.3.tar.gz: elastic-apm-6.22.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/JPype1-1.5.0.tar.gz: JPype1-1.5.0/setupext/pytester.py: from setuptools.command.test import test as TestCommand
top2500/mongoengine-0.28.2.tar.gz: mongoengine-0.28.2/setup.py: from setuptools.command.test import test as TestCommand
top2500/pdfkit-1.0.0.tar.gz: pdfkit-1.0.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/orderedmultidict-1.0.1.tar.gz: orderedmultidict-1.0.1/setup.py: from setuptools.command.test import test as TestCommand
top2500/pep8-naming-0.14.1.tar.gz: pep8-naming-0.14.1/setup.py: from setuptools.command.test import test as TestCommand
top2500/moviepy-1.0.3.tar.gz: moviepy-1.0.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/PyHive-0.7.0.tar.gz: PyHive-0.7.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/python-consul-1.1.0.tar.gz: python-consul-1.1.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/python-dateutil-2.9.0.post0.tar.gz: python-dateutil-2.9.0.post0/setup.py: from setuptools.command.test import test as TestCommand
top2500/requests-2.32.3.tar.gz: requests-2.32.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/responses-0.25.3.tar.gz: responses-0.25.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/raven-6.10.0.tar.gz: raven-6.10.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/sortedcontainers-2.4.0.tar.gz: sortedcontainers-2.4.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/soundfile-0.12.1.tar.gz: soundfile-0.12.1/setup.py: from setuptools.command.test import test as TestCommand
top2500/suds-jurko-0.6.tar.bz2: suds-jurko-0.6/setup.py: import setuptools.command.test
top2500/smartsheet-python-sdk-3.0.3.tar.gz: smartsheet-python-sdk-3.0.3/setup.py: from setuptools.command.test import test as TestCommand
top2500/sanic-24.6.0.tar.gz: sanic-24.6.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/node-semver-0.9.0.tar.gz: node-semver-0.9.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/nose-1.3.7.tar.gz: nose-1.3.7/setup3lib.py: import setuptools.command.test
top2500/pymssql-2.3.0.tar.gz: pymssql-2.3.0/setup.py: from setuptools.command.test import test as TestCommand
top2500/pytest-runner-6.0.1.tar.gz: pytest-runner-6.0.1/ptr/__init__.py: import setuptools.command.test as orig
top2500/vine-5.1.0.tar.gz: vine-5.1.0/setup.py: import setuptools.command.test
top2500/virtualenv-clone-0.5.7.tar.gz: virtualenv-clone-0.5.7/setup.py: from setuptools.command.test import test as TestCommand
top2500/Wand-0.6.13.tar.gz: Wand-0.6.13/setup.py: from setuptools.command.test import test
top2500/celery-5.4.0.tar.gz: celery-5.4.0/setup.py: import setuptools.command.test
top2500/poetry-1.8.3.tar.gz: poetry-1.8.3/tests/utils/fixtures/setups/requests/setup.py: from setuptools.command.test import test as TestCommand
top2500/poetry-1.8.3.tar.gz: poetry-1.8.3/tests/utils/fixtures/setups/sqlalchemy/setup.py: from setuptools.command.test import test as TestCommand
top2500/vcrpy-6.0.1.tar.gz: vcrpy-6.0.1/setup.py: from setuptools.command.test import test as TestCommand

Doing such checks would probably help to estimate the fallout from setuptools removals.

This is likely the crux of the issue. A breaking change would need to at least message at the point that is about to break. In this case, if the plan was to break install on these packages, then the message should've been on the "install" for at least one major version.

It wasn't planned to break installation. It's a consequence of the fact that setup.py scripts are written to import setuptools (because they were designed to be run like python setup.py, even though that's now deprecated) and then access whatever sub-packages and modules. The code for using Setuptools to test (by implementing a TestCommand) is intertwined with the code needed for the setup() call that empowers Setuptools to build the package, which in turn is part of the process of installing them.
All of this is a consequence of the fundamental design of Setuptools, in turn adapting the design of Distutils, which goes back decades to well before there were standards like PEP 517/518/621, or wheels, or even Pip.
There are many ways that developers can avoid or mitigate the problem. In a significant fraction of cases, they could drop setup.py completely and use pyproject.toml (or even just setup.cfg) to give the necessary project metadata. In almost all of those cases, too, they could just provide a wheel, which is better for users when possible, and is straightforward for projects that use only Python for their own code (they may even have dependencies that in turn use extensions).
Ideally, developers would get a deprecation warning from the import of setuptools itself, when they try to run python setup.py. I think the logic is already in place to detect when setup.py is being run indirectly by Setuptools (for backwards compatibility, so that it can check what setup calls are made and then do the main part of the work). So it would just have to emit a warning when this isn't happening.
However, there's nothing Setuptools can do about developers who:

are using an outdated version of Setuptools locally for developing the project, either because nothing has motivated them to upgrade or because they heard about the PEP 517 etc. changes and didn't want to give up the old workflow

have actually abandoned the project years ago, and don't know that there are still many people using it

Nothing has forced these developers to upgrade locally to a Setuptools version that would produce the warning. So even in principle they can't be expected to have seen it. End users, on the other hand, routinely get the latest version of Setuptools pushed on them by Pip. Unfortunately, in Setuptools 72.0.0, the code intended to enable a deprecated test workflow for developers, causes an install failure for users - a serious violation of the principle of least surprise.

However, I'm seeing people on #4519 scrambling to find workarounds. That's an indicator that the change wasn't gradual to these folks.

It's developers who have had years to do something about the problem, but end users who were scrambling. There's really nothing Setuptools could do to make the change appear "gradual" to end users who are installing something via Pip, without cooperation from the developers of the other packages that Pip is installing.
And as long as installation from an sdist is supported, Pip can't really do anything about it either.


Koa 2 Branch

I downloaded the code of the Koa 2 incubator branch just a couple of hours ago and now it is missing :open_mouth: It is a really good setup for exactly what I wanted i.e. React with Koa 2 and Webpack 2. Have to thank you a lot for it :smile:
Anyway I don't see branch anymore. Are you guys planning to drop support for Koa 2?

Koa2 feature is now sitting in its own repository at https://github.com/lucianlature/react-universally-koa2

That's great to know :smile:

Use this workflow to merge react-universally with react-universally-koa2:
# Select your "primary" repository (generally a "state" category I think)
git clone react-universally my-project

# Rename the "origin" appropriately
git remote rename origin upstream/master

# Add your project's repo remote target
git remote add origin https://github.com/ctrlpusb/my-project

# Push the current code to it, rebinding the master branch to the "origin" remote.
git push -u origin master

# Now select whatever other features you would like.
# In my case I wanted "koa2"
git remote add upstream/koa2 https://github.com/lucianlature/react-universally-koa2

# Fetch the latest from it
git fetch upstream/koa2

# Merge into your project
git merge upstream/koa2/master

# Deal with the conflicts, commit and push.

# Then any time you want updates it is a matter of repeating the above two
# steps. For example:
git fetch upstream/koa2
git merge upstream/koa2/master

Hmm, actually it looks nicer cloning from the master and adding features like you have done.  I will update the readme.

I see that a new branch is now available for Koa 2. So does it mean that the new repo created for the Koa 2 version is not valid anymore?

Hi @immysl - apologies for this.  I completely decided against the separate repos in the end as it causes issues with being able to see differences between the master and features.
The branch on this repository is the one to use.  All the branches are up to date and will be kept strictly up to date with the latest version on master.  This then allows you to merge in multiple branches to your own cloned project.
Apologies again.

@ctrlplusb I understand the reasoning behind it and hope it is for the best :smile: Will update the code from the branch instead from now on.


Cumulative profile types may lose first 10s of data

https://github.com/pyroscope-io/client/pull/24#discussion_r1035870961

This was pre godeltaprof. I believe this is solved.


DCOS: CLI cannot execute scale with Managed Disks

When using managed disks, ("storageProfile": "ManagedDisks",), attempting to scale a VMSS using the XPlat CLI (v 0.10.8) fails as follows:
error:   Error "'name' cannot be null or undefined in 'parameters.properties.virtualMachineProfile.storageProfile.osDisk'." occurred in serializing the payload - "{ id: '/subscriptions/.../resourceGroups/ACSMANAGEDDISKS/providers/Microsoft.Compute/virtualMachineScaleSets/dcos-agentworker-15786885-vmss',
  name: 'dcos-agentworker-15786885-vmss',
  type: 'Microsoft.Compute/virtualMachineScaleSets',
  location: 'westus2',
  tags: { creationSource: 'acsengine-dcos-agentworker-15786885-vmss' },
  sku: { name: 'Standard_A5', tier: 'Standard', capacity: 7 },
  upgradePolicy: { mode: 'Manual' },
  virtualMachineProfile:
   { osProfile:
      { computerNamePrefix: 'dcos-agentworker-15786885',
        adminUsername: 'core',
        customData: '...',
        linuxConfiguration:
         { disablePasswordAuthentication: true,
           ssh:
            { publicKeys:
               [ { path: '/home/core/.ssh/authorized_keys',
                   keyData: '...' } ] } },
        secrets: [] },
     storageProfile:
      { imageReference:
         { publisher: 'Canonical',
           offer: 'UbuntuServer',
           sku: '16.04.0-LTS',
           version: '16.04.201606270' },
        osDisk: { caching: 'ReadOnly', createOption: 'FromImage' } },
     networkProfile:
      { networkInterfaceConfigurations:
         [ { name: 'nic',
             primary: true,
             ipConfigurations:
              [ { name: 'nicipconfig',
                  subnet: { id: '/subscriptions/.../resourceGroups/acsmanageddisks/providers/Microsoft.Network/virtualNetworks/dcos-vnet-15786885/subnets/dcos-agentworkerSubnet' },
                  loadBalancerBackendAddressPools: [ { id: '/subscriptions/.../resourceGroups/acsmanageddisks/providers/Microsoft.Network/loadBalancers/dcos-agentworker-15786885/backendAddressPools/dcos-agentworker-15786885' } ] } ] } ] } },
  provisioningState: 'Succeeded' }"
error:   Error information has been recorded to /Users/crowther/.azure/azure.err
error:   vmss scale command failed

This same command functions normally when using the Portal GUI, as well as the Azure CLI 2.0. While this is likely an issue of how the XPlat CLI parses the template, the issue is too specific of a use case to open an issue in it's github repo. However, seeing as anyone who enables the managed disks in ACS-engine will run into this issue, this is a logical place to open a ticket.
This is a request to investigate whether this is an easily solvable issue inside the templates ACS-engine outputs.

That version of the CLI is explicitly not supported. Please provide the output of a repro with the az Azure-CLI for us to investigate. There are known issues in the version of the xplat-cli you're using, specifically related to DCOS. Thanks.

Thanks for articulating!


Link Target Issue

The following links under the 'Reference Architecture' section both point to the same page (the Management page).

Data management landing zone
Data landing zone

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

ID: dc42c384-f5c3-b47b-1903-9d3ae4a71247
Version Independent ID: a6a5e0de-1d1e-af9b-2eea-c06440102b76
Content: Azure data management and analytics scenario overview - Cloud Adoption Framework
Content Source: docs/scenarios/data-management/index.md
Service: cloud-adoption-framework
Sub-service: scenario
GitHub Login: @mboswell
Microsoft Alias: mboswell

@JanetCThomas  - Fixed.


fetch does not allow sending binary data (NSData)

Currently everything except a string in the request body is serialized as JSON, which prevents us from sending binary data through fetch.

Pull request raised: https://github.com/skpm/sketch-polyfill-fetch/issues/13


[SPARK-47674][CORE] Enable spark.metrics.appStatusSource.enabled by default

What changes were proposed in this pull request?
This PR aims to enable spark.metrics.appStatusSource.enabled by default.
Why are the changes needed?
spark.metrics.appStatusSource.enabled was introduced at Apache Spark 3.0.0 and has been used usefully in the production in order to expose app status. We had better enable it by default in Apache Spark 4.0.0.
Does this PR introduce any user-facing change?
This will expose additional metrics.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.

Thank you! Merged to master for Apache Spark 4.0.0.


make GodrayFilter work with DropShadowFilter?

Is it possible to have  a GodrayFilter work with DropShadowFilter?
When I add them both to a sprite, the DropShadowFilter seems to reveal the black image used to create the GodRay effect.

Could you provide an example?


WIP: One-click observability with HoneyHive

Description
HOLD for details here.
Type of Change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] This change requires a documentation update

How Has This Been Tested?
HOLD for details here. I'll probably make a notebook.

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[ ] I stared at the code and made sure it makes sense

Suggested Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

@michael-hhai Do you mind updating this docs page as well, with some more details, similar to arize and wandb? Bonus points if you can link to an example notebook as well :) https://github.com/run-llama/llama_index/blob/main/docs/end_to_end_tutorials/one_click_observability.md