0.1.1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.324%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
87

Relevant Lines:
95

💛  - Coveralls


Nick: Watch technoglobe.co.in

Nick requests the watch of the watch_keyword technoglobe\.co\.in. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

technoglobe\.co\.in has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Add a new drag-to point when alt + dragging that's just above the inventory.

Problem:
When you click alt and drag something like the minimap, the game client gives you a variety of lock-to points to choose from. e.g. Top-left, top-middle, top-right. But none of these lock-to points are in arguably the most useful spot it can be in which is directly above the inventory.
This would be very beneficial to much of the userbase who play on larger monitors but wishes to play efficiently without their minimap flying all over the place every time they re-size their screen.
It's the bane of existence to any player with an Ultra-wide monitor who does content creation that requires regular resizing for stuff like video recording.

Solution:
Add a lock-to point that's statically ALWAYS just above the inventory putting things like the minimap as close as possible without overlap. So that people with larger monitors can move and re-size their monitor to their hearts content without their minimap being hid behind the inventory.
It's also great for people doing content in the wilderness!

It looks like you've added the same image twice. I assume they were meant to look different?

Yeah you're right. Let me see...

@Nightfirecat Fixed it. Thank you!


Brown bear v0.0.5

Codecov Report

Merging #410 (a6d9ff6) into master (de6638e) will increase coverage by 16.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #410       +/-   ##
===========================================
+ Coverage   71.17%   87.18%   +16.01%
===========================================
  Files          68       34       -34
  Lines        2331     1116     -1215
  Branches      351      160      -191
===========================================
- Hits         1659      973      -686
+ Misses        672      143      -529

Flag
Coverage Δ

batch-submitter
?

contracts
87.18% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

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

Impacted Files
Coverage Δ

.../l1-ingestion/handlers/sequencer-batch-appended.ts

...ubmitter/src/batch-submitter/tx-batch-submitter.ts

packages/core-utils/src/batches.ts

packages/core-utils/src/common/index.ts

...kages/batch-submitter/src/batch-submitter/index.ts

packages/message-relayer/src/relay-tx.ts

packages/core-utils/src/common/hex-strings.ts

...layer/src/services/l1-ingestion/handlers/errors.ts

packages/core-utils/src/alias.ts

packages/core-utils/src/coders/sequencer-batch.ts

... and 24 more

Continue to review full report at Codecov.

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


Add JSONIFY_MIMETYPE configuration variable

It is often useful to be able to return a vendor media type for JSON responses. For example, JSON API requires that all responses have the Content-Type: applications/vnd.api+json header.

LGTM

LGTM, but the changelog entry is now for the wrong version.

OK, I've rebased with the latest master and put the changelog entry in the 1.0 section.


QA(fix): Move laminas/service-manager back to dev dependencies

Pretty unsure why it was moved from dev dependencies in #129, but it seems to be wrong.
Still suggest section states:

"laminas/laminas-servicemanager": "Laminas\ServiceManager component to allow using the ValidatorPluginManager and validator chains",

so it is optional dependency and we should not be forced to install it, when we do not need it.

Q
A

Documentation
yes/no

Bugfix
yes/no

BC Break
yes/no

New Feature
yes/no

RFC
yes/no

QA
yes/no

Description

ValidatorPluginManager needs it

@michalbundyra I agree with @Xerkus here. ServiceManager is an important dependency here and we need to restrict the installable version to those that are compatible.


STORM-534:Store Nimbus Server Information in zookeeper path {storm.zookeeper.root}/nimbus

Store Nimbus Server Information in zookeeper path {storm.zookeeper.root}/nimbus
like {nimbus_host_name}:{nimbus_thrift_port}
May add more information like nimbus server version Information ?

@revans2
Could you please have a review on this?

Sorry this took me so long to respond to.  I am kind of swamped :).  I do like the idea of being able to access the version numbers for nimbus, but also for the supervisors.  This becomes especially important for HA and rolling upgrades of large clusters. It is good to be able to verify that all of the nodes are on the versions you expect them to be on.  I am OK with it being stored in ZK, so long as it is not written/read very frequently.
Also if you think the configuration takes up too much room please take a look at https://github.com/apache/storm/pull/328 which makes the config paginated.

@caofangkun If you want to reopen this and just add in the nimbus version information I would support that.

@revans2
Yes, not only nimbus server version numbers , but also supervisors and ui should show up version numbers on UI .
In face , it may be better add supervsior version numbers in issue：
https://issues.apache.org/jira/browse/STORM-619
“add supervisor page to show workers running detail informations ”

@revans2
it might be good to:
1:  the configuration  should be paginated
2:   we'd better supply three types of configuration and they  may different from each other
2.1 nimbus server configuration --- show up all config information and  in numbus.html
2.2 supervisor server configuration( different type of machine may have different configuration ) -- show only supervisor local config information and  in supervisor.html
2.3 topology configuration -- show only the topology customized  configuration and   in topology.html

@revans2 @caofangkun  Any reason to store storm config in zookeeper. I don't see any benefit of it and whenever user/admin changes storm config these needs to be updated in zookeeper again. I am ok with having storm nimbus,supervisor versions numbers stored in zookeeper but not the config.

@harshach
Sorry for  my  unclear explanation.I am not ok with storing config in zk ether.
I am just thinking storm config shoud be classfied to nimbus/supervisor/topology three types, and be showed in UI separately.

@caofangkun Thanks . I think it helps categorizing the configuration into different section. But in a storm deployment same storm.yaml used on all hosts. So I don't think its a good idea make this distinction on the code side as it makes easier to have same config on all hosts for deployment reasons.

I have a few questions.  First why are we storing the nimbus version as JSON in zookeeper?  The way the code is written to store the data in ZK we start off with the raw values.  We put them in a thrift object, and then convert them to JSON to store them.  To pull it back with the UI it asks nimbus to get the cluster info which results in a zookeeper call to get the JSON version string which is converted to thrift, sent back to the UI which converts it back to JSON again.  It feels like there are a lot of unnecessary steps. Can we just store it as thrift in ZK and only convert to JSON for the final UI call?
I would also prefer to have clients pick the nimbus server to use as part of nimbus HA https://github.com/apache/storm/pull/354 it fits better there.  Perhaps we really should just wait for the HA code to go in before putting in the version number info.  With this change we get half of HA but not all of it.

I am already planning on storing all the required information and modify the UI as part of nimbus HA, Please see https://issues.apache.org/jira/browse/STORM-654 and comment on it if you think more information should be stores as part of NimbusInfo instance.

Let's close it for now.More information will be discussed on   STORM-654


return self._UNESCAPE_REGEX.sub error line 533 in text_encoder.py

Got latest on July 21
Still getting issue
File "/home/ai/virtualenv_tf/local/lib/python2.7/site-packages/tensor2tensor/data_generators/text_encoder.py", line 533, in _unescape_token
return self._UNESCAPE_REGEX.sub(match, escaped_token[:-1])
AttributeError: 'SubwordTextEncoder' object has no attribute '_UNESCAPE_REGEX'
Ubuntu 16.04, python 2.7  , tensorflow in virtual env

This was corrected in release 1.1.1, maybe it didn't propagate to pypi yet? Could you check your version?
(https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/data_generators/text_encoder.py#L533)
I'm closing for now, but please reopen if you see it with 1.1.1.


Add support for PHPUnit 6.0

phpunit-speedtrap master branch now supports a future 2.0 of SpeedTrapListener. This PR updates the listener to only support PHPUnit 6.0 and increases the minimum PHP version to 7.0.
This PR also adds more unit tests I had been using locally during development to ensure the listener functioned correctly. Long-term I would like a more robust test strategy that does not rely on visually examining the PHPUnit test runner output.
Should any other changes be made before merge? Please add your reaction to this post or comment below. Thanks! 🚀

I would add comments about code that is different to https://github.com/johnkary/phpunit-speedtrap/pull/25
Why not just use that PR? I miss some feedback.

Tests are not passing either: https://travis-ci.org/johnkary/phpunit-speedtrap/jobs/201215016#L239

:+1: Great job!


K8SPXC-610 Change host selection

 ❨?❩

Test name
Status

haproxy
passed

scaling
passed

upgrade-haproxy
passed

recreate
passed

big-data
passed

storage
passed

init-deploy
passed

self-healing
failed

scaling-proxysql
passed

security-context
failed

restore-to-encrypted-cluster
passed

limits
passed

upgrade-proxysql
passed

monitoring-2-0
passed

demand-backup
passed

affinity
passed

smart-update
passed

self-healing-advanced
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
failed

operator-self-healing
passed

pitr
passed

users
passed

upgrade-consistency
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

haproxy
passed

scaling
passed

upgrade-haproxy
passed

recreate
passed

big-data
passed

storage
passed

init-deploy
passed

self-healing
failed

scaling-proxysql
passed

security-context
failed

restore-to-encrypted-cluster
passed

limits
passed

upgrade-proxysql
passed

monitoring-2-0
passed

demand-backup
passed

affinity
passed

smart-update
passed

self-healing-advanced
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
failed

operator-self-healing
passed

pitr
passed

users
passed

upgrade-consistency
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

demand-backup-encrypted-with-tls
failed


Question - Guide for using '#include "filename"' or '#include "

Currently I cannot find related information about when to use #include "..." and when to use #include <...>. Do we have any rules for it? Though it makes no big difference, I think it would be better to unify the usage.
I noticed both usages are in our code for similar include headers. As an example, in commissioner_api.cpp:
#include "openthread-core-config.h"

#include <openthread/commissioner.h>

#include "common/instance.hpp"
#include "common/locator-getters.hpp"

And in child_supervision_api.cpp:
#include "openthread-core-config.h"
#include "openthread/child_supervision.h"

#include "common/instance.hpp"
#include "common/locator-getters.hpp"

When using #include <filename>, the compiler would normally search in directories pre-designated by compiler/IDE. So it's usually used to include standard library header files. When using #include "filename" the preprocessor searches first in the same directory as the file containing the directive. So I think in openthread, #include "filename" should be used in most cases, including the above example. The exception is when including standard library. Thoughts? @jwhui @abtink @bukepo @librasungirl @wgtdkp @simonlingoogle

See STYLE_GUIDE.md:

Preprocessor #include directives shall use brace (“<”) and (“>”) style for all public headers, including C and C++ standard library, or other first- and third-party public library headers.
Preprocessor #include directives should use double quote (‘“‘) and (‘“‘) style for all private or relative headers.

@jwhui Thanks. Didn't notice that.


Build with own maplibre-gl

Would it be possible to build with my own maplibre-gl fork.
By changing to @gagan/mapbox-gl in dependencies and run build command would be sufficient?
"build": "vite build && npm run package"```

Thank you for suggesting pnpm.overrides, I'll explore this approach.


[BUG] - [upgrading 0.4 to 0.5/0.6]: Elasticsearch service failing on RedHat clusters after upgrading

Describe the bug
Elasticsearch service failing on RedHat clusters after upgrading
To Reproduce
Steps to reproduce the behavior:
TBD
Expected behavior
Successfully upgraded ES.
Config files
TDB
OS (please complete the following information):

RHEL

Cloud Environment (please complete the following information):

MS Azure (AWS?)

 Could you provide more details like:

is AWS, other cni plugins also affected?
it appeared only with one instance of logging vm?

Looks like duplicate of #922

Yup, looks like duplicate. We need to get answers for Rafal comments first, and then we can start the investigation.

The root cause of this issue is that in epirepo we have elasticsearch-oss package in version 6.x.y and 7.v.z as well, and the latter obsoletes the former, i.e. yum "implicitly" installs 7.v.z instead of 6.x.y.
Closing as duplicate of #922.

Duplicate of #922


Documentation for Cmake Zephyr module macros

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
I have been using the Zephyr modules but most of the Cmake functions seemed obsure to me. I had to dig in the source code to check exactly what zephyr does in the background:
I would suggest a link to the source file so its easier to know what are all the options available for zephyr cmake modules.
For example I did not know about the zephyr_library_named function until I checked the source code.
https://github.com/zephyrproject-rtos/zephyr/blob/e0fb04458f086111b95237bb6060f95738981fcd/cmake/modules/extensions.cmake#L418
I guess its not easy to auto-generate documentation from .cmake files but at least a link to where all the cmake functions to work with modules would be helpful.
If there is a link with documentation (rather than manually looking the source code) it would be nice to know where its located since I did not find it here
https://docs.zephyrproject.org/3.1.0/develop/modules.html

cc @tejlmand


Remove position: static from dropdowns in navbar

Is there a reason to use position: static; for dropdowns in navbar? I use code from v4-dev and it works fine, but it causes a problem in your new website
The problem isn't visible in v4-dev because Popper set the position of the dropdown to absolute (as it should be). Previously my PR (#22010) was rejected because you said that was intentional to use position: static, but when currently it's fixed by popper.js
Here's what I'm talking about:

And without position: static;

Isn't that better?
Tested on latest Chrome, Win 7/Win 10/Ubuntu 17.04/OS X Sierra 10.12.5

It seems that's because our documentation navbar don't have .navbar-expand to prevent expanding our should have a .navbar-expand-sm to expand only on small device

Hi there @mattonit, I understand but please take a look at my comment.

@Johann-S i've been looking around but the docs layout files aren't accessible without writing access aren't they?
wanted to make a pr to fix this

If you are looking for the docs layout everything is here : https://github.com/twbs/bootstrap/blob/v4-dev/_includes/

@Johann-S jup, thanks i'll get to work
got the PR up


Increase PeerSet coverage

In https://github.com/ZcashFoundation/zebra/issues/2214 we will make some changes on how the PeerSet works. We want to have some tests beforehand to isolate other bugs that could be happening in Zebra and are not part of those changes; we also want to make sure this new coverage will keep passing after we introduce the changes.

[ ] add PeerSet tests that make sure peer::Clients are cancellation-safe (peers become ready after drop and timeout)
[ ] proptest that makes sure that broadcasts go to the right number of peers, and the peer set recovers from the request (with random numbers of peers)
[ ] test broadcast error handling - some peers error, and all peers error

Hey team! Please add your planning poker estimate with ZenHub @conradoplg @dconnolly @jvff @oxarbitrage @teor2345 @upbqdn

In #2214 we will make some changes on how the PeerSet works. We want to have some tests beforehand to isolate other bugs that could be happening in Zebra and are not part of those changes; we also want to make sure this new coverage will keep passing after we introduce the changes.

add PeerSet tests that make sure peer::Clients are cancellation-safe (peers become ready after drop and timeout)

You'll want a test like this:
https://github.com/ZcashFoundation/zebra/blob/f176bb59a290f31b448f005f6018b466dfac95fc/zebra-network/src/peer_set/unready_service/tests/vectors.rs#L65
But dropping the future returned by:
https://github.com/ZcashFoundation/zebra/blob/f176bb59a290f31b448f005f6018b466dfac95fc/zebra-network/src/peer_set/set.rs#L915
It's ok to use fake peer::Clients, because the real Clients already have cancel-safe tests:
https://github.com/ZcashFoundation/zebra/blob/f176bb59a290f31b448f005f6018b466dfac95fc/zebra-network/src/peer/client/tests/vectors.rs#L78

proptest that makes sure that broadcasts go to the right number of peers, and the peer set recovers from the request (with random numbers of peers)

Try using MockService::expect_request on a PeerSet with fake peer::Clients. @jvff is the best person to ask about this kind of code.

test broadcast error handling - some peers error, and all peers error

Try using MockService::expect_request, then respond with errors when the mock service gets the request.

proptest that makes sure that broadcasts go to the right number of peers, and the peer set recovers from the request (with random numbers of peers)

Here is a question for this.
Problem:
We want to test PeerSet::route_broadcast() for the number of peers we send the request.
Solution:
We can already start a peerset with the number of peers we want. We can call Request::AdvertiseBlock, that will trigger route_brodcast().
However, there is a new problem:
route_brodcast() does not returns any output.
Options:
1- Return output from route_brodcast(), we can return for example number of successes and errors that results from sending the request to each peer (it is actually half of the peers that we will be sending to).
2- Catching the receiving peer is getting the request ? How do we make this ?

1- Return output from route_brodcast(), we can return for example number of successes and errors that results from sending the request to each peer (it is actually half of the peers that we will be sending to).

This seems like a good idea, feel free to add a new internal::Response type. (It's like Response::Nil, but with extra debugging information).
We could check the other ends of the client test harness, but that seems more complicated.


I Would like to know why isn't Orchestrator on the Godot Asset Lib

Description
This Tool is Great and it fills in the Gap for those who can't Code and Wish to use Visual Scripting and it wouldn't make sense to Download the Extension from Github instead of having it on the Godot Asset Lib, I Enjoy using this tool and Please see if you could add it there.
Implementation ideas
No response

Hi @tinyplayerss, the current version on the Asset Library is 2.1, which is only compatible with Godot 4.3 or later. If you're using Godot 4.2, then it won't show up with how the Godot Asset Library works. For Godot 4.2, you'll need to install it directly from GitHub by downloading the v2.0.4.stable release found here.

So it is on 4.3?

Hi @CoderGuyTedd GDExtension plug-ins work a bit differently since they're ABI compatible with version specific Godot versions and Orchestrator's latest build requires Godot 4.3. So you would need to use Godot Editor 4.3 to see the plug-in on the internal Asset Library.
This is a limitation of how Godot Asset Library works unfortunately.

Im useing godot 4.3

It shows up for me in the editor:

Are you certain you're using Godot 4.3?

Ohh, i think it spelled it worng. It shows for me too

does this completely replace gdscript?

The goal is to provide a 1-to-1 equal set of behavior as GDScript, but there are some common use cases still missing, including things like @icon and class_name keyword support.

could it be possible to make it better for beginers?

We're certainly open to suggestions @CoderGuyTedd.  Are there specific points in mind you're referring to that you'd like to see done better or differently?

I think that having a 1:1 recreation from GDscript might defeat the purpose of having a visual scripting language. For example to get a user input from the input map you have to have a input node and a input map node and all that stuff but it could just be a get input form input map node with a string input of the input name.

is it available on godot 4.4


Octane enhancements- Defects attachement, Defect TS link, Caling TC

Please confirm if tested from runset operation as well as manually from runset.

Checked for both, Manual as well as for runset operations


Proposal — Testing AWS Serverless integrations with MongoDB using LocalStack

Title: Testing AWS Serverless integrations with MongoDB using LocalStack
Speaker: @HarshCasper
LinkedIn: https://www.linkedin.com/in/harshcasper
Resources: https://github.com/localstack/localstack
Language: English
Type: Presentation 30-45 mins
Level: Introduction
Tags: serverless, testing, live-coding, workshop

Description
LocalStack is a fully functional local AWS cloud stack that enables cloud applications & infrastructure to be developed entirely on your local machine. LocalStack enables developers to create & deploy serverless Lambda functions on their local machine and emulate various APIs served via an ephemeral Docker container. With LocalStack, you can plug in your MongoDB database with AWS-native serverless integrations, while developing & testing your applications, completely locally.
In this session, we will demonstrate how you can use LocalStack to develop and test serverless integrations with MongoDB with interactive live coding to showcase common scenarios and use cases. We will also demonstrate some advanced new features that can radically improve productivity and team collaboration patterns while building these serverless integrations for your AWS cloud applications, powered by MongoDB.
Speaker Bio
Hi — I am Harsh, an engineer working at LocalStack. Previously, I was a Google Summer of Code student developer at MetaCall, and a Google Season of Docs technical writer at moja global. I have worked at HackerRank, Quansight, and Red Hat, to name a few, and I am passionate about Web Engineering, Python, DevOps, and Cloud in general. I have spoken at EuroPython '21, PyCon India '21, and GitKon '22.

Completed on Aug 5


Cannot pass variable as {{ name }} in jinja template using api.template function

Problem
Passing variable named name to jinja template using the api.template function's keyword argument returns unexpected behaviors. i.e. The below implementation does not work:
@api.route("/{var}")
async def func(req, resp, *, var):
    resp.content = api.template("page.html", name=var) # using `name` for the keyword to pass variable `name` in jinja template

+

Hello {{ name }}!

I think variable names such as name is very often used, so it may cause errors to others in the future as well.

Cause
Keyword argument for name was a reserved keyword in the api.template function.
https://github.com/kennethreitz/responder/blob/cee5ca8873147610e99bd446e5427094598602b6/responder/api.py#L375

Possible solutions
There either could be a disclaimer in the docs about the reserved words, or maybe changing the implementation like
def template(self, name, auto_escape=True, values={}):

and unpacking the dictionary variables to update the Jinja template so any variable can pass? So the endpoint for html rendering looks like
@api.route("/{var}")
async def name_page(req, resp, *, var):
    resp.content = api.template("page.html", values={"name": var})

How do you think?
Full codes and processes to recreate the issue are here
Server file:
import responder

api = responder.API()

@api.route("/namepage/{var}")
async def name_page(req, resp, *, var):
    resp.content = api.template("page.html", name=var)

@api.route("/greetpage/{var}")
async def other_variable(req, resp, *, var): # using other variable naming
    resp.content = api.template("page.html", greeting=var)

if __name__ == "__main__":
    api.run()

Template html file:

Hello!

name variable: {{ name }}

greeting variable: {{ greeting }}

Running the server:
$ pipenv run python server.py

Testing the endpoint with the name variable returns null:
$ curl localhost:5042/namepage/kazuya
null$

When I use different name such as greeting for the variable it works.
$ curl localhost:5042/greetpage/howdy

Hello!

name variable:

greeting variable: howdy

By the way, I'm a big fan of the work, and thank you @kennethreitz for encouraging submission of issues for Hacktoberfest! I'm still learning how to code, but it pushed me to make a first ever submission of an issue to an open source project.

Good job, just a python thing, don't use mutable objects as default arguments (unless you know what you're doing) because python evaluate them once (google it)
So instead of def template(self, name, auto_escape=True, values={}): use
def template(self, name, auto_escape=True, values=None):
    if values is None:
        values = {}
    # check values is a dict instance

Same issue for template_string

I'd rename name to name_


Floating point exception (core dumped) in tf.nn.depth_to_space

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
2.18.0-dev20240925
Custom code
Yes
OS platform and distribution
Linux Ubuntu 22.04.3 LTS (x86_64)
Mobile device
No response
Python version
3.9.13
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Under specific inputs, tf.nn.depth_to_space triggered a crash.
Standalone code to reproduce the issue
import tensorflow as tf
try:
    # Create an empty tensor
    arg_0_tensor = tf.zeros([0, 2, 3, 12], dtype=tf.float32)
    # arg_0 = tf.identity(arg_0_tensor)
    arg_1 = 536870912
    out = tf.nn.depth_to_space(arg_0_tensor, arg_1)
except Exception as e:
    print("Error:", str(e))

Relevant log output
2024-09-28 20:41:05.888017: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-09-28 20:41:05.950498: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-09-28 20:41:06.028236: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-09-28 20:41:06.052072: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-09-28 20:41:06.111011: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE4.1 SSE4.2 AVX AVX2 AVX512F AVX512_VNNI AVX512_BF16 AVX512_FP16 AVX_VNNI AMX_TILE AMX_INT8 AMX_BF16 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-09-28 20:41:11.970896: I tensorflow/core/common_runtime/gpu/gpu_device.cc:2021] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2704 MB memory:  -> device: 0, name: NVIDIA GeForce RTX 4090, pci bus id: 0000:1f:00.0, compute capability: 8.9
2024-09-28 20:41:11.973176: I tensorflow/core/common_runtime/gpu/gpu_device.cc:2021] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 1724 MB memory:  -> device: 1, name: NVIDIA GeForce RTX 4090, pci bus id: 0000:d4:00.0, compute capability: 8.9
Floating point exception (core dumped)

I tried running your code on Colab using TensorFlow v2.17.0 and the nightly version, and I faced the same issue. Please find the gist here for reference.

Thank you!


Error: Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.

For some reason the service believes there are multiple ExecStart settings, however in /home/$USER/.config/systemd/user/gesture_improvements_gesture_daemon.service.d/ there is only one override.conf. With one ExecStart definition. I have tried uninstalling with uninstall.sh and reinstalling multiple times. The problem persists. Running systemctl --user daemon-reload does not help. I also tried building and installing from source, no luck. I created the override in the first place because the ExecStart kept referring to root, even though I never installed / ran install.sh in root.

Hi @CDG-c0de ,
Sorry for late reply.
I do not know much about systemd config files.
Underlying issue occurs when we run script as root first time (even if we run script as non-root in same extracted folder afterwards issue won't get fixed).
To fix follow this steps.

Run uninstall.sh as both root and non-root
Remove override that you have made
Delete extracted folder
Extract the zip file again
Run install.sh as non-root

Hey @harshadgavali,
Thank you for replying, I tried the above steps without success.
However this morning the daemon just decided to start working. I don't really know what caused the problem to be resolved, all I have done in the meantime is update/upgrade my packages and install OpenCV...
I don't think this issue is a recurring one, and is just a little bug I was having.


Option to leave out suffix when title is default

I would like to have a title suffix that always applies automatically ngMetaProvider.useTitleSuffix(true); but not when the default title is being used.
so to put this into an example, if I use this configuration
ngMetaProvider.setDefaultTitle('Site name', '');
ngMetaProvider.useTitleSuffix(true);
ngMetaProvider.setDefaultTitleSuffix(' | Site name');

then
meta: {
  title: 'Page name' // Gives me the title "Page name | Site name"
}

and
meta: {} // Gives me the title "Site name"

Here is my proposed solution:
Instead of true/false we can send in a string to this function:
ngMetaProvider.useTitleSuffix('always'); // Always adds a title suffix
ngMetaProvider.useTitleSuffix('ifNotDefault'); // Always adds a title suffix, unless the title is the default title
ngMetaProvider.useTitleSuffix('never'); // Never adds a title suffix
The function must still support a true/false as well, so that it doesn't break when people upgrade.

I'm concerned that this might be an uncommon use-case that might add complexity to the configuration. This can presently be addressed in two ways:
When most states use a titleSuffix (#4)
Module config:
ngMetaProvider.useTitleSuffix(true);
ngMetaProvider.setDefaultTitleSuffix(' | Site name');

States that shouldn't use the titleSuffix
meta: {
  titleSuffix: '' //Override default suffix
}

When most states don't use a titleSuffix
Module config:
ngMetaProvider.useTitleSuffix(true);

States that should use a titleSuffix
meta: {
   titleSuffix: ' | This page has a suffix'
}

I'm closing this issue for now. I'll revisit it if there are more requests for this feature. Thanks for your input @TheWrongAlice


[WIP] allow use of secure gRPC connections between agent and collector

Which problem is this PR solving?
First draft to solve https://github.com/jaegertracing/jaeger/issues/1310 to get some feedback. Unit tests to be added later.
Short description of the changes
First draft implementation for a secure gRPC connection between the agent and the collector.

Looks like an unrelated test is now failing in CI: TestSaramaConsumerWrapper_start_Messages. Can't reproduce it on my machine, is this test known to be flaky/broken?

possibly, I restarted the build to see.

Confirmed flaky test - #1314

@ghouscht what is your action plan with this PR? Are you going to add the equivalent settings to the collector?

Yes, today I wrote some very basic unit tests for the agent part (just flags and ProxyBuilder).
Will have a look at the collector code tomorrow to add those settings there to. The only thing left then, is some sort of e2e test, but don't know at the moment how to do that...

Code for the collector part now also finished. Tested it on my local machine and seems to work well.
things left TODO:

agent: rewrite unit test TestProxyBuilderwith custom CA (open for ideas) possible idea: write a cert to a tempfile and use this file to test the NewCollectorProxy method with a real CA or is the test like it is now ok?
collector: do we need a custom error message if the user starts the collector with --collector.grpc.tls but does not provide a cert and key? Or just stay with the current error which is like: "Could not start gRPC collector","error":"failed to load TLS keys: open : no such file or directory" (not ideal in my opinion)?
E2E test? how?

loading certs from a file in /tmp might be a good way to unit test the initialization paths

Added pkg/testutils/certificate.go, maybe a bit overkill at the moment. But this method could be used too for an e2e/integration test where a cert and key is needed.
Do you think there is anything left which needs to be done? E2E test or tests for the initialization paths of the collector in cmd/collector/main.go (currently no tests at all for this part of the code)?

we do have integration tests running binaries, crossdock/docker-compose.yml, but it's hard to extend. In fact, we still haven't switched it to use gRPC.

Cleaned up the PR and removed the certificate stuff. TestSaramaConsumerWrapper_start_Messages is failing again... (this time with a different error I think so).

You'll probably want to add a ssl trusted roots bundle to the jaeger-agent docker image, similar to what already exists in jaeger-collector's Dockerfile:
--- a/cmd/agent/Dockerfile
+++ b/cmd/agent/Dockerfile
@@ -1,5 +1,10 @@
+FROM alpine:latest as certs
+RUN apk add --update --no-cache ca-certificates
+
 FROM scratch

+COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
+
 EXPOSE 5775/udp 6831/udp 6832/udp 5778
 COPY agent-linux /go/bin/
-ENTRYPOINT ["/go/bin/agent-linux"]
+ENTRYPOINT ["/go/bin/agent-linux", "--reporter.grpc.tls.ca=/etc/ssl/certs/ca-certificates.crt"]

@yurishkuro how to proceed now with this PR?

Looks like an unrelated test is failing again? What about coverage, is it ok like this?

The coverage should remain at 100%.

Ok, catching the first miss here could be hard, or at least I don't know how to do this, any ideas?
The second miss here shouldn't be a problem, will do this in a few minutes.

@ghouscht I fixed coverage by adding one more test (#1391). I can get it approved and merged tomorrow, or you can merge it into your branch, and then we can merge this PR.
NB: in the future I recommend not committing directly to master in your fork, but creating a branch (as I did in #1391). Had you done that, I would've been able to push these extra commits directly into your branch and update this PR automatically.

I'm out  of the office today. Will merge the changes into my branch tomorrow and squash the commits together.

merged as #1391


Technical debt

We are not in the best shape.

Dependency
Inselect
Current

Python
2.7.11
3.5.1

OpenCV
2.4.10
3.1

Qt
4.8.7
5.7

Complexities

the PySide bindings to Qt seem to no longer be maintained and do not support Qt 5
neither of the open source barcode readers (libdmtx and zbar) have been maintained for a long time and neither supports Python 3
at least one fork of zbar supports Python 3 (https://github.com/Polyconseil/zbar - I have not tested the package)
we require both 32 and 64 bit builds for Windows of zbar and of libdmtx
PyInstaller (used to create Mac build) supports Python 3 (I have not tested this)
cx_Freeze (used to create WIndows build) currently supports 3.4.x but not 3.5.x

Previous thinking about Python 3 at #95

The PySide2 project aims to provide a complete port of PySide to Qt 5.x.
We should perhaps look at using a shim such as https://pypi.python.org/pypi/QtPy to make it easier to switch between Qt bindings.

ZbarLight offers bindings to zbar for Python 3. Mac OS X and Linux only - no Windows build.

Inselect now uses pydmtxlib and pyzbar, both of which run on Python 3.

All done


feat: Initial prepare statement support for Postgres protocol

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
This is a proof-of-concept implementation of prepare statement for our postgres protocol adapter. In prepared statement, or extended query as in postgres, it follows a parse-bind-describe-execute process to run a query:

prepared statement are provided in parse phase, as well as type information of its parameters
in bind phase, the value of parameters are provided
describe request asks for schema of result set
and execute request actually run the query

When statement is cached in server-side, parse and describe can be omitted.
In order to support this process, we need a new ability to get schema out of a query statement without executing it. This implementation relies on datafusion's LogicalPlan to get schema. Parameter types are added into PlannerContext to make it work.
Limitations

We'd better cache LogicalPlan and use its with_param_values for parameters replacement. And we also need a solution for parameter replacement on INSERT/DELETE/UPDATE
More postgres types need to be supported, especially those date/time types. The current encoding of timestamp is not compatible with psycopg3 and jdbc. This needs to be corrected in next patch.
rust-postgres compatibility: rust-postgres' query implementation doesn't include parameter type while datafusion requires types when there is placeholders in sql.

Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

#470

I have some doubts whether defining do_describe in SqlQueryHandler is a good idea. It seems to me that "describe" is only limited to pg, if we are to impl "prepare" feature in MySQL, can we reuse the "descirbe"? On the other hand, "describe" sits between the "parse sql" phase and "execute stmt" phase, if only we could restrict SqlQueryHandler to only execute stmt, we may achieve much cleaner code structure -- image how various Java dialects (eg scalar and kotlin) running in JVM.

Mysql implementation won't use this API because its protocol combines column definition with its first batch of results.
If we remove do_describe from SqlQueryHandler, postgres server will need a reference to QueryEngine. I'm not sure if this will break our layered API design. (And do we really have a layered design here?)
Actually when implementing this, I feel there is increased need for QueryEngine access from both mysql and postgres server. Datafusion uses LogicalPlan for parameterized query, so for performance consideration, we'd better cache LogicalPlan instead of Statement as prepared query statement in both protocols. And if we do that, access to  statement_to_plan in server tier is required as well.

@sunng87 I have a feeling that the problem roots in the lack of some abstraction regards to "prepare" stmt of pg and mysql in SqlQueryHandler. Currently I do not have any clear thoughts on this, can you leave a todo for me at do_describe in SqlQueryHandler? Just refer to this issue, thx. I'll revisit this problem when implementing mysql's "prepare".


ESP32: cannot set pins 12, 13, 14, 15 to output

According to this https://www.esp32.com/viewtopic.php?t=2687 those pins are configured for JTAG after reset and they must be set to GPIO from pinmux before they can be used as GPIO pins.

As discussed in Matrix, this issue has been resolved in #19 which should be included in the next release.


default impl for WindowUDFImpl::expressions should use all input expressions

Is your feature request related to a problem or challenge?
https://github.com/apache/datafusion/pull/12857  added the expressions method to the WindowUDFImpl trait.
The default impl currently only takes the first input_expr and discards the rest.
https://github.com/apache/datafusion/blob/444a673682a4823b98695568ecdab1087b5b6a60/datafusion/expr/src/udwf.rs#L314-L319
This altered behavior caused a regression in a two column Window UDF used in datafusion-python tests. See this comment detailing the error and this commit that fixes it.
Describe the solution you'd like
The default behavior should just return all the input expressions.
Describe alternatives you've considered
I didn't find any justification for only taking the first input_expr as the default behavior, so probably I'm missing something.
@jcsherin - please let me know if there's a reason that I'm missing for this behavior.
Additional context
No response

In lead/lag user-defined window functions which accepts 1-3 arguments, the shift_offset (2nd argument) and default_value (3rd argument) are saved as fields of WindowShiftEvaluator struct which implements PartitionEvaluator.
https://github.com/apache/datafusion/blob/223bb02fce886b47dc1ac81e2eda2bd3c6d60c3e/datafusion/functions-window/src/lead_lag.rs#L338-L344
The arguments are parsed once and cached when the partition evaluator executes. So this allows correct operation even though expressions() returns only the first input expression to the partition evaluator.
Now based on your example downstream I see that this API is overly restrictive. I agree that the default behavior needs to be where expressions() returns all the input expressions.
Apologies for the time you spent investigating this issue 🙏


Onboarding intro - Dax Dialogs

Task/Issue URL: https://app.asana.com/0/1206329551987282/1207569383033363/f
CC: @SabrinaTardio
Description:
Add Dax Dialogs SwiftUI view container, Intro dialog and Browser comparison dialog.
The Browser comparison chart is still a WIP, and I didn’t include it in this PR. The dialog shows a placeholder for the browser comparisons chart.
Steps To test the PR

Checkout the code and check SwiftUI Preview of:

DaxDialogView
DaxDialogIntroView
DaxDialogBrowsersComparisonView

<!—
Before submitting a PR, please ensure you have tested the combinations you expect the reviewer to test, then delete configurations you know do not need explicit testing.
Using a simulator where a physical device is unavailable is acceptable.
—>
Copy Testing:

[x] Use of correct apostrophes in new copy, ie ’ rather than ’

Orientation Testing:

[x] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPhone 14 Pro
[ ] iPad

OS Testing:

[ ] iOS 14
[ ] iOS 15
[x] iOS 16

Theme Testing:

[x] Light theme
[x] Dark theme

—
Internal references:
Software Engineering Expectations
Technical Design Template


Expose on_drop event trigger for rx.upload component.

If on_drop is provided, it should be an EventSpec accepting the special rx.upload_files() arg.
When on_drop is provided, it will be called immediately when files are selected. The default functionality of saving a file list to be uploaded later will not be available.
#2737

Should we remove the event chain warning?

I'm thinking probably yes, undep this feature and remove the warning. We've gotten at least 2 users on discord that have expressed concern about losing the ability to pass multiple event handlers for a single trigger, and for whatever reason don't want to explicitly tie them together via the yield syntax. For example, if I have two handlers that otherwise aren't related, I don't necessarily want to have one always call the other, in case they are used in other situations as well.


Add Hardiness Zones and generic functions for calculating climatologies

Offshoot issue from #355, related to #1273
The Hardiness Zones indicator (https://en.wikipedia.org/wiki/Hardiness_zone) would be a nice addition to the set of agriclimatic indicators on offer here. The metric helps determine climate-constrained agricultural suitability using a combination of climate factors. USDA is the most common/simple one (https://www.jstor.org/stable/23298457), but there are other versions, including a Canada-specific version developed by Natural Resources Canada (https://doi.org/10.4141/cjps67-044).
The intriguing part of this indicator is that it requires calculations/approaches that could also be applied for calculating SPI/SPEI and other indicators that are currently implemented in https://github.com/monocongo/climate_indices. It might be worthwhile to work on this indicator in part to achieve the objectives of #1273 (or vice versa).

I had the following idea: we could think of "hardiness zones" as a climate classification, instead of an indicator.
Thus, it could be implemented under a new submodule of "climate classifier", which I would define as:

Inputs are indicators, maybe even statistics of indicators (ex: 30-yr rolling mean)
The time dimension is not special, classification does not perform temporal aggregation.
Output is discrete

We could maybe have a special way of outputting correct CF attributes for flags.

In addition to hardiness_zones, we could have:

köppen (yes with the umlaut)
any others found here : https://en.wikipedia.org/wiki/Climate_classification

Moving this from milestone. Hardiness indicators are ready, but an agreed-upon approach for calculating climatologies requires a bit more effort.


bump zookeeper version from 3.9.1 to 3.9.2

Version was flagged by GH on main. This changes the ZooKeeper version from 3.9.1 to 3.9.2, starting with 2.1

Is this a duplicate of #4386

The idea was to start at 2.1 and then merge forward, closing this in passing


graphene_quad_t installed test crashes

Experienced behavior
I am trying to run graphene 1.9.6 installed tests in a NixOS module test VM and a single test fails:
Running test: graphene-1.0/quad.test

  graphene_quad_t
    has bounds
      ✓ converting rect corners into a quad yields the same bounds
      ✓ converting a rect into a quad yields the same bounds
      ✓ point[0] to be top left
free(): invalid pointer
FAIL: graphene-1.0/quad.test (Child process killed by signal 6)

The test when built in a sandbox succeeds; so it does when run in my user environment with nix run -f . gnome-desktop-testing ostree -c gnome-desktop-testing-runner -d $(nix-build -A graphene.installedTests --no-out-link)/share graphene-1.0/quad.test
Expected behavior
Test succeeds.
Steps to reproduce
nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/80354ee31404243bafc7a17b9c1bf6b46ea7ec08.tar.gz '<nixpkgs/nixos/tests/graphene.nix>'

Operating system in use
NixOS unstable
SIMD implementation in use
?

Note that the test passes in 1.8.6:
nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/1412af4b2cfae71d447164097d960d426e9752c0.tar.gz '<nixpkgs/nixos/tests/graphene.nix>'

Well, 1.8.6 used a completely different test suite, so it doesn't help me much.
I'm also not going to build a nix package myself. Could you please try and see if you can get a GDB stack trace and a valgrind log?

Here is the backtrace:
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007f4c908c4dc1 in __GI_abort () at abort.c:79
#2  0x00007f4c909052ac in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f4c90a0738e "%s\n")
    at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007f4c9090b49a in malloc_printerr (str=str@entry=0x7f4c90a05579 "free(): invalid pointer") at malloc.c:5350
#4  0x00007f4c9090c10c in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:4157
#5  0x00007f4c90a6a264 in mutest_expect_res_free (res=res@entry=0x89a620) at ../src/mutest-wrappers.c:42
#6  0x00007f4c90a6791b in mutest_expect_full (file=file@entry=0x40200f "../tests/quad.c", line=line@entry=37,
    func_name=func_name@entry=0x4021b0 <__func__.10947> "quad_bounds",
    description=description@entry=0x4020be "point[0] to be top left", value=0x89a620, first_matcher_func=<optimized out>)
    at ../src/mutest-expect.c:427
#7  0x00000000004016dd in quad_bounds (spec=<optimized out>) at ../tests/quad.c:34
#8  0x00007f4c90a696dc in mutest_it_full (file=file@entry=0x40200f "../tests/quad.c", line=line@entry=104,
    func_name=func_name@entry=0x4021d0 <__func__.10963> "quad_suite", description=description@entry=0x402004 "has bounds",
    func=func@entry=0x401524 <quad_bounds>) at ../src/mutest-spec.c:62
#9  0x0000000000401291 in quad_suite (suite=<optimized out>) at ../tests/quad.c:104
#10 0x00007f4c90a698eb in mutest_describe_full (file=file@entry=0x40200f "../tests/quad.c", line=line@entry=110,
    func_name=func_name@entry=0x4021db <__func__.10970> "main", description=description@entry=0x402126 "graphene_quad_t",
    func=func@entry=0x401267 <quad_suite>) at ../src/mutest-suite.c:87
#11 0x000000000040185f in main (argc=<optimized out>, argv=<optimized out>) at ../tests/quad.c:108

Valgrind:
$machine->succeed('valgrind /nix/store/s7jkmgw9mlxaqbjvcy08dhlc7v4w0p51-graphene-1.9.6-installedTests/libexec/installed-tests/graphene-1.0/quad')
machine: must succeed: valgrind /nix/store/s7jkmgw9mlxaqbjvcy08dhlc7v4w0p51-graphene-1.9.6-installedTests/libexec/installed-tests/graphene-1.0/quad
machine# ==830== Memcheck, a memory error detector
machine# ==830== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
machine# ==830== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
machine# ==830== Command: /nix/store/s7jkmgw9mlxaqbjvcy08dhlc7v4w0p51-graphene-1.9.6-installedTests/libexec/installed-tests/graphene-1.0/quad
machine# ==830==
machine# ==830== Invalid write of size 1
machine# ==830==    at 0x4866083: string_split (mutest-utils.c:384)
machine# ==830==    by 0x4866154: mutest_format_string_for_display (mutest-utils.c:406)
machine# ==830==    by 0x48646AE: mocha_spec_preamble (mutest-format-mocha.c:100)
machine# ==830==    by 0x4866184: mutest_format_spec_preamble (mutest-utils.c:437)
machine# ==830==    by 0x48655F0: mutest_it_full (mutest-spec.c:42)
machine# ==830==    by 0x401290: quad_suite (quad.c:104)
machine# ==830==    by 0x48658EA: mutest_describe_full (mutest-suite.c:87)
machine# ==830==    by 0x40185E: main (quad.c:108)
machine# ==830==  Address 0x4df2cfb is 0 bytes after a block of size 11 alloc'd
machine# ==830==    at 0x483479B: malloc (in /nix/store/r7hq9l4pqs7jym03pavn306pid1kzgqv-valgrind-3.15.0/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
machine# ==830==    by 0x4865FF3: string_split (mutest-utils.c:370)
machine# ==830==    by 0x4866154: mutest_format_string_for_display (mutest-utils.c:406)
machine# ==830==    by 0x48646AE: mocha_spec_preamble (mutest-format-mocha.c:100)
machine# ==830==    by 0x4866184: mutest_format_spec_preamble (mutest-utils.c:437)
machine# ==830==    by 0x48655F0: mutest_it_full (mutest-spec.c:42)
machine# ==830==    by 0x401290: quad_suite (quad.c:104)
machine# ==830==    by 0x48658EA: mutest_describe_full (mutest-suite.c:87)
machine# ==830==    by 0x40185E: main (quad.c:108)
machine# ==830==
machine# ==830== Invalid write of size 1
machine# ==830==    at 0x4866083: string_split (mutest-utils.c:384)
machine# ==830==    by 0x4866154: mutest_format_string_for_display (mutest-utils.c:406)
machine# ==830==    by 0x48644F3: mocha_expect_result (mutest-format-mocha.c:40)
machine# ==830==    by 0x486623C: mutest_format_expect_result (mutest-utils.c:494)
machine# ==830==    by 0x4863912: mutest_expect_full (mutest-expect.c:425)
machine# ==830==    by 0x40161C: quad_bounds (quad.c:21)
machine# ==830==    by 0x48656DB: mutest_it_full (mutest-spec.c:62)
machine# ==830==    by 0x401290: quad_suite (quad.c:104)
machine# ==830==    by 0x48658EA: mutest_describe_full (mutest-suite.c:87)
machine# ==830==    by 0x40185E: main (quad.c:108)
machine# ==830==  Address 0x4df2fcb is 0 bytes after a block of size 59 alloc'd
machine# ==830==    at 0x483479B: malloc (in /nix/store/r7hq9l4pqs7jym03pavn306pid1kzgqv-valgrind-3.15.0/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
machine# ==830==    by 0x4865FF3: string_split (mutest-utils.c:370)
machine# ==830==    by 0x4866154: mutest_format_string_for_display (mutest-utils.c:406)
machine# ==830==    by 0x48644F3: mocha_expect_result (mutest-format-mocha.c:40)
machine# ==830==    by 0x486623C: mutest_format_expect_result (mutest-utils.c:494)
machine# ==830==    by 0x4863912: mutest_expect_full (mutest-expect.c:425)
machine# ==830==    by 0x40161C: quad_bounds (quad.c:21)
machine# ==830==    by 0x48656DB: mutest_it_full (mutest-spec.c:62)
machine# ==830==    by 0x401290: quad_suite (quad.c:104)
machine# ==830==    by 0x48658EA: mutest_describe_full (mutest-suite.c:87)
machine# ==830==    by 0x40185E: main (quad.c:108)
machine# ==830==
machine# ==830==
machine# ==830== HEAP SUMMARY:
machine# ==830==     in use at exit: 37,214 bytes in 246 blocks
machine# ==830==   total heap usage: 370 allocs, 124 frees, 48,559 bytes allocated
machine# ==830==
machine# ==830== LEAK SUMMARY:
machine# ==830==    definitely lost: 386 bytes in 14 blocks
machine# ==830==    indirectly lost: 0 bytes in 0 blocks
machine# ==830==      possibly lost: 1,352 bytes in 18 blocks
machine# ==830==    still reachable: 35,476 bytes in 214 blocks
machine# ==830==                       of which reachable via heuristic:
machine# ==830==                         newarray           : 1,536 bytes in 16 blocks
machine# ==830==         suppressed: 0 bytes in 0 blocks
machine# ==830== Rerun with --leak-check=full to see details of leaked memory
machine# ==830==
machine# ==830== For lists of detected and suppressed errors, rerun with: -s
machine# ==830== ERROR SUMMARY: 14 errors from 2 contexts (suppressed: 0 from 0)
machine: exit status 0

For completeness, we are using: https://github.com/ebassi/mutest/commit/822b5ddf07f957135ba39889d81e513d525b9b8e

https://github.com/ebassi/mutest/pull/11 seems to fix the test.

Thanks, @jtojnar for the quick PR and thorough investigation!
I've updated the µTest subproject in Graphene.

Thanks, @jtojnar for the quick PR and thorough investigation!
I've updated the µTest subproject in Graphene.


Exception in resolution, message is:
Cannot recognized package: git.apache.org/thrift.git/lib/go/thrift
Resolution stack is:
+- github.com/apache/beam/sdks/go
+- golang.org/x/oauth2#a032972e28060ca4f5644acffae3dfc268cc09db
+- cloud.google.com/go#c1d6c20e26a9664da077a2bcdac922e4bc2d5766
+- go.opencensus.io#7a3c63ab1c5772f940fb091832581522533e432f

There is a newer version of the gogradle plugin with some dependency management fixes, consider doing the upgrade as it may resolve some of the issues.

Sent out #4619 for the thrift resolution problem.

 Currently still running.

The idea is that it'll replace the maven Go precommit. I just want to run them both for a few weeks before doing do.


Inconsistent crossSystem application

static-web-server is building glibc binaries even when crossSystem is properly set.  A simpler example project is switching between musl and glibc as expected when crossSystem is set. There is some behavior in the static-web-server crate that is preventing the same mechanism that works for the trivial project from also working for static-web-server  The result is a glibc binary and glibc dependency that is increasing the size of my static website images

Found an erroneous clobbering of crossSystem :man_facepalming:   Binary fails to run, but not suspected as a cargo2nix issue


Update Dockerfile

When moving from debian to alpine we stopped installing curl and it's needed to get the public ipv4 and ipv6 of the relay in the docker-init.sh

@conectado should we replace curl with a rust-impelementation of IP discovery? I think that will be preferred long term as it's easily extensible, and we can have tests for it. cc @thomaseizinger

@conectado should we replace curl with a rust-impelementation of IP discovery? I think that will be preferred long term as it's easily extensible, and we can have tests for it. cc @thomaseizinger

Do you mean built into the app?

@thomaseizinger yeah

Apologies for the breakage!

@conectado should we replace curl with a rust-impelementation of IP discovery? I think that will be preferred long term as it's easily extensible, and we can have tests for it. cc @thomaseizinger

@AndrewDryga  I don't think this is a good idea, specially for self-hosted relays.
Firstly, this requires to know how to gather the public ip for all possible deployments. And also I don't think this is good separation of concerns.

This PR did not fix the issue as curl is used for the relay, while PR only adds it for the gateway. It is used in entrypoint for all of rust containers so should be installed all the time. Pushed a hotfix to #2492.

The current way is the most extensible since the operator of the relay can decide how to get this information depending on the deployment.

I think you assume that I want to remove the environment values, but I would like to keep them. Only change is to move that conditional HTTP request from bash (where we don't have any tests for it) to rust (where we should write a test for that logic and documentation).
So it will be the same in practice - we will have a --listen_address_source=google_compute_instance_metadata flag and (LISTEN_ADDRESS_SOURCE=google_compute_instance_metadata) that will set defaults for PUBLIC_IP*_ADDR.


Markdown Snippets in "Lists" Section of basic-writing-and-formatting-syntax.md Incorrect

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
Basic writing and formatting synatx
What part(s) of the article would you like to see updated?
The "markdown" snippet in the Lists section under "Nested Lists" is incorrect. When copy and pasted the results are in consistent with images and description.
Additional information
The list item number does not match the images showing the rendered code.

@nobedee Thank you for opening an issue and linking it to your PR! ✨


nginx.tmpl for rancher

Hi,
I see in the readme you use an nginx.tmpl as example.
Do you actually have the template that generates an the nginx conf file similar to what the docker-gen generates reading the docker socket, in the original nginx-proxy image?
Regards
A

See https://github.com/adi90x/rancher-active-proxy


Make satellite apps non-optional

This change moves our "optional" satellite apps into the main list of Python libraries, treating them the same as our other packages.
This is now possible as all satellites are compatible with both Python 2 and 3.
Testing
This will add the satellite apps to the list of packages installed by tox, and so this is a change that expands what Travis tests (hopefully in a good way).
Todos
I've placed the "hold" label on this PR because this is a substantial change to how things work now locally, and we should make sure that the documentation is updated appropriately about this. Currently satellite app information is split across three pages ("Running in Docker", "Satellite Repos", and "Development Tips"). These should be consolidated as best as possible.
With this change, developers using a local virtualenv will need to know how to pip install a local checkout in order to work on it, and then how to switch back to the master version. Similarly, Docker users will need to understand how the "develop-apps" directory works as a second installation that overrides the version that gets installed in the standard environment.
Checklist

[X] PR has an informative and human-readable title
[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Code follows the standards laid out in the CFPB development guidelines
[X] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[X] Project documentation has been updated
[X] Reviewers requested with the Reviewers tool :arrow_right:

I thought of a potential problem with doing this, which is this line in the TDP setup script. I would hate to have to keep a separate requirements file just to support that. @willbarton can you think of any way around this?

🙈

@chosak How about instead of adding everything to libraries.txt, we add a satellites.txt, and that lets us be a little more fine-grained about how we use it.
At least until we get TDP moved into cfgov-refresh.

I opened a PR to TDP that tries to address this a different way, by having TDP filter itself out when installing. This keeps the TDP-specific logic to TDP, instead of requiring us to maintain a separate file solely for TDP's sake.

I've placed the "hold" label on this PR because this is a substantial change to how things work now locally, and we should make sure that the documentation is updated appropriately about this. Currently satellite app information is split across three pages ("Running in Docker", "Satellite Repos", and "Development Tips"). These should be consolidated as best as possible.
With this change, developers using a local virtualenv will need to know how to pip install a local checkout in order to work on it, and then how to switch back to the master version. Similarly, Docker users will need to understand how the "develop-apps" directory works as a second installation that overrides the version that gets installed in the standard environment.

I'm removing "hold" from this PR as I've added some documentation that hopefully covers the changes as part of a new "Related Projects" page that consolidates mention of satellite apps. Further reviews and suggestions are welcome.


Systemd won't start

I am trying to get this to run in a raspbian system. If I start the application on it's own it works fine, but by trying to make it run throught systemctl I get this:
ExecStart=/usr/local/bin/endlessh (code=exited, status=226/NAMESPACE)
I followed the endlessh.service instructions to run it in a port under 1028, which initially I failed to follow, but I still get the same result.

Do you get some more information about the service error messages?
What are the last entries running journalctl -u endlessh.service?
If you run it with a port > 1028 do you still have this problem?

What are the last entries running journalctl -u endlessh.service?

Nov 04 12:52:49 raspberrypi systemd[1]: Started Endlessh SSH Tarpit.
Nov 04 12:52:49 raspberrypi systemd[1]: endlessh.service: Main process exited, code=exited, status=226/NAMESPACE
Nov 04 12:52:49 raspberrypi systemd[1]: endlessh.service: Unit entered failed state.
Nov 04 12:52:49 raspberrypi systemd[1]: endlessh.service: Failed with result 'exit-code'.
Nov 04 12:53:09 raspberrypi systemd[1]: Stopped Endlessh SSH Tarpit.
Nov 04 13:00:38 raspberrypi systemd[1]: [/etc/systemd/system/endlessh.service:36] Unknown lvalue 'ConfigurationDirectory' in section 'Service'

I did encounter the same problem when trying to run on ports > 1028

It seems it was the version of the OS which was outdated. After updating the the lastest raspberry pi image, this issue is gone.


Added groove and pivotaltracker shims

With tests

Coverage decreased (-1.0%) to 75.73% when pulling e004d16907b2d848269630bb11cd75f2fdd20fbe on feature/newshims into b1fd9529dc4fd9ec9feb0d12075d11b71090f011 on master.


Capturing a text message in a  chat group?

Hello, I'm using the bot in a chat group, but it only interprets commands, I would like to capture other types of messages, such as for example text messages

Due to privacy of users bots have no access to users messages except some specific ones.
More information here and here.
Only way you can receive users messages in group is to set your bot as one of admins in the group.
And clearly you can only do that if you'r creator of the group or probably one of admins.

Thank you @hosein2398  here it worked now! 👏


Long commit message can break single line tables

Description
After upgrading from 1.17.3 to 1.18.1, a long commit message can break single line tables, the text is not truncated.
Reproduced on the demo site with Chrome, Firefox and Safari.
https://try.gitea.io/teeeeeest/test
Gitea Version
1.18.1
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots

Git Version
1.18.1
Operating System
No response
How are you running Gitea?
Demo site
Database
None

Duplicate: https://github.com/go-gitea/gitea/issues/22360


fix(publish): allow spaces between links in headers

This PR adds missing parts that where not salient during the original attempt at https://github.com/dendronhq/dendron/pull/3403
The issue: https://github.com/dendronhq/dendron/issues/3396#issuecomment-1229861053
Docs: [[dendron://private/task.2022.08.29.revisit-headings-whitespace]]
Pull Request Checklist
If you are a community contributor, copy and paste the PR template from Dendron Community PR Checklist and add it to the body of the pull request.
If you are a team member, copy and paste the template from Dendron Extended PR Checklist.
To copy the template, click on the Raw button on the gist to copy the plaintext version of the template to this PR.

can we add a playwright test for this to prevent future regression?

The fix for this issue is going to be implicitly resoved in https://github.com/dendronhq/dendron/pull/3521 therefore closing.


Make API more user friendly for non Dropwizard users

It's a little difficult to use this library in applications that use dropwizard metrics without the rest of the framework. It would be more user friendly to add setters to the Factory classes so its possible to create them manually.
The following would make this much more convenient to use.
new InfluxDbWriter.Factory()
    .host(host)
    .port(port)
    .build(registry);

Even in the unit tests the way its constructed is a little awkward where it builds the object from a json string and deserializes it into the object since there is no access to set these parameters.
This also applies to the reporter factory.

Hi @billoneil - how do you use this library in applications that use dropwizard metrics without the rest of the framework? If you can give me the starting point, maybe I can put together a solution and pull request. Thanks!

It's not a difficult change this library just needs to allow the user to manually construct the objects.
Currently, it assumes you have a yml configuration file and all the objects are wired up based on that.

@stuvie I'm also interested in this feature, you can see an example of how reporters are directly configured and built in metrics documentation :
https://metrics.dropwizard.io/4.1.2/manual/collectd.html
if you want a more involved example, you can look at the apache james project:
https://github.com/apache/james-project/blob/master/server/container/metrics/metrics-es-reporter/src/main/java/org/apache/james/metrics/es/ESMetricReporter.java
I would like to be able to build the same class to plug influxdb instead of ES, for that I need to be able to programmatically set the configuration instead of relying on a jackson based injection (because james doen't use yaml files and doesn't deserialize its configuration through jackson).
Thus a classic java builder API would be just fine as @billoneil said

@stuvie I'm also interested in this feature, you can see an example of how reporters are directly configured and built in metrics documentation :
https://metrics.dropwizard.io/4.1.2/manual/collectd.html
if you want a more involved example, you can look at the apache james project:
https://github.com/apache/james-project/blob/master/server/container/metrics/metrics-es-reporter/src/main/java/org/apache/james/metrics/es/ESMetricReporter.java
I would like to be able to build the same class to plug influxdb instead of ES, for that I need to be able to programmatically set the configuration instead of relying on a jackson based injection (because james doen't use yaml files and doesn't deserialize its configuration through jackson).
Thus a classic java builder API would be just fine as @billoneil said


snapcraft.yaml: update sec-secret-store binary locations

Should fix builds such as https://jenkins.edgexfoundry.org/view/Snap/job/edgex-go-snap-master-stage-snap/415/, see:
10:44:21 Building security-secret-store
10:44:21 cd cmd/pkisetup && CGO_ENABLED=0 GO111MODULE=on GOOS=linux go build -a -ldflags="-s -w" -o pkisetup .
10:44:28 cd cmd/vaultworker && CGO_ENABLED=0 GO111MODULE=on GOOS=linux go build -a -o edgex-vault-worker .
10:44:48 install: cannot stat 'pkisetup/pkisetup': No such file or directory
...
10:44:48 Failed to run 'override-build': Exit code was 1.
10:45:17 Build step 'Execute shell' marked build as failure

Codecov Report

Merging #1576 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1576   +/-   ##
======================================
  Coverage      25%     25%
======================================
  Files         104     104
  Lines        9644    9644
======================================
  Hits         2411    2411
  Misses       7054    7054
  Partials      179     179

Continue to review full report at Codecov.

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


[0.1.1] Mobile: No active client for '.............'

The map loads perfectly fine on my phone with PTC. However, after a small amount of time (seems to differ from 10 minutes to around 30 minutes) no new Pokemon are loading on the map. Everytime I then try to refresh it it tells me the error mentioned in the title.

Getting same issue constantly, some times even before 10 minutes or right away some times after an hour (Most it has lasted without) Tested it all day yesterday.

Can confirm, Using Windows 10, PTC account, same error after 10-30 minutes.
Since the webserver is hosted on port 8000, wouldn't it be possible to port-forward my router and allow me to connect using my IP?
I did try connecting to the ip:8000 locally, but that didn't work.

i think that it stops refreshing new pokemon after you leave the wifi with the ip address that the map is being hosted on. I've just realized this as it still counts the time until expiration even after you leave wifi which confused me in the begining as to why it would still count down and not find new pokemon. The mobile version is just really buggy after you leave wifi.

@Hearttless I always use mobile network, even at home, so I never leave wifi as I'm never connected to it.


Risk mitigation

I see you are finalising the code, Ahmad, that’s great! The branch has merge conflicts with master that have to be resolved.

I see you are finalising the code, Ahmad, that’s great! The branch has merge conflicts with master that have to be resolved.

Hi @ahmadterra is it possible to check this conflict in order to proceed with the merging?

I have undone the shelf-related files that I modified to 157e05f, is there any other files that need to be fixed/undone?

@ahmadterra you are still modifying a bunch of java files. Please see under the Changes tab.

thanks! just merged :)


Bug 2096691: Add custom hooks to CSIStorageClassController

An operator now has possibility to modify a StorageClass before it's applied by the SC controller.
Alibaba CSI driver operator will use it to dynamically inject ResourceGroupID to the default SC to provision PVs in the same resource group as where are all the other cluster resources like VMs and their root disks.

/bugzilla refresh

/bugzilla refresh

/assign @bertinatto


Pfs 51 supervision level backend

Can you also take the data and routes out of json server, so there is no tidying up to do once we've done all the back end routes?


error

Joplin encountered a fatal error and could not continue. To report the error, please copy the entire content of this page and post it on Joplin forum or GitHub.
Message
Cannot read property 'indexOf' of undefined
Version info
Joplin for Desktop
Copyright © 2016-2021 Laurent Cozic
Joplin 1.6.6 (prod, darwin)
客户端 ID: ea89f3c534a141028d3c0ad6cdfb0009
同步版本: 2
配置文件版本: 34
支持的密钥链: 是
修订: f58b756 (master)

Could you please provide some more information? Is it possible to reproduce?
What were the steps to raise this error? Which command was triggered?
How many tabs were opened/pinned?

Could you please provide some more information? Is it possible to reproduce?
What were the steps to raise this error? Which command was triggered?
How many tabs were opened/pinned?


Code for creating sub-directories for app/

Python code for creating sub-directories under app/ to maintain handlers, data, utils respectively.
This is for #212 .

Thanks for the pull request! A few comments:

Sorry forgot to mention, but you don't need to move files already in subdirectories i.e., app/locale/, app/recaptcha/, app/resources/, app/vendors/
Looks something is wrong with your script that it copies a lot of files under app/xlrd/ e.g., app/app.yaml -> app/xlrd/app.yaml. Can you take a look?
You also need to update paths in import lines for the moved files.
Looks like your branch has some conflicts with the latest master branch, as in the message above. Maybe you branched from an old repository? Can you pull and merge the latest master branch?

Can you also move all the remaining app/*.py into app/utils/, except for main.py, model.py? Looks like you have some files remaining like const.py.
Looks like you have git conflict again. Can you make sure that you merged the latest HEAD of the master branch?
I guess you are planning to work on this too?:

You also need to update paths in import lines (and any other references) for the moved files. Note that HANDLER_CLASSES in main.py must be updated as well.

Do not move app.yaml, cron.yaml, index.yaml. They need to be directly under app/.
Have left .yaml files under app/

Looks there is still a conflict. The Github pull request page says:

This branch has conflicts that must be resolved

The conflict is coming because the master branch has .py files present while through my code those are moved to different directory ; I also tried by creating a new branch but here too same issue. Can you please check why is this causing issue ?

The conflict is coming because the master branch has .py files present while through my code those are moved to different directory ; I also tried by creating a new branch but here too same issue. Can you please check why is this causing issue ?

As far as I can see in https://github.com/google/personfinder/network , looks like your master branch (ashutoshnarayan:master) forked from our master branch (google:master) two years ago and have never merged google:master since then.
Can you branch from the latest HEAD of google:master and apply changes again? I believe you can do that by:

Follow this Github doc if you haven't.
Run these commands:$ git fetch upstream
$ git checkout -b new-branch upstream/master
... apply your changes again...
$ git push origin new-branch

Send a pull request with new-branch again. (new-branch can be an arbitrary branch name).

I haven't tried it myself, though. Also refer to this doc for details, though you probably don't want to follow the doc as is, which merges our 2 year changes with your change and causes a lot of conflicts.

Can you branch from the latest HEAD of google:master and apply changes again? I believe you can do that by:

Have applied the changes to a new branch and raised a PR #450 against it.

Thanks! Closing this one.


Hyprland Doesn't Use Whole Screen for Lower Resolutions

Hyprland Version
Hyprland, built from branch  at commit b08b72358ad549fd066e5be0fc3aa4c9df367607 dirty (). Tag: v0.27.2  flags: (if any)
Bug or Regression?
Regression
Description
Hyprland doesn't use the whole screen if the set resolution is smaller than the screen's native resolution. I set the resolution to 1920x1080 on my laptop with a 4k screen (no external monitors). This causes Hyprland to only use the top-left quarter of the screen.
This happened after upgrading Hyprland from 0.27.0-1 to 0.27.2-1 on Arch Linux. Downgrading back to the previous version fixes the issue.
This issue seems to be closely related to #2364.
How to reproduce

Get laptop with a 4K monitor
Install Arch Linux and Hyprland
Add monitor=eDP-1, 1920x1080,auto,1 to your config

Crash reports, logs, images, videos

The transparent area of the above image is black on my screen.

if anything, this looks like a wlr issue. Can you do a git bisect?

@Creeper0004 I posted my build in
https://github.com/hyprwm/Hyprland/issues/2764#issuecomment-1646597088
you could try that one.
I think that wlroots messed up the drm part.

Also have this issue. Exact same setup. I have a 4k monitor set to 1920x1200 and it only uses a quarter of the screen

can you guys build wlroots and test tinywl
like vaxry said this is likely a wlroots issue and should be reported/handled on their gitlab

Check monitor config in hyprland.conf
correct way to add monitor is:
monitor=name,resolution,offset,scale
eg: monitor=DP-1,1920x1080@144,0x0,1 [For 1920x1080 DPs]
Or go through - https://wiki.hyprland.org/0.18.0beta/Configuring/Monitors/

I think just as #2743 this can be closed as well.


Disable the terminal activation experiment

Disable until next release of VSC (for hidden terminals).

Codecov Report

Merging #9937 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #9937      +/-   ##
=========================================
- Coverage   61.21%   61.2%   -0.02%
=========================================
  Files         564     564
  Lines       30063   30063
  Branches     4546    4546
=========================================
- Hits        18404   18399       -5
- Misses      10629   10633       +4
- Partials     1030    1031       +1

Impacted Files
Coverage Δ

src/client/common/utils/platform.ts
64.7% <0%> (-11.77%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0%> (-1.57%)
:arrow_down:

src/client/common/process/proc.ts
14.49% <0%> (-0.73%)
:arrow_down:

Continue to review full report at Codecov.

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


Remove advisory board from about page

Just comment it out, we'll want to bring it back one day

and like magic, it's gone


Camera parameter Settings

Hello, wonder3d is a great project!   When I loaded objaverse data set through blenderproc to make multi-view images, how to set the internal parameters of the camera, fx,fy, cx, cy. And the cam2world matrix?   I solved the attitude matrix by loading the cam2world matrix with 6 perspectives provided by you, and then applied it.   The perspective images i get is quite different from you.

Hello, have you solved the problem? I also want to know the intrinsic matrix for reconstruction, i can't find it in the code.

We use orthogonal camera, there are no fx fy.

@xxlong0 @flamehaze1115 Hi, since Wonder3D used orthogonal camera for rendering, there should be a ortho_scale parameter for controllong the scale of the camera view right? How did you set it?


Fail to download Docker images behind a proxy

hi,
my machine is bebind a proxy, so I run docker with proxy
HTTP_PROXY=http://proxy:port/ docker -d

but it still failed:
root@docker:~# docker pull busybox
Pulling repository busybox
2014/10/17 15:27:36 Get https://index.docker.io/v1/repositories/busybox/images: x509: certificate signed by unknown authority

docker version:
root@docker:~# docker -v
Docker version 1.1.2, build d84a070

How to slove this issue?
Thanks in advance!
Tim

@dmp42 it works

@dmp42 @SvenDowideit is this in the docs somewhere? Does it need to be?


[SUPPORT] HudiDeltaStreamer S3EventSource SQS optimize for reading large number of files in parallel fashion

Optimize DeltaStreamer S3EventSource Implementation for reading files in parallel fashion
Following this guide we are trying to read incoming event files from Hudi DeltaStreamer S3EventsSource.java which uses spark default spark.read.format('json').load() function to read the paths from meta table created by consuming SQS which holds the filepaths events.
In case of a huge number of incremental loads i.e. 50,000 small JSON files are read using spark.read.format().load() in a non-parallel fashion on Driver Node which takes a lot of time.
Feature Request
Instead of passing an Array of Filepaths to the spark.read.format().load(), we can perfrom the following steps we can use the power of spark parallelism better.

Convert the Filepath Array to RDD using sc.parallelize()
Create a function def readContents(file): return file.read.content
Call my_rdd.flatMap(readContents) function to read the contents of the files in a parallel method

The Inspiration source of this solution along with many other methods and performance benchmarks is here
Documentation Update
In case someone stumbles into the same problem of reading large number of files using the original guide, we should update the heading Conclusion and Future Work mentioning this solution or workaround

Thanks for the feature request.
The referenced code you mentioned in S3EventsSource converts the Json records already in Dataset to Dataframe for further processing.  Do you actually refer to the optimization of reading events from SQS (which should not actually involve file reading)?
Dataset<String> eventRecords = sparkSession.createDataset(selectPathsWithLatestSqsMessage.getLeft(), Encoders.STRING());
      return Pair.of(
          Option.of(sparkSession.read().json(eventRecords)),
          selectPathsWithLatestSqsMessage.getRight());

Feel free to create a Jira ticket for the feature request and I encourage you to put up a PR.

The function for reading the json files into a dataframe (not from SQS, the actual content of files) is not a parallel process. spark.read.json only runs on driver node

@glory9211 could you please provide more details on your setup to reproduce. Also, if possible please provide the Spark UI screenshot where you saw the sequential behavior. spark.read.format().load() does actually parallelize and would create 50K tasks in your case.
Also, are you talking about S3EventsSource.java or S3EventsHoodieIncrSource.java because S3EventsHoodieIncrSource actually reads the file contents.

@glory9211 also could you verify if hoodie.deltastreamer.source.s3incr.check.file.exists is set to true. If yes, could you re-run the pipeline with hoodie.deltastreamer.source.s3incr.check.file.exists=false and see if the performance issue is resolved.

@rmahindra123 is it possible to run S3EventsHoodieIncrSource.java in parallel across different nodes (i.e. in a k8s cluster) without concurrency issues? Thanks in advance.

Using this as default. Providing with false solve the issue.
Also the task for listing and fetching the file is not parallelized. The serializing, re-partitioning part is parallel. As discussed in links shared.

@rmahindra123 is it possible to run multiple instances of both S3EventsSource.java and S3EventsHoodieIncrSource.java in parallel (i.e. across different clusters for high availability) without concurrency issues? Thanks in advance.

If you are writing to same table, using multiple jobs at the same time then you can use zookeeper to achieve concurrent hoodie writing tasks. This feature and related config is documented in the hudi docs

@rmahindra123 is it possible to run multiple instances of both S3EventsSource.java and S3EventsHoodieIncrSource.java in parallel (i.e. across different clusters for high availability) without concurrency issues? Thanks in advance.

No, that may not be possible if you are using a single SQS/SNS. S3EventsSource deletes the events in SQS after it commits them to the hudi table

I'm referring to these lines https://github.com/apache/hudi/blob/6456bd3a5199d60ff55d6c576e139025a1c940c7/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsSource.java#L77 as shared in my original question

@rmahindra123 : can you follow up when you can .

looks like there is some confusion here. S3EventsSource actually reads events from SQS and populates the data into Hudi metadata table. this is the first stage which does not look into your S3 data directory at all.
Its the 2nd stage where we read the actual source files from S3 path in S3EventsHoodieIncrSource. Can you help clarify where you are seeing the perf hit.

In the second part, when we go to read the files from S3. For large number of entries in SQS the S3List operation will be very slow using the default spark.read.json() method

@glory9211 : got it. can you check if this is what you suggested
https://github.com/apache/hudi/pull/6661/files

again, just to clarify. the code you have referenced
sparkSession.read().json(eventRecords)

is actually reading data from SQS and does not involve reading from S3. Only S3EventsIncrSource reads from S3. and hence my fix.

I'm understanding that now instead of reading the files list, you are parallelizing the array and using multiple executors to read the split arrays of files.
If yes, (Correct me if I'm wrong 😎 ) then
This is a better approach than the previous one, but the significance can be verified by running this scenario and comparing it with the previous implementation.

Since we have a patch addressing the proposed fix, closing out the issue. Feel free to reach out to us if you need any further assistance.


TC2 switch support?

Firstly, broadlink_http_rest is working brilliantly for me so far.  I picked up an RM-Pro and wanted to automate various IR and RF controlled stuff, and didn't really want to be running RM-Bridge on an Android device etc - this project is exactly what I was looking for, and I'm very grateful for it!  (Take beer money donations?)
I've picked up a TC2 dual-gang lightswitch, which I plan to install soon and pair up with the RM-Pro via the Broadlink app, but once that bit is done, I'm curious on how to operate it via broadlink_http_rest - have you done such a thing / have any advice?
If I get it working, would you be interested in a PR adding documentation on it, and possibly any new features that are needed to make it work?

Thanks for the kind words and for a beer (maybe someday :smile: )
Regarding the TC2 broadlink switches, I never experienced with them, always was using the generic "crystal touch" switches with RF remote controllers.
What you can do, there's some bug/feature/workaround that actually should work for you.

Learn your TC2 with broadlink native app (e-control), check that you can control the switch.
Start the broadlink-http-rest as usual and learn command for TC2, for example "kitchenlights" : http://localhost:8080/learnCommand/kitchenlightson
While in learning mode, use the e-control app to send the "on" command to your TC2 switch (that you learned in (1)  )

That's it, verify settings.ini that the command learned correct and test it by using sendCommand

Ohhh, cunning - so it can learn codes that it itself is transmitting?  That would do the job just fine in theory then - I shall give that a shot, thanks!

Yes, I did it in past and that worked for me.
Again, I don't sure 100% regarding the behavior of TC2 but should be exactly the same.
I will keep the issue open for a while to get an update from you, thanks!


Add fetch.writeCommitGraph to gitconfig

Add fetch.writeCommitGraph to gitconfig to ensure that a commit-graph will be written
on git fetch calls.
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

can be moved to 1.17.


Support API to cancel/dismiss a notification (that you sent)

Now that the notification UI has changed, notifications will likely be used for more things, including ephemeral things. So it would be great to have a way to "cancel" or dismiss a notification that an extension itself sent.
For example, in the CodeStream extension, I have a few cases where I show a notification in response to a request (someone asking you to join a live share, etc) and if that live share is no longer valid, I might like to clear the notification. Another case would be to show notifications for messages received (via a setting of course) but to be able to cancel previous notifications, and thus allowing me to send a new "grouped" notification.
Maybe use a CancelationToken on showInformationMessage, etc?
/cc @bpasero

This could also provide a convenient mechanism to know when a notification was dismissed as well.

/duplicate of #44122

@jrieken While this is a very close to https://github.com/Microsoft/vscode/issues/44122, that issue is closed and locked. So I couldn't add any comments or anything. I was also suggesting an alternative control method that would be less about new api's to control notifications, but just using cancellation tokens similar to other apis vscode already has.
Can one of these issue be reopened?

Not convinced and I happily repeat why I think programmatic removal of notifications is a bad idea: It is a notification, e.g. something that interrupts you and that grabs your attention. Interrupting someone and then saving "na, just kidding keep on working" isn't good. So, please convince me that it is a good idea to show and then hide notifications while I am working on something?

My main argument is for notifications that are transient (or only valid for some time period) and that you would not want to build up. For example, connectivity issues -- we might want to show a notification to the user that we are failing to connect, but still keep trying for a bit in the background, and if we re-connect clear out the old useless notification.
Also for notifications that could be grouped together it can allow for that, by allowing cancelling a previous notification and group it into a new incoming one.
Since notifications themselves are now transient there is no guarantee that the user has even seen it before it goes to the notifications "panel" so keeping that as clean for the user imo is a good goal.

I think I have found a good use case for dismissing no longer applicable notifications programatically…


Add metrics for JDBC connection pool: Apache Commons DBCP2

Micrometer-core actually contains a ready-made instrumentation for commons-pool2 - the object pool used by dbcp2. I tried using it, but unfortunately it turned out to be not so useful - it relies on BasicDataSource#jmxName being set (BasicDataSource adds itself to the mbean server when you set the JMX name), unfortunately Spring completely ignores that property and registers the data source MXBean by itself. This results in the underlying object pool (and PooledConnection) MXBeans not being registered, because they're not spring beans - just objects created inside BasicDataSource. Because of that I had to ignore the commons-pool2 instrumentation and implement metrics just for dbcp2.
I've decided to use dbcp types (like BasicDataSourceMXBean) in this instrumentation - using plain JMX without compileOnly dependency is possible, but it's considerably less readable - you can see the example in the micrometer CommonsObjectPool2Metrics class.

have we verified that these metrics make it to the splunk backends and are properly chartable, etc?


High order functions

In Daedalus it's possible to pass function to other functions as parameters:
func void _FF_CREATE(var func FUNCTION, var int DELAY, var int CYCLES, var int HASDATA, var int DATA, var int GAMETIME) { ... }

func void FF_APPLYEXTDATA(var func FUNCTION, var int DELAY, var int CYCLES, var int DATA) {
    _FF_CREATE(0x2a75, DELAY, CYCLES, TRUE, DATA, FALSE);
}

Couple of minor issues with it:

De-compiled source has 0x2a75 (symbol id of FUNCTION) instead of FUNCTION
Awkwardness of daedalus runtime (mostly on compiler side). It doesn't pass function pointer, it passes symbol-id instead
In example above _FF_CREATE will receive id of FF_APPLYEXTDATA.FUNCTION symbol and won't be able use it directly.

Current workaround:
it's possible to traverse reference chain up to original function:
// opengothic override
void LeGo::_FF_Create(int func, int delay, int cycles, int hasData, int data, bool gametime) {
  auto* sym = vm.find_symbol_by_index(uint32_t(func));
  while(sym!=nullptr && !sym->is_const()) { // not my idea - took it from Ikarus. Also sym->address is probably cleaner
    func = sym->get_int();
    sym = vm.find_symbol_by_index(uint32_t(func));
    }
 ...

Proposed changes:

[ ] Fix handling of func forwarding in de-compiler :)
[ ] Introduce new opaque type struct phoenix::func { uint32_t value; }. When callback uses phoenix::func, VM should unroll reference chain internally and pass real symbol-id to game-engine.

Introduce new opaque type struct phoenix::func { uint32_t value; }. When callback uses phoenix::func, VM should unroll reference chain internally and pass real symbol-id to game-engine.

Initial implementation at b8b70341. Do you also need support for returning funcs from externals?

Do you also need support for returning funcs from externals?

Not really important - returning integer also works fine. Yet, this functionality is nice to have for completeness.

Okay, does https://github.com/GothicKit/phoenix/compare/feature/daedalus-func-type now work for you?

Okay, does https://github.com/GothicKit/phoenix/compare/feature/daedalus-func-type now work for you?

Tested locally on my side - works well, so please merge :)


Fix/cdkpipeline local deploy

Feature or Bugfix

Bugfix

Detail

Fix bug with local deployments creation of CDK Pipelines. Error Caused By:

Not registering ImportMode.CDK_CLI_EXTENSION since load_modules() for this import mode type was only being called for AWS Deployments
Incorrect path specified for the location of the cdk/ddk app created for CDK Pipelines in local deployments

Relates
Security
Please answer the questions below briefly where applicable, or write N/A. Based on
OWASP 10.
NA
- Does this PR introduce or modify any input fields or queries - this includes
fetching data from storage outside the application (e.g. a database, an S3 bucket)?
  - Is the input sanitized?
  - What precautions are you taking before deserializing the data you consume?
  - Is injection prevented by parametrizing queries?
  - Have you ensured no `eval` or similar functions are used?
- Does this PR introduce any functionality or component that requires authorization?
  - How have you ensured it respects the existing AuthN/AuthZ mechanisms?
  - Are you logging failed auth attempts?
- Are you using or adding any cryptographic features?
  - Do you use a standard proven implementations?
  - Are the used keys controlled by the customer? Where are they stored?
- Are you introducing any new policies/roles/users?
  - Have you used the least-privilege principle? How?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Tested the following successfully:
Locally

[ ] Creation of CDK Pipeline
[ ] Creation of Trunk-based CodePipeline
[ ] Creation of Gitflow CodePipeline

AWS Deployment

[ ] Creation of CDK Pipeline
[ ] Creation of Trunk-based CodePipeline
[ ] Creation of Gitflow CodePipeline


fix(TDI-40431): Connection to salesforce is failing

What is the current behavior? (You can also link to an open issue here)
For JIRA: https://jira.talendforge.org/browse/TDI-40431
What is the new behavior?
Replace retired endpoint with actice one.
Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[x] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: success :star:
Sonar results


Spline interpolation

First attempt at a JAX implementation of scipy's InterpolatedUnivariateSpline.

Awesome !!! Thanks @austinpeel I'll try that out ASAP!

Yes \o/ perfect agreement with scipy confirmed :-D

I've added my fix to the quadratic interpolation, we are now matching SciPy to machine precision on linear, quadratic, and cubic interpolation \o/
I've also added a few tests to make sure we don't break this in the future ^^'
Other things I did, I made the Spline object interpretable by JAX with these flatten and unflatten methods, so that it can be backpropagated against, and also passed as argument to jitted function :-D
Also, remove the explicit jit calls, as I think (if I understand the JAX philosophy correctly), it should be left to the user to decide what and when to jit.
Please have a look and in the meantime, I'm gonna mark this PR ready for review.

AAAAAnnnnnnd Now that we have splines, we can integrate them exactly :-) And that makes me very happy :-D

Excellent! We can even integrate now :)
I think this all looks good.