Benchmark application with use_xnnpack=true: ModifyGraphWithDelegate is disallowed when graph is immutable.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux, Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): Source
TensorFlow version (use command below): v2.3.0
Python version: N/A
Bazel version (if compiling from source): 3.1.0
GCC/Compiler version (if compiling from source): 7.5.0
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
I've built the benchmarking application with XNNPack enabled for my host machine (Linux, Ubuntu 18.04) using the tensorflow/tensorflow:2.3.0 Docker image. I built the application with the following bazel command
bazel build -c opt --define tflite_with_xnnpack=true tensorflow/lite/tools/benchmark:benchmark_model
When running benchmark_application with a non-quantized test model I have, TFLite spits out the following error:
ERROR: ModifyGraphWithDelegate is disallowed when graph is immutable.
The benchmarking application still runs to completion, although I am not sure whether the XNNPack delegate is being used because of the above error. I noticed no difference in performance when running without --use_xnnpack, so don't think the delegate is being used.
I've run benchmark_application with the following command:
./benchmark_model --graph=model.tflite --use_xnnpack=true
Describe the expected behavior
Would expect with v2.3.0 for the XNNPack delegate to work with non-quantized tflite models. The model was generated with the TFLite model conversion tools, specifically the Keras to TFLite tools.
Standalone code to reproduce the issue
This may not be able to be reproduced across all platforms, however, invoking benchmark_model as above would be the best attempt to reproduce the issue.
The model can be found here: https://www.dropbox.com/s/dyed8ch0erghb1v/yolov4-416.tflite?dl=0
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
uname -a output: Linux ubuntu 4.15.0-36-generic #39~16.04.1-Ubuntu SMP Tue Sep 25 08:59:23 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Note "bazel build -c opt --define tflite_with_xnnpack=true tensorflow/lite/tools/benchmark:benchmark_model" will compile the binary that will apply xnnpack delegate by default.
If you omit "--define tflite_with_xnnpack=true" when building the benchmark tool, you could simply use "--use_xnnpack=true" to check the xnnpack delegate performance as you're aware of.
Speaking of the error, I think it's because we tried to apply xnnpack delegate twice in this case (i.e. the fist is triggered by setting "--use_xnnpack=true", and the second is triggered by applying xnnpack delegate by default (i.e. setting "--define tflite_with_xnnpack=true" when compiling the benchmark tool).
To tell if the xnnpack delegate has been applied, I think there should be sth. from the output that tells this.
Anyway, will look into this issue further by running the attached model.

@multiverse-tf thanks for following up.

Note "bazel build -c opt --define tflite_with_xnnpack=true tensorflow/lite/tools/benchmark:benchmark_model" will compile the binary that will apply xnnpack delegate by default.

If I run ./benchmark_model --graph=model.tflite, Use xnnpack : [0] is printed to stdout as part of benchmark_model's debug output. Since the benchmarking tool was built with --define tflite_with_xnnpack=true, shouldn't I expect Use xnnpack: [1] to be output instead? If I run ./benchmark_model --graph=model.tflite --use_xnnpack=true, Use xnnpack: [1] is output to stdout, in addition to (but not limited to) the following
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Applied XNNPACK delegate, and the model graph will be partially executed w/ the delegate.

Hi Rameen,
Sorry for the confusing output message. "Use xnnpack: [..]" is an output from the model benchmark tool itself. Currently, there's no runtime query api into TFLite interpreter w.r.t. which delegates have been applied. As a result, when the xnnpack delegate could be applied by default (i.e. via compilation flag --define=tflite_with_xnnpack=true"), the benchmark tool doesn't know whether the xnnpack delegate has been applied or not by default by the underlying tflite interpreter.
We will provide more output messages from the tool, and hope it will further clarify the behavior.

@multiverse-tf thanks!

Note: Let's leave this issue open to address the case where it should be perfectly OK to apply XNNPACK multiple times to the same graph (or to apply the GPU delegate, then the XNNPACK delegate).

@raryanpur It looks like you are using an older Version of Tensorflow . Many bugs have been fixed in the latest version. Could you please execute your code using Latest Version 2.4.1 or 2.5 and let us know if the issue still persists? Thanks!

@sushreebarsa @multiverse-tf provided an explantation of this behavior above that was fine for my use case at the time that I filed the bug and I should've closed the ticket then. It appears via @jdduke this ticket is relevant to the broader project so is being kept open. I don't currently have the bandwidth to test this for you on the latest version of TF but hopefully the details I've provided in the ticket description are enough for you or the team to test if desired.

We addressed this issue in the latest version of TF. Now TFLite supports applying multiple delegates if the graph doesn't have dynamically-shaped tensors. I am closing this issue, thanks for providing the context @raryanpur :-)


Publish check

@stuartmorgan There was no test/ folder in the tool directory: https://github.com/flutter/plugins/tree/master/script/tool.
So this PR doesn't include any unit tests for the command


event timetag

events generated by the sample application outstation do not contain a valid timetag

Agreed that this would make the demos better. Just need to use overloaded constructors for Binary/Analog/Counter/etc that accept a time value.

Added this in bd6ada8930cb87a3cfcbdb0ecf8309fd644bd356 for 2.1.0-RC5 tag.


Fix xlint warning in final version of template

The final version of the template for packaging j4-dmenu-desktop was still breaking the style recommended by xlint.  It had the configure_args before the build_style.

Thanks! This must have been a bad copypaste, the xlint warning is mentioned a few lines above.


Test data

Thanks to the authors for their contribution! However, during the reproduction process, I realised that some divisions of the test data were not provided, such as the PASCAL Voc dataset. Could the authors please provide a more comprehensive test division and the corresponding procedure?

Hi, thank you for your interests in our work. I guess your concern is that you did not find test folder when unzipping PASCAL VOC dataset. This is because the division is provided by .txt file in folder dataset/list/voc. You can check this folder.


Add other potential HMAC parameters

Shopify may have other parameters to be included in the HMAC calculation.
Discussion: https://github.com/osiset/laravel-shopify/issues/522#issuecomment-662046870

This (and the previous) have broken things.
Adding 'session' back to the array makes things work again.

Yes I just ran into this issue too. I'll have to revert it :/... anyone using Nginx will just have to ensure they are not using "q" in try_files.

Reverted for now.


Allow no-console development

So far as I can tell, .eslint files don't allow for internal conditionals, so this PR implements a "production" eslint file that is used when the production flag is set. Otherwise, it uses package.json. I structured it this way so that text editors will hopefully not be confused about which eslint file to read rules from. Rules can also be directly passed in the webpack config, but I felt that this would scale poorly and a separate file makes things a bit easier to understand. This change would also allow for easy customization for other dev vs prod eslint rules.
This would resolve issue #2006.

.eslintrcProd should probably be .eslintrc.production.json. ref: https://eslint.org/docs/user-guide/configuring#configuration-file-formats

If you make it .eslintrc.js, I feel like you should be able to add conditionals, but I haven't done it myself.

Yeah I did wonder that if we're adding an actual file, then maybe all the others should be moved from package.json in they're own file too. So we either use conditionals, or two files.

IMO I'd lead toward two files (i.e. .eslintrc and .eslintrc.production.json): It seems cleaner and easier to understand, and makes it very clear where rules go.

Tt seems more common to have a single .eslintrc.js.
(See some popular examples)

I think taking that logic to the extreme would make things more confusing, especially cuz if you wanted to add the rule to both, you now have to add it in two places, which is going to be the more likely update. Generally speaking, throughout Sage, you've single single files with conditionals based on the env (e.g. the webpack build has this, and I think that's more common and easier to understand.
As a comparison, I just started a project with Create React App and ejected, and found two separate webpack configurations, and I kinda hate it. Once I start tinkering around in there, I feel like I'm doing everything twice (not to mention it feels kind of over engineered for my purposes, but that's a separate issue).

One of Sage's goals is to keep dev and prod as close as possible. Using a single file would probably encourage this. Right now there'd only be a single difference (debugger related things).

Solid arguments, my bad for not digging a bit deeper initially.  This update to the PR implements the solution that seems to be the consensus.


@conda-forge-admin,please add bot automerge

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/larch-feedstock#15.


Create New UI Theme

We need to create a new theme for the game UI.

The new font has been added and assigned to the theme.

The new theme is now complete.


JSDoc @example tag breaks syntax highlighting

VSCode Version: 1.30.2
OS Version: Win7 x64

Steps to Reproduce:
The following code
/**
 @example
 */
'use strict';
console.log();

disables syntax highlight for lines after JSDoc comment. Adding * before @example solves the problem but these asterisks are optional. One-line comment /** @example */ breaks highlight as well.

Does this issue occur when all extensions are disabled?: Yes/No
Yes

NB @example without following content in the JSDoc comment is quite useless or even invalid.  Docs state that

"The text that follows this tag will be displayed as highlighted code."
-- http://usejsdoc.org/tags-example.html

Meaning that starting line following the [*] @example [<caption></caption>] up to next [*] @tag occurance in the JSDoc commentis considered example body
Not that it is a good thing that it breaks highlight, but it seems to be instance of "syntactic error in nested language breaks highlight in the host", described in #20488 and its dupes.

@myfonj tag content was empty just for shortness, the same bug happens when there is something
/**
  @example
  foo bar
 */
'use strict';
console.log();

Interesting that adding any tag after the example removes error:
/**
  @example
  foo bar
  @author foo
 */
'use strict';
console.log();

Currently I'll use it as workaround

Ah, you are right, it is wonky even with content present, and even indentation makes difference: apparently NOT indenting (preceding with space) the closing */ makes it work differently in certain scenarios, but after all it probably makes sense, because without some "indentation contract" parser could not tell what falls into example body and what is comment terminator.
Anyway, have you tried it with those leading stars?  From docs it seems that it is not possible (?) to use bare [start of line and indent]@tag, only [start of line and indent] * @tag is shown everywhere.

Anyway, have you tried it with those leading stars? From docs it seems that it is not possible (?) to use bare [start of line and indent]@tag, only [start of line and indent] * @tag is shown everywhere.
Yeah, with leading *'s seems working. But any other comment works fine without leading *'s; I previously developed in a simpler textpad so adding a * before every line manually was a pain in the ass. I tried without them and JSDoc consumed it.

Duplicate of #66247
Should be fixed in insiders


Use Hound outside of a testing environment

Hello,
We would like to use your excellent library outside of a testing environment. That means, we require to use a webdriver e.g. in a normal Phoenix application. Is something like this in the working? Will Hound remain a testing library first and foremost?
We're also considering forking Hound but we're unsure about the effort required to have Hound work without ExUnit. Would you say they're hopelessly (for us) bound or there is some merit to this mission?
Thanks!

I guess I should have read the README more carefully. Sorry and keep up the good work!


macOS support

#2

Is it fixed now?

Unfortunately it's not working

I have a Mac. Let me know if you need any help.

@rishabhdeepsingh here is a concept build script for macOS https://github.com/dzikoysk/pandomium/wiki/macOS-Build, you can try to fix it/rewrite.
For instance https://github.com/dzikoysk/pandomium/wiki/Linux-x64-Build - it's working build script for Linux

This is the error I am getting.
CMakeOutput.log
cmake -G "Xcode" -DPROJECT_ARCH="x86_64" ..

CMake Warning (dev) at CMakeLists.txt:155 (find_package):
  Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
  Run "cmake --help-policy CMP0074" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  CMake variable CEF_ROOT is set to:

    /Users/whiteknife/Workspace/pandomium/JCEF67/src/third_party/cef/cef_binary_78.2.7+g9cd8bac+chromium-78.0.3904.70_macosx64

  For compatibility, CMake is ignoring the variable.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating native/jcef_version.h file...
File native/jcef_version.h is already up to date.
-- Downloading clang-format from Google Storage...
Failed to fetch file gs://chromium-clang-format/025ca7c75f37ef4a40f3a67d81ddd11d7d0cdb9b for tools/buildtools/mac/clang-format. [Err: /Users/whiteknife/Workspace/pandomium/JCEF67/src/tools/buildtools/external_bin/gsutil/gsutil_4.15/gsutil/third_party/boto/boto/pyami/config.py:71: UserWarning: Unable to load AWS_CREDENTIAL_FILE ()
  warnings.warn('Unable to load AWS_CREDENTIAL_FILE (%s)' % full_path)
Failure: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727).
]
0> Failed to fetch file gs://chromium-clang-format/025ca7c75f37ef4a40f3a67d81ddd11d7d0cdb9b for tools/buildtools/mac/clang-format, skipping. [Err: /Users/whiteknife/Workspace/pandomium/JCEF67/src/tools/buildtools/external_bin/gsutil/gsutil_4.15/gsutil/third_party/boto/boto/pyami/config.py:71: UserWarning: Unable to load AWS_CREDENTIAL_FILE ()
  warnings.warn('Unable to load AWS_CREDENTIAL_FILE (%s)' % full_path)
Failure: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727).
]
Downloading 1 files took 1.028350 second(s)
CMake Error at CMakeLists.txt:267 (message):
  Execution failed with unexpected result: 1

-- Configuring incomplete, errors occurred!
See also "/Users/whiteknife/Workspace/pandomium/JCEF67/src/jcef_build/CMakeFiles/CMakeOutput.log".

Showing Recent Issues
ant -buildfile /Users/whiteknife/Test/JCEF67/src -Djdk7.path=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home -Dout.path=/Users/whiteknife/Test/JCEF67/src/jcef_build/native/Release -Dout.name=jcef_app -Dout.id=org.jcef.jcef -Dout.mainclass=tests.detailed.MainFrame bundle

Showing Recent Issues
Buildfile: /Users/whiteknife/Test/JCEF67/src/build.xml

compile:
    [javac] Compiling 162 source files to /Users/whiteknife/Test/JCEF67/src/jcef_build/native/Release

/Users/whiteknife/Test/JCEF67/src/
    [javac] /Users/whiteknife/Test/JCEF67/src/java/org/cef/browser/mac/CefBrowserWindowMac.java:26: Cannot find symbol
    [javac]             ComponentPeer peer = comp.getPeer();
    [javac]                                      ^
    [javac]   symbol:   method getPeer()
    [javac]   location: variable comp of type Component
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: /Users/whiteknife/Test/JCEF67/src/java/org/cef/browser/CefDropTargetListenerOsr.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error
BUILD FAILED
/Users/whiteknife/Test/JCEF67/src/build.xml:28: Compile failed; see the compiler error output for details.
Total time: 2 seconds
make: *** [jcef_buildpart_0] Error 1

Please read this


Use strings for Go enums. Fixes #373

Unfortunately we don't check the validity of
the enums anymore, both when marshalling
and when unmarshalling.  If we kept the
custom marshalling methods we could check
there, but they wouldn't get invoked in all
cases, like the integers before, so we'd have
checking in most, but not all cases, and a hard
job of explaining which case applies in which
situation.

@dvdsgl Opinions?


Create/Edit Page: leaving page will no longer prompt warring message.

Select Submit a Listing
Complete Name and Listing type.
Select HUD.  No warring message is displayed.
if the users leave the page without saving there information, no message/warring message is displayed.  Not sure when this stopped working.  A user can loss all data.

This should still happen, if this is in reference to navigating away from center completely that never poped a message but shouldn't be to hard to implement.
On Mon, Jun 8, 2015 at 8:47 AM, tonyalletag<EMAIL_ADDRESS>wrote:

Assigned #275 to @wski.
Reply to this email directly or view it on GitHub:
https://github.com/ozone-development/ozp-center/issues/275#event-325194675

passed on Latest

Passed on Staging.


Temporary failure in name resolution

Hi!
i was interested when i found your project, so i thought i'd give it a go.
I use a fresh netbox instance with nothing in it and a fresh install of netbox-proxbox, with the new fix that was supplied 1-2 days ago.
I get following error:
<class 'requests.exceptions.ConnectionError'>

HTTPSConnectionPool(host='https', port=8006): Max retries exceeded with url: /api2/json/cluster/status (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc702b2bdf0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

Python version: 3.8.10
NetBox version: 3.1.8

My Config looks like this:
PLUGINS_CONFIG = {
    'netbox_proxbox': {
        'proxmox': {
            'domain': 'https://####/',    # May also be IP address
            'http_port': 443,
            'user': 'root@pam',
            'password': '####',
            'token': {
                'name': '####',   # Only type the token name and not the 'user@pam:tokenID' format
                'value': '####'
            },
            'ssl': True
        },
        'netbox': {
            'domain': 'netbox.bit.lan',     # May also be IP address
            'http_port': 80,
            'token': '####',
            'ssl': False,       # There is no support to SSL on Netbox yet, so let it always False.
            'settings': {
                'virtualmachine_role_id' : 0,
                'node_role_id' : 0,
                'site_id': 0
            }
        }
    }
}

The configured domain is resolvable from the machine itself, so is proxbox probably ignoring the set configuration of http_port 443?
root@netbox:/opt/netbox# ping ####
PING #### (####) 56(84) bytes of data.
64 bytes from #### (####): icmp_seq=1 ttl=58 time=0.780 ms
64 bytes from #### (####): icmp_seq=2 ttl=58 time=0.948 ms
64 bytes from #### (####): icmp_seq=3 ttl=58 time=0.824 ms

Hello @bym0 , so you can reach the domain netbox.bit.lan through ping (ICMP) right? I will create a lab running what you are trying to do and inform you the results as soon as possible!

Hey @emersonfelipesp !
So netbox.bit.lan is the domain for my netbox VM. Yes, i can ping it through ping (ICMP). The blurred out ping above "####" is the domain for my proxmox instance. Here e.g. i can call it just proxmox.bit.lan.
Yes, it is pingable also.


Support ProactorEventLoop

Tested and verified repro mentioned at https://github.com/yifeikong/curl_cffi/issues/70

CI passes and it's ready to merge now.
@yifeikong Do we need extra async loop unit tests here?

Do we need revert https://github.com/yifeikong/curl_cffi/commit/8fe37fae19f7c971fbc7645bdafdc3052af9cb74?

Sure, there is no reason to annoy the user.

Anything else on here?

LGTM


Keep list of k8s checksums for hyperkube and kubeadm

Keep a list of checksums for kubeadm and hyperkube downloads. Makes it easier to switch version

ci check this

/lgtm

Could we add the full list of 1.10.x and 1.11.x ?

I also like to do that.

@woopstar  @mirwan
Here is wrong.
Can you give me some advice, can we use dictionary?

@riverzhang Indeed you can use a dictioniary like
checksums:
  hyperkube:
    v1.11.2: 1234

The only issue I see with this approach would be the fact that the potential need to override a checksum would result in overriding the whole checksums dictionary (we certainly do want to change the hash_behaviour in ansible...)
There are other options. See https://stackoverflow.com/questions/41875645/evaluate-dynamic-variable-name-in-ansible
I guess if {{ hostvars[inventory_hostname]['hyperkube_'+ kube_version] }} works, that would not have a significant impact.

/hold
should be a dict

@mirwan Thanks

/lgtm
/assign ant31

thanks!
/approve


Ensure external packages/binaries are obtained by a secure layer

What would you like to be added:
We should ensure that all external packages/binary are obtained on a secure layer like ssh/https/sftp etc.. Within the build pipeline, we have multiple external sources included. This affects the used containers (Dockerfile) and the build pipeline (including the feature sets) as well.

As the repo is already signed by GPG, we do not merge this and avoid further code maintenance.


[SPARK-33277][PYSPARK][SQL] Writer thread must not access input after task completion listener returns

What changes were proposed in this pull request?
Python UDFs in Spark SQL are run in a separate Python process. The Python process is fed input by a dedicated thread (BasePythonRunner.WriterThread). This writer thread drives the child plan by pulling rows from its output iterator and serializing them across a socket.
When the child exec node is the off-heap vectorized Parquet reader, these rows are backed by off-heap memory. The child node uses a task completion listener to free the off-heap memory at the end of the task, which invalidates the output iterator and any rows it has produced. Since task completion listeners are registered bottom-up and executed in reverse order of registration, this is safe as long as an exec node never accesses its input after its task completion listener has executed.[^1]
The BasePythonRunner task completion listener violates this assumption. It interrupts the writer thread, but does not wait for it to exit. This causes a race condition that can lead to an executor crash:

The Python writer thread is processing a row backed by off-heap memory.
The task finishes, for example because it has reached a row limit.
The BasePythonRunner task completion listener sets the interrupt status of the writer thread, but the writer thread does not check it immediately.
The child plan's task completion listener frees its off-heap memory, invalidating the row that the Python writer thread is processing.
The Python writer thread attempts to access the invalidated row. The use-after-free triggers a segfault that crashes the executor.

This PR fixes the bug by making the BasePythonRunner task completion listener wait for the writer thread to exit before returning. This prevents its input from being invalidated while the thread is running. The sequence of events is now as follows:

The Python writer thread is processing a row backed by off-heap memory.
The task finishes, for example because it has reached a row limit.
The BasePythonRunner task completion listener sets the interrupt status of the writer thread and waits for the writer thread to exit.
The child plan's task completion listener can safely free its off-heap memory without invalidating live rows.

TaskContextImpl previously held a lock while invoking the task completion listeners. This would now cause a deadlock because the writer thread's exception handler calls TaskContextImpl#isCompleted(), which needs to acquire the same lock. To avoid deadlock, this PR modifies TaskContextImpl to release the lock before invoking the listeners, while still maintaining sequential execution of listeners.
[^1]: This guarantee was not historically recognized, leading to similar bugs as far back as 2014 (SPARK-1019). The root cause was the lack of a reliably-ordered mechanism for operators to free resources at the end of a task. Such a mechanism (task completion listeners) was added and gradually refined, and we can now make this guarantee explicit. (An alternative approach is to use closeable iterators everywhere, but this would be a major change.)
Why are the changes needed?
Without this PR, attempting to use Python UDFs while the off-heap vectorized Parquet reader is enabled (spark.sql.columnVector.offheap.enabled true) can cause executors to segfault.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
A previous PR reduced the likelihood of encountering this race condition, but did not eliminate it. The accompanying tests were therefore flaky and had to be disabled. This PR eliminates the race condition, allowing us to re-enable these tests. One of the tests, test_pandas_udf_scalar, previously failed 30/1000 times and now always succeeds.
An internal workload previously failed with a segfault about 40% of the time when run with spark.sql.columnVector.offheap.enabled true, and now succeeds 100% of the time.

cc @HyukjinKwon @ueshin @cloud-fan

Test build #144095 has finished for PR 34245 at commit 926798c.

This patch fails from timeout after a configured wait of 500m.
This patch merges cleanly.
This patch adds no public classes.

Test build #144157 has started for PR 34245 at commit e7cc1f3.

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

Test build #144389 has started for PR 34245 at commit cd12b46.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48863/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48863/

also cc @JoshRosen @Ngone51

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

Test build #144414 has started for PR 34245 at commit 25b5c0e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48888/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48888/

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

thanks, merging to master/3.2!

I didn't realize that the linked JIRA ticket is the old one. @ankurdave can you create a new JIRA ticket for this bug? thanks!

Hm, the UDF tests (test_udf_with_column_vector) became flaky IMO from this PR:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f1cf90527b5, pid=49084, tid=0x00007f1ca0bed700
#
# JRE version: OpenJDK Runtime Environment (8.0_292-b10) (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10)
# Java VM: OpenJDK 64-Bit Server VM (25.292-b10 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# v  ~StubRoutines::jlong_disjoint_arraycopy
#
# Core dump written. Default location: /__w/spark/spark/core or core.49084
#
# An error report file with more information is saved as:
# /__w/spark/spark/hs_err_pid49084.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

https://github.com/apache/spark/runs/3981850943?check_suite_focus=true
https://github.com/apache/spark/runs/3981850943?check_suite_focus=true

Yeah, sorry about that. The flakiness should be fixed by https://github.com/apache/spark/pull/34369 when we merge that PR.


GUI rendering abnormal on Intel videocard

Although it may not be IP's fault, there may be workarounds.

A comment somewhere implied that this may be due to a portal plane being rendered on top of UI elements. I've managed to enter a situation that strongly implies this, as hotbar items can be partially occluded:

So depth buffer issue maybe? Somehow gui getting confused for the portal?

dropping any "hidden" item causes all hidden items to reappear, temporary workaround?

Maybe fixed in https://github.com/qouteall/ImmersivePortalsMod/releases/tag/v1.3.4-1.18 (I am not sure)

probably fixed

Not fixed on 1.18.1


Consider using gRPC as an externally exposed API

grpc (http://grpc.io) has ready-made clients for Java, C++, Go, Python, etc. So Yahoo Pulsar clients would not need to reimplement efficient clients in all the languages (currently exposed websocket interface does not support all the methods provided by the protobuf based protocol, has lower performance and requires creation of a separate websocket connection per topic publisher/consumer).

Are you suggesting gRPC service that uses the C++ lib as an alternative to the Web Sockets service?
Or are you suggesting a rewrite of Java & C++ libs to use gRPC instead of current protobuf based protocol?

When we started the project gRPC was not available yet so we went with custom protocol.
I think it would be great to offer a gRPC based interface for better integration, though I would see that as an additional layer, such as the WebSocket proxy (which can run embedded in the broker or as a separate component).
One of the primary goals of the custom binary protocol we came up with, was to have the client establish a "session" (either producer/consumer), attached to a topic, perform authentication and then let it publish/receive messages as fast as possible, with flow control to guard the rail.
Eg: we don't want to perform auth at every message, or to specify the topic name each time (which in many cases can be as long as the data itself).
So, mixing the "session" with RPC seems a bit complicated. Also guaranteeing ordering would be challenging as there would be no relation for different publish requests on the same topic.
Having said that, I'd be really happy to have a gRPC based proxy service. Contributions welcome! 😄
It may be also interesting to offer the same interface (or at least a significant portion of it) as GCP pub-sub:https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#google.pubsub.v1.PublishRequest

Having gRPC as an alternative to the Web Socket service would be awesome. gRPC has built-in support for bidirectional streams - so basically it could be seen as a session (it's using HTTP/2 streams), no? Guaranteeing the message order shouldn't be a problem then. I think it's also important to know if pulsar is going to loosen the message ordering constraints (at least for such an "additional" layer) because it would make things easier (for use cases where ordering is not important - in the same way as GCP pub/sub doesn't guarantee any order).

Having gRPC as an alternative to the Web Socket service would be awesome. gRPC has built-in support for bidirectional streams - so basically it could be seen as a session (it's using HTTP/2 streams), no?

agreed. I believe ordering is not a problem with gRPC bidirectional streaming. It is actually very easier and super fun on using gRPC bidirectional streaming.
I think the most interesting piece here is to add a GCP pub/sub proxy with gRPC protocol.

I think it's also important to know if pulsar is going to loosen the message ordering constraints (at least for such an "additional" layer) because it would make things easier

in the context of "shared" subscription, the message ordering constraints are already relaxed. that said you can use exclusive/failover subscription for ordered message consumption, shared subscription for non-ordered message consumption.

Whole Clusters run on grpc like k8s + istio and it's well supported by proxies like envoy.
You could think about clients talking to their user's topics directly, authenticated by ingress - e.g. envoy filters (see https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/grpc_web_filter for ideas).
IMHO, I'm not convinced about GCP pub-sub. Making one thing like the other is almost often a large effort and a bad fit if you look into details. When google changes the api, do you follow?
Wrapping your already proofen, tested and implemented custom protocol in grpc is probably a huge time saver.  Better early than google like ;)

I would love to see this! I can understand about pub/sub. It really doesn't serve the same purpose as Pulsar or any distributed log. Different use cases.

+1. Supporting gRPC would give access to a lot more clients, integration with reactive frameworks (like RxJava or Reactor), provide application-level flow control, etc...
Another stream protocol to watch IMO is RSocket.io which has built-in integration of reactive-streams spec (non blocking streams with back-pressure).

And if I'm not mistaken BookKeeper uses gRPC internally, so it would be coherent to make it the base protocol in Pulsar also.

That said I have started the work on a gRPC proxy. Consumption and production are working. I need to clean it up then I'll do a PR.

Look forward to your PR.

And if I'm not mistaken BookKeeper uses gRPC internally, so it would be coherent to make it the base protocol in Pulsar also.

gRPC is used only used for bookkeeper's table service. but the ledger service is still using custom protocol. but agreed with you, gRPC has very rich ecosystem, it is a good direction to good in general.

@cbornet The reason we haven't used gRPC is that it wasn't available when we started, so we went with custom protocol over protocol buffer. After that, migrating the internal protocol was a big step.

Yes. That's a very good reason indeed. Maybe in the future 😄 . I can understand there are bigger priorities.

Any progress likely on this ?
We’re Python, dotnet & so have no viable option to use Pulsar.

@mickdelaney Pulsar has a python client and there is an ongoing development of dotnet client. Does it meet your requirement? Or gRPC is your preferred option?

Hi,
Sorry for the late reply.
So we use Kafka at the moment, confluent provide dotnet & python clients, based on librdkafka which
in theory gives a baseline for all clients that extend it.
The reality is that its very expensive to maintain all these language drivers, and so you get differences, you get things that are coming down the line, for example the schema/avro support in the various languages for kafka varies significantly, Java being very different than say C#.
So for teams using these drivers, you have to rely on different semantics, you have to create different approaches to dealing with things like schemas, and it increases costs.
Also you have to think about the teams providing the drivers, and the costs they have in maintaining them. Its not easy.
So if there's a possibility that GRPC will fit the semantis of pulsars protocol, it seems to me that its a win for everyone, the pulsar team in particular can focus they're attention on making the GRPC layer first class.
Thanks...

We have real-time messaging system implemented in Erlang, and looking at pulsar as a pub/sub /queue message broker. Unfortunately that means implementing our own client lib with tons of features on top of binary / protobuf protocol. Having gRPC support would have greatly helped

@mickdelaney @TC-oKozlov thank you for your input.
just to understand a bit more about the requirements, are you expecting a gRPC based proxy or pulsar broker protocol exposed in gPRC? This would lead into two different approaches.
A gRPC based proxy means providing a much simpler protocol than the current broker protocol. So it is easy to have different language gRPC clients. But it will has its own limitations and drawbacks, such as another network hop, and some of the features might be hard to support and etc.
Exposing pulsar broker protocol in gPRC can solve the problem in handling wire-level request & response encoding and decoding. However the challenge of implementing a Pulsar client is not about handling wire-level encoding and decoding. It is more about the logic within a Pulsar client, such as flow-control, topic lookup, error handling and etc. So we will still be facing the same challenges that current Pulsar client is facing. It is probably even worse than implementing language client wrapper using Pulsar c/c++ client, because implementing a language client wrapper is much simpler and less error prone than re-implementing flow-control, topic lookup and error handling in different languages.
I would like to collect more requirements of gRPC to understand what is the right approach for solving the problem here.

I think moving to gRPC for the Pulsar clients would have some benefits. For instance it already handles flow control and bi-directional streaming.
Another interesting alternative could be RSocket which has some very nice features such as session resumption and message-level backpressure. In JAVA, it would be possible to have a fully reactive-streams API using these protocols.

@sijie thanks for the detailed feedback. i was thinking of the former, my thinking being that it would atleast remove some of the concerns in maintaining the various language level clients.

Since v2.7.0 has been released, you can now use the gRPC protocol handler which implements PIP59.
So far all features of 2.7.0 are implemented except transactions (coming soon) and credentials refreshing (probably harder).
You can download a pre-version of the nar here.
I'd be happy to get your feedback on this. I'll publish a blog post in the coming weeks.

New pre-release with full transaction support : https://github.com/cbornet/pulsar-grpc/releases/tag/v1.0.0-20201206-rc

@cbornet can you provide some guidance regarding how to use the grpc protocol? I only saw binary protocol in http://pulsar.apache.org/docs/en/develop-binary-protocol/ .

Closed as answered by https://github.com/apache/pulsar/issues/271#issuecomment-738815393. New questions or issues can be created separately.


Publish updates from master

Publish the latest changes from master

@StefanScherer PTAL

Thanks Stefan. Works Chrome too.


Error in running resnet50_trainer.py on MNIST data

Hi,
I installed Caffe2 and ran MNIST.ipynb without any problem. Now I am trying to run the distributed GPU sample code resnet50_trainer.py on the same MNIST dataset:
python resnet50_trainer.py --train_data ~/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb/
and see the following error:
Ignoring @/caffe2/caffe2/contrib/nccl:nccl_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops_gpu as it is not a valid file.
Ignoring @/caffe2/caffe2/distributed:file_store_handler_ops as it is not a valid file.
Ignoring @/caffe2/caffe2/distributed:redis_store_handler_ops as it is not a valid file.
INFO:resnet50_trainer:Running on GPUs: [0]
INFO:resnet50_trainer:Using epoch size: 1500000
INFO:data_parallel_model:Parallelizing model for devices: [0]
INFO:data_parallel_model:Create input and model training operators
INFO:data_parallel_model:Model for GPU : 0
INFO:data_parallel_model:Adding gradient operators
INFO:data_parallel_model:Add gradient all-reduces for SyncSGD
INFO:data_parallel_model:Post-iteration operators for updating params
INFO:data_parallel_model:Calling optimizer builder function
INFO:data_parallel_model:Add initial parameter sync
WARNING:data_parallel_model:------- DEPRECATED API, please use data_parallel_model.OptimizeGradientMemory() -----
WARNING:memonger:NOTE: Executing memonger to optimize gradient memory
INFO:memonger:Memonger memory optimization took 0.0122640132904 secs
E0927 17:50:03.495896  7595 operator_schema.cc:83] Argument 'is_test' is required for Operator 'ImageInput'.
Traceback for operator<PHONE_NUMBER> in network resnet50
Traceback (most recent call last):
File "resnet50_trainer.py", line 561, in
main()
File "resnet50_trainer.py", line 557, in main
Train(args)
File "resnet50_trainer.py", line 402, in Train
workspace.CreateNet(train_model.net)
File "/usr/local/caffe2/python/workspace.py", line 152, in CreateNet
StringifyProto(net), overwrite,
File "/usr/local/caffe2/python/workspace.py", line 171, in CallWithExceptionIntercept
return func(*args, **kwargs)
RuntimeError: [enforce fail at operator.cc:100] schema->Verify(operator_def). Operator def did not pass schema checking: input: "reader" output: "gpu_0/data" output: "gpu_0/label" name: "" type: "ImageInput" arg { name: "std" f: 128 } arg { name: "scale" i: 256 } arg { name: "ws_nbytes_limit" i: 67108864 } arg { name: "use_gpu_transform" i: 1 } arg { name: "cudnn_exhaustive_search" i: 1 } arg { name: "use_caffe_datum" i: 1 } arg { name: "use_cudnn" i: 1 } arg { name: "batch_size" i: 32 } arg { name: "mirror" i: 1 } arg { name: "output_type" s: "float" } arg { name: "crop" i: 227 } arg { name: "mean" f: 128 } device_option { device_type: 1 cuda_gpu_id: 0 }
Any suggestions?

I had similar errors:
E0929 14:17:40.257784 10454 operator_schema.cc:99] Argument 'is_test' is required for Operator 'ImageInput'.
Traceback for operator 285837240 in network resnet50
Traceback (most recent call last):
File "resnet50_trainer.py", line 564, in
main()

File "resnet50_trainer.py", line 560, in main
Train(args)

File "resnet50_trainer.py", line 405, in Train
workspace.CreateNet(train_model.net)

File "/home/pengbo/caffe2/build/caffe2/python/workspace.py", line 167, in CreateNet
StringifyProto(net), overwrite,

File "/home/pengbo/caffe2/build/caffe2/python/workspace.py", line 186, in CallWithExceptionIntercept
return func(*args, **kwargs)

RuntimeError: [enforce fail at operator.cc:116] schema->Verify(operator_def). Operator def did not pass schema checking: input: "reader" output: "gpu0/data" output: "gpu0/label" name: "" type: "ImageInput" arg { name: "std" f: 128 } arg { name: "scale" i: 256 } arg { name: "ws_nbytes_limit" i: 67108864 } arg { name: "use_gpu_transform" i: 1 } arg { name: "cudnn_exhaustive_search" i: 1 } arg { name: "use_caffe_datum" i: 1 } arg { name: "use_cudnn" i: 1 } arg { name: "batch_size" i: 32 } arg { name: "mirror" i: 1 } arg { name: "output_type" s: "float" } arg { name: "crop" i: 227 } arg { name: "mean" f: 128 } device_option { device_type: 1 cuda_gpu_id: 0 }
solve by reverting the version to commit 6d2c27d8c46d1d2eb3f932145f4fcb9f9f9a6454.
maybe the new update introduces some errror, i guess

I have the same issue, fix by adding 'is_test' parameter.
--- a/caffe2/python/examples/resnet50_trainer.py
+++ b/caffe2/python/examples/resnet50_trainer.py
@@ -76,7 +76,8 @@ def AddImageInput(model, reader, batch_size, img_size, dtype):
         std=128.,
         scale=256,
         crop=img_size,
-        mirror=1
+        mirror=1,
+        is_test=False

@simonschuang Wow! Brilliant! This solves my issue perfectly! Thanks a lot for this! How did you figure this out? I took a look at the caffe2 code base but it isn't clear to me why is_test=False works.

@pengbo-learn Instead of reverting to another version and recompile, I added is_test=False and it works now. I didn't see this line of code in commit 6d2c27d though. Do you know what can be the cause of this error?

@weiyangedward I found this by chance, don't understand either.

Sorry folks, the fix has just been landed 84047f0
It's fa0fcd4 that made all the "is_test" arguments required, since there are no tests covering these examples, I didn't notice this issue before.


Komga package & module

Project description
Komga is a media server for your comics, mangas, BDs and magazines.
You can organize, read, and manage your collection.
Metadata

homepage URL: https://komga.org/
source URL: https://github.com/gotson/komga
license: MIT
platforms: all (Java)

I've never package a Java app, will read up on it and try to create a PR if I manage to do it.

Closing this as both the package and module are now in Nixpkgs.
https://github.com/NixOS/nixpkgs/pull/186356


Node v21 support

Any reason not to support Node v21?
Currently I'm getting the error:
npm ERR! code EBADENGINE
npm ERR! engine Unsupported engine
npm ERR! engine Not compatible with your version of node/npm<EMAIL_ADDRESS>npm ERR! notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>npm ERR! notsup Required: {"node":"^16.17.0 || ^18.3.0 || ^20.0.0"}
npm ERR! notsup Actual:   {"npm":"10.2.3","node":"v21.2.0"}

@et1975 can you go more details? like which step you have done?

@ckairen: Please add support for Node 21 and drop Node 16.


Refactor docbot and add tests

Motivation

Fix #59
Add tests to cover this feature

Verify
I verified this on my repo, please help verify the following case on your repo if you have time, thanks!

Checked single checkbox
Checked multiple checkboxes
Unchecked any checkboxes, waited for CI to have done, then checked one checkbox

Workflow:
name: Documentation Bot

on:
  pull_request_target :
    types:
      - opened
      - edited
      - labeled
      - unlabeled

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}
  cancel-in-progress: true

jobs:
  label:
    permissions:
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
      - name: Labeling
        uses: nodece/pulsar-test-infra/docbot@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          LABEL_WATCH_LIST: 'doc,doc-required,doc-not-needed,doc-complete'
          LABEL_MISSING: 'doc-label-missing'

You also need to setting your Workflow permissions, see https://github.com/$username/$repo/settings/actions.

Hi @tisonkun and @maxsxu, could help review this PR?

Covert to draft for testing.

Hi @tisonkun, Thanks for your review, these request has been fixed.

@maxsxu Aha, I see your point. @nodece doesn't describe the changes he made despite of refactoring.
I read the new code file by file and confirm that the functionality changes are included as this https://github.com/apache/pulsar-test-infra/issues/59#issuecomment-1216452240 described. That's handle all actions in the same way. The remaining is semantically identical refactoring and some tests.

I can split this PR because this PR is complex for reviewer.


It seems the problem presents itself when upgrading to Angular 1.8.2  preAssignBindingsEnabled deprecrared in 1.8.2

It seems the problem presents itself when upgrading to Angular 1.6.
Try this in your app:
angular.module('myApp', [])
  .config(function($compileProvider) {
    $compileProvider.preAssignBindingsEnabled(true);
  });

It worked for me.
Originally posted by @victordelacruz in https://github.com/angular/material/issues/10168#issuecomment-268886473

I don't understand? The issue template wasn't used 😦  Then it's just a repost of someone else's comment in an AngularJS Material issue from 2016?


WIP: unify configuration

refactor: cleaner separation between instantiation and configuration
refactor: move instantiation functionality to Utils
refactor: unify context information creation, move it to Utils
refactor: improve getFirstTypeArgumentFromInterface
feat: introduce AnnotationDependentResourceConfigurator concept

Overall about the dynamic configuration and unification, what is a very good idea IMO, just few points / tech details (other than the comments):

The DependentResourceConfigurator does not seems to be used anywhere directly, it's always at the end it's subinterface: AnnotationDependentResourceConfigurator

It was kept for backwards compatibility.

What AnnotationDependentResourceConfigurator does it basically two responsibilities, creates the configuration from from annotation, and marks that which annotation is related to that configuration.
Could we decouple this? Like having DependentResourceConfigurator interface, that receives the configuration. It does not need to be annotation it can go just from an override or anything.  But would separate the creation maybe of the confoguration from annotation. One way would be maybe with a nice(?) is to put an new annotation for the configuration annotation, that says how to produce a config from this annotation.  Like for @SchemaConfig:

@ConfigInput(configFactory = AnnotationSchemaConfigFactory.class)
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface SchemaConfig {

  int pollPeriod() default DEFAULT_POLL_PERIOD;

 // omitted
}

It will create the configuration instance from this annotation, calling a method on the factory: AnnotationSchemaConfigFactory

That's an interesting idea but won't that make things complex to process because you'd need to do meta-annotation processing?


Virtual Groups for services

📑 I have found these related issues/pull requests
I couldn't find any related issues
🏷 Feature Request Type
Other
🔖 Feature description
I monitor multiple virtual machines and services.
When I reboot the host, all VMs are shutting down and restart when the host is up again.
I don't need a notification for every service if the host isn't accessible.
Just send the notification for the VM host and not for all guests.
✔ Solution
If VM host is down, only send notification for VM host
❓ Alternatives
No response
📝 Additional Context
No response

Depending what you mean this is a duplicate of these isssues:

the already implemented (sheduled,manual) maintenance mode which you could activate/deactivate a group with a script via unoffical api.
https://github.com/louislam/uptime-kuma/issues/1089
https://github.com/louislam/uptime-kuma/issues/1534


Trying to install, what permission is missing?

I get the following when I run sudo npm install coinbase/gdax-node
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   'coinbase/gdax-node' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session 550037116ab787ee
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for github:coinbase/gdax-node Error while executing:
7 silly fetchPackageMetaData /usr/bin/git ls-remote -h -t<EMAIL_ADDRESS>7 silly fetchPackageMetaData
7 silly fetchPackageMetaData fatal: failed to stat '.': Permission denied
7 silly fetchPackageMetaData
7 silly fetchPackageMetaData exited with error code: 128
8 verbose stack Error: exited with error code: 128
8 verbose stack     at ChildProcess.onexit (/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/end-of-stream/index.js:39:36)
8 verbose stack     at emitTwo (events.js:125:13)
8 verbose stack     at ChildProcess.emit (events.js:213:7)
8 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
9 verbose cwd /webserver/sites/bot
10 verbose Linux 3.13.0-135-generic
11 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "coinbase/gdax-node"
12 verbose node v8.1.3
13 verbose npm  v5.6.0
14 error Error while executing:
14 error /usr/bin/git ls-remote -h -t<EMAIL_ADDRESS>14 error
14 error fatal: failed to stat '.': Permission denied
14 error
14 error exited with error code: 128
15 verbose exit [ 1, true ]

This doesn't seem to be an issue with this project, please try StackOverflow or similar.


Clean exit on Ctrl+C

Ignores SIGINT in the child processes, so Ctrl+C events are cleanly handled within them, making the KeyboardInterrupt handling in main.py actually stop() the child processes properly.
To be merged after testing on the PI.

alright, reverts the context manager change for the sake of understanding code at first glance. I manually ran scripts/run_main_local.py and it works great.
Apparently this didn't work on the PI today, but I didn't get to much to time to see why, so hold off on merging for now.

Confirmed working on the PI.


Swap AGC values to match reference OEFW, attempt to attenuate overloading signals

I learned yesterday that AGC=1 means fixed control while AGC=0 means auto control. This means #223 that sought to align the other gain registers (sans REG_13 as that's airband) ended up doing so inversely. This PR fixes that to match what was intended.
FWIW, the difference is two values bumping up/down PGA by a single index. We know they do something because REG_10, 11, 12 and 14 are related to 13. As outlined in #235, these would need calibration through signal generators to get an average value that works across most radios. There are also writes to undocumented registers.
For now, this will do until we have something better.

I understand this PR has encountered scope-creep but I've become more confident AGC can attenuate overloading signals while boosting weak ones. I'm told it isn't as good as the existing AM fix for audio distortion, more likely because what we already have gives better results rather than my values being wrong.
I won't be adding any more commits to this, it's big enough as it is.

Changes made with eb03123. Closing.

The only problem is you can't enable AGC AND use my AM fix, it's one or the other I'm afraid.

The whole point was to see if it could be disabled. I was using two radios, one had the AM fix disabled, to experiment. I wasn't expecting to do both.

If your AGC enabling doesn't work as well then it will have to stay with the AM fix. Nobody will accept going backwards in audio quality I'm afraid.

I understand that. This was an experiment for me to better understand how the radio worked. I'm still learning how AGC works on the BK4819.


About multiline lists and maps

Current guidelines, about lists:

do not add a trailing comma. It is ugly and it does not help.

And maps:

comma (,) at the end of each key/value except the last;

I agree with these guidelines when the list/map fits in a signle line, but I like adding a trailing comma for multiline lists and maps. It allows to keep clean diffs when moving, appending or deleting lines, and don't require the developer (or a script) to handle differently the last line when editing code (this is annoying when using sed, multicursors, range substitution or macros for example).
I know this is not something everybody likes, but at least the two style guides I follow for JavaScript and PHP are recommending this too, and I see Rust is looking forward to recommend this practice too.
So basically, I'm for the following (let's assume the example strings are long enough to require a multiline structure):
$foo: (
  "a": "b",
  "c": "d",
);

$bar: (
  "a",
  "b",
);

However, I would be okay with not having commas at all in a multiline list.
Opinions?

Multi-lines lists are prohibited anyway. Although I am thinking of forcing a trailing comma on maps.

Multi-lines lists are prohibited anyway.

I don't recall reading this, maybe it should be added?

Multiline's are coming - see https://github.com/sass/sass/issues/216

Oh it's prohibited at Sass level. I misunderstood Hugo's comment.
Well if it's comming, we can still anticipate this!

I don't recall reading this, maybe it should be added?

I should make this clear. I don't think it is a good idea to use multiple lines for a list unless it has too many items to fit on a 80-characters long line.
I'll add this.

You got it.


Remove section on owners files being preferred to ownership matrix

Discussed in the #dev-experience channel and confirmed that the owner file was not intended to supercede the ownership matrix, so removed that sentence.

Cc @jeanduplessis @jhchabran


Fix mypy plugin crash

Reported in issue #5191; this is essentially a manual cherry pick of the MR for the 1.10.X-fixes branch (#5208).
I'll copy the same comment I made there:

The only way I know how to reproduce this issue is to have circular imports across modules (see example codebase linked in https://github.com/pydantic/pydantic/issues/5191 — thank you @marcelopgc for sharing).
Given that, I'd like to skip adding a test for this for now (so we can get a fixed release out), as it will be significantly more complex than our existing mypy tests, but I have added a comment linking to issue https://github.com/pydantic/pydantic/issues/5191 which shows how to reproduce it. That should be enough to get better coverage once we attempt to get 100% coverage there.
@samuelcolvin let me know if you aren't comfortable merging this without a covering test.

please review

I'll also note that while this was reported as being due to explicit_package_bases=True, I'm not seeing anything indicating that that is connected to the crash, and I think this is definitely an improvement either way as, even if new errors are hit in this logic path, this should just produce a "normal" mypy error (that can be # type: ignore'ed) with debug information for us rather than producing an internal error in the plugin.

please review


Multi bib cache

On successful boot of an image type supported by bootc-image-builder (Fedora iot-bootable-container), save the bootc-image-builder image ID as a separate (empty) file so we can save the boot success of multiple images and avoid unnecessary rebuilds.
Fixes #594

https://gitlab.com/redhat/services/products/image-builder/ci/images/-/jobs/6629880784#L2399
🖼 Manifest fedora_39-x86_64-iot_bootable_container-empty.json was successfully built in commit 647bb751f04dcd02ded4785f6ebc3851d95e66d5
  https://github.com/osbuild/images/commit/647bb751f04dcd02ded4785f6ebc3851d95e66d5
  PR-593: https://github.com/osbuild/images/pull/593
  This image was successfully boot tested
  Container disk image was built with the following bootc-image-builder images:
    - bib-sha256:942465b131205df03298e62b010d3d16723861adc9c6878b980a5f463b52a127
  Testing sha256:942465b131205df03298e62b010d3d16723861adc9c6878b980a5f463b52a127
  Adding config to build pipeline.

not good


[VMS] API endpoint and request method for filtered events server action

After #293 is completed, let's make an API endpoint and a fetch request method for this server action.
The API endponit should use handleGetRequestWithPayloadResponse. You may have some TS problems with specifying the convertQueryToServerActionInput function argument that handleGetRequestWithPayloadResponse expects. DM me and we can work together on this.
Don't forget to make changes to config.ts.

@PC98 I may be asking the wrong question here, but how should we handle the fact that some parameters may not be passed (i.e. someone may just want to filter by date and not causes) in our query conversion method? Additionally, the parameters are currently passed separately (time=NWEEK&time=WEEK rather than times=NWEEK&WEEK), so we may need to change either the expected name or the way the parameters are passed.

I don't think times=NWEEK&WEEK would be a correct format, the & is usually used to indicate different query parameters. If you have multiple values for a parameter, you usually would do time=NWEEK&time=WEEK, as we have, or time=NWEEK,WEEK (the , character would get escaped).
But anyway, this is still a good question. If we don't want to change our fetchRequestWithPayloadResponse method, here is what I imagine how things will work:

The fetch request will be passed an object of type FilterPageInformation; the PaginateWithFilter fields of FilterPageInformation (like causes, cities, etc.) will come from the initial server-side response, just like how our upcoming events pagination code works.
So fetchRequestWithPayloadResponse will be passed an object, something like { cities: [], causes: ["ARTS"], times: ["TOMORROW", "WEEK"] /* rest * / }, notice how all the PaginateWithFilter` fields here will be of type array, and if a user has not selected a filter, it would be the empty array.
fetchRequestWithPayloadResponse calls querystringify on this object, and then when we receive this request on our back-end, req.query will represent this data as { cities: "", causes: "ARTS", times: "TOMORROW,WEEK"  /* rest * /  }, so basically all the array fields have been converted to strings.
Your conversion method will convert cities: "" to cities [], causes: "ARTS" to causes: ["ARTS"], etc. You might have to use something like as FilterValue<"cause">[] to make TS happy.

We can approach this differently but then we would have to change more of our existing code.

Also as an FYI, I am simplifying some pagination code as part of this PR: #318
Do rebase on top of that before working.

@PC98 My current implementation works (almost) properly and utilizes the getFilterValuesInQuery found in filters.ts.
const causes = getFilterValuesInQuery(queryRecord, "causes");

However, this does present some issues with typescript, since it is expected the type to be either "cause", "time", or "location". Instead, the queryRecord contains the fields "causes", "times", and "locations". One option would be to expand the FilterValue type to include the plural forms. Another issue is that there is no validation to make sure the parameters are valid. I'm having trouble finding the best way to do this validation. Is there some easy way to check if each of the filters are valid FilterOptions? It's a little difficult since our filters are A. read-only (so no reduce or map) and B. the actual value we need to validate against is in the value field of each entry. I considered just looping through and adding each value to a new array, but that seems inefficient. Any thoughts?

We can cast "causes" and others as a FilterType, but that just pushes the errors up to queryType.

For your first question, let's just reconcile PaginateWithFilter with our supported FilterTypes:
type SomeName = { [key in FilterType]: FilterValue<key>[] };
interface PaginateWithFilter extends SomeName {
  totalCount: number; // Filtered events page needs to explicitly display total number of results
}

After you make that change^ you may have to refactor whatever code uses PaginateWithFilter.

Another issue is that there is no validation to make sure the parameters are valid.

Don't worry about this; our server action getFilteredEventsCardData won't filter using invalid values. Let's just make TS happy at compile time and do the best possible thing we can, like ensuring lat and long are numbers, cause is an array, etc.

@matthewbrown77 As an FYI, I am adding a date field to FilterPageRequest as part of #321; I realized we will need a constant date for our time filter computations.
Also it's okay if we don't finish this task in Sprint 4, we can roll it over so don't worry about it too much.


 Please delete this branch for me. I have created a new pull request after I have pulled down the most recent version of gig-repo!
Thanks!

I am closing this pull request as @tranzilla has submitted another couple of pull requests which accomplish the same thing this one was attempting.


set image tags to release-v2.7

Since hash releases are unreliable at the moment, let's have a fall-back for installing latest Tigera images. Note leaving Calico components (e.g. CNI) pinned to v3.12.0 for time being.

Looks like this is fairly old and has some conflicts. Closing for now.


mmap-alloc: Fix failures on Mac Travis CI

On Mac Travis CI, we're getting odd test failures for the mmap-alloc crate with a SIGBUS in the test_map_panic_too_large test.
For example, this build:
Running `/Users/travis/build/ezrosent/allocators-rs/mmap-alloc/target/debug/deps/mmap_alloc-78657eb3ad591fbe`
running 11 tests
test tests::bench_large_map ... ignored
test tests::test_commit ... ok
test tests::test_map ... ok
test tests::test_map_non_windows ... ok
test tests::test_map_panic_too_large ... error: process didn't exit successfully: `/Users/travis/build/ezrosent/allocators-rs/mmap-alloc/target/debug/deps/mmap_alloc-78657eb3ad591fbe` (signal: 10, SIGBUS: access to undefined memory)

This issue has not come up on master yet, but is currently only present on the tls branch (PR #85), which is particularly odd since no changes to mmap-alloc are made on that branch.

This issue has come up in #122 as well.

OK, it looks like the issue is just that mmap-alloc tests are failing in general on Travis Mac, not just test_map_panic_too_large in particular. I'll update the PR to disable on Mac entirely.


getCallerClassName returns default value if stack trace is empty or too small

Signed-off-by: tvallin<EMAIL_ADDRESS>

Is it expected that Travis build is not triggered to check PR changes ?


BE-8: [API] Implementation of Register Endpoint

What's up?
We should start implementing our API endpoints related to Registration/Login System. We'll be using Postman to test our endpoints and then provide the necessary details to the Frontend team via Google Docs.
To Do

[ ] Implement the API endpoint: http://{host}/api/v1/auth/register/
[ ]  Document it in the Google Docs (created in #193) in detail.
[ ] Write unit tests for the helper functions (if any)

Deadline
25.10.2022 @17.00
Additional Information
No response
Reviewers
@BElifb @mumcusena

Closing this issue as the implementation is completed and tested.


docs: typo fix -- flag

Unknown or unexpected option: --simulator

That's not a typo. See my other answer here:
https://github.com/facebook/react-native-website/pull/3803#issuecomment-1653554122


Minetest update to 0.4.16, stop using -ffast-math compiler flag

Fix for minetest on OSX issue:
https://github.com/minetest/minetest/issues/4274

You have a wrong verstion in the title :)

Oops, sorry.

Thanks!

Works great!  Thanks.


3Box profiles migrated to self.id

3Box profiles are being migrated to self.id once migrated, when the profile in self.id is updated, changes were not updated in Snapshot,
We need to find a way to integrate self.id into snapshot
https://developers.idx.xyz/learn/overview/#record
https://developers.ceramic.network/build/http/api/#multiqueries

I'll work on this.

@ChaituVR Thanks for follow up!

I just tried using self.id. I had to connect my wallet and give permissions to migrate the 3box profile to self.id. It does not do it automatically without the user's permissions.


[feat][monitor] Add PartitionMetadataRequest metrics

Fixes: https://github.com/apache/pulsar/issues/18243
Motivation
Add observability metrics for CommandPartitionedTopicMetadata requests.
Documentation

[ ] doc
[x] doc-required
[ ] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/tjiuming/pulsar/pull/10

@tjiuming It's better to have a proposal for the newly added metrics.

Moved to https://github.com/apache/pulsar/pull/21771


GetInstalledCertificateIds.req response should be NotFound if no certificates can be found

Request from CSMS
Tx: [2,"c29f28a0-5570-4564-9471-f54d8c2df76f","GetInstalledCertificateIds",{"certificateType":"CentralSystemRootCertificate"}]
Response by client
Rx: [3,"c29f28a0-5570-4564-9471-f54d8c2df76f",{"certificateHashData":[],"status":"Accepted"}]
The JSON schema for GetInstalledCertificateIds.conf has certificateHashData having a minimum size of 1.
Response should be:
Rx: [3,"c29f28a0-5570-4564-9471-f54d8c2df76f",{"status":"NotFound"}]
with certificateHashData omitted rather than being empty.

Hi Piet,
Is it like imposing a condition on the line of ChargePointImpl::handleGetInstalledCertificateIdsRequest where it is populating response.certificatehashdata? And the condition should be checking that the optional object has_value()?
https://github.com/EVerest/libocpp/blob/8d7642d823e3999c56c3f904537815d4c2e17bc7/lib/ocpp/v16/charge_point_impl.cpp#L2267C1-L2268C71

Hi Piet, Is it like imposing a condition on the line of ChargePointImpl::handleGetInstalledCertificateIdsRequest where it is populating response.certificatehashdata? And the condition should be checking that the optional object has_value()?
https://github.com/EVerest/libocpp/blob/8d7642d823e3999c56c3f904537815d4c2e17bc7/lib/ocpp/v16/charge_point_impl.cpp#L2267C1-L2268C71

Hi movhdi, yes it should be checked if certificate_hash_data_chains is empty. In that case, we should return ǸotFound`.


Upgrade dependencies and re-generate chain types

This PR fixes discrepancies between event/call hashes in typegen classes and runtime.
Note, that Error: Unknown variant raw for identities.set_identity call is unfixable until release of a new archive.
Please, use raw json for this call for now.

This looks good to me, @jdomingos it might be worth giving the prawns a quick run locally to get a vague idea if all the processors still work with the new types, but if there's an issue we miss we should be ok as we shouldn't need to deploy for a while anyway. If we do I can downgrade the one we need to deploy as a short term fix.

@bdmason I've tried to run the processors in all prawns, for Kusama and Polkadot and they start ingesting without issues.
I'll merge this into my branch and continue from there.
Thanks @eldargab 👍


Discuss: Feedback on Migration to Monorepo with Changeset and Husky & co

We are in the process of migrating to a monorepo structure with new tooling. To ensure a smooth transition, we are collecting feedback on potential improvements and any pain points which should be evaluated and maybe mitigated.
Please share:

Improvement Ideas: Suggestions for enhancing the migration process or tools.
Pain Points: Any challenges or issues you've faced that we should address.

Does the linter need to run on push, if he already ran for every commit?

Pretter should not check *.md files. It's super annoying when you make a quick change to a readme online and then the prettier check fails.

After executing npm run clean, the turbo is also deleted. You should afterwards either execute npm i  or npm install to install turbo again. Is there any other workaround to install turbo only once?

I often fail on get everything running. the docu with getting started and stuff like npm run turbo build dont work.

We will create tasks for these topics and close this discussion:

remove Format/Prettier checks for markdown files
install turbo globally in the workspaces so it doesn't get remove with npm run clean. @andypf and @hgw77 will write documentation to it.


[Bug]  服务提供者并没有发布，收到了ServiceInstancesChangedListener

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

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

Apache Dubbo Component
Java SDK (apache/dubbo)   nacos
Dubbo Version
3.2.5  jdk1.8
Steps to reproduce this issue
2024-06-26 09:16:13.764  INFO 20796 --- [nacos.publisher-com.alibaba.nacos.client.naming.event.InstancesChangeEvent] .r.c.e.l.ServiceInstancesChangedListener :  [DUBBO] 0 unique working revisions:
2024-06-26 09:16:13.765  WARN 20796 --- [nacos.publisher-com.alibaba.nacos.client.naming.event.InstancesChangeEvent] .d.r.c.ServiceDiscoveryRegistryDirectory :  [DUBBO] Received url with EMPTY protocol, will clear all available addresses., dubbo version: 3.2.5, current host: xx.xx.x.xx, error code: 4-1. This may be caused by , go to https://dubbo.apache.org/faq/4/1 to find instructions.
What you expected to happen
消费者调用提供者后发生
org.apache.dubbo.rpc.RpcException: No provider available from registry xx.xx.x.xx:8848 for service com.donghe.pay.rpc.IPayOrderService on consumer xx.xx.xx.x.xx use dubbo version 3.2.5, please check status of providers(disabled, not registered or in blacklist).] with root cause
org.apache.dubbo.rpc.RpcException: No provider available from registry
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[ ] Yes I am willing to submit a pull request on my own!

Code of Conduct

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

Please submit the issue in English only :)


test: bring back those disabled live storage blob tests

See #7797

Skimming over #7797, it seems like reducing the amount of space required by the tests would really amount to reducing how heavily parallelized they can be. 30GB is also not a huge memory footprint, so it seems forgivable to me that tests may assume they're executing in an environment with more storage available.
The next course of action will be to expand the storage available by adding a Persistent Volume Claim to the pod definition of the test runner, and to update the location of the cached files to be in the mounted volume location.

To complete this, I had to also inject the TMPDIR environment variables to point to the mounted storage for test process.


Is there any way to create a choice between quests anymore?

Where else have you looked for answers to this question?
Nowhere, but I promise this is unique!
Share your question with as much detail as possible?
Because of the update where quests now load in order, there's a specific issue I've encountered. I have a setup where the player can choose between a "good" and "evil" quest, and choosing one blocks the other out. But because of this, the good quest references the evil one, and the evil quest references the good one. In other words, no matter which one I load first, they're not going to load because of the circular dependency. Is there any way around this?

Thanks for your question. When was this update that changed load order? There was a recent update that altered order in memory but that didn't affect loading.
That situation doesn't sound like something that was ever supported, but I might be interested in getting it working.

I was previously using version 4.0.0 build 146, and I updated to version 4.0.4 build 243. According to the spigot update logs, it seems this is the first update that actually did this, though if it only altered the order in memory I'm not sure when it was changed. That being said, it for sure worked on the previous version, but no longer works now. If needed, I can send logs, and I'm sure it's also simple enough to reproduce, just have quest 1 blocked by quest 2 and quest 2 blocked by quest 1.

Why don't you just use Custom module that would allow you to make the decision which side to choose inside of a Single quest.
Basically you just run a quest called "Make a Choice" And based on player answer in this quest it would give him either Good or Evil quest line.

We can also make choices with quests events, with a few small commands it works well
First, create a quest then an event "answer yes or no or / yes / no" which 1) will complete the quest of choice with questadmin finish   then give the quest chosen, or the permission required to your choice, or any other command(s) of your choice

https://lectern.browsit.org/resources/resource/12-decisions-objective/


STATE_HIDDEN not working

STATE_HIDDEN renders the same view as STATE_COLLAPSED.
`<CoordinatorLayout style={{flex: 1}}>
<View style={{ flex: 1, backgroundColor: 'transparent' }}>
<BottomSheetBehavior
        ref='bottomSheet'
        peekHeight={70}
        hideable={true}
        state={BottomSheetBehavior.STATE_HIDDEN}>
        <View style={{backgroundColor: '#4389f2'}}>
          <View style={{padding: 26}}>
            <Text>BottomSheetBehavior!</Text>
          </View>
          <View style={{height: 200, backgroundColor: '#fff'}} />
        </View>
      </BottomSheetBehavior>
      <FloatingActionButton autoAnchor ref="fab" />
    </CoordinatorLayout>`

Hi, Thanks for report.
There's a issue with the @ReactProps order, it setting the state before checking the hideable prop as true, i am still trying to figure out.
But you can set the STATE_HIDDEN on the componentDidMount as follows
componentDidMount() {
  this.bottomSheet.setBottomSheetState(BottomSheetBehavior.STATE_HIDDEN)
}

render() {
  <BottomSheetBehavior ref={ref => {this.bottomSheet = ref}}></BottomSheetBehavior>
}

I also do not recommend you manage the bottom sheet state directly on the state prop, because it's hard to control, you should manage with the setBottomSheetState method.

Thanks for the information!

this.bottomSheet.setBottomSheetState(BottomSheetBehavior.STATE_HIDDEN)
Should it work to hide a sheet programmatically?
I think im doing something wrong

@mikeevstropov  did you enabled hideable={true}?

@cesardeazevedo Yes. But im using NestedScrollView
<BottomSheetBehavior
    hideable={true}
    peekHeight={110}
    ref={ref => this.bottomSheet = ref}>
        <NestedScrollView ref={ref => this.nestedScroll = ref}>
            { child }
        </NestedScrollView>
</BottomSheetBehavior>

@cesardeazevedo Im sorry. Its my mistake. Method works correctly.


Join .NET foundation

#705 mentioned that Ocelot will be joining .NET foundation, it is good to have support/governance from it.
Any progress on this?
Thanks.

Agreed! We should go! :D

Would love to see this happen as well. I've been using Ocelot on a project for a while now and I'm really happy about it. I'm also a .NET Foundation Member ;). Note: not a board member, but if there's anything I can do to help out here, let me know.

Just so you know, there is now an open and transparent process for joining the .NET Foundation using this repo: https://github.com/dotnet-foundation/projects.

That's cool, i've joined .net foundation this month, I think we should push into it.

@jmezach commented on Jun 13, 2019
Note: not a board member, but if there's anything I can do to help out here, let me know.

Jonathan,
I'm very sorry, but what and how can you help in Ocelot development?
I see 2 commits from you only...

@yuft commented on Jun 12, 2019

Dear Daniel,
Will you guide us?
Will you help us?
Will you contribute to Ocelot at all? I see zero commits by you... :fearful:
Next,
Imagine, we have joined .NET Foundation.
What benefits will this association & joining bring us?
Now, after 2017-2020 years of developing Ocelot, I see that Tom showed his brave heart in #705 when saying about .NET Foundation.
 Just FYI

@raman-m  thanks for circling back to this topic.
I was an Ocelot user then and hoped Ocelot would become more successful as an open-source project.
I have moved away from building APIs these days, hope members like you can look further and close if this topic is not relevant anymore.

Hello everybody! @yuft @thiagoloureiro @jmezach
TO: @RaynaldM and @ggnaegi
CC: @TomPallister if we're lucky
Well... I have to state the fact that after my a little research with the team we see that .NET Foundation doesn't consider application forms anymore... Sad, but true! 😢
I don't know the reason, I can guess only...
Message in the Form, active for January 22, 2024
Submissions for membership are currently closed with a new application in the works.
If you have any questions, please email<EMAIL_ADDRESS>Thank you!

So, .NET Foundation is not an option for our project at the moment.
Links

Become a Member | .NET Foundation
Click here to complete the .NET Foundation Membership Application form

Interesting Facts

.NET Foundation was incorporated on March 31, 2014 by Microsoft
GitHub was acquired in June 2018 by Microsoft

I would say that Microsoft has major control on open source movement now, for .NET technology it is true on 100%
My conclusion 👇
The .NET Foundation no longer adheres to the original open source philosophy as it did before 2014!
Moreover, this organization is dead now (not consider applications) and the org was killed by Microsoft during 2014-2018, finally it is dead now. Probably, this is a reason why .NET Foundation committee doesn't read/consider new applications... my personal guessing.

But what will happen on March 31 this year? 😄


STITCH-2655 Swift SDK: Automate the test harness into an xcode scheme

Includes updates to evergreen to run each test as a task within a task_group.
Notes:

There seems to be a flaky test in StitchCore. I'm still investigating, and will include it in the scope of this ticket if possible, but it does not affect the review
I did not divide the core tests into individual tasks because in their entirety they only take 60 seconds to run

I haven't made performance a second task yet because there are still decisions that need to be made around that for both iOS and Android.


radiotray-ng not working on nixos-unstable

Describe the bug
radiotray-ng installs fine, but doesn't work anymore on nixos-unstable. It shows greyed out in the tray. Menus work, but playing a station fails.
Tested on basic gnome and i3 setups.
See the log:
[2022-04-08 14:20:46.344050] [0x00007f1b80dc2fc0] [info ] (main.cpp:262) - radiotray-ng (v0.2.8-unknown) starting up
[2022-04-08 14:20:46.344121] [0x00007f1b80dc2fc0] [info ] (main.cpp:264) - radiotray-ng/0.2.8 (Linux x86_64; n/a/n/a (n/a))
[2022-04-08 14:20:46.344128] [0x00007f1b80dc2fc0] [info ] (main.cpp:91) - debug logging enabled
[2022-04-08 14:20:46.344139] [0x00007f1b80dc2fc0] [info ] (player.cpp:26) - starting gstreamer
[2022-04-08 14:20:46.358049] [0x00007f1b80dc2fc0] [error] (player.cpp:427) - could not create souphttpsrc element
[2022-04-08 14:20:46.359375] [0x00007f1b80dc2fc0] [debug] (bookmarks.cpp:31) - loading: /home/boogie/.config/radiotray-ng/bookmarks.json
[2022-04-08 14:20:46.359711] [0x00007f1b80dc2fc0] [debug] (file_monitor.hpp:108) - monitoring: /home/boogie/.config/radiotray-ng/bookmarks.json
[2022-04-08 14:20:46.360763] [0x00007f1b80dc2fc0] [debug] (media_keys.cpp:198) - starting media keys
[2022-04-08 14:21:23.264277] [0x00007f1b80dc2fc0] [info ] (radiotray_ng.cpp:499) - downloading: SomaFM, Groove Salad, https://somafm.com/groovesalad256.pls
[2022-04-08 14:21:23.264331] [0x00007f1b80dc2fc0] [debug] (notification.cpp:63) - notify: Connecting, Radiotray-NG, radiotray-ng-notification
[2022-04-08 14:21:23.273186] [0x00007f1b80dc2fc0] [debug] (playlist_downloader.cpp:140) - http-timeout=15
[2022-04-08 14:21:25.957687] [0x00007f1b80dc2fc0] [debug] (playlist_downloader.cpp:174) - [REDACTED - useless playlist info]
[2022-04-08 14:21:25.958568] [0x00007f1b80dc2fc0] [info ] (playlist_downloader.cpp:96) - decoder: PLS, audio/x-scpls
[2022-04-08 14:21:25.958865] [0x00007f1b80dc2fc0] [error] (player.cpp:88) - gstreamer not ready
[2022-04-08 14:21:25.958873] [0x00007f1b80dc2fc0] [error] (radiotray_ng.cpp:533) - failed to download playlist: https://somafm.com/groovesalad256.pls
[2022-04-08 14:21:25.958994] [0x00007f1b80dc2fc0] [debug] (notification.cpp:63) - notify: Error, Failed to download playlist, radiotray-ng-notification

Internet connection is working completely fine and so is the targeted radio stream, so the failed downloads are not due to any external issues.
Notify maintainers

@dtzWill
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 5.17.0-zen1, NixOS, 22.05 (Quokka), 22.05pre367572.b6966d911da`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.7.0`
 - channels(boogie): `"unstable"`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This is true for me too on  NixOS 22.05.

fixed in master and release-23.11 by https://github.com/NixOS/nixpkgs/pull/271975
see also https://github.com/NixOS/nixpkgs/issues/271960


Table can run forever if player's bankroll is greater than zero, but less than bet unit.

The stopping condition for the table is
https://github.com/skent259/crapssim/blob/a75b997f8f3603b952bfc7e838e519c259dcbc83/crapssim/table.py#L116-L128
so if a player has a bankroll > 0, but it's less than their strategies bet unit the simulation will run longer than it should since the player is no longer able to bet. If we move the unit to the player we can do
https://github.com/amortization/crapssim/blob/cd1fcc001273feb1d66022d584f470d8f9eb251e/crapssim/table.py#L121-L133
which would check whether or not the player has enough units to continue betting. Or if we want to leave the old logic in place as well (although I don't think it's a good simulation that someone would sit and watch rolls and not bet) we could add a flag to the player or table like we do with runout that would allow either option.

This is fixed with #3 being merged to dev.


At each epoch measuring the position of the planet relative to the star.

The means of the likelihoods:
background $P(\textbf{x}, \textbf{y} |M_b)$ and
true companion $P(\textbf{x}, \textbf{y} | M_{tc})$
do not consider the relative measurement of the candidate to the host star at each epoch, only the time difference between the epochs of observation. Because the means are propagated from the first epoch of the candidate which is for simlicity choosen to be $(0,0)$.
The problem arises from the fact that the proper motions and parallaxes are taken from the Gaia epoch, but that epoch does not always coincide with the epoch of the first observation. That means, that the proper motions and parallaxes will have some likelihood distributions themselves(?) and need to be propagated to the epoch of first observation.

Implemented the theoretical changes, first results show also 15 true companions. Further testing in dev.


Adding Integration tests

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
#5464
Please don't merge yet!

passses, B! 💯  thank you


powertoys cannot use remap shortcuts on win10

Microsoft PowerToys version
0.81.1
Installation method
GitHub
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Steps to reproduce

✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

When I installed PowerToysUserSetup-0.81.1-x64, it became available

The next day it didn't work again and I shouldn't have closed the issue

/reportbug
We need a much more detailed walk through of how to reproduce this.

it is works again


Column view won't change to any other view

https://user-images.githubusercontent.com/99241036/152936720-d69668fc-8bfd-4f1e-8ea1-962d2d4433a5.mp4
As you can see in attached.

Please open this issue in the app repo. This is the repo for the website.


Very large values in numerical columns can cause a crash due to overflow

This line can crash with an overflow error for very large values of x becasue Clojure doesn't automatically upgrade Ints to BigInts. This happend with the  Gapminder dataset and is reproducible in the Clojure repl:
$ clojure
Clojure 1.11.1
user=> (def a<PHONE_NUMBER>0000)
#'user/a
user=> (* a a)
Execution error (ArithmeticException) at java.lang.Math/multiplyExact (Math.java:892).
long overflow

The value<PHONE_NUMBER>0000 is the problematic cell value in the Gapminder dataset. It's unclear whether this problem is common.

For what it's worth, I ran into this when working with a dataset of executable file characteristics, which contained values like memory addresses or Unix timestamps. I expect some of these, especially the timestamps, could be removed from the data without harm but sometimes that's hard to tell a priori.
If this is troublesome to fix, I wonder if it could be worked around by approximating large integers with scientific notation? I'm not sure if that's supported, though.

@Schaechtle you can fix this by using *', with an extra apostrophe at the end; I'm not sure where in the code the bare * was hit, but that would be one fix.


⚠ Bofrost.lu has degraded performance

In cf6806d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1421 ms

Resolved: Bofrost.lu performance has improved in 768c28c after 27 minutes.


Initial bp-celery commit

Hey @monicating @spladug I'm Sean from reddit.
Deep originally blazed the trail on this pattern, then I came in and modified it and got it running in CM.
I'm enthusiastic to see this project.  We have plans to bring celery to other reddit services and having a common implementation would be best.
So, this pattern is in prod today, but it is rather specifically designed for use with --pool gevent --concurrency 1 worker options.. like @spladug pointed out I'm not sure if the method we use to inject the context in to the task is safe for concurrency > 1.
When I get some time I will do some testing and more research in to better patterns.  I'll leave some comments here as well.

I have just a few questions about how it all fits together and how the app starts up. Do you have an example application maybe? That'd be cool to see all the bits in one place.

Here is a PR with some changes on top of the work Deep/Sean had worked on for Campaign Management: https://github.snooguts.net/reddit/reddit-service-campaign-management/pull/3155

We should incorporate changes from https://github.snooguts.net/reddit/reddit-service-campaign-management/pull/3175/files


Add support for unquoted strings

Currently there is only support for quoted strings while there can also be unquoted strings with a limited set of characters.

Added in f25e5d045bd4ad40226e53b71efd734f08ee3861


Publisher screen: TransactionList partly broken

Describe the bug

FIAT missing
tx info is broken

Screenshots

To Reproduce
Steps to reproduce the behavior:
In current master branch:

Visit to i.e. a page you made payments before
Click on Alby extension
See transaction list

Expected behavior
Looks like transaction list in home-screen
Alby information
master branch
Are you working on this issue?
No, but I could

I think this is a bug that must not go live on this and must be fixed.
what do you need to answer "Are you working on this issue? - No, but I could" ?
I am worried that with this issue it lays around for too long.

this is not good: https://github.com/getAlby/lightning-browser-extension/blob/master/src/app/screens/Home/index.tsx#L275-L278

this seems to me to be an issue because on all the different places we handle the payments differently and always map() over payments to do thing.
With this setup I think we will always miss places when we make changes.
I think the payments must be returned by an action and they must always return the same expected value.

I think this one either needs to load the payments for an allowance or all payments: https://github.com/getAlby/lightning-browser-extension/blob/master/src/app/screens/Home/index.tsx#L87-L101
so when an allowance is set the payments must be loaded.
we must fix this before the release.
I don't know how to trigger that load after a setAllowance call?
hackhack:
lightning/lightning-browser-extension@master ↑  » cat d.diff
diff --git a/src/app/screens/Home/index.tsx b/src/app/screens/Home/index.tsx
index f04c6ecb..b048f205 100644
--- a/src/app/screens/Home/index.tsx
+++ b/src/app/screens/Home/index.tsx
@@ -59,6 +59,7 @@ function Home() {
       const result = await api.getAllowance(url.host);
       if (result.enabled) {
         setAllowance(result);
+        loadPayments();
       }
       const blocklistResult = await api.getBlocklist(url.host);
       if (blocklistResult.blocked) {
@@ -86,7 +87,16 @@ function Home() {

   const loadPayments = useCallback(async () => {
     try {
-      const result = await api.getPayments({ limit: 10 });
+      let result;
+      console.log({ allowance });
+      if (allowance) {
+        result = await api.getPaymentsByHost({
+          host: allowance.host,
+          limit: 10,
+        }); // would by better to use the ID?!
+      } else {
+        result = await api.getPayments({ limit: 10 });
+      }
       for await (const payment of result.payments) {
         const totalAmountFiat = settings.showFiat
           ? await getFiatValue(payment.totalAmount)
@@ -140,10 +150,11 @@ function Home() {
   }

   useEffect(() => {
+    console.log("loadpayment");
     if (!isLoadingSettings) {
       loadPayments();
     }
-  }, [isLoadingSettings, loadPayments]);
+  }, [isLoadingSettings, loadPayments, allowance]);

   useEffect(() => {
     loadAllowance();
@@ -263,66 +274,35 @@ function Home() {

           {allowance?.payments.length > 0 ? (
             <TransactionsTable
-              transactions={allowance.payments.map((payment) => {
-                const {
-                  createdAt,
-                  description,
-                  host,
-                  id,
-                  location,
-                  name,
-                  preimage,
-                  totalAmount,
-                  totalFees,
-                } = payment;
-
-                return {
-                  createdAt,
-                  description,
-                  id: `${id}`,
-                  location,
-                  name,
-                  preimage,
-                  host,
-                  totalAmount:
-                    typeof totalAmount === "string"
-                      ? parseInt(totalAmount)
-                      : totalAmount,
-                  totalFees,
-                  amount: "",
-                  currency: "",
-                  totalAmountFiat: "",
-                  value: "",
-                  // @TODO: Refactor: transaction-creation #1158
-                  // https://github.com/getAlby/lightning-browser-extension/issues/1158
-                  date: dayjs(payment.createdAt).fromNow(),
-                  // date: dayjs.unix(payment.createdAt),
-                  title: (
-

-                      <a
-                        target="_blank"
-                        title={payment.name}
-                        href={`options.html#/publishers/${allowance.id}`}
-                        rel="noreferrer"
-                      >
-                        {payment.name}
-
-

-                  ),
-                  subTitle: (
-

-                      <a
-                        target="_blank"
-                        title={payment.name}
-                        href={`options.html#/publishers/${allowance.id}`}
-                        rel="noreferrer"
-                      >
-                        {payment.host}
-
-

-                  ),
-                };
-              })}
+              transactions={payments.map((payment) => ({
+                ...payment,
+                type: "sent",
+                date: dayjs(payment.createdAt).fromNow(),
+                title: (
+

+                    <a
+                      target="_blank"
+                      title={payment.name}
+                      href={`options.html#/publishers`}
+                      rel="noreferrer"
+                    >
+                      {payment.name}
+
+

+                ),
+                subTitle: (
+

+                    <a
+                      target="_blank"
+                      title={payment.name}
+                      href={`options.html#/publishers`}
+                      rel="noreferrer"
+                    >
+                      {payment.host}
+
+

+                ),
+              }))}
             />
           ) : (

diff --git a/src/common/lib/api.ts b/src/common/lib/api.ts
index 050b80f3..791b8563 100644
--- a/src/common/lib/api.ts
+++ b/src/common/lib/api.ts
@@ -88,6 +88,8 @@ export const getAllowance = (host: string) =>
   utils.call<Allowance>("getAllowance", { host });
 export const getPayments = (options: { limit: number }) =>
   utils.call<{ payments: Transaction[] }>("getPayments", options);
+export const getPaymentsByHost = (options: { host: string; limit: number }) =>
+  utils.call<{ payments: Transaction[] }>("getPaymentsByHost", options);
 export const getSettings = () => utils.call<SettingsStorage>("getSettings");
 export const getStatus = () => utils.call<StatusRes>("status");
 export const getInfo = () => utils.call<NodeInfo>("getInfo");
@@ -120,6 +122,7 @@ export default {
   selectAccount,
   getAllowance,
   getPayments,
+  getPaymentsByHost,
   getSettings,
   getStatus,
   makeInvoice,
diff --git a/src/extension/background-script/actions/payments/index.js b/src/extension/background-script/actions/payments/index.js
index 4c9c94cc..f43f39a3 100644
--- a/src/extension/background-script/actions/payments/index.js
+++ b/src/extension/background-script/actions/payments/index.js
@@ -1,3 +1,4 @@
 import all from "./all";
+import byHost from "./byHost";

-export { all };
+export { all, byHost };
diff --git a/src/extension/background-script/router.ts b/src/extension/background-script/router.ts
index ae861c7b..f7af197d 100644
--- a/src/extension/background-script/router.ts
+++ b/src/extension/background-script/router.ts
@@ -37,6 +37,7 @@ const routes = {
   makeInvoice: ln.makeInvoice,
   connectPeer: ln.connectPeer,
   getPayments: payments.all,
+  getPaymentsByHost: payments.byHost,
   accountInfo: accounts.info,
   accountDecryptedDetails: accounts.decryptedDetails,
   addAccount: accounts.add,

and a payments getByHost:
import db from "../../db";

const byHost = async (message, sender) => {
  // TODO load transactions from the node and merge it
  // with the payments data stored locally
  const limit = message.args.limit || 2121; // TODO: add pagination
  const host = message.args.host;

  let payments = await db.payments
    .where("host")
    .equalsIgnoreCase(host)
    .toCollection()
    .limit(limit)
    .reverse()
    .sortBy("createdAt");

  return {
    data: {
      payments,
    },
  };
};

export default byHost;


chore(CHANGELOG): update to v0.14.0

If we merge https://github.com/bpmn-io/properties-panel/pull/151 and this didn't get merged beforehand, let's include the sticky headers as well 👍
/cc @MaxTru @barmac

If we merge #151 and this didn't get merged beforehand, let's include the sticky headers as well +1
/cc @MaxTru @barmac

Sticky headers arrived :-)

@pinussilvestrus added sticky headers note. LGTM! Feel free to merge

I will bump the version alongside https://github.com/bpmn-io/bpmn-js-properties-panel/pull/687 👍


Rails ActiveRecord Crud diagnostic

I am made changes in the files/terminal when I created db. I didn't answer with in the README.md.
I think I need a 1-1 to walk through this step-by-step again.
Thank you!

2 / 6 (no answer for Q3 - Q6)


Updated tests to use Lab

Along with updating tests to use Lab I removed tests that were duplicates of those in seneca-store-test

Tests are failing when I run npm run test (tested using node 0.10.38 and 0.12)

merged another PR with porting to lab. Will close this and make another PR with removed duplicated tests.


plugins/lsp: add openscad language server

Just adds openscad lsp.