Bluetooth interface requires periodic reset

I noticed that bluetooth connections have a tendency to fail on one of my Raspberry Pi Zero W running ble2mqtt under RaspbianOS (Debian). Initially, ble2mqtt is able to connect to Xiaomi LYWSD03MMC temperature and humidity sensor devices. After a while, connections always fail and I start to see the following error messages in the log:
...
Jan 21 20:50:52 bridge2 ble2mqtt[327]: WARNING:ble2mqtt.ble2mqtt:Error while connecting to Xiaomi_LYWSD03MMC_a4c138736b80, Device with address A4:C1:38:73:6B:80 was >
Jan 21 20:51:53 bridge2 ble2mqtt[327]: ERROR:ble2mqtt.__main__:Caught exception: {'message': 'Task was destroyed but it is pending!', 'task': <Task pending name='Tas>
Jan 21 20:51:53 bridge2 ble2mqtt[327]: ERROR:asyncio:Task was destroyed but it is pending!
Jan 21 20:51:53 bridge2 ble2mqtt[327]: task: <Task pending name='Task-256' coro=<BleakClientBlueZDBus._disconnect_monitor() running at /usr/local/lib/python3.9/dist->
Jan 21 20:51:53 bridge2 ble2mqtt[327]: INFO:ble2mqtt.__main__:Ignore this exception.

After reset of the bluetooth interface, everything seems to work again until the next failure:
$ sudo hciconfig hci0 reset

Any idea, what might be causing this problem? Obviously, I am interested in a stable setup that does not require any manual interventions.

Hey, thank you for the report. Unfortunately, this issue cannot be easily fixed. Here is an issue in bleak https://github.com/hbldh/bleak/issues/500
In short, parsing DBUS messages in python is not optimized. And for some reason, the number of messages grows over time, thus consuming more CPU time. For IoT devices it can lead to freezes and outages.

Thanks for the prompt answer. I am not sure whether it is the same issue. In fact, ble2mqtt does not use a lot of CPU time on the Pi Zero. I periodically see it flashing up in top with about 20% CPU usage, but not more and neither permanently. Besides, the LYWSD03MMC devices do not change their bluetooth address. So this problem might be something else. Would you be interested in a debug level log?

I should probably add that connection to the sensors is not very reliable as I am operating at the range limit. Ble2mqtt sometimes fails to find and connect to the sensors. Looking at the log I get the impression that the connection task is destroyed, while it is still trying to connect to a device, possibly because the next poll is already due. Might that be the cause of the observed behaviour? In this case it should help to reduce the timeout interval or increase the poll interval.


Creating maps using the new Google cloud platform!?

Hi Carla Team,
I was wondering if you had in mind to include getting maps from the new Google cloud platform into CARLA in your future releases? https://cloud.google.com/blog/products/maps-platform/google-maps-platform-gaming-services-now-available-everyone
I think that would be a very powerful addition to CARLA... and will allow the uptake of CARLA by many of self-driving vehicles companies out there ;)

Hi @Abanoub-G,
Indeed. That is definitely a great API and we would love to have it integrated with CARLA. However, there are some constraints. It seems Google restricted the API to be used  with Unity and just on Android and iOS. We will have to wait until they extend the service.


Custom Colors Possible?

Just wondering if custom timer colors would be possible. Or the ability for COT not to change the color of the title at all?

I can add custom colors, sure. It will be a few weeks. To have the color not change, change the color of the trigger to the same color as the count down or count up color.

I misunderstood. Hmm, currently no, there is no way to turn the color change off. I will look at this

Thanks. I just need a different color than you offer. Not all my timers are typical countdowns. Sometimes I have to match logo colors for a countdown to the start of the show for instance. I know nothing about programming so if it’s easier, just being able to turn the up and down color off would work, too.
So far I it’s a super helpful little app.  I’ve had a bunch of different things in the past but none of them could figure that out!
Alex
Sent from my iPhone

On Feb 3, 2022, at 9:47 PM, Devon Lamond @.***> wrote:

I can add custom colors, sure. It will be a few weeks. To have the color not change, change the color of the trigger to the same color as the count down or count up color.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

Custom colors are now available in v1.0.1 in the Settings Tab. Happy to hear the video timer feature is working out for you.


getcwd errors (No such file or directory) when browsing mountpoint

Output of restic version
Reproduced with two versions:

restic 0.8.1                                                                                compiled with go1.9.2 on linux/amd64
restic 0.8.1 (v0.8.1-0-g546d6f36)
compiled with go1.8.1 on linux/amd64

How did you run restic exactly?
restic --cache-dir=/var/cache/system-restic mount /mnt/restic-fuse/

What backend/server/service did you use to store the repository?
Backend is a rest-server behind an nginx (HTTPS).
Expected behavior
Being able to browse the mountpoint with my fish shell. :-)

Actual behavior
After some activity on the mountpoint (such as running ncdu or just find|wc -l), fish starts emitting these error messages on every new prompt:
<E> fish: getcwd() failed with errno 2/No such file or directory

This persists until the cwd is left (and reentered) with cd ... Leaving the mountpoint completely is not necessary.

Do you have any idea what may have caused this?
It appears to be correlated with using fish, as I could not reproduce it with other shells (I tried bash and dash).
Do you have an idea how to solve the issue?
restic's own debug log didn't yield anything insightful. When the getcwd calls fail, not a single new message is logged.
For what it's worth, in addition to the actual commands, my fish is pretty active on the filesystem, e.g., checking if the cwd is git repository, reading directory entries for completion, etc.
So this might very well trigger the bug and explain why other shells aren't affected.
We discussed this issue on IRC and basically gave up. The main purpose of this ticket is to see if anyone else is be affected. If so, please comment!
Did restic help you or made you happy in any way?
It's awesome! 💯

Some ideas:

Have you tested this works in another shell such as Bash?
Have you tested another backend such as B2 (which is free for 10GB).

BTW, mounting works in the Fish shell on Ubuntu 16.04 on x86_64 Hardware.

Have you tested this works in another shell such as Bash?

I have, and it doesn't happen in bash (see my initial post).

Have you tested another backend such as B2 (which is free for 10GB).

No, but it is improbable to be related, since the backend code is pretty well abstracted from the rest.

How do you set your environment variables in Fish to tell Restic what backend to use? You didn't include that in your initial post. Maybe try reverting to using full command line options?

I don't quite see the relevance. Mounting does work for me, it just misbehaves under certain circumstances.

I'll close this for now, we don't have any idea what's going on and to be honest it looks like there isn't anything we can do (as restic). Please feel free to add further comments if you find new information. Thanks!

In case anyone ever comes back to this, I'm not using restic, but I am using bazil.org/fuse with its automatic ino generation (which I think restic does). Here is a very useful hint as to what's going on here: https://sourceforge.net/p/fuse/mailman/message/7408583/ (getcwd is doing checks under the covers that fuse ino generation is tripping up)
In my filesystem which otherwise works great, the getcwd syscall fails with ENOENT sometimes at random. If I cd out of the directory and cd back into it, getcwd might start working again.
It's likely that this is precisely the behavior mentioned on the core fuse list combined with bazil.org/fuse dynamic inode generation: https://godoc.org/bazil.org/fuse/fs#GenerateDynamicInode
I don't know if restic has a way to generate stable, unique int64s for all paths in the filesystem, but if it did, I'm pretty sure that's one way to fix this.

Okay, ignore me, looking at the restic code this looks pretty handled, so I have nothing real to contribute.

why not just hash the path string into a 32/64 bit wide number and call it a day? who invented this random inode generator in golang which throws "likely" "the same inode on multiple runs" … for a while?


Android: Missing SDK API 19

Hello everyone, I have a question:
Using Ubuntu 14.04 when running ./CheckEnv.py I get this:
-- Checking if your environment will build the ARSDK for different platforms --
[[ Should work, Won't work, Not tested, may work ]]
Generic             : OK !
iOS                 : Bad platform linux, you need to be on ['darwin'] to build the target iOS
Unix                : Missing binary nasm
/bin/sh: 1: android: not found
Android             : Missing Android SDK for API 19 (Android 4.4.2), please install it.
I've configured the android sdk/ndk paths properly and the SDK API 19 exists, maybe I'm missing something but I'm confused.
Thanks for the attention in advance.

Hi,
That's probably because you don't have the android binary into your PATH.
The CheckEnv.py script needs it to check whether you have the good SDK installed. If we can't check, we assume that it is not here.
Basically, add $ANDROID_SDK_PATH/tools/ to your PATH and you're good to go !
Regards,
Nicolas.

You're right Nicolas, now it's done, thank you!


Added prerequisites on the README

This trivial PR fixes #1282 about mentioning prerequisites (kubectl but mainly minimum Go version) on the README when users go through the guide and try to start kcp before reading the CONTRIBUTING guide.

/ok-to-test
/lgtm
/approve


[PE-D][Tester A] Exam score can only be integer

Exam score must be an integer which may not be so correct. Though if it is difficult to change perhaps you can change the error message to be "an integer between 0 to 100" instead of "a number between 0 and 100"

Labels: type.FeatureFlaw severity.Medium
original: albertarielw/ped#4

See #204


Parse Minimal Test

Implement a parser that can parse a test that defines input and validity.

Migrated from BitBucket.


Enable configuration for private and public ingress controllers

This change is sadly breaking to the configuration as it requires manual configuration changes. Nothing much but will require updating some variables.


AWS SDK CurlHttp requests

Describe the bug
We are using CurveFS to mount object storage as local files, and CurveFS relies on AWS SDK for C++ implementation. When we were making a change to an object storage bucket, we first disabled the bucket mounted by CurveFS, and then deleted it. After completing the bucket deletion, AWS SDK for C++ started generating a large number of CurlHttp requests. Upon reviewing the logs and code printed by the AWS SDK for C++ client, we found that after disabling the bucket, all returned httpreturncodes were 403. However, we are puzzled about the increase in the number of CurlHttp requests. As a result of this increase in CurlHttp requests, and due to our DNS configuration issue, DNS issues were also triggered. Therefore, we would like to identify the root cause of this problem. please help ～
Expected Behavior
Help explain the reason, and it's not certain if this is a bug, but it feels like it could be optimized.
The highlighted area in the graph represents the situation after the bucket has been deleted.
Current Behavior

The highlighted area in the graph represents the situation after the bucket has been deleted.
Reproduction Steps
I reviewed some of the code and it seems that after the bucket is deleted, although the HTTP status code still returns 403, there are some differences in the internal returns, causing a change in the logic of the AWS client. However, I cannot confirm this.
Possible Solution
No response
Additional Information/Context
No response
AWS CPP SDK version used
not sure
Compiler and Version used
not sure
Operating System and version
suse sp15

This looks like it might be a problem with CurveFS and trying to make sdk calls after the bucket gets deleted. Please open an issue with that product if you would like help with that. If you can reproduce this error and provide sdk logs then we could try to debug it, but currently there isn't enough information to do that. Please let me know if you have any aws-sdk-cpp specific questions that I can help you with.

This looks like it might be a problem with CurveFS and trying to make sdk calls after the bucket gets deleted. Please open an issue with that product if you would like help with that. If you can reproduce this error and provide sdk logs then we could try to debug it, but currently there isn't enough information to do that. Please let me know if you have any aws-sdk-cpp specific questions that I can help you with.

aws_del_bef.zip
aws_del_after.zip
I provided logs both before and after the bucket was deleted. Let me describe the background again: during the process, the bucket was disabled, and there was no change in the access to CurveFs from the upper layer. However, it was only when the bucket was finally deleted that a large number of CurlHttp accesses occurred. This timing coincided, leading us to believe that it was the different information returned after the bucket was deleted that caused some issues with the SDK's client judgment.

Can you please also provide a code sample that reproduces this error with only using the aws-sdk-cpp and s3? We don't guarantee that this sdk will work with curveFS

Can you please also provide a code sample that reproduces this error with only using the aws-sdk-cpp and s3? We don't guarantee that this sdk will work with curveFS

We've also conducted ongoing analysis. Prior to the bucket deletion, all accesses resulted in HTTP 403 errors. However, after the deletion, there was a significant increase in HTTP 500 errors, accompanied by a large number of Curl HTTP requests. We've also reviewed the code for CurveFS and aws-sdk-cpp.
CurveFS code：
`void S3Adapter::PutObjectAsync(std::shared_ptr context) {
Aws::S3::Model::PutObjectRequest request;
request.SetBucket(bucketName_);
request.SetKey(Aws::String{context->key.c_str(), context->key.size()});
request.SetBody(Aws::MakeShared<PreallocatedIOStream>(
    AWS_ALLOCATE_TAG, context->buffer, context->bufferSize));

auto originCallback = context->cb;
auto wrapperCallback =
    [this,
     originCallback](const std::shared_ptr<PutObjectAsyncContext>& ctx) {
        inflightBytesThrottle_->OnComplete(ctx->bufferSize);
        ctx->cb = originCallback;
        ctx->cb(ctx);
    };

Aws::S3::PutObjectResponseReceivedHandler handler =
    [context](
        const Aws::S3::S3Client * /*client*/,
        const Aws::S3::Model::PutObjectRequest & /*request*/,
        const Aws::S3::Model::PutObjectOutcome &response,
        const std::shared_ptr<const Aws::Client::AsyncCallerContext>
            &awsCtx) {
        std::shared_ptr<PutObjectAsyncContext> ctx =
            std::const_pointer_cast<PutObjectAsyncContext>(
                std::dynamic_pointer_cast<const PutObjectAsyncContext>(
                    awsCtx));

        LOG_IF(ERROR, !response.IsSuccess())
            << "PutObjectAsync error: "
            << response.GetError().GetExceptionName()
            << "message: " << response.GetError().GetMessage()
            << "resend: " << ctx->key;

        ctx->retCode = (response.IsSuccess() ? 0 : -1);
        ctx->timer.stop();
        ctx->cb(ctx);
    };

if (throttle_) {
    throttle_->Add(false, context->bufferSize);
}

inflightBytesThrottle_->OnStart(context->bufferSize);
context->cb = std::move(wrapperCallback);
s3Client_->PutObjectAsync(request, handler, context);

}`
aws-sdk-cpp code：
`HttpResponseOutcome AWSClient::AttemptExhaustively(const Aws::Http::URI& uri,
Aws::Http::HttpMethod method,
const char* signerName,
const char* requestName,
const char* signerRegionOverride,
const char* signerServiceNameOverride) const
{
if (!Aws::Utils::IsValidHost(uri.GetAuthority()))
{
return HttpResponseOutcome(AWSError(CoreErrors::VALIDATION, "", "Invalid DNS Label found in URI host", false/retryable/));
}
std::shared_ptr<HttpRequest> httpRequest(CreateHttpRequest(uri, method, Aws::Utils::Stream::DefaultResponseStreamFactoryMethod));
HttpResponseOutcome outcome;
AWSError<CoreErrors> lastError;
Aws::Monitoring::CoreMetricsCollection coreMetrics;
auto contexts = Aws::Monitoring::OnRequestStarted(this->GetServiceClientName(), requestName, httpRequest);
const char* signerRegion = signerRegionOverride;
Aws::String regionFromResponse;

Aws::String invocationId = Aws::Utils::UUID::PseudoRandomUUID();
RequestInfo requestInfo;
requestInfo.attempt = 1;
requestInfo.maxAttempts = 0;
httpRequest->SetHeaderValue(Http::SDK_INVOCATION_ID_HEADER, invocationId);
httpRequest->SetHeaderValue(Http::SDK_REQUEST_HEADER, requestInfo);
AppendRecursionDetectionHeader(httpRequest);

for (long retries = 0;; retries++)
{
    if(!m_retryStrategy->HasSendToken())
    {
        return HttpResponseOutcome(AWSError<CoreErrors>(CoreErrors::SLOW_DOWN,
                                                        "",
                                                        "Unable to acquire enough send tokens to execute request.",
                                                        false/*retryable*/));

    };
    outcome = AttemptOneRequest(httpRequest, signerName, requestName, signerRegion, signerServiceNameOverride);
    outcome.SetRetryCount(retries);
    if (retries == 0)
    {
        m_retryStrategy->RequestBookkeeping(outcome);
    }
    else
    {
        m_retryStrategy->RequestBookkeeping(outcome, lastError);
    }
    coreMetrics.httpClientMetrics = httpRequest->GetRequestMetrics();
    TracingUtils::EmitCoreHttpMetrics(httpRequest->GetRequestMetrics(),
        *m_telemetryProvider->getMeter(this->GetServiceClientName(), {}),
        {{TracingUtils::SMITHY_METHOD_DIMENSION, requestName},{TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}});
    if (outcome.IsSuccess())
    {
        Aws::Monitoring::OnRequestSucceeded(this->GetServiceClientName(), requestName, httpRequest, outcome, coreMetrics, contexts);
        AWS_LOGSTREAM_TRACE(AWS_CLIENT_LOG_TAG, "Request successful returning.");
        break;
    }
    lastError = outcome.GetError();

    DateTime serverTime = GetServerTimeFromError(outcome.GetError());
    auto clockSkew = DateTime::Diff(serverTime, DateTime::Now());

    Aws::Monitoring::OnRequestFailed(this->GetServiceClientName(), requestName, httpRequest, outcome, coreMetrics, contexts);

    if (!m_httpClient->IsRequestProcessingEnabled())
    {
        AWS_LOGSTREAM_TRACE(AWS_CLIENT_LOG_TAG, "Request was cancelled externally.");
        break;
    }

    // Adjust region
    bool retryWithCorrectRegion = false;
    HttpResponseCode httpResponseCode = outcome.GetError().GetResponseCode();
    if (httpResponseCode == HttpResponseCode::MOVED_PERMANENTLY ||  // 301
        httpResponseCode == HttpResponseCode::TEMPORARY_REDIRECT || // 307
        httpResponseCode == HttpResponseCode::BAD_REQUEST ||        // 400
        httpResponseCode == HttpResponseCode::FORBIDDEN)            // 403
    {
        regionFromResponse = GetErrorMarshaller()->ExtractRegion(outcome.GetError());
        if (m_region == Aws::Region::AWS_GLOBAL && !regionFromResponse.empty() && regionFromResponse != signerRegion)
        {
            signerRegion = regionFromResponse.c_str();
            retryWithCorrectRegion = true;
        }
    }

    long sleepMillis = TracingUtils::MakeCallWithTiming<long>(
        [&]() -> long {
            return m_retryStrategy->CalculateDelayBeforeNextRetry(outcome.GetError(), retries);
        },
        TracingUtils::SMITHY_CLIENT_SERVICE_BACKOFF_DELAY_METRIC,
        *m_telemetryProvider->getMeter(this->GetServiceClientName(), {}),
        {{TracingUtils::SMITHY_METHOD_DIMENSION, requestName},{TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}});
    //AdjustClockSkew returns true means clock skew was the problem and skew was adjusted, false otherwise.
    //sleep if clock skew and region was NOT the problem. AdjustClockSkew may update error inside outcome.
    bool shouldSleep = !AdjustClockSkew(outcome, signerName) && !retryWithCorrectRegion;

    if (!retryWithCorrectRegion && !m_retryStrategy->ShouldRetry(outcome.GetError(), retries))
    {
        break;
    }

    AWS_LOGSTREAM_WARN(AWS_CLIENT_LOG_TAG, "Request failed, now waiting " << sleepMillis << " ms before attempting again.");

    if (shouldSleep)
    {
        m_httpClient->RetryRequestSleep(std::chrono::milliseconds(sleepMillis));
    }

    Aws::Http::URI newUri = uri;
    Aws::String newEndpoint = GetErrorMarshaller()->ExtractEndpoint(outcome.GetError());
    if (!newEndpoint.empty())
    {
        newUri.SetAuthority(newEndpoint);
    }
    httpRequest = CreateHttpRequest(newUri, method, Aws::Utils::Stream::DefaultResponseStreamFactoryMethod);

    httpRequest->SetHeaderValue(Http::SDK_INVOCATION_ID_HEADER, invocationId);
    if (serverTime.WasParseSuccessful() && serverTime != DateTime())
    {
        requestInfo.ttl = DateTime::Now() + clockSkew + std::chrono::milliseconds(m_requestTimeoutMs);
    }
    requestInfo.attempt ++;
    requestInfo.maxAttempts = m_retryStrategy->GetMaxAttempts();
    httpRequest->SetHeaderValue(Http::SDK_REQUEST_HEADER, requestInfo);
    Aws::Monitoring::OnRequestRetry(this->GetServiceClientName(), requestName, httpRequest, contexts);
}
auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {});
auto counter = meter->CreateCounter(TracingUtils::SMITHY_CLIENT_SERVICE_ATTEMPTS_METRIC, TracingUtils::COUNT_METRIC_TYPE, "");
counter->add(requestInfo.attempt, {{TracingUtils::SMITHY_METHOD_DIMENSION, requestName},{TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}});
Aws::Monitoring::OnFinish(this->GetServiceClientName(), requestName, httpRequest, contexts);
return outcome;

}`
Summary:
In the logic of AWS SDK for C++, the absence of a sleep buffer mechanism when encountering HTTP 500 errors may lead to the re-creation of HTTP requests, potentially triggering DNS requests. Therefore, there are still several questions we haven't fully understood:
After the bucket is disabled, which requests from object storage will return HTTP 500 error responses before and after deletion?
Why do a sudden surge of Curl requests occur instead of requests related to object storage operations?

couple observations:

you seem to be running against a 3p S3 implementation, guessing from the "server : openresty/<IP_ADDRESS>" header in the responses and from 403 UserSuspended, which I believe AWS version of S3 never sends?
SDK is seeing 500s returned when trying to make data plane calls against the bucket that no longer exists. SDK cannot parse error response(body does not seem to be formatted correctly?). this also seems like a non-standard behavior. I believe regular s3 returns 404 in this case
CPP SDK retries 5xx errors. Default is up to 10 retries with fairly small increment between each
curvefs seems to override default cpp sdk retry policy to have a tighter timeouts
CPP SDK might retire ips that return 500s from the pool of resolved ips to avoid hotspotting bad ips across retries.

overall sdk will not do requests on its own. Likely whats happening is that s3 implementation you are hitting is returning 500s , which causes a bit of retry storm, which is further amplified by non-ideal retry config either in your app or curveFS. From the above i dont see anything particularly wrong happening on CPP SDK side, its working as designed.


RN项目在其他电脑上一直启动不起来

项目在其他电脑上一直启动不起来

使用 yarn android 报错下面错误

> Task :expo-constants:createDebugExpoConfig FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.5.1/userguide/command_line_interface.html#sec:command_line_warnings
62 actionable tasks: 4 executed, 58 up-to-date

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':expo-constants:createDebugExpoConfig'.
> Unable to delete file 'C:\test\dating-native\node_modules\expo-constants\android\build\generated\assets\expo-constants\debug'

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
java.lang.StackOverflowError (no error message)

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 55s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':expo-constants:createDebugExpoConfig'.
> Unable to delete file 'C:\test\dating-native\node_modules\expo-constants\android\build\generated\assets\expo-constants\debug'

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
java.lang.StackOverflowError (no error message)

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 55s

    at makeError (C:\test\dating-native\node_modules\execa\index.js:174:9)
    at C:\test\dating-native\node_modules\execa\index.js:278:16
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async runOnAllDevices (C:\test\dating-native\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:109:5)
    at async Command.handleAction (C:\test\dating-native\node_modules\@react-native-community\cli\build\index.js:142:9)
info Run CLI with --verbose flag for more details.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

请问大佬们这个是什么问题，如何解决，

Unable to delete file 'C:\test\dating-native\node_modules\expo-constants\android\build\generated\assets\expo-constants\debug'

不知道为啥它删不掉这个文件，你帮它删下再跑试试咯


UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 1195: illegal multibyte sequence

Traceback (most recent call last):
File "D:\Program\AnacondaEnv\markitdown_env\lib\runpy.py", line 196, in _run_module_as_main
return run_code(code, main_globals, None,
File "D:\Program\AnacondaEnv\markitdown_env\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "D:\Program\AnacondaEnv\markitdown_env\Scripts\markitdown.exe_main.py", line 7, in
File "D:\Program\AnacondaEnv\markitdown_env\lib\site-packages\markitdown_main.py", line 43, in main
print(result.text_content)
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 1195: illegal multibyte sequence

Similar issues with me:
UnicodeEncodeError: 'charmap' codec can't encode character '\u2003' in position 3849: character maps to
On another document:
UnicodeEncodeError: 'charmap' codec can't encode character '\uf416' in position 6988: character maps to

I encountered the same problem too.
UnicodeEncodeError: 'gbk' codec can't encode character '\u2217' in position 37: illegal multibyte sequence

find solution here https://github.com/microsoft/markitdown/issues/138#issuecomment-2553156636

I encounter the same problem too meidi2023.pdf

I think it was fixed in PR #116


Adding the 2023 US HR-V

Please note that the pull request is not complete; however, I am opening it for feedback. Please do not close this, as I intend to merge this PR once it is complete & ready to go.
This PR adds the 2023 US HR-V. This vehicle is different from other HR-Vs (such as the Brazillian), and is significantly different from US HR-Vs in previous years. In some markets, this is also known as the ZR-V.
Checklist

[x] added entry to CarInfo in selfdrive/car/*/values.py and ran selfdrive/car/docs.py to generate new docs
[ ] test route added to routes.py
[ ] route with openpilot:
[ ] route with stock system:

Basically this branch is just a test for HR-V USA Model (ZR-V). It's still under Civic 2022 for testing purposes. Might need adjustments.

What is your dongle id?

Added your car here: https://github.com/commaai/openpilot/pull/27731


Issue 149: Add auto-generation and publication of API JavaDocs

This PR addresses issue #149, by adding automatic generation and publication of API JavaDocs upon push of a PR to the master branch (note: there may be a better condition to ensure this job only fires when a new version of the library is released / published - I'm not familiar enough with the project's branching / tagging approach to have set that up in this PR).
This PR is necessary but not sufficient to enable API JavaDoc generation and publication - it will also require some configuration of the GitHub project itself by a project owner. Note that in the past I've noticed a one-time "chicken and egg" problem with these setup steps:

the project configuration changes can't be made until the action has run at least once (in order to create the gh-pages branch that needs to be referenced in that configuration)
the action fails the first time because the project isn't configured for GitHub pages yet

This is a minor one-time annoyance, but I thought it worth noting as I've been bitten by it in the past and thought something had gone wrong.

@goneall just a gentle head's up that the "chicken and egg" problem may have reared it's ugly head - https://spdx.github.io/Spdx-Java-Library/ is currently returning a 404. From memory manually re-running the GitHub action may fix it, if indeed that's the issue (it's always possible I messed up something in this PR!).

@pmonks
Got it working - had the pages a bit miss-configured, but it is now corrected and looks like it's showing up

Awesome! Yeah it's a bit fiddly the first time, but after that it should Just Work™.
Thanks for looking at this so promptly!


PHP Fatal error

Object has become a reserved word.
and is throwing PHP Fatal error:  Cannot use 'Object' as class name as it is reserved in [...]/vendor/koine/core/lib/Koine/Object.php on line 8

Hi @leite
Thank you for reporting!
Are you using this library heavily? If so, I advise to fork it and fix it. Feel free to create a PR (the fix should not be very difficult, though it would be not backwards compatible.)

Naming is only one of the most difficult things 😆
BaseObject I think 🤔


There is no dist_test.sh file in Instance Segmentation test?

Hi @maocaixia ,
The script files are updated. Thanks!

Hi @xinyuliu-jeffrey ,
Thanks a lot! I test the infer time, and find the infer time of efficientvit_m0 is 19ms, but the infer time of vit_base is 7ms, It seems that there is no advantage.
the test is in RTX4090 and Batch=1.
vit_base: model = timm.create_model("vit_base_patch16_384", pretrained=True).
Is it normal ?

@maocaixia This phenomenon is quite strange. Although we reported batch size 2048 speed, efficientvitm0 with batch size 1 still shows a satisfactory speed at my side. Have you tried the speed_test here? Or could you please provide more details about your testing, e.g., input resolution, testing scripts, etc. Thanks!

batch size=1, what is the infer time at your side ?  what kind of gpu.
my test code:
`os.environ['CUDA_VISIBLE_DEVICES'] = '6'
from model.build import EfficientViT_M0
model = EfficientViT_M0(pretrained='efficientvit_m0')
out = model(image)
model = model.cuda()
model = model.eval()
image = torch.randn(1,3,224,224)
image = image.cuda()
cnt = 0
times = []
while cnt < 100:
cnt += 1
t1 = time.time()
out = model(image)
if cnt > 30:
times.append(time.time()-t1)
print('infer time: ', np.array(times).mean())`

@xinyuliu-jeffrey  batch size=1, what is the infer time at your side ? what kind of gpu.
my test code:
os.environ['CUDA_VISIBLE_DEVICES'] = '6' from model.build import EfficientViT_M0 model = EfficientViT_M0(pretrained='efficientvit_m0') out = model(image) model = model.cuda() model = model.eval() image = torch.randn(1,3,224,224) image = image.cuda() cnt = 0 times = [] while cnt < 100: cnt += 1 t1 = time.time() out = model(image) if cnt > 30: times.append(time.time()-t1) print('infer time: ', np.array(times).mean())

batch size=1, what is the infer time at your side ? what kind of gpu.
my test code:
os.environ['CUDA_VISIBLE_DEVICES'] = '6' from model.build import EfficientViT_M0  model = EfficientViT_M0(pretrained='efficientvit_m0')

`os.environ['CUDA_VISIBLE_DEVICES'] = '6'
from model.build import EfficientViT_M0
model = EfficientViT_M0(pretrained='efficientvit_m0') out = model(image) `

image = torch.randn(1,3,384,384)\n image = image.cuda()\n cnt = 0 \n times = []\n

···
image = torch.randn(1,3,384,384)
image = image.cuda()
cnt = 0
times = []
···

import os
import sys
from timm.models import create_model
import timm
import torch
import time
import numpy as np
os.environ['CUDA_VISIBLE_DEVICES'] = '6'
from model.build import EfficientViT_M0
model = EfficientViT_M0(pretrained='efficientvit_m0')
out = model(image)
model = model.cuda()
model = model.eval()
image = torch.randn(1,3,224,224)
image = image.cuda()
cnt = 0
times = []
while cnt < 100:
cnt += 1
t1 = time.time()
out = model(image)
if cnt > 30:
times.append(time.time()-t1)
print('infer time: ', np.array(times).mean())

import os
import sys
from timm.models import create_model
import timm
import torch
import time
import numpy as np
os.environ['CUDA_VISIBLE_DEVICES'] = '6'
from model.build import EfficientViT_M0
model = EfficientViT_M0(pretrained='efficientvit_m0')
out = model(image)
model = model.cuda()
model = model.eval()
image = torch.randn(1,3,224,224)
image = image.cuda()
cnt = 0
times = []
while cnt < 100:
cnt += 1
t1 = time.time()
out = model(image)
if cnt > 30:
times.append(time.time()-t1)
print('infer time: ', np.array(times).mean())

@xinyuliu-jeffrey Here are my code. And what is the infer time at your side ? what kind of gpu.

Hi @maocaixia , thanks for the information. I will try to test your script on my side and respond to you asap.

Hi @xinyuliu-jeffrey , thanks for your reply.
How do you test the throughput with batch size 1? Is that use the single-model inference time calculated when batch=1, and then calculate the inverse? like infer time(batch=1, t) and throughput=1/t.
I test infer time is 19ms with batch 1 on RTX4090, so the throughput is 1000/19=52 images/s. Is it true ?
I use the model on a hardware with small computing power only 1TOPS, so I focus more on the infer time.

Hi @maocaixia , for throughput computing, please kindly refer to https://github.com/microsoft/Cream/blob/main/EfficientViT/classification/speed_test.py.

OK, thanks a lot.


NotifyOnPanic suppresses panic when notification fails

In NotifyOnPanic, the function returns normally instead of panicking if n.SendNotice returns an error. When this happens, the program returns an exit code of 0. This results in build pipelines, etc. proceeding normally and not halting due to a failure.
I suggest that panic(v) also be called in that error handling block instead of return.

PR created. https://github.com/airbrake/gobrake/pull/382


add some badges to the README

Is your feature request related to a problem? Please describe.
Add some badges to the top of readme.md file, since the badges will be colorful and more attractive at the top of README.md file than the text the users will like it and after linking the badges it will also help the users to navigate to different sections/ webpages like PRs, issues, contributors, etc.

Describe the solution you'd like
I will add some badges at the top and also will add links related to them so that the README.md file will look more interactive and awesome.
Work under/as

[x] LGMSOC
[ ] Contributor

@Umesh-01 Great Go For it


Fix build by installing grunt dependencies later

I spammed a lot SauceLabs 😂 so they don't want to run our unit test but It seems our build system is OK now ❤
/CC @mdo and @bardiharborow

speaking of fixed build system, am i the only one getting errors relating to markup linting when i try to run the new build system locally? https://github.com/twbs/bootstrap/pull/22500

I have no errors when I runned : npm run docs-lint @patrickhlauke

@Johann-S Can you expand of this change, I'm curious to know why you need to install grunt this way.
Also, optional-dev-dependency might clean the code a bit.

Because we install those nodes modules just when we want to run our tests on Saucelabs.
The previous error was (see : https://travis-ci.org/twbs/bootstrap/jobs/225503461#L307) :
sh: 1: grunt: not found
So with this way we are sure that grunt is present


[ADD] Linear operator for Neumann inverse

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

26 of 26 (100.0%)  changed or added relevant lines in 2 files are covered.
37 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-7.2%) to 87.2%

Files with Coverage Reduction
New Missed Lines
%

curvlinops/examples/utils.py
4
50.0%

curvlinops/fisher.py
33
26.53%

Totals

Change from base Build<PHONE_NUMBER>:
-7.2%

Covered Lines:
436

Relevant Lines:
500

💛  - Coveralls


new translation

just found that both zh-hans and zh-hant are now 100%
then i found en has added new sentence, so you know, this is new translation

Awesome job with the two 100%, @AkaKaras :+1:


Implement drive mode T

Should be implemented after #172
Will require some deal of refining as moving the steer motors accordingly might be tricky.

needs to be tested though


Asciidoc support

Adds support for Asciidoc for documentation files, but not for ADRs since it is also not supported by Structurizr.
Adding dependency AsciidoctorJ for Asciidoc conversion.
Since the outputted html from Asciidoctor (using the default template) is different to the Markdown converted html, I used jsoup to add bulma (css) classes to get the (somehow) same look.
I also adapted the admonition.css for default Asciidoctor converted html files and to supported single nested admonitions with correct background colours.
This was my first time programming anything with Kotlin, so any feedback appreciated. Last time I programmed Java was more than 10 years ago.
Closes #282

Hi @illnr I'm sorry, seems that I pushed accidentally to your branch instead of my own ( https://github.com/jp7677/structurizr-site-generatr/tree/asciidoc-support ) while playing with your code :(
Not yet really sure how that happened since git branch -avv showd my origins, but I must have screwed up somewhere. Feel free of course to update your branch again.

@illnr I took the liberty to continue your work. So this PR is now superseded by https://github.com/avisi-cloud/structurizr-site-generatr/pull/336


What are ascent and descent?

For example, I get:
scale_font.ascent() = 16.147337
scale_font.descent() = -4.1026635

with y increasing downwards, thus I understand both numbers must be subtracted to go from the baseline (which is used in position) to the ascent/descent. This ought to be documented, but appears to be sufficient (in this case, subtract ascent/2 to find the mid-line, in order to find the mid-line closest to a click).

It is how you say. Maybe using the mid point of the full height may be better though.
I'd be happy to accept improvements to the docs.

Oh, ascent includes room for accents over the letter. I believe some font metrics define the ascent as only to the top of a standard large letter? E.g. see this answer.

I suppose it's up to the font, ab_glyph just supplies whatever the font/ttf-parser says. I'm not sure how strict the standards are etc.

@dhardy in TrueType fonts, ascend and descent are just numbers set by the font designer. See ascender and descender in hhea.

Oh, ascent includes room for accents over the letter.

No really. See zalgo.


Editable div is not autofocused

Adding autofocus will allow the user to begin typing right when the web application is launched.

Thanks for figure that bug out, please go ahead and fix it


Starting swiping on one cell while another one is open makes the swipe a no-op

Show the MGSwipeButtons for a cell
Try to show the buttons for another cell further down the table view
Note that all that happens is that the first cell closes but nothing happens with the cell you swiped

Maybe there is a good reason for this but in my own testing I found that the UI felt weird when I was trying to open up different menus for different rows (e.g., I swiped the wrong row and want to swipe open the one below). Having to close the one that's open before you can open another one feels like a bit of extra work.
Is this configurable? Could it be?

Hi Blixt,
The iOS 8 Mail App works the same way, you have to close the swiped cell to swipe another one. It could be a good feature to make this behavior configurable, I'll take a look ;)

+1 - I'm looking for this functionality too.

I've implemented this functionality with a property called autoHideOnSwipe. I haven't tested it thoroughly yet but it appears to be working pretty well. See here: f273d0021d289a32a71e7e5ea927690b48a96c60
Steph

Fixed


[stable/falco]

Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
When  you enable fakeEventGenerator the chart will be fail.
`error: error validating "deploy.yaml": error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec; if you choose to ignore these errors, turn validation off with --validate=false``
Which issue this PR fixes
I added selector in deployment.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @bencer

@jmvizcainoio lgtm, can you add a changelog entry?

Thanks!
cc @nestorsalceda
/lgtm
/approve


[Feature Request] Support for Jetbrains Fleet

Jetbrains just announced a new lightweight IDE with huge potential.
We would love to see dart and flutter support for it (when the plugin's API gets available).
https://www.jetbrains.com/fleet/

What specifically is your request here? According to the linked site there is no plugin system at this point, so it's not clear what action you are looking for from the Flutter team.

@stuartmorgan Not at the moment but I am opnening the issue for future tracking.

As Intellij seems to be a Google close partner I would expect Fleet to be Dart-ready as soon as it is launched. They seem to use LSP, however, I don't know if that is enough to use Dart/Flutter once if is open to public.
We use WebStorm today and a lightweight IDE from Intellij is a very good news for us.

lol what can they do? The thing is not even released.

lol what can they do? The thing is not even released.

https://github.com/flutter/flutter/issues/94340#issuecomment-981665425

Considering that the Fleet website mentions language servers, integrating the Dart analysis server for code completion and similar IDE features should be pretty feasible.

Intellij's Dart plugin is made by JetBrains, not Google. So it should come from them.

any news update

There is an open issue for tracking adding support for Dart in JetBrain's website: Support for Dart : FL-10369
Please consider upvoting the issue so that it can be prioritized.

Please think about adding support now.

news about this? looks interesting.

+1

I would love to use fleet for my flutter projects it seem really nice right now.

There is no plugin support on fleet yet.

No, because there is no language support.

Do we have any info regarding contact between JetBrains and the Flutter team for support in the future?

No, because jetbrains doesn't have plugin support yet. You need to wait for that.

For information, in their last blog post, at the end, the fleet team says
PS. Plugins support and plugins API is a work in progress.


Changes to inline Javascript is not reflecting unless there is a clean build.

Create a Blazor project.

Open any component.

write some inline Javascript.

Run the application now.

Stop the app now and do some modification to the Javascript press F5.

Even if you open a complete new browser the same issue.

But works fine when external JS file is used
Expected:- updated script should reflect the changes on browser when press F5

Script tags on components should be not allowed on the following fix #553 merged.
This is due to the fact that components will re-render each time there is a change done on it's state. Which would apply some weird behaviour on the inline javascript since those can only be declared once. I'd guess this should go away when that is done.

try doing a 'rebuild' not just a 'build'
#557 #355


container create failed and error message is "FATA[0000] open /run/systemd/resolve/resolv.conf: no such file or directory"

Description
The container creation failed, reporting the following error:
❯ sudo nerdctl run --rm --name test --namespace k8s.io --runtime io.containerd.runc.v2 --privileged docker.io/library/busybox:1.31.1 test sh
FATA[0000] open /run/systemd/resolve/resolv.conf: no such file or directory

Steps to reproduce the issue

The host close systemd-resolved service, so file /run/systemd/resolve/resolv.conf doesn't exist.

❯ sudo systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
     Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
❯ ls -lsh /run/systemd/resolve/resolv.conf
ls: cannot access '/run/systemd/resolve/resolv.conf': No such file or directory

use nerdctl to create container

❯ sudo nerdctl run --rm --name test --namespace k8s.io --runtime io.containerd.runc.v2 --privileged docker.io/library/busybox:1.31.1 test sh
FATA[0000] open /run/systemd/resolve/resolv.conf: no such file or directory

Describe the results you received and expected
The host has file /etc/resolv.conf, so I Think creating shouldn't be failed.
❯ cat /etc/resolv.conf
nameserver <IP_ADDRESS>

What version of nerdctl are you using?
❯ sudo nerdctl version
Client:
Version:	v0.21.0
OS/Arch:	linux/amd64
Git commit:	9ddf5226eabcbb7b4b43987f3b0f8d53d86d3bca
Server:
containerd:
Version:	1.6.6
GitCommit:	10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
No response
Host information
❯ sudo nerdctl info
Client:
Namespace:	default
Debug Mode:	false
Server:
Server Version: 1.6.6
Storage Driver: overlayfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Log: fluentd journald json-file
Storage: aufs native overlayfs
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.13.0-48-generic
Operating System: Ubuntu 20.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.45GiB
Name: zbb-pc
ID: 7b822ed6-3964-4d28-ac96-75434c455458

What daemon is serving <IP_ADDRESS> ?

What daemon is serving <IP_ADDRESS> ?

I use coredns to listen <IP_ADDRESS>:53.

The host has file /etc/resolv.conf, so I Think creating shouldn't be failed.

If /etc/resolv.conf contains <IP_ADDRESS> as the only nameserver, will use /run/systemd/resolve/resolv.conf, see https://github.com/containerd/nerdctl/blob/master/pkg/resolvconf/resolvconf.go#L60-L70

The host has file /etc/resolv.conf, so I Think creating shouldn't be failed.

If /etc/resolv.conf contains <IP_ADDRESS> as the only nameserver, will use /run/systemd/resolve/resolv.conf, see https://github.com/containerd/nerdctl/blob/master/pkg/resolvconf/resolvconf.go#L60-L70
So you should guarantee the systemd-resolved service works or add an extra nameserver to /etc/resolv.conf.

Got it. But it seems like a sloppy solution, at least to determine if systemd-resolved exists, for example, if I use coredns instead of systemd-resolved, I can't get nerdctl to be used here.

Looks like we should have a DNS as default if resovconf is not found.


DC Motor Support

Fixes Issue #255. Added helper and controller classes for a DC motor. The classes can control a DC motor's speed. Planned are direction controls (forward/reverse) and tests for the helper class.
The structure of the code added follows the basic set structure for adding components to the repository: application.yml specifies what pins to use for the motor, the helper class is added under pi4micronaut-utils, and the controller class is added under components/controllers.
I chose to rename the MotorController.java as specified in the issue description to DCMotorController.java to more easily differentiate it from the similarly named servo motor component.

I have named the classes back to MotorController. I've now also added the API and method for changing the motor speed. I have added the API for changing the direction and stubbed out the method implementing that functionality.

@leandrumartin Do you also need to add a motorController.adoc file to pi4micronaut-utils/src/docs/asciidoc/components/inputComponents/ directory?

The direction setting is now complete and the MotorHelper class now has tests implemented for all methods.


Make example trainer build again

@mrry

Can one of the admins verify this patch?

@tensorflow-jenkins test this please.


Assemble sub-assembly

Hello,
I would like to know how to assemble two sub-assemblies.
sub-assemblies
My sub-assemblies are stack of 2 boxes (one brown, one blue)
box = cq.Workplane("XY").box(10, 20, 10)
box.faces(">Z").tag("box_m0")
box.faces("<Z").tag("box_m1")

subassy = (
    MAssembly(box, name="box_A", loc=L(0, 0, 0), color=C("tan"))
        .add(box, name="box_B", loc=L(0, 0, 10), color=C("lightblue"))
)
subassy.mate("box_A?box_m1", name="box_A_m1")
subassy.mate("box_B?box_m0", name="box_B_m0", transforms=dict(rx=180))

subassy.assemble(
    "box_B_m0",
    "box_A_m1",
    )

Each sub-assembly are assembled separately and I want to put them together in a main assembly.

main assembly
main = (
    MAssembly(name="main", loc=L(0, 0, 0))
        .add(subassy, name="subassy_1", loc=L(0, 0, 0))
        .add(subassy, name="subassy_2", loc=L(20, 0, 0))
)

main.mate("subassy_1?box_m0", name='mate_1', transforms=dict(rx=0))
main.mate("subassy_2?box_m0", name='mate_2', transforms=dict(rx=180))
main.mate("subassy_1/box_B?box_m1", name='mate_3', transforms=dict(rx=180))

Issue, I can assemble mate_1 and mate_2 but not mate_1 and mate_3.

My question is: how to assemble the box_A (brown)  with the box_B (blue) mate_1 and mate_3.
thank you very much in advance!

@parmonom
I am not sure, why you want to assemble mate1 and mate3. Wouldn't this break the sub_assy:

In the subassy, boxA is on top of boxB.
If you now take subassy_1 then combining mate_1 and mate_3 would mean to connect the bottom of the blue box to the top of the brown box, while in fact top of bleu box is connected to the bottom of brown box via the subassy. I don't think the system can resolve this.

What do you actually want achieve?

Thanks for your reply, I realize that I made obvious mistake in my question, sorry about that.
I actually want to assemble subassy_1 and subassy_2 by their blue box (box_B) => mate_3 and mate_4.

main = (
    MAssembly(name="main", loc=L(0, 0, 0))
        .add(subassy, name="subassy_1", loc=L(0, 0, 0))
        .add(subassy, name="subassy_2", loc=L(20, 0, 0))
)

main.mate("subassy_1?box_m0", name='mate_1', transforms=dict(rx=0))
main.mate("subassy_2?box_m0", name='mate_2', transforms=dict(rx=180))
main.mate("subassy_1/box_B?box_m1", name='mate_3', transforms=dict(rx=0))
main.mate("subassy_2/box_B?box_m1", name='mate_4', transforms=dict(rx=180))

main.assemble(
    'mate_4',
    'mate_3',
    )

What I want:

What I have:

Something is broken. Need to further investigate.


[$1000] Web - Chat - Inconsistent behaviour while entering emails in chat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login to ND
Click on any chat
Send test+1<EMAIL_ADDRESS>Send test<EMAIL_ADDRESS>
Expected Result:
The formatting in first message is similar to the 2nd message or vice versa
Actual Result:
Behaviour is inconsistent
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: yes
Reproducible in production?: yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/93399543/aaff10b7-59fc-4229-a4bf-2c6091e418bf
Expensify/Expensify Issue URL:
Issue reported by: @aman-atg
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684776832487869
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d7534e113b95a39f
Upwork Job ID:<PHONE_NUMBER>145391616
Last Price Increase: 2023-06-09

I'll test soon

I'll test tomorrow

@kbecciv - could you please double-check if this is happening on other platforms?
I tested in Chrome like the GH suggested:

I noticed that the issue happens in MacOS/Desktop too:

Thanks!

Waiting for proposals

Proposal
Please re-state the problem that we are trying to solve in this issue.
When sending emails in chat, it is parsed inconsistently.
What is the root cause of that problem?
Here is the user-mention regex
https://github.com/Expensify/expensify-common/blob/743108fd2428945c5a75baa2a027b5a4ab407b5b/lib/ExpensiMark.js#L111-L120
test+1<EMAIL_ADDRESS>is parsed as user-mention while test<EMAIL_ADDRESS>isn't parsed.
    test+1<EMAIL_ADDRESS>=> test+1<user-mention><EMAIL_ADDRESS>    test<EMAIL_ADDRESS>=> test<EMAIL_ADDRESS>
This result is passed to the autoEmail rule<EMAIL_ADDRESS>isn't parsed as email while<EMAIL_ADDRESS>is parsed as valid email.
That's why the latter is parsed as email, the former is parsed as mention
What changes do you think we should make in order to solve the problem?
I think both should be parsed as email. In order to do that We need to change the user-mention rule.
    {
        name: 'userMentions',
        regex: new RegExp(`((?:(?:\\W)|^)(_?))@${CONST.REG_EXP.EMAIL_PART}(\\2)(?![^<]*(<\\/pre>|<\\/code>|<\\/a>))`, 'gm'),
        replacement: (match, g1, g2, g3, g4) => {
            if (!Str.isValidMention(match)) {
                return match;
            }
            return `${g1}<mention-user>@${g3}</mention-user>${g4}`;
        },
    },

This works as expected and passed all existing tests.
The following is the manual test result.
<EMAIL_ADDRESS>===>  <mention-user><EMAIL_ADDRESS>    _<EMAIL_ADDRESS>===>  _<EMAIL_ADDRESS>    _<EMAIL_ADDRESS>===>  _<mention-user><EMAIL_ADDRESS>    ~<EMAIL_ADDRESS>===>  ~<mention-user><EMAIL_ADDRESS>    ~<EMAIL_ADDRESS>===>  ~<mention-user><EMAIL_ADDRESS>    *<EMAIL_ADDRESS>===>  *<mention-user><EMAIL_ADDRESS>    *<EMAIL_ADDRESS>===>  *<mention-user><EMAIL_ADDRESS>    test<EMAIL_ADDRESS>===>  test<EMAIL_ADDRESS>    test<EMAIL_ADDRESS>===>  test@<mention-user><EMAIL_ADDRESS>    test+1<EMAIL_ADDRESS>===>  test+1<EMAIL_ADDRESS>    test+1<EMAIL_ADDRESS>===>  test+1@<mention-user><EMAIL_ADDRESS>    test_<EMAIL_ADDRESS>===>  test_<EMAIL_ADDRESS>    test_<EMAIL_ADDRESS>===>  test_<EMAIL_ADDRESS>    test*<EMAIL_ADDRESS>===>  test*<mention-user><EMAIL_ADDRESS>    test*<EMAIL_ADDRESS>===>  test*<mention-user><EMAIL_ADDRESS>    test#<EMAIL_ADDRESS>===>  test#<mention-user><EMAIL_ADDRESS>    test"<EMAIL_ADDRESS>===>  test"<mention-user><EMAIL_ADDRESS>    test'<EMAIL_ADDRESS>===>  test'<mention-user><EMAIL_ADDRESS><EMAIL_ADDRESS>===>  @<mention-user><EMAIL_ADDRESS>    _<EMAIL_ADDRESS>===>  _@<mention-user><EMAIL_ADDRESS>    #<EMAIL_ADDRESS>===>  #@<mention-user><EMAIL_ADDRESS>    '<EMAIL_ADDRESS>===>  '@<mention-user><EMAIL_ADDRESS><EMAIL_ADDRESS>===>  @@@<mention-user><EMAIL_ADDRESS>

Result
https://github.com/Expensify/App/assets/126839717/ea117de7-c5ff-4459-94a6-b06791943d4e

What alternative solutions did you explore? (Optional)

@eVoloshchak - when you get a chance, can you review the latest proposal? Thanks!

@eVoloshchak I have a question:

What are we expecting this text to be parsed as email or mention ?
Based on what we decide then we need to fix the issue.

It should also be test with below texts:

test<EMAIL_ADDRESS>test+1<EMAIL_ADDRESS>

I think mention should always start with a space/new line, so we should render all of these as emails (same as Github does on this page).
@tienifr's proposal looks good to me

we should display the texts as emails instead of mentions. It can be achieved by moving the autoEmail rule to before the userMentions and hereMentions rule. This ensures that the email will always be replaced first, then if no email matches then it should be replaced with mentions.

I completely agree with this. We should test with test<EMAIL_ADDRESS>and test+1<EMAIL_ADDRESS>since, as @jeet-dhandha pointed out those are also rendered incorrectly. @tienifr, we should have a couple of tests to ensure this isn't broken in the future
🎀👀🎀 C+ reviewed!
cc: @yuwenmemon

Thanks for the review @eVoloshchak! Alright, @tienifr it's time to party.

Awesome, thanks @tienifr

Easy melvin, the PR is in review!

Not sure why Melvin didn't add Reviewing but I updated this GH to avoid confusion.

Still under review

The PR is waiting on final feedback from @cead22

Ok, PR is moving and automation should run early this week!

Alright, waiting for the automation to kick in. 👏🏼

Reassigning another bug team member, I'm going OOO until Monday, July 10, and will take it back then if it's not closed by then.
Required action from the 🐛 team:  This one might be ready for payment by early next week.

PR review continues

Last update was yesterday asking for @eVoloshchak to re-review: https://github.com/Expensify/expensify-common/pull/550#issuecomment-1624450806

Alright, removing the other 🐛 team member. I'm back online and see that this is our current state:
The PR still needs a @eVoloshchak review

PR is moving along!

PR is moving along!

expensify-common PR was merged, only PR to update expensify-common version in the App is left

Awesome, looks like the PR is moving along.

PR was approved

Alright, waiting for automation to kick in here.

@eVoloshchak when you get a chance, can you please complete the checklist?
I'll be working on the payment process tomorrow.

The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/expensify-common/pull/532
The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/expensify-common/pull/532/files#r1275295550
A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: we already have a checklist item precisely for this, I think that and the unit tests are sufficient
Determine if we should create a regression test for this bug.
This isn't an impactful bug. We've added automated unit tests in https://github.com/Expensify/expensify-common/pull/550, I don't think manual regression tests are needed

Here is the payment summary:

External issue reporter - @aman-atg $250
Contributor that fixed the issue - @tienifr $1000
Contributor+ that helped on the issue and/or PR - @eVoloshchak $1000

Upwork Job:
*If applicable, the bonuses will be applied on the final payment
Extra Notes regarding payment: This one was held because of the merge freeze, so I believe there is still a payment here. With that said, there will be no urgency bonus.

I'm having trouble with the Upwork job and will complete the process tomorrow.

Requested the payment via NewDot

Reviewed details for @eVoloshchak. This is accurate and approved for payment in NewDot.

@aman-atg and @tienifr - I've sent the payment via Upwork, please accept and I can complete the process. Thanks!

Closing - I've paid @aman-atg and @tienifr via Upwork and I closed the job there too.


Add Particle Network AA Guide

What changed? Why?
This PR adds a detailed guide diving into the process of leveraging Particle Network's Smart Wallet-as-a-Service (built-in account abstraction stack working with MPC-TSS social logins) within a demo application built on Base.
Particle Network has been deployed on Base for quite some time, with its Bundler and Omnichain Paymaster (alongside core compatibility with providers such as Biconomy) recently being added. Specifically, this guide has a reader create an application that onboards a user into a smart account (either SimpleAccount, Light Account, Biconomy, or CyberConnect) on Base Sepolia through social login, which then executes a gasless (sponsored) transaction.
Notes to reviewers
Feel free to suggest any changes in wording, technical details, etc. - open to switching things around a bit.
Does this PR add a new token to the bridge?

[x] No, this PR does not add a new token to the bridge
[ ] I've confirmed this token doesn't use a bridge override
[ ] I've confirmed this token is an OptimismMintableERC20

Please include evidence of both confirmations above for your reviewers.

@TABASCOatw Just a merge conflict to fix now, thank U!

@TABASCOatw Just a merge conflict to fix now, thank U!

Sounds good! Should be all good to go now 🤝

Could U check out these build failures? 😅

Could U check out these build failures? 😅

All fixed, had some structural updates that needed to happen


Process for migrating old flyway migrated database to a newer version

Which version and edition of Flyway are you using?
3.2.1
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
The problem is with 3.x -> 4.x+ migration, so yes =)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API
Which database are you using (type & version)?
Postgres 9.6, but I expect this would be the case with all databases
Which operating system are you using?
coreOS
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
So we have an application that is distributed to customers on-premise and we use Flyway to manage database migrations (very successfully thanks!), at one point in time many years ago we used the setInitOnMigrate(true) option, this created a schema_version table with the first migrate of type=INIT. During upgrading library versions for this application recently and moving to 5.x of Flyway starting this application fails with an error relating to the removal of the previously deprecated INIT enum in Flyway 4.x:
java.lang.IllegalArgumentException: No enum constant org.flywaydb.core.api.MigrationType.INIT

So I understand that this option has been removed / replaced, and other changes are going on in Flyway 5.x -> 6.x. But this is effectively a breaking change to the contract between Flyway and the database, at a previous point in history Flyway wrote a record using this enum value, my expectation would be that it should gracefully handle the situation and not fail? Is there a process to migrate the INIT record to a supported record type?
I tried manually editing the record to change it to a SQL type, but then the following record checksums would change and you get more problems, it doesn't appear to be a something that can be fixed outside of Flyway itself?
The other snag to all this, is since most of the application deployments are on-premise with customers, we don't have the luxury of being able to manually change things or run CLI commands easily, abstracting away the complexity of the database migrations is the job that we use Flyway for =)
What did you expect to see?
Flyway fix the record, or gracefully handle the missing enum value
What did you see instead?
java.lang.IllegalArgumentException: No enum constant org.flywaydb.core.api.MigrationType.

Duplicate of #2126
This is described exactly in the release notes: https://flywaydb.org/documentation/releaseNotes#5.0.0
Please take a minute to review them before upgrading across several major versions. I'll save you a lot of time.

Perfect! thanks, sorry for my poor searching.


Formatting adding trailing newline clears last line

OS and language server
Linux + Gopls
How you installed LSP (Package Control or from git?)
Package Control
Minimal reproduction steps

package main

import (
	"fmt"
)

func main() {
	fmt.Println("Hello, world")
} // No newline!

Format
package main

import (
	"fmt"
)

func main() {
	fmt.Println("Hello, world")

Log
No diagnostic output.

Initially reported to gopls, but they pointed out that the gopls commandline does the right thing.
Is this a LSP issue or Sublime itself?
Let me know if I can provide any other helpful information!

Managed to reproduce this and get the payload so we can see what is happening.
[
    {
        "range": {
            "start": {
                "line": 8,
                "character": 0
            },
            "end": {
                "line": 9,
                "character": 0
            }
        },
        "newText": ""
    },
    {
        "range": {
            "start": {
                "line": 9,
                "character": 0
            },
            "end": {
                "line": 9,
                "character": 0
            }
        },
        "newText": "} // No newline!\n"
    }
]

I've added a debug print to see how the edits are applied.
This seems to trip up our "do the edits in reverse-order" trick:
LSP: applying change: (92,92) } // No newline!
LSP: applying change: (76,109)

cc @haferburg

On the other hand, quoting the spec :)

Text edits ranges must never overlap, that means no part of the original document must be manipulated by more than one edit.

I'd say the two edits are adjacent, but not overlapping. So I don't think this is breaking the spec.
But I also don't see how this input would trip up the algorithm. If you first insert the "} // No newline!\n" at 9:0, then delete 8:0 to 9:0.
But it looks like this might be some corner case because it is editing the last line of the file. Maybe the Sublime API is weird in this regard?

Wait a second, so the original file has no newline, but the deletion is still from 8:0 to 9:0, even though there is no line 9. How come?

I would expect the deletion to be 8:0 to 8:16.

It's also debatable whether line 9 really is part of the document (there is no line 9 in the buffer). Supposing that line 9 doesn't exist and is an invalid position, the deletion should indeed be 8:0 to 8:16.

Just a note that coc.nvim uses this library
https://github.com/microsoft/vscode-languageserver-node
to defer its sorting logic of the text edits. I'm not an expert at TypeScript but I believe the relevant logic for it is here:
https://github.com/microsoft/vscode-languageserver-node/blob/9175d3894ed952b0ffd416e55c03c877b475b51e/types/src/main.ts#L2523-L2580

Nice find @rwols, I like their logic but they can return the entire text of the edited document and refer to the unmodified original for each of the edits. Perhaps there's an approach that lets us return to this simplicity while avoiding the slowness of the initial approach we had?

Perhaps there's an approach that lets us return to this simplicity while avoiding the slowness of the initial approach we had?

We would have to implement our own "convert row-col to offset", that would be painful.
There's this doc comment about what happens to invalid points:
https://github.com/microsoft/vscode-languageserver-node/blob/9175d3894ed952b0ffd416e55c03c877b475b51e/types/src/main.ts#L25
To reiterate what's said there: the line number is clamped between 0 and #lines (inclusive).
It then depends on what the offsetAt function does with such a point, and what substring does when its arguments are (or may be) OOB. Does substring create newlines?

I want to mark this as a language server bug. We have thought about it for a while. We verified our unit tests. And we discovered an out-of-bounds position provided by the server. It depends on the implementation of the text editor client what will happen with OOB positions, and language servers shouldn't depend on implemention-defined behavior.

If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.

What if we apply this to the incoming positions? Will it fix the issue?

After screwing around in the console we could perhaps use this info to our advantage:
>>> view.rowcol(view.size())[0]
49
>>> view.rowcol(view.size() - 1)
(48, 69)


Budget Lines and Cost Breakdown Not Loading Properly

Hello.
I'm using the latest version of Kanboard (v1.0.27), and just tried out the plugin, but when I click the Budget Lines or Cost Breakdown links, the pages appear like the images below:

Which version of the budget plugin do you have?

I'm using 1.0.6. I just reinstalled the plugin as well, the issue is still there.

With the development version of Kanboard and Budget plugin, I have the same behaviour.

PHP Fatal error:  Call to undefined method Kanboard\Core\Template::e() in /plugins/Budget/Template/budget/create.php on line 17

PR is here: https://github.com/kanboard/plugin-budget/pull/13

I merged your PR, thanks!


Create testing tcmds: demo_blocking_delay, freertos_demo_stack_usage

Closes #130. Prework for #74 (blocking delay telecommand is required to test the watchdog).

Thanks for the quick review :)


Error on re-scraping movie data

Version: 2.8.2
Build: 2016-07-19 20:59
OS: Mac OS X 10.11.6
JDK: 1.8.0_101 x86_64 Oracle Corporation
after carrying out two movie re-scrapes I then get error messages appearing about Java exceptions, program prompted me to start a bug report and attach logs, please find attached
tmm_logs.zip
What is the expected behaviour?
the re-srape should complete without errors
Steps to reproduce:
run TMM on el-capitan set up to manage media on shared remote drive (777 permissions) load movie database to TMM and rescrape movies
Additional
Have you attached the logfile from the day it happened?
yes

this is a random hiccup - please try again.
I'll increase stability of multithreading soon


sha1 hash generation for SSL certificate

generate the sha1 hash and expose it as a meta field in colon delimited output
The equivalent of:
openssl s_client -showcerts -connect bl.a.im:443 </dev/null 2>/dev/null|openssl x509 -outform DER | openssl sha1 -c

What should the field be called?  cert.hash?
Why sha1?

Can you make the field cert.sha1.hash considering there are other hashing algorithms that might be used in the future.
There are a number of repositories that provide indicators for badness based on a sha1 hash of the certificate. Take note that it is a hash of the individual cert issued for actual common servername, and not a hash of the entire chain.

I'm weary of putting sha1 in the expression name since there is so much sha1 vs sha2 swirl in the cert world right now.
I'm doing a hash per certificate, so if the chain is sent there would be multiple hashes


Options [Help Request]

Hi!
Awesome repo, great work! 👍
I have a question on how to set the options though, could you please provide an example?
If I for example want to change the quickLink list, how do I go about doing that?
I tried this, but didnt work 😄
$('#timezone-map').timezonePicker();
$('#timezone-map').data('timezonePicker').quickLink = ['GMT'];

Oh, of course.
$('#timezone-map').timezonePicker({quickLink: []});
Thanks again :)


Snippet parser does not support final tab stop ($0) at the EOL

https://github.com/prettier-snippets/vscode-prettier-snippets-react/blob/40513e75606c35ee472ef8e331bb6f8a4cd4eca2/snippets/snippets.json#L5

#14


Grafana loki api " /api/prom/push" is Deprecated and when i am configuring kyverno reporter getting "device or resource busy" error

i am able to send data to loki with promtail , but kyverno reporter is not able to send the logs

Thanks for report, I will have a look on it.

I published a new Helm Chart Version 2.10.3 where you can overwrite the API path with the new target.loki.path configuration.
target:
  loki:
    host: "http://loki...."
    path: "/loki/api/v1/push"

If you still have issues let me know and then maybe you can provide some logs from your loki instance. I don't find any information about your error message.


Milk-V Duo, a new opensource hardware may be ported to OpenIPC

Here are some main feature:

1GHz and 700MHz RISC-V C906 processors
Integrated CVITEK TPU for smart detection.
Supports H.264/H.265 video encoding, up to 2880x1620@20fps.
Compatible with high-definition CMOS sensors.

Other advantages:

enough cheap with $5 board and $3.5 sensor(gc2083)
enough small to DIY
totally opensource hardware
package of the chip cv1800b(QFN) is easy to solder(if you want to make it smaller or use other camera)

Get SDK:
https://github.com/milkv-duo/duo-buildroot-sdk
Current process:
for now I just successfully boot and run its camera test program.
and because it's risc-v arch,  the majestic streamer  may be need to build a risc-v target?
Detail Introduction
https://milkv.io/docs/duo/overview

Good afternoon
Thanks for the interesting note.
We can accept PR if you send us a verified organizational structure compiled in OpenIPC Buildroot
As for the streamer, you first need to launch and publish examples from the SDK so that at least snapshots and other solutions work.

Streamer CI uses OpenIPC based toolchain as well, so the first and necessary step is to integrate vendor BSP to OpenIPC firmware repo

Thank you @widgetii  @FlyRouter. I would start the first step recently.

issue close. I will update the status in pull request.


hitlet-processing is bugged (or flaky)

Describe the bug
Processing on the event-builder fails due to hitlet-processing. It remains unclear where this bug is (either MV or NV processing)
To Reproduce
Process 25576
Expected behavior
Don't fail
Versions
Please add the output of:
(py38) xedaq@eb4:~$ python -c "import straxen ; straxen.print_versions()"
Working on eb4.xenon.local with the following versions and installation paths:
python  v3.8.5  (default, Sep  4 2020, 07:30:14) [GCC 7.3.0]
strax   v0.16.1 /home/xedaq/software/strax/strax
straxen v0.19.3 /home/xedaq/software/straxen/straxen

Traceback
Exception info: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/home/xedaq/miniconda/envs/py38/lib/python3.8/concurrent/futures/process.py", line 239, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/home/xedaq/software/npshmex/npshmex.py", line 193, in shm_wrap_f
    result = f(*args, **kwargs)
  File "/home/xedaq/software/strax/strax/plugin.py", line 1032, in do_compute
    r = p.do_compute(**compute_kwargs)
  File "/home/xedaq/software/strax/strax/plugin.py", line 525, in do_compute
    result = self.compute(**kwargs)
  File "/home/xedaq/software/straxen/straxen/plugins/veto_hitlets.py", line 134, in compute
    strax.hitlet_properties(temp_hitlets)
ZeroDivisionError: division by zero
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/xedaq/software/straxen/bin/bootstrax", line 1293, in run_strax
    st_make()
  File "/home/xedaq/software/straxen/bin/bootstrax", line 1271, in st_make
    st.make(run_id, targets,
  File "/home/xedaq/software/strax/strax/context.py", line 1215, in make
    for _ in self.get_iter(run_ids[0], targets,
  File "/home/xedaq/software/strax/strax/context.py", line 1099, in get_iter
    generator.throw(e)
  File "/home/xedaq/software/strax/strax/context.py", line 1072, in get_iter
    for n_chunks, result in enumerate(strax.continuity_check(generator), 1):
  File "/home/xedaq/software/strax/strax/chunk.py", line 303, in continuity_check
    for chunk in chunk_iter:
  File "/home/xedaq/software/strax/strax/processor.py", line 286, in iter
    raise exc.with_traceback(traceback)
  File "/home/xedaq/software/strax/strax/mailbox.py", line 491, in divide_outputs
    result = next(source)
  File "/home/xedaq/software/strax/strax/mailbox.py", line 412, in _read
    res = msg.result()
  File "/home/xedaq/miniconda/envs/py38/lib/python3.8/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/home/xedaq/miniconda/envs/py38/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
ZeroDivisionError: division by zero

I think it must be either something with the ebs or some kind of race condition I do not know. But I cannot reproduce on dali neither for nveto nor mveto. I checked both with run 025465.
Can we try to set https://github.com/AxFoundation/strax/blob/ee04635d125431b798170cc5f5c4ceb72bd4e42d/strax/processing/hitlets.py#L259-L260 cache to False and see if the error persists? Which numba and numpy version are we using on the ebs? I tested with:

numba: '0.52.0'
numpy: '1.20.0'

I checked some more log files and for 025577 hitlets were produced successfully for both detectors in the end. Although we hit the same div by zero error during one of the tries. Hence I think it sounds even more like some race condition with numba cached functions.

@WenzDaniel , I can now also not reproduce, which makes it all the more frustrating. What kind of race-conditions would you have in mind?
On the DAQ we are running with:
(py38) xedaq@eb0:~/joran/strax_data$ python -c "import straxen ; straxen.print_versions(['numba', 'numpy'])"
python  v3.8.5  (default, Sep  4 2020, 07:30:14) [GCC 7.3.0]
numba   v0.53.1 /home/xedaq/miniconda/envs/py38/lib/python3.8/site-packages/numba
numpy   v1.19.4 /home/xedaq/miniconda/envs/py38/lib/python3.8/site-packages/numpy

Numpy 1.20 is not compatible with tensorflow, unless you are on some pre-release?

Just to be sure, I also updated the software to:
install numpy==1.19.5
tensorflow~=2.4
utilix==0.6.0
numba==0.53.1
npshmex==0.2.1
blosc==1.10.4
pandas==1.2.5
psutil==5.8.0
scikit-learn==0.24.2
scipy==1.7.0
zstd==<IP_ADDRESS>

What kind of race-conditions would you have in mind?

Something similar like we encountered before that some numba chached function is called in one thread while another thread is overwritting the current cache index. I do not know. Hence, my suggestion to turn off the caching and see if the problem vanishes.

Numpy 1.20 is not compatible with tensorflow, unless you are on some pre-release?

To be honest I do not know. I never worked much with tensorflow. I only installed it to process our peak data:
tensorboard               2.4.1              pyhd8ed1ab_0    conda-forge
tensorboard-plugin-wit    1.8.0              pyh44b312d_0    conda-forge
tensorflow                2.3.0           eigen_py38h71ff20e_0
tensorflow-base           2.3.0           eigen_py38hb57a387_0
tensorflow-estimator      2.4.0              pyh9656e83_0    conda-forge

I also made a small fix in https://github.com/AxFoundation/strax/pull/491 although I doubt that it is related.

Just for the record. We changed the order in which we process our data and processing nveto and mveto data with some time in between works for the moment. However, so far I do not have any idea how this issue can be fixed more fundamentally.

@WenzDaniel , since we changed this behavior (first fully process the NV chain, then the MV chain) the error hasn't occurred anymore.
Could it be that some of the data-formats is different in a way that it causes inconsistencies when re-using the cached numba function?

🤔 , the stink builds, also when doing systems separately (e.g. run 26131), we run into this issue

Seems solved or at least not found anymore


Unbound: let the logger wait for the pipe a bit

Hi!
ref. https://forum.opnsense.org/index.php?topic=32494.0
looks like logger db without index initializes so much faster that pipe may not be ready yet due to json loading?
thanks!

Hi Alex, am I right in assuming the reader (the other end) is to fast in trying to access the pipe and doesn't re-try? I'm not sure the actual issue in the dnsbl_module.py script in that case.

Hi Ad!  )
I agree that adding a second poke to the logger.py is the most correct solution. it just seems to me that creating a pipe before json loading does not spoil anything and never failed during testing (before fixing the db speed, creating\loading the index in logger.py gave the dnsbl_module.py time to create the pipe?).
i'll try to add a retry on OSError exception in logger.py

I'm not worried about changing the order of setup, just want to avoid masquerading the real issue. As we're currently refactoring some code in the python unbound module, I rather keep the order as is to avoid it being set back after merge anyway :)

@AdSchellevis got it ) done
it just opening pipe on second try now

@kulikov-a looks good, maybe increase the wait to 1 second so it has a bit more wiggle room. the module caches anyway in the meantime

done ;)

@kulikov-a looks good, thanks!


inconclusive readme

readme contains not all information needed,
the cross-reference between the erigon-version and the corresponding rpc seems logic,
but does not work from experience-
so the git remote add otterscan git@github.com:wmitsuda/erigon.git brought errors-
any ideas?

Which errors are you seeing?

The Dockerfile in the develop branch was under development, you might have checked out an unstable revision.
Today's tag contains a working Dockerfile, please try it.
Regarding the git remote, using the git via ssh protocol works for me, what did you get?

I think I now understand what is happening, my docker installation is configured to build images using buildkit by default, it works fine, look:

><EMAIL_ADDRESS>build-docker
> docker build -t otterscan -f Dockerfile .

[+] Building 365.2s (22/22) FINISHED
 => [internal] load build definition from Dockerfile                                                                         0.1s
 => => transferring dockerfile: 753B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.1s
 => => transferring context: 137B                                                                                0.0s
 => [internal] load metadata for docker.io/library/nginx:1.21.1-alpine                                                       0.0s
 => [internal] load metadata for docker.io/library/node:12.22.3-alpine                                                       2.6s
 => [auth] library/node:pull token for registry-1.docker.io                                                                  0.0s
 => [stage-1 1/8] FROM docker.io/library/nginx:1.21.1-alpine                                                                 0.0s
 => [internal] load build context                                                                                55.8s
 => => transferring context: 158.59MB                                                                                55.4s
 => [builder 1/8] FROM docker.io/library/node:12.22.3-alpine@sha256:05328aa871f251b0643b8dcaa01034f126a8343b51ef302de207ad  12.0s
 => => resolve docker.io/library/node:12.22.3-alpine@sha256:05328aa871f251b0643b8dcaa01034f126a8343b51ef302de207ad153a6b623  0.0s
 => => sha256:ddad3d7c1e96adf9153f8921a7c9790f880a390163df453be1566e9ef0d546e0 2.82MB / 2.82MB                               1.2s
 => => sha256:8bb195d94de45050928c69d40bf7912137c9e99b24a8d50de74451be24bc89fe 24.60MB / 24.60MB                             8.2s
 => => sha256:be9b379f7fa3622fff221bc37f0138ad0e2f62f4b112940a8d9c3dacafa646dd 2.24MB / 2.24MB                               2.4s
 => => sha256:05328aa871f251b0643b8dcaa01034f126a8343b51ef302de207ad153a6b6232 1.43kB / 1.43kB                               0.0s
 => => sha256:6f66d017d5d282adefc96c17d2dec8809fa8e7ce63ebfdfb2af6589c90df688c 1.16kB / 1.16kB                               0.0s
 => => sha256:cfc7e7f8c999ee171a9d7d2e192ee2aba91fa767f83fd17a3fdab6ce3e4319fb 6.53kB / 6.53kB                               0.0s
 => => extracting sha256:ddad3d7c1e96adf9153f8921a7c9790f880a390163df453be1566e9ef0d546e0                                    0.4s
 => => sha256:3b8a9bc999d9d6e93526e2c11dff4ce0d2636868002ac9f09de3a1b8183b4829 281B / 281B                                   1.5s
 => => extracting sha256:8bb195d94de45050928c69d40bf7912137c9e99b24a8d50de74451be24bc89fe                                    2.8s
 => => extracting sha256:be9b379f7fa3622fff221bc37f0138ad0e2f62f4b112940a8d9c3dacafa646dd                                    0.3s
 => => extracting sha256:3b8a9bc999d9d6e93526e2c11dff4ce0d2636868002ac9f09de3a1b8183b4829                                    0.0s
 => [stage-1 2/8] RUN apk add jq                                                                                9.9s
 => [builder 2/8] WORKDIR /otterscan-build                                                                                0.9s
 => [builder 3/8] COPY [package.json, package-lock.json, /otterscan-build]                                                   1.8s
 => [stage-1 3/8] COPY 4bytes/signatures /usr/share/nginx/html/signatures/                                                  77.2s
 => [builder 4/8] RUN npm install                                                                                208.0s
 => [stage-1 4/8] COPY trustwallet/blockchains/ethereum/assets /usr/share/nginx/html/assets/                                 6.0s
 => [stage-1 5/8] COPY nginx.conf /etc/nginx/conf.d/default.conf                                                             0.0s
 => [builder 5/8] COPY [run-nginx.sh, tsconfig.json, craco.config.js, tailwind.config.js, /otterscan-build]                  0.0s
 => [builder 6/8] COPY [public, /otterscan-build/public]                                                                     0.0s
 => [builder 7/8] COPY [src, /otterscan-build/src]                                                                           0.0s
 => [builder 8/8] RUN npm run build                                                                                36.8s
 => [stage-1 6/8] COPY --from=builder /otterscan-build/build /usr/share/nginx/html/                                          0.1s
 => [stage-1 7/8] COPY --from=builder /otterscan-build/run-nginx.sh /                                                        0.1s
 => exporting to image                                                                                58.8s
 => => exporting layers                                                                                58.7s
 => => writing image sha256:5b08008b1c01ba862640e6f0b4e90c8b0f91545ccb7d0747c77c4a3ba24c28af                                 0.0s
 => => naming to docker.io/library/otterscan                                                                                0.0s

If I turn off buildkit, it gives me a similar error as yours:

><EMAIL_ADDRESS>build-docker
> docker build -t otterscan -f Dockerfile .

Sending build context to Docker daemon  434.7MB
Step 1/17 : FROM node:12.22.3-alpine AS builder
12.22.3-alpine: Pulling from library/node
ddad3d7c1e96: Already exists
8bb195d94de4: Already exists
be9b379f7fa3: Already exists
3b8a9bc999d9: Already exists
Digest: sha256:05328aa871f251b0643b8dcaa01034f126a8343b51ef302de207ad153a6b6232
Status: Downloaded newer image for node:12.22.3-alpine
 ---> cfc7e7f8c999
Step 2/17 : WORKDIR /otterscan-build
 ---> Running in 3ff3e97cce67
Removing intermediate container 3ff3e97cce67
 ---> c21380136acb
Step 3/17 : COPY ["package.json", "package-lock.json", "/otterscan-build"]
When using COPY with more than one source file, the destination must be a directory and end with a /

and you are right, if the dest parameter of COPY command is a directory it should end with a /, it just happened that buildkit does not complain about it. Since the docs states so (https://docs.docker.com/engine/reference/builder/#copy), I'll fix the Dockerfile.
It should work now for your installation, but I highly recommend everyone to use buildkit, I'll add a flag to the build script to activate it by default as explained in the docs (https://docs.docker.com/develop/develop-images/build_enhancements/#to-enable-buildkit-builds).
It is very fast, build layers in parallel, and much smarter when sending content to the build context, now I understand why some people has been complaining the build was so slow even after fixing the Dockerfile 😂
I gave up after a few minutes trying to build it with the default legacy build, have no idea how much time it should take, and it should output a much bigger image, the buildkit builder can compress the 1GB 4bytes layer into 8MB, not worth it not to use buildkit.
I tagged a hotfix, can you please try out the tag v2021.07.02-1-otterscan?

Regarding the git remote, using the git via ssh protocol works for me, what did you get?

For me it wasn't able to fetch remote branch (but I again started from clean environment so didn't have my github keys attached)

I changed the instruction in the README, I saw some complaints in another issue about ssh, so I think it is better to use https then. Thanks for the suggestion.

Do you have any ideas on best way to debug missing connection between otterscan and rpcdaemon?
I've tried hitting rpcdaemon locally with requests and it returns correct response to all of them.

I'm working in ways to signal in the UI what is the connection status between Otterscan <-> Erigon, so it is easier to spot config mistakes. Please follow https://github.com/wmitsuda/otterscan/issues/9

No need to firewall rules, it tries to connect to erigon at browser level, the container itself does not need outbound connections.
Are you able to curl http://<IP_ADDRESS>:8545 ? At least to see if the rpcdaemon process is responding?

Good to know! I'll closed this issue because it is becoming too generic and most problems were tackled.
@pawnbot and @roninkaizen, feel free to open more specific issues based on latest release.


authz0: init at 1.1.1

Motivation for this change
Authz0 is an automated authorization test tool. Unauthorized access can be identified based on URLs and Roles & Credentials.
https://github.com/hahwul/authz0
Related to #81418
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 163011 run on x86_64-linux 1

1 package built:

authz0


Added function to avoid alpha numerics

fixes #6 6

Let me review your work.

First of all there is a syntax error in your code on line 21. Even after removing that it is still accepting alphanumeric keys (a-z).


Add the Bluetooth agent API (for BlueZ)

This adds the concept of an agent, that will serve to receive input from the user during the pairing process primarily.
The API is pretty similar to what Zephyr provides, which is based on the BlueZ D-Bus API, so this should map pretty well to both.
When reviewing, please see if the approach of the sol_bt_agent_reply_* family of functions is easy to understand.

The new (and improved) version is at https://github.com/solettaproject/soletta/pull/2074, closing.


Update OperationInputTestDecorator to find operation shape by name

Motivation and Context
Addresses https://github.com/awslabs/smithy-rs/issues/2767
This fixes an issue for users who write endpoint tests that rely on an operation and service shape from different namespaces.
Description
Instead of assuming operation namespace matches service namespace,
Testing
./gradlew :aws:sdk-codegen:test

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM! did a quick audit to make sure this doesn't cause a performance regression—generation times for the SDK seem to be about the same.

If you don't mind adding a quick entry with the bugfix to CHANGELOG.next.toml under the [smithy-rs] tag we'll get this merged

Thanks @rcoh. Just pushed a commit to add the changelog entry


[MetaMask Mobile] "Switch to network Polygon mumbai" button does nothing

What happened?
Upon clicking the button, nothing happens. Opening straight from the MetaMask App
What operating system are you seeing the problem on?
Android
What browsers are you seeing the problem on?
Other (please mention in the description)
What wallet extension are you using?
Metamask
Rules

[X] I agree to follow this project's rules

This comfort function only works for the metamask browser plugin and not for wallet connected through Wallet connect (which is used by WalletConnect on Android).
We would **put a note to the button that the function is limited. ** (also for other metamask specifics)
So far i have not found a way to distinguish which wallet is used to be able to hide the buttons when they are useless.

Bounty paid