IndexOutOfBoundsException when reading .npmrc file

I get this error when running Analyzer over an NPM project:
15:31:33.359 ERROR - Resolving dependencies for 'package.json' in 'D:\tfs\NEO\dev02\src\idm\Presentation\UI\UX\package.json', failed with: Index: 1, Size: 1
15:31:33.359 ERROR - java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at java.util.ArrayList.rangeCheck(ArrayList.java:657)
        at java.util.ArrayList.get(ArrayList.java:433)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1$1.invoke(Npm.kt:187)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1$1.invoke(Npm.kt:75)
        at kotlin.io.TextStreamsKt.forEachLine(ReadWrite.kt:160)
        at kotlin.io.FilesKt__FileReadWriteKt.forEachLine(FileReadWrite.kt:166)
        at kotlin.io.FilesKt__FileReadWriteKt.forEachLine$default(FileReadWrite.kt:164)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1.invoke(Npm.kt:186)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1.invoke(Npm.kt:75)
        at com.here.ort.utils.OkHttpClientHelper.execute(OkHttpClientHelper.kt:105)
        at com.here.ort.analyzer.managers.Npm.parseInstalledModules(Npm.kt:270)
        at com.here.ort.analyzer.managers.Npm.resolveDependencies(Npm.kt:162)
        at com.here.ort.analyzer.PackageManager.resolveDependencies(PackageManager.kt:212)
        at com.here.ort.analyzer.Analyzer.analyze(Analyzer.kt:110)
        at com.here.ort.commands.AnalyzerCommand.runCommand(AnalyzerCommand.kt:156)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.runCommand(Main.kt:112)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.run(Main.kt:95)
        at com.here.ort.Main.main(Main.kt:75)

(btw. stacktrace printing is not available by default)
And in my ~/.npmrc I have:
proxy=null
https-proxy=null

As a workaround I commented out stashDirectories(...  and installDependencies(workingDir) lines.
It also would be great to be able to use one's internal NPM registry instead of https://registry.npmjs.org

Thanks for the report, a fix is underway.

It also would be great to be able to use one's internal NPM registry instead of https://registry.npmjs.org.

Please file a separate issue for this. In general, our npm install part respects the registry as configured in .npmrc, but our querying of additional meta-data currently always uses "registry.npmjs.org".

nice, thanks for the lightning fast response ⚡ 👍

@kallesoranko, if you don't mind double-checking, please verify that the fix which was just merged to master actually fixes your problem.

Pulled the latest and tested this again, but while having the same contents in .npmrc I now get:
java.lang.IllegalArgumentException: port out of range:-1
        at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)
        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:224)
        at com.here.ort.utils.OkHttpClientHelper.applyProxySettingsFromUrl(OkHttpClientHelper.kt:72)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1$1.invoke(Npm.kt:198)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1$1.invoke(Npm.kt:75)
        at kotlin.io.TextStreamsKt.forEachLine(ReadWrite.kt:160)
        at kotlin.io.FilesKt__FileReadWriteKt.forEachLine(FileReadWrite.kt:166)
        at kotlin.io.FilesKt__FileReadWriteKt.forEachLine$default(FileReadWrite.kt:164)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1.invoke(Npm.kt:187)
        at com.here.ort.analyzer.managers.Npm$applyProxySettingsFromNpmrc$1.invoke(Npm.kt:75)
        at com.here.ort.utils.OkHttpClientHelper.execute(OkHttpClientHelper.kt:116)
        at com.here.ort.analyzer.managers.Npm.parseInstalledModules(Npm.kt:271)
        at com.here.ort.analyzer.managers.Npm.resolveDependencies(Npm.kt:163)
        at com.here.ort.analyzer.PackageManager.resolveDependencies(PackageManager.kt:212)
        at com.here.ort.analyzer.Analyzer.analyze(Analyzer.kt:110)
        at com.here.ort.commands.AnalyzerCommand.runCommand(AnalyzerCommand.kt:156)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.runCommand(Main.kt:112)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.run(Main.kt:95)
        at com.here.ort.Main.main(Main.kt:75)

and if I remove proxy settings completely, I get:
java.lang.IllegalStateException: url.userInfo must not be null
        at com.here.ort.utils.OkHttpClientHelper$applyProxySettingsFromUrl$1.authenticate(OkHttpClientHelper.kt:75)
        at okhttp3.internal.connection.RealConnection.createTunnelRequest(RealConnection.kt:483)
        at okhttp3.internal.connection.RealConnection.connectTunnel(RealConnection.kt:231)
        at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:170)
        at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:236)
        at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:109)
        at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:77)
        at okhttp3.internal.connection.Transmitter.newExchange$okhttp(Transmitter.kt:162)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:35)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:82)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:71)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:184)
        at okhttp3.RealCall.execute(RealCall.kt:66)
        at com.here.ort.utils.OkHttpClientHelper.execute(OkHttpClientHelper.kt:120)
        at com.here.ort.analyzer.managers.Npm.parseInstalledModules(Npm.kt:271)
        at com.here.ort.analyzer.managers.Npm.resolveDependencies(Npm.kt:163)
        at com.here.ort.analyzer.PackageManager.resolveDependencies(PackageManager.kt:212)
        at com.here.ort.analyzer.Analyzer.analyze(Analyzer.kt:110)
        at com.here.ort.commands.AnalyzerCommand.runCommand(AnalyzerCommand.kt:156)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.runCommand(Main.kt:112)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.run(Main.kt:95)
        at com.here.ort.Main.main(Main.kt:75)

so seems like the bug is not resolved yet.

Sorry @kallesoranko for messing this up, I'm on it.

@kallesoranko, please give master another try.

Re-tested, but still not working. Output is now same when setting (https-)proxy=null or is proxies not set at all:
java.io.IOException: Unexpected response code for CONNECT: 400
        at okhttp3.internal.connection.RealConnection.createTunnel(RealConnection.kt:447)
        at okhttp3.internal.connection.RealConnection.connectTunnel(RealConnection.kt:235)
        at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:170)
        at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:236)
        at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:109)
        at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:77)
        at okhttp3.internal.connection.Transmitter.newExchange$okhttp(Transmitter.kt:162)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:35)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:82)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:71)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:184)
        at okhttp3.RealCall.execute(RealCall.kt:66)
        at com.here.ort.utils.OkHttpClientHelper.execute(OkHttpClientHelper.kt:126)
        at com.here.ort.analyzer.managers.Npm.parseInstalledModules(Npm.kt:272)
        at com.here.ort.analyzer.managers.Npm.resolveDependencies(Npm.kt:163)
        at com.here.ort.analyzer.PackageManager.resolveDependencies(PackageManager.kt:212)
        at com.here.ort.analyzer.Analyzer.analyze(Analyzer.kt:110)
        at com.here.ort.commands.AnalyzerCommand.runCommand(AnalyzerCommand.kt:156)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.runCommand(Main.kt:112)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.run(Main.kt:95)
        at com.here.ort.Main.main(Main.kt:75)

Output is now same when setting (https-)proxy=null or is proxies not set at all:

Well, isn't that expected? If (https-)proxy=null then no proxy settings are applied.
Could you share some more context about your environment, as I'm not getting why to set (https-)proxy=null in the first place:

If your environment requires a proxy to be used, why don't you set it?
If your environment does not require a proxy to be used, why do you set (https-)proxy=null instead of just omitting the configuration?
Do you have the http_proxy / https_proxy environment variables set?

I am running ORT in an environment which is behind a corporate proxy. We are also using internal Artifactory as an NPM registry and Maven/Gradle artifact repository. For NPM we want to set (https-)proxy=null when we are installing dependencies, since registry is in the intranet, on the other hand ORT queries https://registry.npmjs.org, so we need proxy for that. I have understood that connection to https://registry.npmjs.org is done using OkHttpClient and for that we set http_proxy and https_proxy environment variables. That said, omitting (https-)proxy=null completely from .npmrc sounds reasonable, but I get same as above when I leave those out:
java.io.IOException: Unexpected response code for CONNECT: 400
        at okhttp3.internal.connection.RealConnection.createTunnel(RealConnection.kt:447)
        at okhttp3.internal.connection.RealConnection.connectTunnel(RealConnection.kt:235)
        at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:170)
        at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:236)
        at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:109)
        at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:77)
        at okhttp3.internal.connection.Transmitter.newExchange$okhttp(Transmitter.kt:162)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:35)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:82)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:71)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:184)
        at okhttp3.RealCall.execute(RealCall.kt:66)
        at com.here.ort.utils.OkHttpClientHelper.execute(OkHttpClientHelper.kt:126)
        at com.here.ort.analyzer.managers.Npm.parseInstalledModules(Npm.kt:272)
        at com.here.ort.analyzer.managers.Npm.resolveDependencies(Npm.kt:163)
        at com.here.ort.analyzer.PackageManager.resolveDependencies(PackageManager.kt:212)
        at com.here.ort.analyzer.Analyzer.analyze(Analyzer.kt:110)
        at com.here.ort.commands.AnalyzerCommand.runCommand(AnalyzerCommand.kt:156)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.runCommand(Main.kt:112)
        at com.here.ort.CommandWithHelp.run(CommandWithHelp.kt:53)
        at com.here.ort.Main.run(Main.kt:95)
        at com.here.ort.Main.main(Main.kt:75)

For testing purposes I also tried to set the proxies in .npmrc file and surprisingly I got the same output, so not sure what is going on since my Kotlin skills are not so up-to-date.

We are also using internal Artifactory as an NPM registry [...], on the other hand ORT queries https://registry.npmjs.org, so we need proxy for that.

That was the important bit of information. This "split" of proxy-configurations is currently not supported: Our implementation either uses the proxy defined in .npmrc for everything (running npm install and accessing registry.npmjs.org via OkHttp), or no proxy is used at all if none is defined in .npmrc. So you're requesting a new feature, and I'll think about how to do the implementation.

@kallesoranko, can you please try if https://github.com/heremaps/oss-review-toolkit/pull/1691 solved your issue?

@sschuberth I deployed https://github.com/heremaps/oss-review-toolkit/pull/1691 and re-tested and now analyzer is working correctly without having to change the proxy settings. Thanks for the patch and sorry about the inconvenience.

There was no incontinence involved! Thanks for making ORT a better product by helping to address issues with it.


wifisecureclient pubsubclient and webserver do not work along

I can connect to my mqtt server with tls but as soon as I add webserver, it crashes. has anyone done these before?

I know this comes a bit late, but I am experiencing something similar on a nodeMCU (ESP8266).
MQTT alone works. HTTP Server alone works. MQTT with HTTP Server works, MQTTS with HTTP Server no longer works properly, and after delivering some server.send commands, the broker connection will die:
---> MQTT Broker connection failed, rc = -2

I have the same issue, running ESPAsyncWebServer, PubSubClient and wificlientsecure


[W5.11R][T09-B4] Daniel Ng Sze Yao

Implemented the ability for the address book to sort the people in it by name alphabetically by adding a "sort" command.
Updated necessary java files and also added a new functional class called SortCommand.java
Performed necessary tests using JUnit

Acknowledgments given to @traceurgan for inspiration :)

@HEARTOFAL1ON Some comments added. Please close the PR after reading comments.

Thank you for your review


about module open source

hello，are you have think about open source the custom and highly optimized Keras model?

yes, definitively, more info here: https://github.com/google/magika/blob/main/docs/faq.md#q-where-can-i-find-more-details-about-all-this


Sprite - Find What Animation is playing

there's playAnimation but not something like currentAnimation that returns the name of the animation the current frame is showing, ie 'walk'

Prior to 4.0.0 there was a currentAnimation property, but I couldn't think of a use case to have it so made it private instead to save bytes. If you have a compelling reason to look at the currently playing animation I could bring it back to the public light.

It would come in handy for the way I'm using spritesheet animations, which is kind of not how it is intended. I'm using a single sprite sheet for all my sprites, and each 'animation' is one non-looping frame (playAnimation('captain-blue)). Getting the current animation is a way of answering "what am I?"


gold-sysroot-lib64 patch missing for binutils 2.33.1 and 2.34

Please port the following patch from @mingwandroid to 2.33.1 and 2.34 otherwise gold linker cannot be used with CDT packages which have their libraries present in $(gcc --print-sysroot)/{lib64,usr/lib64}
https://github.com/conda-forge/crosstool-ng/blob/master/packages/binutils/2.31.1/510-add-lib64-to-sysroot-paths.patch

Can you open this in https://github.com/conda-forge/binutils-feedstock/ ?

@mingwandroid, @nehaljwani, do you know if this patch is sent upstream to crosstool-ng?

I don't know if it has been sent upstream. Let's continue at https://github.com/conda-forge/binutils-feedstock/issues/26

Actually, fix will be here, to I'll let you close this.

binutils-feedstock does not use crosstool-ng conda package. See https://github.com/conda-forge/binutils-feedstock/blob/master/recipe/meta.yaml#L14-L18

Ah, okay, closing this one then, let's continue there.


Add blocks attachments properties detail, use bootstrap tab without c…

…ondition template

Codecov Report

Merging #223 (9e6c365) into master (f5ffe55) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 9e6c365 differs from pull request most recent head 03dcac0. Consider uploading reports for the commit 03dcac0 to get more accurate results

@@           Coverage Diff           @@
##           master     #223   +/-   ##
=======================================
  Coverage   89.24%   89.24%
=======================================
  Files          27       27
  Lines        2129     2129
=======================================
  Hits         1900     1900
  Misses        229      229

Continue to review full report at Codecov.

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


Deconvolution GUI Modularity

Refactored the deconvolution parameters handling in the MetaMorpheus GUI to use custom controls and view models for better modularity and extensibility.

SearchTaskWindow.xaml and .xaml.cs: Replaced stack panels and checkboxes with HostDeconParamControl and bound to DeconHostViewModel.
GPTMDTaskWindow.xaml and SearchTaskWindow.xaml: Replaced GroupBox for "Deisotoping" with HostDeconParamControl bound to DeconHostViewModel.
Added DeconvolutionTypeToControlConverter for converting DeconParamsViewModel to appropriate controls.
Introduced new user controls ClassicDeconParamsControl and HostDeconParamControl.
Added new view models ClassicDeconParamsViewModel, DeconHostViewModel, and IsoDecDeconParamsViewModel.
Updated MetaMorpheus.sln.DotSettings to include "Decon" and "Deconvolute" in the user dictionary.

To Consider:
Do we want to expose the product deconvolution parameters?
Do we want to add decon parameter setting to calibration?

"Minimum intensity ratio" and "Nominal window width" won't accept non-integer inputs.

Also, can't set assumed charge states to negative when no data is loaded in.

Also, can't set assumed charge states to negative when no data is loaded in.

It is set to positive mode. No negatives can be input. Once RNA is added, then the toggle between positive and negative will be exposed.


DE24226 - Strange scrolling in OSX Chrome

Noted by Bob in OSX Sierra with Chrome, seems like the filter menu gets a strange scrollbar in the middle of it.
Upon further investigation, there is no scroll bar on the regular d2l-menu dropdowns in the nav either - so this may actually be a problem with d2l-menu or one of its underlying components. Either way, requires further investigation.

Confirmed that this is no longer occurring - likely solved in either #316 or #321.


Replace the global config dict with new class ManimConfig

Motivation
Short version: the config system is Bad. This PR makes it Less Bad by introducing a new dict-like class ManimConfig. Instances of this class behave pretty much like the previous global config dict, but maintain internal consistency, among other features. Long version: see #337.
List of Changes
The diff is long. Here I explain the changes file by file. Hopefully this will make reviewing easier. Note most of the changes are due to the removal of file_writer_config.

Take the logger logic from the file manim/config/utils.py into a new file manim/config/logger.py. This also explains the diff in tests/control_data/logs_data/BasicSceneLoggingTest.txt.
This PR removes the global dicts file_writer_config, camera_config and config, and replaces them with a (still global) instance of the ManimConfig class. This global is also called config. This accounts for the diff in manim/__main__.py, manim/camera/camera.py, manim/config/__init__.py, manim/grpc/impl/frame_server_impl.py , manim/mobject/mobject.py, manim/mobject/svg/text_mobject.py, manim/utils/module_ops.py, tests/utils/GraphicalUnitTester.py, tests/test_copy.py, tests/test_container.py, tests/helpers/graphical_units.py, and manim/utils/tex_file_writing.py.
Add the config options video_dir, tex_dir, text_dir, images_dir to manim/config/default.cfg. These DO NOT use the placeholder syntax used by configparser. Instead, they use f-string syntax, as used by ManimConfig._get_dir().
The file manim/config/main_utils.py has two modifications: the init_dirs function has been moved to manim/config/utils.py and the function update_config_with_cli has disappeared and its logic moved inside ManimConfig.digest_args().
manim/constants.py: we have changed the default resolution from "production" to "high" (I believe either @kolibril13 or @huguesdevimeux did this) so I had to update one line in this file.
added a test to test the -s flag to tests/test_scene_rendering/test_cli_flags.py
remove the file tests/test_scene_rendering/test_caching_relalted.py, which had the same content as tests/test_scene_rendering/test_caching_related.py (note the typo). This was already removed before, but I don't know how it snuck into my branch :shrug:
The files tests/test_logging/test_logging.py, tests/test_scene_rendering/test_caching_related.py, tests/test_scene_rendering/conftest.py, and tests/test_cli_flags.py each have a one-line quality of live improvement.
tests/test_config.py has been modified because ManimConfig no longer allows adding/updating keys that did not previously exist.
The diff in manim/scene/scene_file_writer.py is explained by the removal of scene_file_writer EXCEPT for the new logic in lilne 128. This change in logic now checks whether a file exists before using it (which makes sense and has nothing to do with the ManimConfig class!)
The diff in manim/scene/scene.py is explained by the removal of scene_file_writer EXCEPT for the change in logic in lines 100-102 (some child objects are now made to use the global config objects instead of passing around things like **camera_config) and the logic in line 128, which now correctly restores the previous state of skip_animations (before it was always just set to False, which makes no sense).
manim/config/utils.py - this is the big one. The init_dirs() function comes from manim/config/main_utils.py, and the parser logic has moved to manim/config/parser.py. The big change: it now contains the definition of the two main classes ManimConfig and ManimFrame. More on these later.

Explanation for Changes
Ok the main idea of ManimConfig is the following. It behaves like a dict but it keeps track of all the logic between different config options. To behave like a dict, it implements some dunder methods such as __iter__, __len__, __contains__, __getitem__, __setitem__. However, for documentation purposes, each config option is also an attribute. For example the config option write_to_movie can be accessed as config["write_to_movie"] or as config.write_to_movie. The former is backwards compatible, while the latter allows for easy documentation and auto-completion. To implement this behavior, there is a private attribute self._d which is an actual dictionary which contains the config options as keys. The user should never access it directly. Most of the get/set code touches self._d in one way or another. Furthermore, ManimConfig does not allow to add new keys or remove existing keys (see __delitem__ and __delattr__).
ManimConfig can only be initialized by passing a ConfigParser instance. This will usually contain the options set in manim/config/default.cfg, as well as any other config files such as the folder-wide or the user-wide. The global config is instantiated on line 25 of manim/config/__init__.py with the config parser object returned by manim/config/utils.py::make_config_parser. During initialization, the function digest_parser() is called, which consumes the parser. After this, all config files have been parsed and digested into the global config, and manim is ready to go.
Now, if manim is being called from the command line, then manim/__main__.py will call config.digest_args(args). This will take the parsed sys.argv args and update the necessary config options. Note that the options from the config files and from the CLI flags are parsed at different times. Because of this, there is no longer any need of hacky things such as trying to guess whether manim was being used from the command line or not. This is a huge gain in readability I think.
I have left placeholder methods ManimConfig.digest_dict and ManimConfig.digest_file. The latter will eventually allow to read a configuration file on the fly. This feature was requested by @ManimCommunity/tests and will simplify testing a lot.
Finally, the rest of the code of ManimConfig is the definition of a ton of properties. Each config option is now a property. In this way, we have complete control of what happens when a config option is read or set. In this way, we keep internal consistency of all options. For example, see ManimConfig.tex_template_file or ManimConfig.dry_run. Look also at ManimConfig.quality which now allows to change the width, height, and frame rate with a single line of code config["quality"] = "low_quality" (@eulertour recently requested a set_quality method :wink: ). The rest of the properties are mostly boilerplate. I chose to use the syntax config_opt = property(...) because it reduces boilerplate and wasted space (though I am not married to this). There are a few helpers that help with this boilerplate (_set_from_list, _set_boolean, _set_str, _set_between, _set_pos_number).
The ManimConfig class is meant to contain all the configuration in one place, a single source of truth, and it replaces file_writer_config, and most of config, and is meant to be used mostly internally. HOWEVER, I have also added a new class, ManimFrame, which is meant to contain the config options that are related to frame/video geometry and are meant to be used mostly by the user. The global frame is called frame and is instantiated in line 26 of manim/config/__init__.py and depends intimately on the global ManimConfig object. In short, ManimFrame just reflects a bunch of config options set in ManimConfig (see bottom of the file manim/config/utils.py) but a ManimFrame is completely immutable. My intention is to allow the user to do something like from manim import frame as F and then do something like F.pixel_width or F.top. (This is something @kolibril13 has been asking for for a while!) However, I'm not married to the current implementation of ManimFrame and that is subject to change. Please let's focus right now on ManimConfig first!
That's all folks. I've done my best to explain the inner workings of this beast. Please let me know if I missed anything.
Testing Status
Passes locally. Added a new test for the -s flag.
Further Comments
Right now the ManimFrame class is implemented but never used. I wanted to reduce the size of this PR as much as possible before actually using it. If you have general comments on it, please leave them here. If you have implementation comments, let's discuss them in the next PR.
Once the review of this stabilizes a bit, I will write the changelog right before merging. I will add extensive documentation in a separate PR.
I still want to add a test for --disable_caching before merging this, but haven't figured out how. Help please @ManimCommunity/tests.
Acknowledgement

[x] I have read the Contributing Guidelines

Everything here looks good to me, it's just a matter of addressing the problems with the merge and docs.

Just pushed a new commit that fixes the -s flag when the scene contains no animations. Thanks @kolibril13 for reporting. (It also removes a couple of repeated keys.)
@ManimCommunity/tests could you please double-check the test that was added inhttps://github.com/ManimCommunity/manim/pull/620/commits/e74289e57955cf160239a6337370f7a8ef4a2d54? I'm not sure if there's a better way of doing this.

Just a request, that is not implemented (or didn't I noticed) :
A method to revert manim config to the previous state.
I don't know if iy would be particularly useful, but who knows.

tempconfig exists! It even has a couple of tests already.

This is typically the type of thing that needs ton of tests, if we don't want it to well, break at every PR.
Could you add some please?

Yeah, I want to add a few tests for some more CLI flags, at least. Do you have suggestions on what else I should be testing?

Update: tests pass locally and docs build.
However, there are a few tests that break only in python3.6. I'll investigate.

All tests pass! Now I'll add some more tests as requested by @huguesdevimeux

(Hopefully) last update: tests pass, docs build. Added a few more tests and cleaned up some unnecessary code.
@eulertour I believe there are no tests for the js renderer so if you want to test that out before merging, that'd be great.
Otherwise, I move we merge this ASAP because rebasing is killing me. I will write documentation in a separate PR.

@eulertour do you want to test JS renderer stuff before I merge and inevitably break everything?

I'm actually fine with you merging it first, since after making the Cairo renderer the J's renderer will have to be reworked anyway


Create generic controller

(because I'm morbidly curious what codeclimate thinks of this and we have draft PRs now)

Closing due to massive merge conflicts


Input Calendar Event

User Story
AS AN employee with a busy schedule,
I WANT to add important events to a daily planner,
SO THAT I can manage my time effectively.

Acceptance Criteria
GIVEN I am using a daily planner to create a schedule,
WHEN I click into a time-block,
THEN I can enter an event.

complete
https://nestibry.github.io/umnbc-mod05-work-day-scheduler/


fix compile error in rn version >= 0.40

Fix compile error in rn version >= 0.40

@christopherdro could you please publish patch with this fix to npm?

@itsmepetrov Just published 0.15.1

AIRGMSPolyline needs the same fix, right?


firrtl: fix lit issue

Codecov Report

Merging #44 into master will decrease coverage by 0.42%.
The diff coverage is 84.21%.

@@            Coverage Diff             @@
##           master      #44      +/-   ##
==========================================
- Coverage   83.11%   82.68%   -0.43%
==========================================
  Files         101      101
  Lines        2795     2726      -69
==========================================
- Hits         2323     2254      -69
  Misses        472      472

Impacted Files
Coverage Δ

py_hcl/transformer/pyhcl_to_firrtl/context.py
100% <ø> (ø)

py_hcl/transformer/pyhcl_to_firrtl/conv_type.py
68.75% <ø> (ø)

py_hcl/transformer/pyhcl_to_firrtl/conv_module.py
25.92% <100%> (ø)

py_hcl/compile/__init__.py
28.57% <100%> (ø)
:arrow_up:

py_hcl/transformer/pyhcl_to_firrtl/utils.py
44.44% <100%> (ø)

py_hcl/transformer/pyhcl_to_firrtl/conv_port.py
45% <100%> (ø)

py_hcl/transformer/pyhcl_to_firrtl/conv_stmt.py
61.53% <100%> (ø)

py_hcl/transformer/pyhcl_to_firrtl/convertor.py
42.85% <100%> (ø)

py_hcl/firrtl_ir/expr/literal.py
100% <100%> (ø)
:arrow_up:

py_hcl/transformer/pyhcl_to_firrtl/conv_expr.py
38.06% <57.14%> (ø)

... and 17 more

Continue to review full report at Codecov.

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


Multiple identical state mqtt messages on start/page load

Describe the bug
Multiple identical state mqtt messages on Dashboard start
To Reproduce
Subscribe to all mqtt topics, enable MQTT in WallPanel settings and open Dashboard.
You will get something like this

11:37:26: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:26: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:27: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:27: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:28: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:28: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:30: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:32: (0) home/OpenMQTTGateway/433toMQTT {"value":75,"protocol":8,"length":12,"delay":698}
11:37:51: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}
11:37:51: (0) home/wallpanel/entrance/sensor/motion {"value":false}
11:37:51: (0) home/wallpanel/entrance/state {"currentUrl":"http://<IP_ADDRESS>:8123/alarm","screenOn":true,"brightness":56}

Expected behavior
There should be only one state message.
Also, it would be great to update docs as there is nothing about "brightness" in there.
Smartphone (please complete the following information):
Acer Iconia One 7
WallPanel 0.8.5beta6

There are two items in the documentation about brightness, one is the command to set the brightness using MQTT (https://github.com/thanksmister/wallpanel-android#commands).  The other is to receive application states (https://github.com/thanksmister/wallpanel-android/blob/master/README.md#application-state-data).   I added brightness to the documentation, but screenOn and currentUrl  are in the documentation.

These events are published any the screen is on, screen is off, or the user is present.

It seems these events are happening by design, they may seem a lot, but the state is published on the application start for the events that occur, so if you launch the app and touch it, you get two events, of if you change the url, touch the app, power off the screen you get three sets.
I have updated the documentation about the brightness value, which is your current screen brightness when the application state is published.  However, at this time I won't address this issue as the states being published is minimal traffic.


chore: mitigate phishing attacks

This PR adds a banner to the Storybook preview page, if viewed directly in the iframe. This is only visible in deployed versions.

Codecov Report

Merging #2011 (8d6e919) into master (ab917b0) will decrease coverage by 18.17%.
Report is 1696 commits behind head on master.
The diff coverage is 30.47%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##           master    #2011       +/-   ##
===========================================
- Coverage   54.85%   36.68%   -18.17%
===========================================
  Files          49      288      +239
  Lines        1659    10877     +9218
  Branches      406     2382     +1976
===========================================
+ Hits          910     3990     +3080
- Misses        671     6629     +5958
- Partials       78      258      +180

Files
Coverage Δ

...c/components/sbb-action-group/sbb-action-group.tsx
100.00% <100.00%> (ø)

...mponents/sbb-alert-group/sbb-alert-group.events.ts
100.00% <100.00%> (ø)

src/components/sbb-alert/sbb-alert.events.ts
100.00% <100.00%> (ø)

...onents/sbb-autocomplete/sbb-autocomplete.events.ts
100.00% <ø> (ø)

src/components/sbb-card-badge/sbb-card-badge.tsx
100.00% <100.00%> (+11.11%)
:arrow_up:

src/components/sbb-card/sbb-card.stories.tsx
0.00% <ø> (ø)

src/components/sbb-card/sbb-card.tsx
90.00% <ø> (ø)

.../sbb-checkbox-group/sbb-checkbox-group.stories.tsx
0.00% <ø> (ø)

...mponents/sbb-checkbox-group/sbb-checkbox-group.tsx
33.33% <ø> (ø)

src/components/sbb-checkbox/sbb-checkbox.events.ts
0.00% <ø> (ø)

... and 55 more

... and 239 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Yeah, but I think limiting the link hrefs should be fine, as that is seldomly an area we need to debug or demonstrate.


Measures are always put in alphabetical order

I want measures in the order I place them, not alphabetically sorted. E.g. the Sales cube contains Store Sales, Store Cost, Profit. I cannot place these measures in this (correct) row order since it's shown as Store Cost, Store Sales, Profit

There are some limitations on the measure ordering in Saiku because of issues (once more) with the Olap4J query model. Quite how they affect this scenario i'm not sure but its sounding like the issue.


Refactor:  split IExecution out from IModule

Refactor interfaces to enable simpler implementation by getting rid of unnecessary function requirement.
Also rename vars to match the refactor.

Would love to do another pass at names (and also names for all other things) at some point! installModule bothers me a bit now since we changed ModuleManifest to ExecutionManifest.

Yeah, was thinking about it. Maybe rename it to installExecution?

installExecution

Perhaps. It does pair nicely with installValidation...

+1 to installExecution from me!

Also flagging that we should start targeting the develop branch instead of v0.8-develop, and we should delete v0.8-develop.

Also flagging that we should start targeting the develop branch instead of v0.8-develop, and we should delete v0.8-develop.

Ah yes, great catch. @fangting-alchemy could you update the base branch on this PR?


Suggestion: Make the placement of the drum parts correspond with the keys

I think it would be nice/easier to understand if you could have the corresponding keys used for the drum parts be placed visually about the same relation to each other on screen like on the keyboard.
Like if it would stay a row, maybe the letters on a row from s-l would be better?

Hey @silverwavetidaldragon , Are you still working on it?

Hello! Sorry for late reply,I don't think I'll be able to sadly. I attached a picture of what I was thinking of key binding/placement though!

No problem buddy 👍.. I will keep this issue open.


chapter 4 linked list code snippet in the book is wrong

class SinglyLinkedList:
    def __init__ (self):
        self.tail = None
        self.head = None
        self.size = 0
    def append_at_a_location(self, data, index):
        current = self.head
        prev = self.head
        node = Node(data)
        count = 1
        while current:
            if count == 1:
                node.next = current
                self.head = node
                print(count)
                return
            elif index == index:
                node.next = current
                prev.next = node
                return
            count += 1
            prev = current
            current = current.next
        if count < index:
            print("The list has less number of elements")

this code snippet can't demo the concept of inserting new element at a given index. instead, it always insert the new element at the beginning of the list.
please correctify this error.
thanks

This corrected code should work:
def appendAtLocation(self, data, index):
current = self.head
prev = self.head
node = Node(data)
count = 1
while current:
if count == 1 and index == 1:
node.next = current
self.head = node
return
elif count == index:
node.next = current
prev.next = node
return
count += 1
prev = current
current = current.next
if count < index:
print("The list has less number of elements")

Change this (Lazy, sloppy authors):
if count == 1 and index == 1:


[Core] Update to OpenAssetIO 1.0.0-beta.1.0

Update dependency versions, hence

Avoid use of deprecated exceptions.
Explicitly detect when an entity has no "locatableContent" trait. Previously an exception would be raised from OpenAssetIO, but this was changed to return None instead.

Draft notes
This requires BAL 1.0.0a12 to be released. See https://github.com/OpenAssetIO/OpenAssetIO-Manager-BAL/pull/82

Sorry GitHub has done one of those floating comments again here.


make weave launch launch everything

Running the weave router, dns and proxy is now the common case, rather than the exception. So we should make that more convient...

weave launch should launch all three
weave stop should stop all three
weave launch-router should launch just the router (i.e. it's the current weave launch)
weave stop-router should stop just the router (i.e. it's the current weave stop)

Rather than getting all clever about arg parsing, weave launch should simply pass all args to (just) the router. In the unusual cases where a user wants to pass arguments to the dns or proxy, they can launch all three separately instead.
weave launch should fail with a suitable "already running" error (as now) if any of the three are already running, and not start any of the others. And if starting any of them fails, any others already started should be stopped.
weave stop should stop any containers running, report a "not running" error (as now), and succeed.

+1

weave launch should launch all three

Should it still print out the container IDs, now that there will be three of them?

Should it still print out the container IDs, now that there will be three of them?

They have never been all that useful, I guess, so no.

And if starting any of them fails, any others already started should be stopped.

Does this imply that for weave stop, if stopping any of them fails that any others already stopped should be started?

Does this imply that for weave stop, if stopping any of them fails that any others already stopped should be started?

No.


PTV3 Training Loss is Nan with enable_amp=True

Hi,
thank you so much for your great work! I am using your model to train the model on our customized dataset in nuscenes structure. Since the dataset is unannotated with a unique lidar configuration, we obtain the labels of the points by performing camera-based algorithms.
I used the default PTV3 config for training nuscenes. In the 1. training stage with enable_amp = True, the loss appears to be nan after the decoding process, and the process ends up with :
/opt/conda/conda-bld/pytorch_1695392020195/work/aten/src/ATen/native/cuda/ScatterGatherKernel.cu:144: operator(): block: [177,0,0], thread: [95,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed.
[Exception|implicit_gemm_backward]feat=torch.Size([390517, 32]),w=torch.Size([32, 3, 3, 3, 32]),pair=torch.Size([27, 390517]),issubm=True,do=torch.Size([390517, 32])
SPCONV_DEBUG_SAVE_PATH not found, you can specify SPCONV_DEBUG_SAVE_PATH as debug data save path to save debug data which can be attached in a issue.
RuntimeError: sync /tmp/pip-build-env-3zk5r55r/overlay/lib/python3.8/site-packages/cumm/include/tensorview/profile/cuda_profiler.h:168
cuda failed with error 710 device-side assert triggered. use CUDA_LAUNCH_BLOCKING=1 to get correct traceback.

With enable_amp=False, the model was able to run, but the performance was poor.
Could you give me some advice for the training? Thank you so much in advance!

Hi, enable amp (fp32) and flash attention (fp16) may cause NaN. Classical multi-head self-attention (MSA) is not stable. In your case, I think disabling AMP initially is a good choice, yet maybe tuning the learning rate or some other parameters is necessary. Would you like to share your config with me for further judgment?

Hi,
thank you for your quick response!
here is my config. I used the default config for nuscenes with enable_amp=False and used 2x A100 for the training.
_base_ = ["../_base_/default_runtime.py"]

# misc custom setting
batch_size = 12  # bs: total bs in all gpus
mix_prob = 0.8
empty_cache = False
enable_amp = False

# model settings
model = dict(
    type="DefaultSegmentorV2",
    num_classes=16,
    backbone_out_channels=64,
    backbone=dict(
        type="PT-v3m1",
        in_channels=4,
        order=["z", "z-trans", "hilbert", "hilbert-trans"],
        stride=(2, 2, 2, 2),
        enc_depths=(2, 2, 2, 6, 2),
        enc_channels=(32, 64, 128, 256, 512),
        enc_num_head=(2, 4, 8, 16, 32),
        enc_patch_size=(1024, 1024, 1024, 1024, 1024),
        dec_depths=(2, 2, 2, 2),
        dec_channels=(64, 64, 128, 256),
        dec_num_head=(4, 4, 8, 16),
        dec_patch_size=(1024, 1024, 1024, 1024),
        mlp_ratio=4,
        qkv_bias=True,
        qk_scale=None,
        attn_drop=0.0,
        proj_drop=0.0,
        drop_path=0.3,
        shuffle_orders=True,
        pre_norm=True,
        enable_rpe=False,
        enable_flash=True,
        upcast_attention=False,
        upcast_softmax=False,
        cls_mode=False,
        pdnorm_bn=False,
        pdnorm_ln=False,
        pdnorm_decouple=True,
        pdnorm_adaptive=False,
        pdnorm_affine=True,
        pdnorm_conditions=("nuScenes", "SemanticKITTI", "Waymo"),
    ),
    criteria=[
        dict(type="CrossEntropyLoss", loss_weight=1.0, ignore_index=-1),
        dict(type="LovaszLoss", mode="multiclass", loss_weight=1.0, ignore_index=-1),
    ],
)

# scheduler settings
epoch = 50
eval_epoch = 50
optimizer = dict(type="AdamW", lr=0.002, weight_decay=0.005)
scheduler = dict(
    type="OneCycleLR",
    max_lr=[0.002, 0.0002],
    pct_start=0.04,
    anneal_strategy="cos",
    div_factor=10.0,
    final_div_factor=100.0,
)
param_dicts = [dict(keyword="block", lr=0.0002)]

# dataset settings
dataset_type = "NuScenesDataset"
data_root = "dataset/nuscenes"
ignore_index = -1
names = [
    "barrier",
    "bicycle",
    "bus",
    "car",
    "construction_vehicle",
    "motorcycle",
    "pedestrian",
    "traffic_cone",
    "trailer",
    "truck",
    "driveable_surface",
    "other_flat",
    "sidewalk",
    "terrain",
    "manmade",
    "vegetation",
]

data = dict(
    num_classes=16,
    ignore_index=ignore_index,
    names=names,
    train=dict(
        type=dataset_type,
        split="train",
        data_root=data_root,
        transform=[
            # dict(type="RandomDropout", dropout_ratio=0.2, dropout_application_ratio=0.2),
            # dict(type="RandomRotateTargetAngle", angle=(1/2, 1, 3/2), center=[0, 0, 0], axis="z", p=0.75),
            dict(type="RandomRotate", angle=[-1, 1], axis="z", center=[0, 0, 0], p=0.5),
            # dict(type="RandomRotate", angle=[-1/6, 1/6], axis="x", p=0.5),
            # dict(type="RandomRotate", angle=[-1/6, 1/6], axis="y", p=0.5),
            dict(type="RandomScale", scale=[0.9, 1.1]),
            # dict(type="RandomShift", shift=[0.2, 0.2, 0.2]),
            dict(type="RandomFlip", p=0.5),
            dict(type="RandomJitter", sigma=0.005, clip=0.02),
            # dict(type="ElasticDistortion", distortion_params=[[0.2, 0.4], [0.8, 1.6]]),
            dict(
                type="GridSample",
                grid_size=0.05,
                hash_type="fnv",
                mode="train",
                keys=("coord", "strength", "segment"),
                return_grid_coord=True,
            ),
            # dict(type="SphereCrop", point_max=1000000, mode="random"),
            # dict(type="CenterShift", apply_z=False),
            dict(type="ToTensor"),
            dict(
                type="Collect",
                keys=("coord", "grid_coord", "segment"),
                feat_keys=("coord", "strength"),
            ),
        ],
        test_mode=False,
        ignore_index=ignore_index,
    ),
    val=dict(
        type=dataset_type,
        split="val",
        data_root=data_root,
        transform=[
            # dict(type="PointClip", point_cloud_range=(-51.2, -51.2, -4, 51.2, 51.2, 2.4)),
            dict(
                type="GridSample",
                grid_size=0.05,
                hash_type="fnv",
                mode="train",
                keys=("coord", "strength", "segment"),
                return_grid_coord=True,
            ),
            # dict(type="SphereCrop", point_max=1000000, mode='center'),
            dict(type="ToTensor"),
            dict(
                type="Collect",
                keys=("coord", "grid_coord", "segment"),
                feat_keys=("coord", "strength"),
            ),
        ],
        test_mode=False,
        ignore_index=ignore_index,
    ),
    test=dict(
        type=dataset_type,
        split="val",
        data_root=data_root,
        transform=[
            dict(type="Copy", keys_dict={"segment": "origin_segment"}),
            dict(
                type="GridSample",
                grid_size=0.025,
                hash_type="fnv",
                mode="train",
                keys=("coord", "strength", "segment"),
                return_inverse=True,
            ),
        ],
        test_mode=True,
        test_cfg=dict(
            voxelize=dict(
                type="GridSample",
                grid_size=0.05,
                hash_type="fnv",
                mode="test",
                return_grid_coord=True,
                keys=("coord", "strength"),
            ),
            crop=None,
            post_transform=[
                dict(type="ToTensor"),
                dict(
                    type="Collect",
                    keys=("coord", "grid_coord", "index"),
                    feat_keys=("coord", "strength"),
                ),
            ],
            aug_transform=[
                [dict(type="RandomScale", scale=[0.9, 0.9])],
                [dict(type="RandomScale", scale=[0.95, 0.95])],
                [dict(type="RandomScale", scale=[1, 1])],
                [dict(type="RandomScale", scale=[1.05, 1.05])],
                [dict(type="RandomScale", scale=[1.1, 1.1])],
                [
                    dict(type="RandomScale", scale=[0.9, 0.9]),
                    dict(type="RandomFlip", p=1),
                ],
                [
                    dict(type="RandomScale", scale=[0.95, 0.95]),
                    dict(type="RandomFlip", p=1),
                ],
                [dict(type="RandomScale", scale=[1, 1]), dict(type="RandomFlip", p=1)],
                [
                    dict(type="RandomScale", scale=[1.05, 1.05]),
                    dict(type="RandomFlip", p=1),
                ],
                [
                    dict(type="RandomScale", scale=[1.1, 1.1]),
                    dict(type="RandomFlip", p=1),
                ],
            ],
        ),
        ignore_index=ignore_index,
    ),
)

Hi, the config looks good to me. How about the coverage of the model? The gap between train split and val split. The scale of customized datasets also might be a reason. (How about the performance compared with SparseUNet?)


fix(types): add null types

This PR adds null types. Example:

  /**
   * String with CSS selector or HTML element of the element that will work
   * like "prev" button after click on it
   *
   * @default null
   */
  prevEl?: CSSSelector | HTMLElement;

Optional character ? tells Typescript that it accepts undefined but not null, but according to the @default null is acceptable.
So null type is missing here and in places like this.
closes #3866

Thanks!


Remove All Shared Proteins tutorial from website

Users keep asking to use it because they see it here, so let's remove it so I don't have to keep answering.

I've removed the All Shared Proteins tutorial as well as scrubbed the Phylogenetic Tree user guide of references to it.


Added registered type libraries definition.

This change is

@destijl PTAL

Sorry, somehow I missed this. Empty value is what we decided on for default key value? We should put that in the style guide.
LGTM


Any idea if it would be possible to use something like oscrypto instead of the bundled SSL lib for HTTPS?

Any idea if it would be possible to use something like oscrypto instead of the bundled SSL lib for HTTPS?
I need to use this in a Sublime Text 3 plugin where the bundled version of SSL is pretty old and I can't connect to some hosts supporting only TLS1.2. Using the above should fix this issue.
Any idea how this can be used for SSL?

@danechitoaie Let's split this into two questions.
First, the problem with OpenSSL. If you can use a third-party library, you should be able to install PyOpenSSL, ndg-httpsclient, and pyasn1. If the cryptography library that backs PyOpenSSL is linked against a newer version of OpenSSL than the bundled one (or if you're on Windows or OS X, where cryptography is statically linked against a modern OpenSSL.
Using oscrypto instead is extremely tricky. Requests cannot add support for this in the mainline. You could in principle add support for this in urllib3, but that won't happen quickly. PyOpenSSL is probably your best bet here.

I can't use PyOpenSSL as that requires compilation and it would not work as a SublimeText3 plugin as they have their own version of python bundled that executes the plugins code.
Oscrypto would work as it's just Python code (nothing to compile) that uses the native OS SSL lib trough CFFI.
I understand that it can't be added to requests, I'm looking at maybe some pointers or ideas on how/if this could be implemented, even if it means I have to change some code in requests or urllib3 (private fork). I know it doesn't sound good but it's kind of the only option.

@danechitoaie PyOpenSSL and oscrypto both use the exact same backing library. PyOpenSSL has not required compilation for more than a year now.

Hmm, then I need to look more into PyOpenSSL then. Maybe I can just use that. Thanks for the input.


Exclude Example projects in Swift Package Manager

Motivation
When using Swift Package Manager, it clones both WrappingHStackExample-iOS and WrappingHStackExample-OSX when you want to use the package.
However, these example codes are not necessary as dependencies for the main functionality.
In contrast, when using CocoaPods, Example projects are not included.
https://github.com/dkk/WrappingHStack/blob/f31b8fdc57759c5aa5fc98c70746db5556e73300/WrappingHStack.podspec#L18
Resolved solution
Currently, Swift Package Manager exclude allows specifying individual files, but it doesn't provide a way to exclude directories.
As a workaround, I added Package.swift to the Example projects directory to prevent them from being included when using the package.
https://stackoverflow.com/questions/69382302/swift-package-how-to-exclude-files-in-root-git-directory-from-the-actual-swift/70990534#70990534

Before
After (yutailang0119:swiftpm/exclude-example)

Side effect
There is one problem with this approach: when you open WrappingHStack/Package.swift in Xcode, it doesn't display the Example projects.

Before
After (yutailang0119:swiftpm/exclude-example)

Unfortunatelly SPM does not offer this functionality (Cocoapods does). Your solution does only hide the directories, it does not exclude them from cloning. Therefore, bringing no advantage (The Examples folders could at least serve as examples since you clone them anyway). I'm closing this PR without merging, sorry and thank you for the work you put into it.

Opps, I misunderstood.
Sorry.


fix: local_swift_package relative path resolution

This fixes the relative path resolution for local_swift_package when the Package.swift is not in the root of the repository.
Closes #363

Will update the tests in a few


[Existing API Name] : Unsplash Api

Brief Description 🤓
The Unsplash API allows developers to integrate Unsplash’s vast library of high-quality, free-to-use images into their applications. Here are some of the key uses and benefits of the Unsplash API:
Image Search and Display:
Use Case: Search for images based on keywords and display them in your application.

Provide reference!
https://unsplash.com/developers
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

Greetings @harshmishra19🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

/gssoc24


Page Acc. Schedule Overview - SetDimFilters

Describe the request
Please make the procedure SetDimFilters global.
Current
 local procedure SetDimFilters(DimNo: Integer; DimValueFilter: Text)
New
procedure SetDimFilters(DimNo: Integer; DimValueFilter: Text)
Additional context
I would like to override the dimensions which are displayed when filtering dimension values. This can be achieved by hiding the standard field but I need to replicate this function in my page extension which I would like to avoid.
Internal work item: AB#558491

Sounds like a good change

Availability update: We will publish a fix for this issue in the next update for release 25.
Build ID to track: 27380.


Default kernel hard-locks on unstable

At least three people have reported hard-locks with the default kernel on unstable.
Symptoms are:

System hard-locks (no response to local or remote input) after a few hours, regardless of load
System may spontaneously power-off under heavy load
System experiences data loss up to several hours prior to the lockup
System may be a physical machine or a KVM client

The problem does not occur on systems using kernel 4.2, so the suggested workaround is to put
boot.kernelPackages = pkgs.linuxPackages_4_2;

in /etc/nixos/configuration.nix. We should upgrade the default kernel on unstable as soon as possible.

Was that all with 4.1.10 then? There's 4.1.11 on kernel.org (for a few days already).

Yes, all the lockups have been with kernel 4.1.10.

Just as another data point, I had hard lock ups with 4.1.10 on real machines too (although I simply reverted back to 3.8).

i had similar problems and was able to get the console to stay on during a crash, it said something about a hung task, the key to debuging it was to "setterm -blank 0 -powerdown 0" from the console, so the tty would stay on even after it froze up
i was also doing hardware changes at the time, so i wasn't sure if it was the software or hardware though

We can't upgrade since we have a policy to always use latest long-term kernel. So either this is going to be fixed upstream (and backported to our kernel) or we should downgrade to 3.18.

@cleverca22 I could not get to a console any of the times this happened, and it was going on every few hours for almost a week before I could work around it.
@domenkozar I think this issue is fixed in 4.1.11; there is a patch backported from 4.2 for a deadlock issue that sounds like this one.

my console problem, is that the powersave kicked in and blanked, and then it wasnt responding enough to come back on, disabling power-save locked it on, so the printk's went to the screen and stayed there as it died

Has anyone tried 4.1.12, which is in unstable now?

Note: it's not in the channel yet and it's 4.1.11 (which is ~4 days old ATM). I use 4.1.11 on one machine since I pushed that update – no problems but I've had none even before. Upstream released 4.1.12 yesterday, but we don't have that in master yet.

Actually we do https://github.com/NixOS/nixpkgs/commit/658d7b285b8dc0597e8fbac2019d63ac56738640

Oh, I've missed that one when searching, thanks.

This appears to be fixed now.


Slightly improve the documentation

This is a trivial suggestion to make the readme a bit more clear on what it means to say.
Thank you for creating this awesome rubygem!

Thanks! I hope you'll understand.


Why does it need libnss?

Running render generates this error on Ubuntu:
$ terminalizer render 1.yml
Error:
  Error: /home/vagrant/.config/yarn/global/node_modules/electron/dist/electron: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory

Why is libnss3 needed?
Then, after installing libnss3, it complained about another missing library: libgtk-3.so.
This seems to have way too many dependencies.

Are using gui ubunu? otherwise your can't render.

Are using gui ubunu? otherwise your can't render.

Oh... that's a firm no 😈
Thanks for responding.


Adonis does''t register changing commands & aliases

For example
Commands.InsertList.Commands = {"vehicles","cars"}

The old alises work, meaning Adonises command running thingy doesnt register the change

You gotta call server.Admin.CacheCommands() after making the change for the new aliases to be registered.


Doppler link should be required

The BPM config for loggregator agent requires the doppler link, however the BOSH job spec still says its optional: https://github.com/cloudfoundry/loggregator-agent-release/blob/develop/jobs/loggregator_agent/spec#L14

This appears to be fixed in this commit:
https://github.com/cloudfoundry/loggregator-agent-release/commit/234e5ff93a2b9669c886bca839701919f6431aff#diff-fb2ff30bc988edf7f3eb98e0fca11154


Missing first 3-5 seconds of network traffic

I'm running the latest browsermob-proxy and selenium in python 3.5 with chromeDriver. It's capturing network traffic just fine, for the most part. However, it's missing the first 3-5 seconds of network traffic from the page load.
From: Fifa Ultimate Team
I'm trying to get /loc/en_US.json, but it loads before browsermob is able to capture it.
Any idea what I can do to capture it (without using requests)?

do you want to share your code here?


Fix code scanning alert - ECR Repository

Tracking issue for:

[x] https://github.com/crushten/terraform_EKS_deploy/security/code-scanning/6

This seems to be fixed now by adding the KMS stuff


code, textarea and pre should not be changed

Preformatted tags like pre, code and textarea should be kept unchanged and with the original indentation.
Changes inside those tags produce changes in visualization and in values inside a form.

🥳


linkifiers: Fix Markdown processor handling of topics that should have multiple linkifier topic_links.

As reported in https://chat.zulip.org/#narrow/stream/9-issues/topic/Multiple.20topic.20links.3F/near/1348089, it appears that we've regressed support for computing multiple topic_links generated by linkifiers in the server. Here's a test case:
diff --git a/zerver/tests/test_markdown.py b/zerver/tests/test_markdown.py
index 7b945f3187..4ab4e7a750 100644
--- a/zerver/tests/test_markdown.py
+++ b/zerver/tests/test_markdown.py
@@ -1344,6 +1344,16 @@ class MarkdownTest(ZulipTestCase):
             ],
         )

+        # BUG: This should render topic_links for both issue IDs.
+        msg.set_topic_name("Two issues: #444 #555")
+        converted_topic = topic_links(realm.id, msg.topic_name())
+        self.assertEqual(
+            converted_topic,
+            [
+                {"url": "https://trac.example.com/ticket/444", "text": "#444"},
+            ],
+        )
+
         RealmFilter(
             realm=realm,
             pattern=r"#(?P<id>[a-zA-Z]+-[0-9]+)",

The prepared regex (by prepare_linkifier_pattern matches #444 with spaces on both sides, after which it cannot also match  #555 because the space has already been used.

So yes, this is a regression from db934be0646e3002287c72ba2154a904a4dc42b5

Without using any sort of look-around, both regexes need to mach that in-betweeen space, in order to know that the pattern is well-bounded.  re2 doesn't support \G, which would be a way to work around the second regex trying to match it.
We can try using \b at the end, which is effectively a cheating look-ahead?


⚠ Bofrost.fr has degraded performance

In 1e90a9f, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1206 ms

Resolved: Bofrost.fr performance has improved in 73e4f99.


Catch HTTP status code 401

LGTM

Coverage increased (+2.4%) to 74.923% when pulling 71bb8f1bd387b270ec6efa6e3a87a06d50eae384 on login-catch-401-juha into 1b0d60e10e167731411013c604107ca24293c109 on master.

Coverage increased (+2.4%) to 74.923% when pulling 71bb8f1bd387b270ec6efa6e3a87a06d50eae384 on login-catch-401-juha into 1b0d60e10e167731411013c604107ca24293c109 on master.


Using expressions in a GitHub Release task

Can I use expressions in a GH release task? I want to achieve something like this:
- task: GithubRelease@0
  inputs:
    # Imaginre the mandatory inputs here...
    tag: $(Release.Tag)
    isDraft: ne(variables['Release.IsDraft'], 'false')
    addChangeLog: eq(variables['Release.AddChangeLog'], 'true')
  condition: and(succeeded(), startsWith(variables['Release.Tag'], 'v'))

I ran my pipeline build with the following queue time variables:
system.debug true
agent.diagnostic true
Release.Tag v1.2.3
Release.AddChangeLog true
Release.IsDraft xxx

I thought:

isDraft will evaluate to true (because xxx is not equal to false) and
addChangeLog will be true but I must be missing something because my GH release ended up as the latest releases (instead of a draft one) without the changelog.

According to the Tasks/GitHubReleaseV0/task.json, both isDraft and addChangeLog are declared with boolean type.
Is this a missing feature, a bug, or I made the mistake again? I can see these in the pipeline log:
2018-12-18T21:36:35.1537648Z ##[debug]isDraft=ne(variables['Release.IsDraft'], 'false')
...
2018-12-18T21:36:35.1549680Z ##[debug]changeLog=eq(variables['Release.AddChangeLog'], 'true')

Thank you!

@kittaakos  i don't think you need to use expression for this.
all task inputs are just string, task author use task.json to tells UI how to render it.
I think the following should just work
- task: GithubRelease@0
  inputs:
    # Imaginre the mandatory inputs here...
    tag: $(Release.Tag)
    isDraft: $(Release.IsDraft)
    addChangeLog: $(Release.AddChangeLog)
  condition: and(succeeded(), startsWith(variables['Release.Tag'], 'v'))

Release.IsDraft=true
Release.AddChangeLog

i don't think you need to use expression for this.

Well, it is not a must but I would like to :) If you check my isDraft condition, I would like to avoid accidental non-draft releases:
isDraft: ne(variables['Release.IsDraft'], 'false')

The question would be the same; is it possible? Thanks!


github pages are outdated

There are a lot of changes since the last documentation on github-pages release.
For example:

And

Yea the Option 2 didn't even work for me (Raspbian). It's also not so clear which binary to use (for newbies like me). I tried two different binaries and neither work and so I've given up at this point.
Any "super easy to use" Github script/software should only entail one option - and that is, "copy and paste these 3 lines into your terminal if you are using Linux. Use these other 3 lines if you are using Mac, and use these 3 lines if you are on Windows". I should not have to use my brain whatsoever to install something that is supposed to be "super easy to use".

Apologies. I'll update them soon, in the meantime, please refer to the README file for up to date instructions.

Accordingly to @karan comment in #71, joe has been rewritten in Go which makes GitHub pages completely non-relevant and misleading.
Installation through PyPI, brew is still suggested, yet, both are utterly broken, and now seeing that it is rewritten in Go, explains why.
If you don't have time to fix it, take it down or redirect to Github repo. That is not so hard, yet will save someone time.


brew gem install doesn't also install rexml

<internal:/opt/homebrew/Cellar/ruby/3.3.4/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require': cannot load such file -- rexml/document (LoadError)
        from <internal:/opt/homebrew/Cellar/ruby/3.3.4/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
        from /opt/homebrew/Cellar/gem-searchlink/2.3.66/gems/searchlink-2.3.66/lib/searchlink.rb:7:in `<top (required)>'
        from <internal:/opt/homebrew/Cellar/ruby/3.3.4/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
        from <internal:/opt/homebrew/Cellar/ruby/3.3.4/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
        from /opt/homebrew/Cellar/gem-searchlink/2.3.66/gems/searchlink-2.3.66/bin/searchlink:8:in `<top (required)>'
        from /opt/homebrew/bin/searchlink:6:in `load'
        from /opt/homebrew/bin/searchlink:6:in `<main>'

When I try the echo '!brettterpstra.com project searchlink' | searchlink or even a generic search I get this message.
Things I've tried:

sudo brew gem install searchlink
sudo brew gem install rexml

for completion...
I also tried:
brew gem install searchlink and
gem install --user-install searchlink
same error message

Might be a ruby 3.x issue, rexml is a default library.

I'll look into it tomorrow.

Apparently I don't actually use Rexml in the script anymore anyway, so removed that dependency. Tested with Ruby 3.3 and seems to be working. Update to the latest gem (gem install searchlink) and let me know.

@ttscoff  - yup seems to work!


:book: Correcting the link to the developers doc

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>
Summary
The link to the developers doc is currently broken
Related issue(s)
Fixes #

/ok-to-test
/lgtm
/approve


Support anchor names for inherited methods

There is a problem in the way anchors are generated for methods of classes that are inherited from a superclass. The problem was first reported in this PR but it happens more broadly when you have an object (let's say BertTokenizer) and a method (let's say the __call__ magic method) that you are asking in the documentation, but that method's documentation is actually written in the superclass (in our example PreTrainedTokenizerBase).
Currently, doc-builder will create the documentation of this method under the anchor PreTrainedTokenizerBase.__call__ which has two problems:

if we were in a page with two different tokenizers documenting that method, we would get the same anchor twice
more annoying is that this method can never be linked to via inter-links. When asking for a link to this method via [`BertTokenizer.__call__`], we get a link to the BertTokenizer.__call__ anchor

And even more insidious, the object found by doc-builder when looking at BertTokenizer.__call__ is PreTrainedTokenizerBase.__call__ (that's why this is the generated anchor name), so when resolving [`BertTokenizer.__call__`], it tries to find in the anchors mapping PreTrainedTokenizerBase.__call__, but in that mapping, the method is under the child's name BertTokenizer.__call__, so the reference is not resovled.
This PR solves those issues the following way:

it adds an anchor_name to the document_object method, to force the anchor name to be {documented_class_anchor}.{method} in those situations
if the anchor_name is different from the object name (as above) it saves both names in the anchor mapping
when it's time to build links from those mappings, it creates, for the object name a link to the proper anchor name.

Merging this without waiting for Mishig's approval since he is on vacation, but will address any comments he has in a follow-up PR if needed :-)


Wallchart etc. should use latest entry for "Introduction to Scouting", "Introduction to Section", "Milestone" etc.

It is possible for many "Introduction to Scouting", "Introduction to Section", "Milestone" etc. to exists.
https://github.com/NomisNostab/Topo/issues/159
Can reports be updated to use the latest entry added? Currently it seems to use the one with most recent date

NVM. The data has no way of identifying which was latest


[SPARK-30284][SQL] CREATE VIEW should keep the current catalog and namespace

What changes were proposed in this pull request?

Update CREATE VIEW command to store the current catalog and namespace instead of current database in view metadata. Also update analyzer to leverage the catalog and namespace in view metastore to resolve relations inside views.
Note that, this PR still keeps the way we resolve views, by recursively calling Analyzer. This is necessary because view text may contain CTE, window spec, etc. which needs rules outside of the main resolution batch (e.g. CTESubstitution)
Why are the changes needed?

To resolve relations inside view correctly.
Does this PR introduce any user-facing change?

Yes, fix a bug. Now tables referred by a view can be resolved correctly even if the current catalog/namespace has been updated.
How was this patch tested?

a new test

Test build #115448 has started for PR 26923 at commit 29caa03.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20250/
Test PASSed.

Test build #115448 has finished for PR 26923 at commit 29caa03.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115448/
Test FAILed.

cc @imback82 @rdblue @jiangxb1987

Test build #115449 has started for PR 26923 at commit 655858c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20251/
Test PASSed.

Test build #115449 has finished for PR 26923 at commit 655858c.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115449/
Test FAILed.

Test build #115457 has started for PR 26923 at commit 955e3da.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20259/
Test PASSed.

Test build #115457 has finished for PR 26923 at commit 955e3da.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115457/
Test FAILed.

Test build #115465 has started for PR 26923 at commit 3eaa16b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20267/
Test PASSed.

Test build #115465 has finished for PR 26923 at commit 3eaa16b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115465/
Test PASSed.

Test build #115506 has started for PR 26923 at commit 127368c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20309/
Test PASSed.

Test build #115506 has finished for PR 26923 at commit 127368c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115506/
Test FAILed.

Test build #115514 has started for PR 26923 at commit eb5f0aa.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20316/
Test PASSed.

Test build #115514 has finished for PR 26923 at commit eb5f0aa.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115514/
Test FAILed.

Test build #115945 has started for PR 26923 at commit 125fa0f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20737/
Test PASSed.

Test build #115945 has finished for PR 26923 at commit 125fa0f.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115945/
Test FAILed.

retest this please

Test build #115985 has started for PR 26923 at commit 125fa0f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20777/
Test PASSed.

Test build #115985 has finished for PR 26923 at commit 125fa0f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115985/
Test PASSed.

retest this please

Test build #116008 has started for PR 26923 at commit 125fa0f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20800/
Test PASSed.

Test build #116014 has started for PR 26923 at commit 444aef9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20806/
Test PASSed.

Test build #116015 has started for PR 26923 at commit 012ddee.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20807/
Test PASSed.

Test build #116008 has finished for PR 26923 at commit 125fa0f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116008/
Test PASSed.

Test build #116014 has finished for PR 26923 at commit 444aef9.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #116015 has finished for PR 26923 at commit 012ddee.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116014/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116015/
Test FAILed.

retest this please

Test build #116024 has started for PR 26923 at commit 012ddee.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20816/
Test PASSed.

Test build #116024 has finished for PR 26923 at commit 012ddee.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116024/
Test FAILed.

retest this please

Test build #116039 has started for PR 26923 at commit 012ddee.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20831/
Test PASSed.

Test build #116040 has started for PR 26923 at commit 012ddee.

Test build #116040 has finished for PR 26923 at commit 012ddee.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116040/
Test PASSed.

thanks for the review, merging to master!

Test build #116039 has finished for PR 26923 at commit 012ddee.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/116039/
Test PASSed.


[5.7] Allow overriding Eloquent model array attribute casting

The use case is that libraries exist to extend Eloquent for use with other database drivers, such as MongoDB and ElasticSearch. Some of these (in particular MongoDB) have native support for storing arrays without them needing to be encoded as JSON.
Currently, using a MongoDB driver I can't cast an array attribute as such in a model as it results in an error:
ErrorException: json_decode() expects parameter 1 to be string, array given

I could overload the fromJson method in the MongoDB Eloquent library, but that doesn't seem entirely right. I don't think a method called fromJson should need to check whether the value is already an array.
This would allow Eloquent drivers for database with native array support to override the fromArray method to return the value as it is rather than attempting to decode from json.
Admittedly, it isn't actually necessary to use a case at all if the database driver natively supports arrays. But this change makes it easier for the database driver to be changed without changing the casts attribute of the model.

My reasoning was that in the HasAttributes trait it is an alias. I've updated the description which hopefully makes the methods intention clearer.

I don't like this as this add a new reserved method in Eloquent.
Would really prefer if we revisit the extendable/instance based casting PR.

I agree I don't like adding new reserved methods to Eloquent on a point release, but I also do not totally agree Eloquent should be used to try to shoe-horn other databases into its classes. It was never really designed for that.
IMO other database systems that are not even relational databases should have their own ORMs that fit their particular strengths.


[Badge] Support images/icons

Description
For badges, it's fairly common, in addition to text, to have some kind of image/icon. For example, roles in Discord servers often have custom icons. It would be a nice improvement to have such support for badges. In addition to potential integration with @nuxt/icon for icons, it is also a good idea to implement support for custom images (via the image path),
Additional context
No response

Hello, is this feature planned and scheduled for V3?
This would be consistent with the other components and very useful.
Thanks

I think I can help with that. I'll do PR in v3 a little later


[samples] Service Bus samples are not properly switching over from v1 to v7.

While we were developing the service-bus package we were in a situation where v1 was the stable and v7 (at the time in preview) was not. So in master we set up our folder structure like this:

service-bus

samples  <-- v7 samples
samples-v1 <-- v1 samples

The readmes in samples-v1 contained the YAML front-matter required for the samples pipeline and all was good in the world.
You can see one of them published on docs.microsoft.com for instance:
(note that these are now incorrectly pointing to the old samples folder)

JS: https://docs.microsoft.com/en-us/samples/azure/azure-sdk-for-js/service-bus-javascript/
TS: https://docs.microsoft.com/en-us/samples/azure/azure-sdk-for-js/service-bus-typescript/

Now that we've shipped v7 we no longer want to advertise the older samples - we want the newer samples to just replace the older ones. However, even after moving the front-matter it appears to not be happening (PR that removed the old folder of samples and moved the YAML front-matter.
What we're trying to figure out is what's missing - was I supposed to indicate this some other way? Is this a "hole" in the current system where you can't move an existing set of samples to a new location? And how can we kick the samples pipeline because we released the package and we definitely don't want new customers using the older package.
BTW, I created this PR in the docs repo to indicate where I think the invalid values are stored, but that's clearly all generated data:
https://github.com/MicrosoftDocs/samples/pull/1935
(adding in our docs experts!)
CC: @scbedd , @willmtemple

There is another sample in the pipeline (not Service Bus) that apparently was gumming up the works.
One of the docs team members fixed this up for us manually in the meantime so we're good now (both of the above links point to v7, not v1!)


DO NOT MERGE, DO NOT UPDATE FROM STABLE

https://github.com/zyedidia/micro/issues/3322
I'm attempting to validate the build of micro that last succeeded. I expect this to fail due to a mismatched sha256sum.

This is very odd, the build ran with no issue, but the generated artifact contains folders and files that should not be generated for the codebase, as the changes required were just merged into stable yesterday.
The sha256sum used in the package recipe doesn't match what I get when I manually download the file to check against as well, which is also not what I'm expecting.

Upon reviewing the logs, it looks like the git checkout runs the following:
/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +720bd3919fdc80a9267ed25588779368a797cb19:refs/remotes/pull/869/merge

I expect that refs/remotes/pull/869/merge contains an automatic merge of this branch into stable, which would be why all the changes are there. I'll have to do something else to force it to use the old codebase. This doesn't answer why the sha256sum check isn't failing though.

Now that I've ensured that the old codebase for the build system is running, it seems to no longer work due to changes in the github runners. I'm hesitant to try to resolve them, as it may invalidate this test.


What is the the replacement of setNativeProps in Fabric?

Description
Hi ReactNative team, I know that in the new architecture you don't plan to give support to ref.setNativeProps.
So according to that premise, could you please give me an example of how is the new way to update the props of an element (View, TextInput) without forcing an update of the entire component?
I am looking around but don't find documentation yet and moving all to state generates performance issues...
forcing
Version
0.68.0
Output of npx react-native info
setNativeProps is not implemented in fabric
Steps to reproduce
setNativeProps is not implemented in fabric
Snack, code example, screenshot, or link to a repository
No extra data

FYI: https://reactnative.dev/docs/new-architecture-library-intro#migrating-off-setnativeprops Hope this helps

thanks, @ecreeth but nop, the documentation said that now we need to move all to state, but that has a big performance impact, the idea of setNativeProp was to avoid re-render all the components and gain performance (very useful in some cases, but now without that option, we return to the same issue).

that has a big performance impact, the idea of setNativeProp was to avoid re-render all the components and gain performance (very useful in some cases, but now without that option, we return to the previews issue, forced to re-render all the component in all cases)

I think the performance issue could in theory be resolved as there is no high bridge traffic cost? Still agree this is not a super ideal migration strategy. Changing an entire application's inputs from uncontrolled to controlled is a bit rough, but unsure what the alternative would be or if it would be possible to layer the setNativeProps() behavior into the JSI components?

In theory, should not, but the reality is different... I was testing with Fabric enabled to see if I can migrate a library that was using setNativeProp, but I found big performance issues after moving all to state, and in theory that is expected because each time you change a value, react have to validate and figure-out what to update. The original idea of setNativeProp was not to avoid all that pre-processing validations?.

I'm also trying to create a layout animation library like framer motion that uses the FLIP technique, which basically on useLayoutEffect we should be able to use setNativeProps to reverse the current style of an Element.

We have added setNativeProps support to Fabric. It is available in 0.72. Closing this.
Please open a new issue if you find any problems with setNativeProps in Fabric.


appears MS Graph Explorer doesn't handle Continuous Access Evaluation (CAE) errors

Getting error:
"additional claims required" when making certain API calls...
MS Graph Explorer needs to implement this so that conditional access policies are enforced for CAE:
https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/active-directory/develop/claims-challenge.md
https://learn.microsoft.com/en-us/azure/active-directory/develop/app-resilience-continuous-access-evaluation?tabs=JavaScript

https://github.com/microsoftgraph/microsoft-graph-explorer-v4/issues/2253

Hey @willfiddes, we are currently working on this. It should be possible to make this calls after our next release

Which endpoint threw the claims challenge?

You can also test if the claims are handled here: https://jolly-sand-0ac78c710-2422.centralus.azurestaticapps.net/


built-in process management

in order for this to be a full drop-in replacement it could be cool to:

start ra-multiplex-server if it's not already running from within ra-multiplex
have ra-multiplex-server shut down if it no longer holds any rust-analyzer instances

This functionality can be emulated by starting the server automatically every time you open your editor.
Since it is trying to bind to the same port, it will just silently fail if there is already a server running.
Using Vim:
if executable('ra-multiplex-server')
    autocmd FileType rust silent !(&>/dev/null ra-multiplex-server &)
endif

Just wanted to note that I tried to implement the original proposal but haven't finished anything yet because there isn't any cross-platform solution for daemonizing processes.
The crate daemonize seems to be the most portable way of implementing this at least on unix-like OSs, but it requires me to split the implementation from other platforms and forces me to tackle and decide on things that should be left for other process management tools, like where to log.
While I understand the appeal of the convenience this feels very out-of-scope for ra-mux-server, I'd consider a systemd user unit as a betterreplacement for most unix systems. Adding an example how to configure that in the documentation would be my prefered solution.

Here's what I'm using:
[Unit]
Description=Rust analyzer multiplexer server

[Service]
Type=simple
ExecStart=/usr/bin/ra-multiplex-server
Restart=always
RestartSec=5s

[Install]
WantedBy=default.target


Added support for EXP34U338W / YK-H/531E using ZHA controller

Ran all workflows and tested successfully on 2 UFO11 devices through HACS downloaded release.

hello, thank you for PR, which is unfortunately failing as you try to update autogenerated doc file docs/CLIMATE_CODES.md. Please remove this update from the commit.

fixed


install-managed-osvr.cmd was always showing up as modified. Removing …

…this line fixed the issue. Have core.crlf = false and core.eol = lf currently.
http://stackoverflow.com/a/15687910/1121765

Thanks!


Updated to latest rust/libraries

Updated dependencies and standard package references to use Rust 1.62.

Mistakenly opened before completion.


Prevent crashing in StackVisitor::readFrame if built in release

After updating webkit the runtime started to crash randomly in StackVisitor::readFrame in case it is built for release. It seems that the top frame of the call stack is the buggy one which causes the crash. Setting useCurrentFrame to false on error creation skips the top call frame(the buggy one) when constructing the call stack. Although the crash appears only in release, we skip the top call frame in both debug and release for order to keep having the same behaviour in both configurations.

run ci

Closed in favour of https://github.com/NativeScript/ios-runtime/pull/691


I could not create a project with underscore in the name although the…

… description says underscore could be used
Description

Related Issue

Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

Checklist

[ ] I've read the CODE_OF_CONDUCT.md document.
[ ] I've read the CONTRIBUTING.md guide.
[ ] I've updated the code style using make codestyle.
[ ] I've written tests for all new methods and classes that I created.
[ ] I've written the docstring in Google format for all the methods and classes that I used.

Hi! Thanks for the PR :)
Could you please not just replace - sign, but add underscore?
Like
r"^[a-z][a-z0-9\-\_]+[a-z0-9]$"

Just did it

Awesome 😁