RingBuffer file implementation.

I'm trying to transition from FatFS to littlefs, because of several benefits comming from wear-leveling and other things, I have ring buffer implemented as a file storing head and tail as first 8 bytes of data, then there is correct data. From what I noticed and what is mentioned in #27 it seems that littlefs performance isn't very good when writing at the beginnig of the file as the rest of the content has to be rewritten. In my case I store head and tail at the beginnin of the file, the file size is around 4MB. Obviously writing to such massive file in worst case scenario is around couple of minutes on quite slow SPI Flash. Specifically in case of littlefs what would be advised option for storing data? I need to use it in LIFO fashion where there is logging task writing data and reading task consuming this data, but from what I know it's not possible to "remove" data at the beginning of the file? Shifting data is not an option as it takes to much time. I could truncate file but it isn't very convinient as the data is sent over the network and new data would be prioritised in this case which shouldn't be the case.

Hi @conkerkh, I'm glad you asked this question. As you mentioned FIFOs as a files are a bit tricky and littlefs's append-only COW structure doesn't work well with the obvious solution. Which is extra unfortunate since logs are a very common use case for embedded filesystems.
What does work well is to do something similar to the logrotate utility on Unix:

Split the log into multiple files
Rename log files when full
Delete oldest log file

The simples logrotate would have only two files. This means the log takes up 2x the space. This could be improved by using more log files, but adds complexity.
Also I'm not sure the best place to store the offset. The best place would probably be to store it in its own file.
I put together a quick snippet showing how this could work. Note I haven't tested this, and it doesn't consider the case where your data is not aligned to your log size. But hopefully it's a good starting point:
#include "lfs.h"

// logrotate configuration
#define LOGROTATE_SIZE    (4*1024*1024)
#define LOGROTATE_FILE0   "logrotate.0"
#define LOGROTATE_FILE1   "logrotate.1"
#define LOGROTATE_FILEOFF "logrotate.off"

// logrotate state, may be nicer in a struct if you want to support multiple logs
lfs_t lfs;
lfs_file_t file;
lfs_off_t off;
struct lfs_info info;

static int logrotate_getoff(void) {
    // try to read offset file
    int err = lfs_file_open(&lfs, &file, LOGROTATE_FILEOFF, LFS_O_RDONLY);
    if (err && err != LFS_ERR_NOENT) {
        return err;
    }

    if (err == LFS_ERR_NOENT) {
        // default to offset that skips to file 1
        off = LOGROTATE_SIZE;
        return 0;
    }

    // read offset if it exists
    err = lfs_file_read(&lfs, &file, &off, sizeof(off));
    if (err < 0) {
        return err;
    }

    err = lfs_file_close(&lfs, &file);
    if (err) {
        return err;
    }

    return 0;
}

static int logrotate_setoff(void) {
    // write offset file
    int err = lfs_file_open(&lfs, &file, LOGROTATE_FILEOFF,
            LFS_O_WRONLY | LFS_O_CREAT | LFS_O_TRUNC);
    if (err) {
        return err;
    }

    err = lfs_file_write(&lfs, &file, &off, sizeof(off));
    if (err) {
        return err;
    }

    err = lfs_file_close(&lfs, &file);
    if (err) {
        return err;
    }

    return 0;
}

int logrotate_init(void) {
    int err = logrotate_getoff();
    if (err) {
        return err;
    }

    return 0;
}

int logrotate_deinit(void) {
    // noop
    return 0;
}

int logrotate_append(const void *data, lfs_size_t size) {
    // first check if we need to rotate, we rotate when our log is half full
    int err = lfs_stat(&lfs, LOGROTATE_FILE0, &info);
    if (err && err != LFS_ERR_NOENT) {
        return err;
    }

    if (err != LFS_ERR_NOENT && info.size >= LOGROTATE_SIZE) {
        if (off < LOGROTATE_SIZE) {
            // can't rotate, haven't depleted the oldest log file
            return LFS_ERR_NOSPC;
        }

        // rotate using rename
        err = lfs_rename(&lfs, LOGROTATE_FILE0, LOGROTATE_FILE1);
        if (err) {
            return err;
        }

        // update offset
        off -= LOGROTATE_SIZE;
        err = logrotate_setoff();
        if (err) {
            return err;
        }
    }

    // open for append
    err = lfs_file_open(&lfs, &file, LOGROTATE_FILE0,
            LFS_O_WRONLY | LFS_O_CREAT | LFS_O_APPEND);
    if (err) {
        return err;
    }

    err = lfs_file_write(&lfs, &file, data, size);
    if (err < 0) {
        return err;
    }

    err = lfs_file_close(&lfs, &file);
    if (err) {
        return err;
    }

    return 0;
}

int logrotate_pop(void *data, lfs_size_t size) {
    // which file do we pop from?
    const char *filepath;
    lfs_off_t fileoff;
    if (off < LOGROTATE_SIZE) {
        // pop from older file
        fileoff = off;
        filepath = LOGROTATE_FILE1;
    } else {
        // pop from newer file
        fileoff = off - (LOGROTATE_SIZE);
        filepath = LOGROTATE_FILE0;
    }

    // read our data
    int err = lfs_file_open(&lfs, &file, filepath, LFS_O_RDONLY);
    if (err) {
        return err;
    }

    err = lfs_file_seek(&lfs, &file, fileoff, LFS_SEEK_SET);
    if (err < 0) {
        return err;
    }

    err = lfs_file_read(&lfs, &file, data, size);
    if (err < 0) {
        return err;
    }

    err = lfs_file_close(&lfs, &file);
    if (err) {
        return err;
    }

    // update offset
    off += size;
    err = logrotate_setoff();
    if (err) {
        return err;
    }

    return 0;
}

Actually I just noticed you said LIFO not FIFO, was this intentional? A LIFO would actually be simpler, though less common.

@geky thanks for answer, I had FIFO in mind was quite late when I was writing this post and in the meantime I got a bit confused😜 I really like this concept of rotating two files with saving offset in the third one, looks like really good idea. I’ll put this together and write UT to test all the possibilities. Thanks a lot!

Also perhaps since you said yourself this type of logging is very common we could include something like this in utils folder?

That's a good idea. I was thinking actually create an examples section in the readme. Putting the code in a utils folder would mean we need to worry about backwards compatibility, since it's effectively a part of that API at that point, and this sort of thing may end up heavily customized by the user.


Changed PROGRAM-ID from CBL0001 to CBL0002

.

@salisbuk7897 PR is out of date with base branch, could you please update?

Issue resolved in #107


PlatformImageNotFound : The platform image xxxxxxx is not available

Description
It appears that the CI scripts that are provided with this repo are failing due to the inability to find the platform image to start with.   The script runs fine locally.
Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[X] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[X] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Current agent version: '2.217.2'
Is it regression?
unknown
Expected behavior
VHD/Managed Image should build when script is invoked and find the base OS image specified
Actual behavior
==> azure-arm.build_vhd: Running builder ...
==> azure-arm.build_vhd: Getting tokens using client secret
==> azure-arm.build_vhd: Getting tokens using client secret
    azure-arm.build_vhd: Creating Azure Resource Manager (ARM) client ...
==> azure-arm.build_vhd: Warning: You are using Azure Packer Builder to create VHDs which is being deprecated, consider using Managed Images. Learn more https://www.packer.io/docs/builders/azure/arm#azure-arm-builder-specific-options
==> azure-arm.build_vhd: Getting source image id for the deployment ...
==> azure-arm.build_vhd: Creating resource group ...
==> azure-arm.build_vhd: Validating deployment template ...
==> azure-arm.build_vhd: Deploying deployment template ...
==> azure-arm.build_vhd: ERROR: -> DeploymentFailed : At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details.
==> azure-arm.build_vhd: ERROR:   -> Conflict
==> azure-arm.build_vhd: ERROR:   -> ResourceDeploymentFailure : The 'AzureAsyncOperationWaiting' resource operation completed with terminal provisioning state 'Failed'.
==> azure-arm.build_vhd: ERROR:     -> PlatformImageNotFound : The platform image 'canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' is not available. Verify that all fields in the storage profile are correct. For more details about storage profile information, please refer to https://aka.ms/storageprofile

Repro steps

Fork repo
git pull upstream main && git push origin main
Run Ubuntu2204.yml or Win2019.yml CI scripts
Error occurrs

Hello! The CI scripts you mentioned are not intended for external usage without any prior preparations. If you need to create a custom image please follow this guide: https://github.com/actions/runner-images/blob/main/docs/create-image-and-azure-resources.md


[ci skip] [cf admin skip] NO_CI adding bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I've added bot automerge as instructed in #13.
Merge this PR to enable bot automerging.
Fixes #13

Closing this. Please see my comment in #12

I haven't seen any purpose in manually merging these, so I'm going to add automerge. Happy to take responsibility for fixing anything that goes wrong.


Add Async version

I add async versions for all api methods.

I approved the changes even if the package version was not incremented


Faster and more flexible template->code generation [HPPC-58]

Issue: HPPC-58 (migrated from JIRA), created by Dawid Weiss (@dweiss), resolved Apr 23 2011
Linked issues:

HPPC-57

Comment by Dawid Weiss (@dweiss) (migrated from JIRA)
In trunk.


Quests descriptions are not updating when modified

I create quests, but am then unable to update the quest descriptions. I make changes, but the changes don't save. The other fields seem to update okay.  I'm on Foundry 0.7.9, with Quest Log 0.5.3.
EDIT: I discovered the problem - I wasn't clicking the save button within the Description editor. Feel free to delete this issue.

Closing as per previous comment.


[5.8] Relax FileCheck directives for skip_clean_llbuild.test

This is needed short term to allow the test to pass when running on Python 3.11 and later and avoid errors like
<stdin>:44:1: note: non-matching line after previous match is here
<string>:1: DeprecationWarning: 'pipes' is deprecated and slated for removal in Python 3.13
^

Long term we want to replace uses of the obsolete pipes.quotes function with shlex.quotes.
Piggyback a change in round-trip-syntax-test from #63237 to avoid Python linting errors.
Addresses rdar://109664710
(cherry picked from commit 1534925f2171f56640840b324855ea3800d2442b,
#66062)

@swift-ci please test

@swift-ci please test Apple Silicon

@swift-ci please build toolchain

@swift-ci please test

@swift-ci please test Apple Silicon

@swift-ci please build toolchain

https://github.com/apple/swift-llbuild/pull/879
@swift-ci please test Apple Silicon


allow open cencus 0.8

Seems like dependabot did not do this correctly in #3423

This seems to fails since the open census azure ext conda package does not correctly depend on the azure core and azure identity package. The open census azure package is here https://github.com/conda-forge/opencensus-ext-azure-feedstock/  and the core package here. The core package is somewhat out of date also


How do you export the certificate's private key?

I need to move a website and it's certificate to a new server. Given that the private key is non-exportable, how do you export the certicate with a private key?  OR, where is the corresponding PFX file which I can install on the new server?
Thanks,
Nick

There is a setting "PrivateKeyExportable" in settings.json. By default it is false.
If the cert was created as non-exportable then you will not be able to export it.

You can either change the setting and refresh the certificate, or you can find the .pfx file and its password by looking at the certificate details in the menu "Manage certificates"

Thanks - I used the "PrivateKeyExportable" method and migrated the certificate OK.   Thanks!


changing Microsoft.HybridNetwork to correct service

Microsoft.HybridNetwork is not stack edge support, it is a new service called private edge zones

@swtiwari0709 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@swtiwari0709 - thanks for that fix.
#sign-off

Publishing in this repository is suspended until Tuesday, September 22. Merging will resume at 7 AM Pacific Tuesday.
This PR can be merged on 9/22.


Update INSTALL.md

I ran into an issue running these commands on ubuntu 20.04. 20.04 does not have qt4, it has been changed to qt5. I added this update to instructions. Please add to help other users.

this PR is out of date, deps.sh has recently been updated so 20.04 is now supported.


Unable to resolve 'Microsoft.AspNetCore.Op enApi (>= 7.0.11)' for 'net7.0'

Problem encountered on https://dotnet.microsoft.com/en-us/learn/aspnet/microservice-tutorial/create
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.
Operating system: Windows 11 Home 22H2
I followed the tutorial and install .net 7 and docker. then I ran dotnet new webapi -o MyMicroservice --no-https -f net7.0 in the command prompt window. I got below error message:
Restoring c:\xxxxx\microservice\MyMicroservice\MyMicroservice.csproj:
Determining projects to restore...
c:\xxxxx\microservice\MyMicroservice\MyMicroservice.csproj : error NU1100: Unable to resolve 'Microsoft.AspNetCore.Op
enApi (>= 7.0.11)' for 'net7.0'.
c:\xxxxx\microservice\MyMicroservice\MyMicroservice.csproj : error NU1100: Unable to resolve 'Swashbuckle.AspNetCore
(>= 6.5.0)' for 'net7.0'.
Failed to restore c:\xxxxx\microservice\MyMicroservice\MyMicroservice.csproj (in 84 ms).
Restore failed.
Post action failed.
What had I missed?

@erjain @nishanil

It might be an issue with your NuGet sources. Follow the instructions from https://github.com/dotnet/core/issues/6193#issuecomment-827395026 and see if that solves your issue.

I was not able to reproduce here.
https://github.com/jamesmontemagno/MyMicroservice works for me
Run:
PS C:\Users\jamont\Desktop\MyMicroservice> dotnet nuget list source
Registered Sources:
  1.  nuget.org [Enabled]
      https://api.nuget.org/v3/index.json
  2.  Microsoft Visual Studio Offline Packages [Enabled]
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\


Fix NetUtils: should be link-local address

What is the purpose of the change?
NetUtils: should be link-local address
Fixes https://github.com/apache/dubbo/issues/14792
Checklist

[x] Make sure there is a GitHub_issue field for the change.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[x] Make sure gitHub actions can pass. Why the workflow is failing and how to fix it?

LGTM


Can I do the same in AKS?

https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer
In particular the Step 6: (Optional) Serving multiple applications on a Load Balancer part.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ada58160-dc50-b977-d3bc-65f92406e16d
Version Independent ID: 5c596e04-fddb-effe-3b72-575f4df42d4e
Content: Configure ingress with Azure Container Service (AKS) cluster
Content Source: articles/aks/ingress.md
Service: container-service
GitHub Login: @neilpeterson
Microsoft Alias: nepeters

@spacecat - From the GKE doc.

a. Yes the Kubernetes LoadBalancer service type will configure an Azure load balancer and route http traffic to the specified app / pod. This is demonstrated in this doc.

b. For https termination, you currently need to configure an ingress controller. We have documented an example using the NGINX ingress controller, however others should also work.

Does this help?

The route and path part look similar.
Will check it out.
Thanks.

@spacecat - thanks. I am going to have this issue closed. If you need further assistance feel free to re-open, open a new issue, or contact me directly on Twitter (@nepeters).


1.18.2 support?

@Roundaround Is it possible?

Done! https://modrinth.com/mod/invisible-frames-mod/version/1.1.0+1.18.2


chore(master): release 2.0.0

:robot: I have created a release beep boop
2.0.0 (2024-07-17)
Features

add two more actions (#2) (2ac6a6d)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.0.0
:sunflower:


bumping indigo to kinetic

…kinetic"
Hi Lukas,
you requested 3 patches, here comes only one:
The general cleanup indigo -> ${ROSDISTRO} would be empty, as grep-ing for indigo only shows up in instances where it cannot be done (README, or additional config files which are not generated with bitbake. One would need to add an additional build step to generate those, but editing is quicker and in case of errors, easier to track down).
This pull request holds all changes, that basically move all hardcoded indigos to kinetics...
The last commit regarding bfl: I can change indigo to ${ROSDISTRO}, but I need to also change version from 0.7.0-6 to 0.7.0-2, which looks odd to me. But it seems necessary to build with kinetic... I can commit the patch at any time...
Thanks for your help,
Regards Matthias

Okay, this looks good to me. I will merge it.


Feature Request: Support for AdmissionPolicy type

Is your feature request related to a problem?
With the recent addition of the AdmissionPolicy type that can be implemented we need to be able to create this type of policy from the UI.
Solution you'd like
A separate page with the same criteria as the ClusterAdmissionPolicy type, which includes:

List view of policies
Detail view for specified policy
Creation screen

Alternatives you've considered
Depending on the UX requirements/preferences we could consolidate the two types (ClusterAdmissionPolicy, AdmissionPolicy) into one page, and filter based off of type.
Anything else?
Docs for configuring an AdmissionPolicy
It should be noted that Kubernetes version 1.21.0+ is required because of the kubernetes.io/metadata.name label being used.
TO DO

[x] Add type support
[x] List, detail, edit, and create views

Reference
Support has been added for the AdmissionPolicy type. You will now be able to create namespaced policies, view which policies are enforced and in which namespace, and edit a policy.
https://user-images.githubusercontent.com/40806497/159347858-bd4de79c-12cc-47cc-9f7c-bf80a4fbcae8.mp4


[FR] Custom zero position

Hello there!
By default zero progressbar position is always = min in non-range mode, even if min < 0. So, it will be cool to have something like this:

In the latest version, you can do it with process.
https://nightcatsama.github.io/vue-slider-component/#/basics/process


Fix test

I couldn't understand why the ordering check in test_1 is necessarily true, found it wasn't, and deleted the check.

The check was there for a reason!
The rationale is that not only do we want to check that the result is a valid permutation (the second part of the test where we sort and check that all the numbers are there and in their right place), but we also want to check that the permutation is "random". There are many ways of testing randomness, but in this instance I was just testing that "half" the time two adjacent items appear in one order, and half the time in the other. Of course, statistically, it will be half and half, and not necessarily half on any particular permutation. For the particular parameters, it happened to be exactly half, and as you proved, if you fiddle the parameters, it's not exactly half, but it should be "about" half.
A possible alternative that would be more robust is to calculate the mean of x[i] - i, which should follow a triangular distribution. The mean should be exactly 0 (which follows from it being a permutation), and the variance should be close to the expected value (see https://en.wikipedia.org/wiki/Triangular_distribution).
Unit testing for these things is a bit fraught - do you make it very specific, as I did in the code, or do you set up a general framework? There are pros and cons, of course.

I added that more robust test. See what you think.


[Sprint: 58] XD-3387 Improve masking of passwords

Mask any parameter that contains the words password or passwd
Add tests

LGTM, merged as a2dc2546562688576446a1347a6beaf3571af7ae


fix(rabbitmq): fix mq message type not json

mq接收的消息不一定是json字符串，可能是任意的编码数据，如果直接json转码，一定会报错。
建议转码部分交由业务处理，框架部分只是封装抽象业务，数据进行透明传递。

Hey @Dn9x Sorry, I'm just seeing this now. It seems reasonable but I'll need to translate the stuff you've provided

The message received by mq is not necessarily a json string, it may be any encoded data. If you directly transcode json, it will report an error.
It is recommended that the transcoding part be handed over to the business, and the framework part only encapsulates the abstract business and the data is transparently transmitted.

@Dn9x
感谢您的贡献。我认为您绝对正确的，该框架不应对通过RabbitMQ发送的消息数据的性质进行假设。目前，这是一个不错的解决方法，但是我将考虑如何在将来的版本中使其更加灵活。
Thank you for your contribution. I think that you are absolutely correct that the framework should not make assumptions about the nature of the message data being sent over RabbitMQ. This is a good workaround for right now but I will consider how we can make this more flexible in future releases.

@Dn9x
您的更改已发布，并且可以在@ nestjs-plus / rabbitmq @ 1.4.2中找到
your changes have been published and are available in<EMAIL_ADDRESS>


Change serialNumber

Hi
One short question. I changed the serialNumber after initial install but it doesn't change in the home app. Is this cached somewhere? Is there a way to change this somehow without deleting the device? I'm asking this because the controller app is reporting this conflict when making backups of the config.
Thanks!

Hi,
Homebridge would probably cache the serial number. I don't know off hand
how to change it without deleting the accessory and then adding it back. I
could look into it later, it's 4:23 AM at the moment.
Ttyl,
John Talbot
On Wed, Dec 22, 2021 at 3:46 AM arkadicolson @.***>
wrote:

Hi
One short question. I changed the serialNumber after initial install but
it doesn't change in the home app. Is this cached somewhere? Is there a way
to change this somehow without deleting the device? I'm asking this because
the controller app is reporting this conflict when making backups of the
config.
Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/ztalbot2000/homebridge-cmd4/issues/119, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSBCX656INATSQ5USJREWLUSGF7BANCNFSM5KSAVJAA
.
You are receiving this because you were assigned.Message ID:
@.***>

@arkadicolson  I would suggest have suggested to just delete the accessory from the homebridge cache from the UI settings; which sounds like what you want to avoid. Could be worth trying to removing serialNumber from your config, save and reboot; then add it back in, save and reboot. This might sort it out and is worth a go.

Hi,
I was right and so is Mitch. Unfortunately that is the only way; At this
time.
I say this is the only way now, because I have been working on
Homebridge-UI. It is no way near production ready, but I did try it for the
serialNumber and it allowed me to update it!
So I will close this as the accepted answer for now is to remove and add
it back. As well there is already an open ticket for the Homebridge-UI
feature.
Take care,
John Talbot
On Sun, Dec 26, 2021 at 6:22 AM Mitch Williams @.***>
wrote:

@arkadicolson https://github.com/arkadicolson I would suggest have
suggested to just delete the accessory from the homebridge cache from the
UI settings; which sounds like what you want to avoid. Could be worth
trying to removing serialNumber from your config, save and reboot; then
add it back in, save and reboot. This might sort it out and is worth a go.
—
Reply to this email directly, view it on GitHub
https://github.com/ztalbot2000/homebridge-cmd4/issues/119#issuecomment-1001159484,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSBCXZD7WFQT6K2ZLTXWJTUS33HFANCNFSM5KSAVJAA
.
You are receiving this because you were assigned.Message ID:
@.***>

closed as per last comment.


KeyError: 'user-agent'

Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/h11_impl.py", line 408, in run_asgi
result = await app(  # type: ignore[func-returns-value]
File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 84, in call
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1115, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 184, in call
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 162, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 108, in call
response = await self.dispatch_func(request, call_next)
File "/usr/local/lib/python3.10/dist-packages/api_analytics/fastapi.py", line 25, in dispatch
'user_agent': request.headers['user-agent'],
File "/usr/local/lib/python3.10/dist-packages/starlette/datastructures.py", line 568, in getitem
raise KeyError(key)
KeyError: 'user-agent'
i tried integrating this on my FastAPI, and this is what i am getting when utilizing this on AWS environment.

Thanks for letting me know, updating the fastapi-analytics package to 1.1.5 should fix the issue!


Update default transposition model

Having the default transposition model be isotropic seems like a very poor choice. Isotropic models are known to have very large biases and should only be used in very specific use cases (generally not be new users).
I did a brief survey of commercial software and found that the vast majority only offer the Hay-Davirs and Perez model, with the 1990 Perez model seeming to be favored as the default model.
It would seem to make sense to have the same default model used in pvlib.modelchain.ModelChain.
https://github.com/pvlib/pvlib-python/blob/cb4c1355712255c27ec5211a3cd9d93f12518613/pvlib/irradiance.py#L305-L310

I suppose this would seen as a "breaking change" and would have to wait until 0.11.0 if we choose to do this.

It would be great if get_total_irradiance could still be run with the current minimal set of inputs, even if the default model is changed to something more sophisticated.  #1225 got us halfway there by automatically calculating airmass for Perez, but left ET DNI alone since there is not always a datetime index available to calculate it.  Maybe we could examine the inputs to see if a datetime index is available and only raise the error if not?

It would be great if get_total_irradiance could still be run with the current minimal set of inputs, even if the default model is changed to something more sophisticated. ... Maybe we could examine the inputs to see if a datetime index is available and only raise the error if not?

This seems like a good approach to me. I suppose it should be incorporated here:
https://github.com/pvlib/pvlib-python/blob/46851d91bb70e9b5521feb7ec119b057ec3d7f70/pvlib/irradiance.py#L454-L455
What would be the best way of assessing if the index is datetime? Something like this:
isinstance(d.index, pd.DatetimeIndex)

I would like to throw my vote in the hat for Perez as the default transposition model, about 90% of predictions run in PlantPredict use the Perez model (this is without regard to the source of the meteorological data).  This is an imperfect measure of true usage industry wide, but I think it is a nice data point.

I suppose this would seen as a "breaking change" and would have to wait until 0.11.0 if we choose to do this.

Seems like we can and should do a deprecation period for this first.  That can be implemented any time, so I've removed the v0.11.0 milestone from this issue.


Fix fuel cost calculation for non-hourly load data

fuel_cost_per_kwh was erroneously being divided by time_steps_per_hour which is 2 for 30-minute interval and 4 for 15-minute interval loads. The fuel used/consumed calculation already accounts for time_steps_per_hour to get the correct energy used in each timestep, so we need the actual (input) fuel_cost_per_kwh to be preserved to multiply that with fuel used.
This PR avoids dividing fuel cost value by time_steps_per_hour.

@Bill-Becker, you want me to add the tests we talked about to check that the hourly and subhourly results are the same? Or is that not neccessary?

@Bill-Becker, you want me to add the tests we talked about to check that the hourly and subhourly results are the same? Or is that not neccessary?

I think that's a good idea in case we don't have that test coverage already. Just do a simple (short solve time) scenario with Generator that runs and check that that the annual fuel cost is the same for both 15 or 30 minute and hourly.

@Bill-Becker, you want me to add the tests we talked about to check that the hourly and subhourly results are the same? Or is that not neccessary?

I think that's a good idea in case we don't have that test coverage already. Just do a simple (short solve time) scenario with Generator that runs and check that that the annual fuel cost is the same for both 15 or 30 minute and hourly.

@Bill-Becker Okay, added to the tests. Let me know if you'd like me to put it into a separate test section called Subhourly or something. Seems like you fixed the discrepancy with your solution

@Bill-Becker did this get integrated separately? Wondering if this was fixed elsewhere

@Bill-Becker did this get integrated separately? Wondering if this was fixed elsewhere

Hmmm. I vaguely remember you opened up a second PR and that one took precedence over the first one, but I don't know how it  would have gotten fixed if neither were merged?!

@Bill-Becker, this pr replaced the last one. We might need to open this and review. I approved this and is ready for merging after your review

@Bill-Becker this pr replaced the previous one that was deleted. We might need to open this and review. I approved this and is ready for merging after your review.

@bpulluta Can you take a stab at making the Offgrid test that you added a little "easier". It's passing for me locally, but failing on GitHub Actions. It takes a long time to solve, and I'm wondering if that's causing some inconsistency in the results on GitHub Actions with the limited computational resources it has to solve.


Validating search scope parameter in spo web set does not work if value passed is an integer.

When issuing the following command:
spo web set --searchScope <any number>

the validation doesn't kick in but instead throws an error:
TypeError: args.options.searchScope.toLowerCase is not a function

I would suggest we fix it using 'searchScope.toString().toLowerCase()'. Would you like to pick it up and submit a pull request?

Sounds good to me.  That was how I was planning to fix it… .
So are still supporting passing a number (0 - 3) as you suggested in the other thread?    My only hesitation is if this is how it was done in the past - to support two ‘input types’ - string and integer.  If we’ve been allowing both, then it makes sense.  Otherwise, it’s best to keep the string inputs for consistency.  Let me know what you think.

@pdtane, I am sorry, I forgot that we have a list of string values. Lets keep the string values (no numbers), bit fix the validation error so when someone uses numbers it returns validation error that the available values are 'DefaultScope|Tenant|Hub|Site'

@VelinGeorgiev This is fixed by PR #1033.  Thanks.

The command clearly specifies the allowed values. If the command should support specifying numbers then I'd say it's an extension and not a bug. In all other commands where we have enum values, we support only the labels and not their numeric equivalents. Is there any reason why this command should work differently?

The bug is that the validation code is throwing an error when the input is a number.  The fix in #1033 does not add numeric inputs as valid options.  It just avoids the exception and shows the validation error message when someone specifies a number.  Hope this helps.

Ah sorry, my bad. You're absolutely right. Thank you and sorry for the trouble 😊

Yes, I am not sute if this is a bug or enhancemet Waldek. I was thinking to mark it as bug, not sure what was the reason to mark it as enchancement, but I had one at that time 🙂


Merge Labels/Taints of MachineSets

When MachineSets were generated, we overrode the existing labels and taints on the remoteMachineSet to reflect what was present on the MachinePool. This commit preserves the existing labels and taints on the MachineSet as long as they do not clash with those on MachinePool.
/assign @abutcher
xref: https://issues.redhat.com/browse/HIVE-2035

@abutcher This is ready for review

/lgtm

Tested that ProviderSpec labels were updated to include desired labels and were not stomped if there were pre-existing labels. :heavy_check_mark:


Local npm dependency support

Affected Packages

CLI
Problem

My monorepo uses npm's support for dependencies like "foo": file:../foo to ensure that cross-linked packages within the repo always use the latest, local version of the code. I would like to move from lerna to changesets for releasing, but it doesn't seem like they support file: references as dependencies yet?
I've been experimenting with this in this repo
https://github.com/tivac/changesets-test
and most commands end up telling me the following:

Package "@tivac/changesets-test-b" must depend on the current version of "@tivac/changesets-test-a": "1.1.0" vs "file:../a"

Is there a more changesets-y way to manage this? I specifically do not want to install the latest version of the other package within the monorepo, I'm often making changes across multiple packages and I'm not clear what the workflow for that would be. I know xstate uses changesets so I dug around in their package.jsons but didn't see anything that looked like it answered my questions.
Proposed solution

I'd love if changesets supported the file: dependencies natively, and automatically rewrote them to the latest version of the sibling package before publishing like lerna does currently.

I'm not really interested in using a 3rd-party package manager if I can avoid it.
I did some further testing on removing the file: references, and it looks like I can maybe just drop that entirely and npm will do the correct thing and create symlinks to the other packages? If that's the case then I think my issue is moot and I'll just need to do a pass on updating all those existing dependencies.
Thanks for the info @Andarist!

I did some further testing on removing the file: references, and it looks like I can maybe just drop that entirely and npm will do the correct thing and create symlinks to the other packages?

If using npm workspaces it should do that. Just note that for that to happen your dependency needs to have a version matching your requested dependency range. If you won't be doing manual edits and you will use Changesets for versioning then it should always hold true.


Compiling Android with too many arguments

I've been looking into compiling Android on Windows, and been playing with different options. The latest I did was "scons platform=android x86=yes" which worked up until linking. I couldn't even see the start of the command but it ends with "The parameter is incorrect." I've looked into it and found that Windows has a maximum character limit for command line arguments. This may be a start for finding a fix for compiling Android on Windows.

This was fixed in #2302 in detect.py where it comments on workaround for long command lines.
I actually have the same problem even after the fix, and for me it was because there was a space in my android sdk path. I removed the space and was able to build the .so

Thanks for the feedback, closing then.


primaryCertifier in KYCRegistry doesn't change

It seems to me that primaryCertifier in KYCRegistry doesn't follow the change in KYCCertifier. it keeps the initialized value.
Is this the specification you intended?

@mosasiru Thank you for the contribution. it's not intended. primaryCertifier should be updated anytime.
To fix, add the function to update state. e.g.
function updatePrimaryCertifier()


[Docker image] [register] error while loading shared libraries: libMIRTKPointSet.so.0 annot open shared object file: No such file or directory

Hi,
After pulling the official image updated 25 days ago register returns the following error:
/usr/local/lib/mirtk/tools/register: error while loading shared libraries: libMIRTKPointSet.so.0: cannot open shared object file: No such file or directory
Error: register command returned non-zero exit status 127

Thanks for reporting this! It seems the python/mirtk/__init__.py module is not setting the LD_LIBRARY_PATH correctly.
This works:
docker run --rm -it -e LD_LIBRARY_PATH=/usr/local/lib/mirtk biomedia/mirtk register -h

I made this change to the Dockerfile to fix this by setting the dynamic library search path in the Docker image. This is easier than fixing the generation of the __init__.py module for now. Keeping issue open, though, to address this later.

Hello, I have run into this same error. I am not calling MIRTK through Docker (I am actually running a package which uses MIRTK that I did not write so I cannot really modify it). Do you know how I could resolve this issue? Because you said it has something to do with LD_LIBRARY_PATH here is it for my system:
/usr/lib64/openmpi/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/opt/amazon/openmpi/lib:/usr/local/cuda/lib:/opt/amazon/efa/lib:/usr/local/mpi/lib:/usr/lib64/openmpi/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/opt/amazon/openmpi/lib:/usr/local/cuda/lib:/opt/amazon/efa/lib:/usr/local/mpi/lib:/usr/lib64/openmpi/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/lib/:
I was able to locate the file libMIRTKPointSet.so.0, it was located in /opt/mirtk/lib on my system. Any help regarding this would be greatly appreciated, thank you very much.

@karllandheer Have you tried export LD_LIBRARY_PATH=/opt/mirtk/lib:$LD_LIBRARY_PATH in your shell before executing the command? Specifically, I am assuming you are using Bash shell. This may be different if you use a different shell.

Yes that fixed the issue. Thank you very much!


updating nightwatch.json to nightwatch.js

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Update native dio adapter

Fixes https://github.com/cfug/dio/issues/1845
New Pull Request Checklist

[x] I have read the Documentation
[x] I have searched for a similar pull request in the project and found none
[x] I have updated this branch with the latest main branch to avoid conflicts (via merge from master or rebase)
[x] I have added the required tests to prove the fix/feature I'm adding
[x] I have updated the documentation (if necessary)
[x] I have run the tests without failures
[x] I have updated the CHANGELOG.md in the corresponding package

Additional context and info (if any)

Because the package requires dio 5.2.0, so it's publishing should be delayed until we get dio published.

Thank you!


enhancement add bvar for memory consumption in scanner queue

Proposed changes
Issue Number: close #xxx

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

run buildall


ARROW-3361: [R] Also run cpplint on Rcpp source files

Also fix a couple of lint issues that the script turned up

+1


fix(costmodels): Make create and back bold text in the review step

closes #1134

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1145   +/-   ##
=======================================
  Coverage   75.24%   75.24%
=======================================
  Files         228      228
  Lines        4408     4408
  Branches      833      833
=======================================
  Hits         3317     3317
  Misses        973      973
  Partials      118      118

Continue to review full report at Codecov.

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

looks good.


Fixed Google sign up. Still looking into the problem with Facebook si…

…gn up.
Description
Fixed Google signup bug. Still looking to FB signup issues.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Good to merge. Thanks for documenting the bug, as well.


Varre questline

There are 3 additional steps in between "Gain access to the Roundtable Hold." and "Retrieve the Bravo! Gesture near The First Step grace."

(Optional) Talk to Varre again near The First Step grace.
Earn Great Rune by defeating Godric the Grafted or any other shardbearer.
Talko to Enia at Roundhable Hold.

Thanks for the suggestion.
From reading the wiki https://eldenring.wiki.fextralife.com/White+Mask+Varre I can see that is a missing requirement.
I can see that is the case. I'll fix it

Added in fb41794


How can I extract my automations? I want to print them

Is your feature request related to a problem? Please describe.
I need to create a readme for all of my automations (from automations.yaml)
Describe the solution you'd like
I need to create a readme for all of my automations (from automations.yaml)
Describe alternatives you've considered
I don't have any idea

states.automation holds automation entities.


Update to ng-packagr version 5

Changelog https://github.com/ng-packagr/ng-packagr/blob/master/CHANGELOG.md#500-2019-03-27

@alan-agius4 Could you please take a look at the merge conflicts?

@kyliau, rebased.

@kyliau ups, I merged this one before your rotation is over. Sorry.


createIdentity and createNetwork

@esainane I made some changes to the createNetwork and createIdentity methods (different signature). Those modifications allow more flexibility and are closer to official client implementation.


ValueError: not enough values to unpack (expected 2, got 0)

File "/home/focus/github_project/AISFormer/detectron2/modeling/roi_heads/roi_heads.py", line 826, in forward
mask_head_results, instances = self._forward_mask(features, proposals, c_iter)
how  to fix  the  problem? it's  so strange.

This may be because the parameters were not passed in. Please check the previous code.


How to handle newlines when reporting

So right now all of the reports for the analyzers are just getting appended onto the output file without any newline characters, so everything is smushed onto one line. I think the best way to handle this would be for the analyze_log_stream method to add a newline character before each report (that way every time someone writes an analyzer they don't have to remember to add that newline), but I believe this would cause all our tests to fail due to #58. So I think our options are have each analyzer add the newline, or fix #58 first.

I'm working on this


Make artifact analyzer obey laws of physics

About the PR

Artifact analyzer only has a non-hard fixture, so it can be dragged through walls and can get stuck inside them.
Why / Balance

Artifact analyzer is made of fermions. Should occupy space.
Technical details

Media

Before:
https://github.com/space-wizards/space-station-14/assets/1676295/45e8dad7-8b07-4189-a027-e55f09402464
After:
https://github.com/space-wizards/space-station-14/assets/1676295/70088179-70d2-494a-bd2b-1b4c04c55278

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

fix: Artifact Analyzer now collides with walls

Pls check also anomaly synchonizer

Won't this block being able to drag artifacts onto it?

The fixture filters are setup correctly so that the machine collides with walls, but artifacts can still be placed on it and detected by the console:
https://github.com/space-wizards/space-station-14/assets/1676295/7c2d26fc-e573-46f4-b6d6-dde7516945d8

test fails arent erroneous

Oh, needed to merge master to see that failure;
It's a little unfortunate. The sprite component was noRot=true, and I made the fixture match, since otherwise you get mismatched physics:

I think it was a mistake to have mixed a noRot=true sprite with a noRot=false transform, but wasn't noticed because the analyzer didn't have proper physics before.
In the meantime, maps have been created where the analyzer has a non-zero rotation (this didn't make any visual difference - the machine always looked the same from any rotation), so we see asserts when loading these maps.
Is there some way the content in existing maps can be automatically migrated to reset their rotation? I could fix these maps up, but obviously don't want to create problems for forks. The alternative would be to make the sprite noRot=false so it matches the physics, but the sprite doesn't look great when rotated (snapCardinals=true didn't help)

Is there some way the content in existing maps can be automatically migrated to reset their rotation? I could fix these maps up, but obviously don't want to create problems for forks.

I mean, you can just bulk update them, maps are the last thing you have to worry about when thinking about conflicts cuz any update to them will conflict anyways

Merge master and search for saved rotations just in case (ping me once you do that to merge quickly), otherwise this looks good

@AJCM-git Thanks. Merged in master again; maps I modified haven't been updated and there are no new instances of MachineArtifactAnalyzer with a saved rotation.


A first try at some slides for our presentation on Wed.

Figured this was an easy way to share and collaborate.  Take a look at the presentation in the docs folder and let me know what you think.  Feel free to make any changes you want.

Did you mean the dev branch? There are lots of things in this that shouldn't be?

Yep sure did.

Those slides look fine to me :smile:

Changes Unknown when pulling 9ecf203bf4a51e12e30990aa40d239e0786ca0eb on 4_17_pres into ** on dev**.

Coverage remained the same at 93.943% when pulling af9c46d93bea7e5264e1a217fbfb47b47e54bf71 on 4_17_pres into 7506c3025e6a20c0fde4a386530f6d66834f35ae on dev.

Closing because we don't need the presentation in our repo.


Need a setFlag method

Hi
Is the a method that sets flags?
If not could it be added?
Thanks.

Hello! This is currently not added! I will begin working on it!

http://php.net/manual/en/function.imap-setflag-full.php

looks like it handles all flags.

in ImapClient.php add:
`
/**
* Set flag message
*
* @param int $ids or string like 1,2,3,4,5 or string like 1:5
* @return bool
*/
public function setFlagMessage($ids, $flags)
{
// We need better docs for this
return imap_setflag_full($this->imap, $ids, $flags, ST_UID);
}
/**
 * Unset flag message
 *
 * @param int $ids or string like 1,2,3,4,5 or string like 1:5
 * @return bool
 */
public function unsetFlagMessage($ids, $flags)
{
    // We need better docs for this
    return imap_clearflag_full($this->imap, $ids, $flags, ST_UID);
}

`
and use:
$imap->setFlagMessage(message_uid, message_flag); $imap->unsetFlagMessage(message_uid, message_flag);

Hello. I would be happy to add this code but in order to properly give you credit, I need you to submit a pull request. Would you mind that?

yes, I do not mind. i copy the code, this will be enough?


Update README.md to include CNI

If you wish for traffic to be sourced from the EIP's that are assigned to the pods, CNI changes are required.

Thank you for your contribution.

Thank you for your contribution.


fea add support for fix ip and cidr

This PR fixes:

#126
 openstack4j #25
 openstack4j #9

Tests still have to be fixed


Progressbar2 change

With the change to progressbar2 in the multi_chip branch errors will occur in all our other projects, including pybar development.
The issue is that the old package progressbar_latest is used in all other projects. When having  progressbar_latest and progressbar2, both modules have to be imported via import progressbar, so cannot be used at the same time. Additionally their API is not compatible (e.g.: max_value variable). I think we should refrain from progressbar2 usage, since it will create unnecessary work and at the end it is just a progress bar. Not really important.
If the urge is there to use another package one should use the much better tqmd. That avoids the name clash.

Yes, I'll fix that with a rebase. I'll do that later when pushing other changes.

Removed progressbar2 from multi_chip branch.


No response received for a mocked DELETE request

What is your Test Scenario?

We are trying to test a use case where a delete request is triggered. We are mocking this request using the requestHooks. The test does not cause any issues when it is executed locally. But when the test is executed against BrowserStack, it fails most of the time.
What is the Current behavior?

The delete request is executed by the test code. This can be seen in the Hammerhead logs as well as in the BrowserStack network logs.
In the BrowserStack network logs you can see that the OPTIONS request is mocked, but there is no response for the DELETE request.

BrowserStack network log OPTIONS request
{
    "pageref": "Page 0",
    "startedDateTime": "2021-04-27T17:24:50.356+02:00",
    "request": {
        "method": "OPTIONS",
        "url": "http://<IP_ADDRESS>:60063/eHur9nOl9!a!1!localhost%3A3000/http://localhost:8080/activities-service/v1/activities/:bulkDelete",
        "httpVersion": "HTTP/1.1",
        "cookies": [],
        "headers": [
            {
                "name": "Host",
                "value": "<IP_ADDRESS>:60063"
            },
            {
                "name": "Proxy-Connection",
                "value": "keep-alive"
            },
            {
                "name": "Accept-Language",
                "value": "en-us"
            },
            {
                "name": "Access-Control-Request-Method",
                "value": "DELETE"
            },
            {
                "name": "Accept-Encoding",
                "value": "gzip, deflate"
            },
            {
                "name": "Accept",
                "value": "*/*"
            },
            {
                "name": "Origin",
                "value": "http://<IP_ADDRESS>:60062"
            },
            {
                "name": "Content-Length",
                "value": "0"
            },
            {
                "name": "Access-Control-Request-Headers",
                "value": "access-control-allow-origin,content-type"
            },
            {
                "name": "Connection",
                "value": "keep-alive"
            },
            {
                "name": "User-Agent",
                "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15"
            },
            {
                "name": "Referer",
                "value": "http://<IP_ADDRESS>:60062/"
            }
        ],
        "queryString": [],
        "headersSize": 640,
        "bodySize": 0,
        "comment": ""
    },
    "response": {
        "status": 200,
        "statusText": "OK",
        "httpVersion": "HTTP/1.1",
        "cookies": [],
        "headers": [
            {
                "name": "content-type",
                "value": "text/html; charset=utf-8"
            },
            {
                "name": "access-control-allow-origin",
                "value": "http://<IP_ADDRESS>:60062"
            },
            {
                "name": "access-control-allow-methods",
                "value": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH"
            },
            {
                "name": "access-control-allow-headers",
                "value": "access-control-allow-origin,content-type"
            },
            {
                "name": "access-control-max-age",
                "value": "1800"
            },
            {
                "name": "allow",
                "value": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH"
            },
            {
                "name": "Date",
                "value": "Tue, 27 Apr 2021 15:24:50 GMT"
            },
            {
                "name": "Connection",
                "value": "keep-alive"
            },
            {
                "name": "Transfer-Encoding",
                "value": "chunked"
            },
            {
                "name": "Proxy-Connection",
                "value": "keep-alive"
            }
        ],
        "content": {
            "size": 0,
            "mimeType": "text/html; charset=utf-8",
            "comment": ""
        },
        "redirectURL": "",
        "headersSize": 469,
        "bodySize": 0,
        "comment": ""
    },
    "cache": {},
    "timings": {
        "comment": "",
        "send": 0,
        "dns": -1,
        "wait": 57,
        "ssl": -1,
        "connect": 1,
        "receive": 0,
        "blocked": -1
    },
    "comment": "",
    "time": 60
}

BrowserStack network log DELETE request
{
    "pageref": "Page 0",
    "startedDateTime": "2021-04-27T17:24:50.420+02:00",
    "request": {
        "method": "DELETE",
        "url": "http://<IP_ADDRESS>:60063/eHur9nOl9!a!1!localhost%3A3000/http://localhost:8080/activities-service/v1/activities/:bulkDelete",
        "httpVersion": "HTTP/1.1",
        "cookies": [],
        "headers": [
            {
                "name": "Host",
                "value": "<IP_ADDRESS>:60063"
            },
            {
                "name": "Access-Control-Allow-Origin",
                "value": "*"
            },
            {
                "name": "Accept",
                "value": "application/json; charset=utf-8"
            },
            {
                "name": "Proxy-Connection",
                "value": "keep-alive"
            },
            {
                "name": "Accept-Language",
                "value": "en-us"
            },
            {
                "name": "Accept-Encoding",
                "value": "gzip, deflate"
            },
            {
                "name": "Content-Type",
                "value": "application/json"
            },
            {
                "name": "Origin",
                "value": "http://<IP_ADDRESS>:60062"
            },
            {
                "name": "User-Agent",
                "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15"
            },
            {
                "name": "Connection",
                "value": "keep-alive"
            },
            {
                "name": "Referer",
                "value": "http://<IP_ADDRESS>:60062/eHur9nOl9/http://localhost:3000/activities"
            },
            {
                "name": "Content-Length",
                "value": "87"
            }
        ],
        "queryString": [],
        "headersSize": 661,
        "bodySize": 87,
        "comment": ""
    },
    "response": {
        "status": 0,
        "statusText": "",
        "httpVersion": "unknown",
        "cookies": [],
        "headers": [],
        "content": {
            "size": 0,
            "mimeType": "",
            "comment": ""
        },
        "redirectURL": "",
        "headersSize": -1,
        "bodySize": -1,
        "comment": "",
        "_error": "No response received"
    },
    "cache": {},
    "timings": {
        "comment": "",
        "send": 0,
        "dns": -1,
        "wait": 0,
        "ssl": -1,
        "connect": -1,
        "receive": 0,
        "blocked": -1
    },
    "comment": "",
    "time": 0
}

This problem occurs mainly in the Safari browser and not with the other tested browsers (Firefox, Edge, Chrome).
The corresponding Hammerhead Logs

Hammerhead logs, local run
hammerhead: proxy Proxy request pm4sxZpT1 OPTIONS / i0xqBeEKM!a!1!localhost % 3 A3000 / http: //localhost:8080/activities-service/v1/activities/:bulkDelete
    {
        "host": "<IP_ADDRESS>:51579",
        "origin": "http://<IP_ADDRESS>:51578",
        "access-control-request-method": "DELETE",
        "content-length": "0",
        "access-control-request-headers": "content-type",
        "connection": "keep-alive",
        "accept": "*/*",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
        "referer": "http://<IP_ADDRESS>:51578/",
        "accept-language": "de-de",
        "accept-encoding": "gzip, deflate"
    } + 5 s
hammerhead: destination Destination request is mocked pm4sxZpT1 200 {
    "access-control-allow-origin": "*",
    "access-control-allow-methods": "*",
    "access-control-allow-headers": "*",
    "allow": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH"
} + 5 s
hammerhead: proxy Proxy resource content info pm4sxZpT1 {
    isAjax,
    encoding: ,
    requireProcessing: false
} + 1 ms
hammerhead: proxy Proxy response pm4sxZpT1 200 {
    "content-type": "text/html; charset=utf-8",
    "access-control-allow-origin": "http://<IP_ADDRESS>:51578",
    "access-control-allow-methods": "*",
    "access-control-allow-headers": "*",
    "allow": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH",
    "set-cookie": []
} + 0 ms
hammerhead: proxy Proxy request ahSmYJRXO DELETE / i0xqBeEKM!a!1!localhost % 3 A3000 / http: //localhost:8080/activities-service/v1/activities/:bulkDelete
    {
        "host": "<IP_ADDRESS>:51579",
        "content-type": "application/json",
        "origin": "http://<IP_ADDRESS>:51578",
        "accept-encoding": "gzip, deflate",
        "connection": "keep-alive",
        "accept": "application/json; charset=utf-8",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
        "referer": "http://<IP_ADDRESS>:51578/i0xqBeEKM/http://localhost:3000/activities",
        "content-length": "87",
        "accept-language": "de-de"
    } + 2 ms
hammerhead: destination Destination request is mocked ahSmYJRXO 200 {
    "access-control-allow-origin": "*",
    "access-control-allow-methods": "*",
    "access-control-allow-headers": "*",
    "allow": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH"
} + 3 ms

Hammerhead logs, BrowserStack
hammerhead: proxy Proxy request XAG6NhXUt OPTIONS / PVHD1dFBK!a!1!localhost % 3 A3000 / http: //localhost:8080/activities-service/v1/activities/:bulkDelete
    {
        "host": "<IP_ADDRESS>:51910",
        "origin": "http://<IP_ADDRESS>:51909",
        "access-control-request-method": "DELETE",
        "content-length": "0",
        "access-control-request-headers": "content-type",
        "accept": "*/*",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
        "referer": "http://<IP_ADDRESS>:51909/",
        "accept-language": "en-us",
        "accept-encoding": "gzip, deflate",
        "via": "1.1 browsermobproxy"
    } + 5 s
hammerhead: destination Destination request is mocked XAG6NhXUt 200 {
    "access-control-allow-origin": "*",
    "access-control-allow-methods": "*",
    "access-control-allow-headers": "*",
    "allow": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH"
} + 5 s
hammerhead: proxy Proxy resource content info XAG6NhXUt {
    isAjax,
    encoding: ,
    requireProcessing: false
} + 3 ms
hammerhead: proxy Proxy response XAG6NhXUt 200 {
    "content-type": "text/html; charset=utf-8",
    "access-control-allow-origin": "http://<IP_ADDRESS>:51909",
    "access-control-allow-methods": "*",
    "access-control-allow-headers": "*",
    "allow": "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH",
    "set-cookie": []
} + 0 ms
hammerhead: proxy Proxy request 5 Q8BpjisH DELETE / PVHD1dFBK!a!1!localhost % 3 A3000 / http: //localhost:8080/activities-service/v1/activities/:bulkDelete
    {
        "host": "<IP_ADDRESS>:51910",
        "content-type": "application/json",
        "origin": "http://<IP_ADDRESS>:51909",
        "accept": "application/json; charset=utf-8",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
        "referer": "http://<IP_ADDRESS>:51909/PVHD1dFBK/http://localhost:3000/activities",
        "content-length": "87",
        "accept-language": "en-us",
        "accept-encoding": "gzip, deflate",
        "via": "1.1 browsermobproxy"
    } + 30 ms

I debugged the Testcafe code during execution and could see that the processing of the DELETE request suddenly stopped in the fetchProxyRequestBody function (request-pipeline/stages.js) without any error message.
What is the Expected behavior?

The DELETE request should return a response.
What is your web application and your TestCafe test code?

Test code

const deleteMock = RequestMock()
    .onRequestTo({ url: /:bulkDelete/, method: 'delete' })
    .respond({}, 200, {
        'access-control-allow-origin': '*',
        'Access-Control-Allow-Methods': 'GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH',
        'Access-Control-Allow-Headers': 'access-control-allow-origin,content-type',
        'access-control-max-age': '1800',
        allow: 'GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH',
    });

const deleteOptionsMock = RequestMock()
    .onRequestTo({ url: /:bulkDelete/, method: 'options' })
    .respond('', 200, {
        'access-control-allow-origin': '*',
        'Access-Control-Allow-Methods': 'GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH',
        'Access-Control-Allow-Headers': 'access-control-allow-origin,content-type',
        'access-control-max-age': '1800',
        allow: 'GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,PATCH',
    });

fixture(`List Activity`)
    .page(
        `${process.env.REACT_APP_ACTIVITIES_SERVICE_URL}:${process.env.REACT_APP_BROWSERSTACK_PORT}/activities`
    )

test.requestHooks(
    deleteOptionsMock,
    activitiesMock,
    deleteMock
)('It deletes 2 activities successfully', async (t) => {
    await t.setTestSpeed(0.5).click(page.checkAll);
    await t.removeRequestHooks(activitiesMock);
    await t.addRequestHooks(mockGetZeroActivitiesSuccess);

    await t.click(page.deleteButton);

    await t.click(page.popUpDeleteButton);

    await t.expect(page.emptyOverlay.exists).ok();
});

Your complete test report:

✖ It deletes 2 activities successfully

   1) AssertionError: expected false to be truthy

      Browser: Safari 14.0.3 / macOS 10.15.6

   (https://automate.browserstack.com/builds/cbc34ca1e00877023dc2987d52a7617b901bc280/sessions/c2c584f43f11f0aa2d2f1b6f76e93c3a35bcbbe5)

         222 |
         223 |    await t.click(page.deleteButton);
         224 |
         225 |    await t.click(page.popUpDeleteButton);
         226 |
       > 227 |    await t.expect(page.emptyOverlay.exists).ok();
         228 |});
         229 |
         230 |test.requestHooks(mockGetActivitiesSuccess, mockBadDeleteRequest)(
         231 |    'It tries to delete 2 activities, none gets deleted',
         232 |    async (t) => {

         at <anonymous>

Your Environment details:

testcafe version:                   1.14.0
node.js version:                    14.15.0
command-line arguments:  testcafe "browserstack:safari@14.0:OS X Big Sur" e2e/**/*.e2e-spec.ts -r spec --compiler-options typescript.configPath='./e2e/tsconfig.json'
browser name and version: Safari Version 14.0.3
platform and version:          MacOS 11.2.3 (Local system) / MacOS 10.15.6 (BrowserStack)
testcafe-browser-provider-browserstack:                                   1.13.1

Could this be an issue with the Hammerhead proxy, or is it more related to the connection to Browserstack? (We are already in contact with Browserstack support).

Hi @tillh
Could you please share an example that we can run locally?


The examples don't work.

The examples don't work.  Running example 2 against exchange online returns an error, "Parameter set cannot be resolved using the specified named parameters."

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

ID: 60c0b982-c393-9d32-0464-816e2d92cc51
Version Independent ID: 1e4625c2-9d18-6dd2-78c3-a05b26657395
Content: New-EmailAddressPolicy (exchange)
Content Source: exchange/exchange-ps/exchange/New-EmailAddressPolicy.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@jordanmills, the introduction of the topic says:

Use the New-EmailAddressPolicy cmdlet to create email address policies. In Exchange Online, email address policies are only available for Microsoft 365 Groups.

And both Example 1 and Example 2 start with:

This example creates an email address policy in an on-premises Exchange organization that uses...

So it appears these are the only interesting parameters that work in Exchange Online:

Name
EnabledEmailAddressTemplates
EnabledPrimarySMTPAddressTemplate
IncludeUnifiedGroupRecipients
ManagedByFilter
Priority

Well... i missed that part.  I just checked at the top to see where it applied to exchange online.  Thanks.

@officedocsbot assign @yogkumgit

@chrisda  Thank you very much for sharing this explanation. @jordanmills Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Set roundness (border radius) of a rectangle?

I sometimes use rectangles to indicate groups of objects, like this:

I wish the rounded corners could be more subtle for these rectangles – like setting border-radius in CSS or doing this in Google Docs:
https://user-images.githubusercontent.com/101152/118822965-e6c38a80-b8b8-11eb-8d97-5b8c5a912344.mov
I'm not sure if I missed some previous feature requests / discussions around this but I tried searching for "rounded corners", "roundness", "border radius" etc.

As a user, I wanted this feature several times.

Upvote.  And I would like this for equilateral polygons from triangles through hexagons.

@tsheeran1 when you say triangles/hexagons, you mean when you draw those shapes manually with the line tool, correct?

I love this app and this would make it so much more useful in many use cases where I have boxes of different scales

Would love this feature too! I can help contribute if need be. I think MVP is just an adjustable knob for the pre-set quadrilaterals, so the rectangle and diamond tool - although I would assume rectangles would be the most common usage by far, so potentially could even just start with that

Two ways to do this. A UI input-slider, or display radius handles in the rectangles on canvas ala Figma:

Both ways add complexity the UI. I'd be more for the latter (radius handles).
We'll need to consider this.

@dwelle Yes I'd agree not cluttering the ui should be a priority - both on-canvas and in the sidebar tooltray. I was envisioning a top-left positioned handle similar to the one shown by the OP from Google Docs, that are only visible when a given rectangle has already had the border-radius toggle activated. This would mean we'd keep the ui for regular (non-rounded) rectangles as-is.
I'd argue the 4 individual corner handles (and size measurement tooltips) from Figma are overly complex for the simplicity of excalidraw. And, applying the same logic, I'd agree with you that we shouldn't need a UI input slider in the sidebar tooltray, and that just the on-canvas handle should suffice

If we don't want to clutter the UI, how about adding a slider in the side bar just the one that exists for opacity

First step would be to try and come up with a better default, likely adaptive (depending on shape size). One of our principles at Excalidraw is reducing as much UI buttons/toggles as possible: simplicity is key.

If I understand correctly, having a strong curve in a small size and a small curve in a big-sized shape will be suitable.
I'll try to play with the code changes I did for the introducing curve in diamond to understand how we can do this with a C type curve.  As of now the starting point of the curve is decided by the distance between the two corners

No news about this?

+1 to this. 🙏🏻

+1 +1 +1

Can we like make a Chrome extension? Bc this repo is really not maintained at all let alone ship new features...

Yes!

Need this !

+1 Please allow fixed size rounded corner instead of proportional.


https://www.example.com

Yes

Why:

What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

Yes

Yes

4987686908302347)<*call//154704070010726 ngân hàng HDBank

4987686908302347)<*call//154704070010726 ngân hàng HDBank

Uploading odr_webscraping_executive_summary_en.pdf…

Uploading odr_webscraping_executive_summary_en.pdf…


Finetune on custom task

Thanks for your excellent work.
I am trying to finetune the SAM model on the Salient Object Detection task. I implement my custom dataset based on BaseSemanticDataset by replacing my own dataset_dirand replace ce loss with BCEWithLogitLoss to fix some bug.
However, the loss seems strange. Do you have any idea of this?

iteration : 1, bce : -218.368408203125, total_loss : -109.1842041015625, time : 0
iteration : 3, bce : -2733.0740509033203, total_loss : -1366.5370254516602, time : 0
iteration : 5, bce : -67497.31298828125, total_loss : -33748.656494140625, time : 0
iteration : 7, bce : -19547019.328125, total_loss : -9773509.6640625, time : 0
iteration : 9, bce : -303343570888.0, total_loss : -151671785444.0, time : 0
iteration : 11, bce : -6.906153512921124e+19, total_loss : -3.453076756460562e+19, time : 0
iteration : 13, bce : -inf, total_loss : -inf, time : 0
iteration : 15, bce : nan, total_loss : nan, time : 0
iteration : 17, bce : nan, total_loss : nan, time : 0
iteration : 19, bce : nan, total_loss : nan, time : 0
iteration : 21, bce : nan, total_loss : nan, time : 0

The nan is caused by the loss being too large or too small. You can limit the size of the loss through the weight, or normalize the loss. The loss weight can be modified in the yaml file in config/


Feature - Update Person Model and AddCommand

Person model now can contain a list of SocialMedia models. Moreover, address field in Person is being phased out.
This necessitated changes in Person::new, and associated classes that depend on Person's constructor.
Moreover, storage classes have been updated to store SocialMedia model.
The changes are detailed as follows:

Update AddCommand to accept new Person constructor
Update SampleDataUtil to accept new Person constructor
Update JsonAdaptedPerson to accept new Person constructor
Add JsonAdaptedSocialMedia to parse and store SocialMedia models
Add new getters in SocialMedia, PlatformName, PlatformDescription

Tests:

Tests are also updated to match new Person constructor, and removal of tests that are related to the address field.
❗ Could not figure out the one test case where edit command is failing. fixed in e603c44

What's missing:

Add UI to display SocialMedia models. (see TODO comment in PersonCard.java @chriswengqi 😃)

I think can just delete all the lines about address instead of commenting out.
The rest looks good.

Codecov Report

Merging #77 (2c6195d) into master (3689279) will decrease coverage by 0.25%.
The diff coverage is 77.51%.

@@             Coverage Diff              @@
##             master      #77      +/-   ##
============================================
- Coverage     72.15%   71.90%   -0.26%
- Complexity      399      425      +26
============================================
  Files            70       74       +4
  Lines          1232     1324      +92
  Branches        125      135      +10
============================================
+ Hits            889      952      +63
- Misses          311      326      +15
- Partials         32       46      +14

Impacted Files
Coverage Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)

src/main/java/seedu/address/ui/PersonCard.java
0.00% <ø> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
28.57% <38.46%> (+8.57%)
:arrow_up:

...a/seedu/address/model/socialmedia/SocialMedia.java
52.94% <52.94%> (ø)

.../seedu/address/logic/parser/EditCommandParser.java
86.20% <71.42%> (-6.11%)
:arrow_down:

...address/model/socialmedia/PlatformDescription.java
80.00% <80.00%> (ø)

.../seedu/address/model/socialmedia/PlatformName.java
81.81% <81.81%> (ø)

...c/main/java/seedu/address/model/person/Person.java
95.55% <83.33%> (-2.07%)
:arrow_down:

.../seedu/address/storage/JsonAdaptedSocialMedia.java
84.61% <84.61%> (ø)

...java/seedu/address/logic/commands/EditCommand.java
95.52% <88.88%> (-1.50%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

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


Build(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.18.0 to 5.19.0 (#3329)

Pull request opened by the merge tool on behalf of #3329

Merged in 1b189207be3c3a0fedaf570c5a9a829688437e53


Any way to provide app context to link resolver for nuxt-i18n compat?

When writing the linkResolver function, we must provide our full understanding of our app's routing. This works fine in simple cases.
However, some of us use nuxt-i18n to manage language-aware routing, which does some complicated things like discovering routes, merging them with custom language-specific paths, and siloing routes by language code. We can provide it with a full list of the languages we support, the default, etc.
It can be time-consuming and error prone to have to duplicate the final routing logic of nuxt-i18n when writing our linkResolver function. It would be significantly easier if we had access to nuxt-i18n's helpers, which are provided to components via global mixins and as part of Nuxt's context.app.
I believe this is the same issue that was mentioned here: https://github.com/nuxt-community/prismic-module/issues/23
I'm not super familiar with any of these libraries yet, so please forgive my lack of understanding here. Does anyone have suggestions on how to accomplish this? Perhaps we could amend how Prismic Nuxt loads the linkResolver before passing it to Prismic Vue - if it provided the plugin file with access to context and then expected it to return a constructed linkResolver function which makes use of the helpers it pulled from context.app?

Hey @zrisher, I'm really sorry for the delay, might have slipped through my notifications 🙏
I understand the issue here and this is a great feedback! I definitely agree that it's not convenient, error-prone, to maintain a routing strategy for Prismic separated from the Nuxt i18n one and I'm afraid there's currently no way to overcome that.
As pointed out in https://github.com/nuxt-community/prismic-module/issues/23#issuecomment-487290764 you should have access to doc.lang in order to perform routing in your link resolver. An alternative method to resolving links if through the apiOptions.routes object, more info about it here: https://prismic.nuxtjs.org/configuration#new-routes-resolver
We are planning to work on a major version (v. 2) of this module in Q1 2021 next year and I'll definitely look for a way to grant access to Nuxt context inside the link resolver and HTML serializer :)

I know this issue/feature request has been hanging in the balance for a while now and I'm sorry about that.
Nowadays, our preferred way of resolving documents URL at Prismic is now achieved through the Route Resolver: https://prismic.io/docs/route-resolver. It is not programmatic, it is just a rule object sent to the API so that document URLs don't need to be resolved at runtime anymore.
So I'm left a bit clueless as to how we could tighten integration with the i18n module here now 🤔
Thank you @zrisher for being a long-time contributor by the way, appreciate it ☺

Hi @lihbr, it is my pleasure to provide my feedback where I can on your excellent set of tools. Thanks for always being responsive.
It has been far too long since I looked at this particular use case to be able to say what this problem looks like now. Nuxt has changed quite a bit, and I don't have any current projects with it where I'm using an i18n module.
I think we can safely close this until someone else comes along with an understanding of something lacking in the current functionality.
Thank you!


Allow checkout path expansion without double dash

Fixes #814

My one concern here is that folks used to doing git checkout <tab> via posh-git might be a bit surprised to see modified files showing up in the completion list.  But if you're intent it to switch branches you could use git switch AND it is unlikely you'd switch branches when you have modified files.  @dahlbyk Penny for your thoughts?

My one concern here is that folks used to doing git checkout <tab> via posh-git might be a bit surprised to see modified files showing up in the completion list.  But if you're intent it to switch branches you could use git switch AND it is unlikely you'd switch branches when you have modified files.  @dahlbyk Penny for your thoughts?

Appreciate the quick PR to address your issue. I do think we should to avoid changing this behavior for existing users, but would love your input on https://github.com/dahlbyk/posh-git/issues/814#issuecomment-1084100397.

Appreciate the quick PR to address your issue. I do think we should to avoid changing this behavior for existing users, but would love your input on https://github.com/dahlbyk/posh-git/issues/814#issuecomment-1084100397.


Make insta CLI work outside of cargo, and distribute it via npm

sentry uses insta to review snapshot files generated by python code. There is an ad-hoc implementation of insta-the-library vendored somewhere in sentry.utils.pytest.fixtures.
People who want to review those snapshots currently have to install insta via cargo. What if insta used cargo-dist to distribute insta CLI on npm instead? Then sentry can add it to the developer's setup using yarn add --dev. Yes, as a frontend dev dependency, but everybody knows how to install those. Better would be pypi package, but who has time for that.

fwiw i tried cargo-dist on another project and it isn't really hard to get it working for both npm + prebuilt binaries, can recommend

cargo-insta now has binaries. Closing this as resolved.


[QUESTION] Sent messages may not be completed yet.

I have this configuration:

lib
version

ubuntu os
20.0

PHP Version
8.0.13

rdkafka version
v5.0.2V

librdkafka version (runtime)
1.2.1

librdkafka version (build)
<IP_ADDRESS>

"mateusjunges/laravel-kafka"
^1.5

and my producer code
 $producer = Kafka::publishOn('topic')
    ->withKafkaKey('your-kafka-key')
    ->withKafkaKey('kafka-key')
    ->withHeaders(['header-key' => 'header-value']);

$producer->send();

get error
Junges\Kafka\Exceptions\CouldNotPublishMessage Sent messages may not be completed yet.

Can't reproduce your error on a fresh laravel installation.
Can you test your kafka connection via console producers/consumers? (Maybe this doc](http://cloudurable.com/blog/kafka-tutorial-kafka-from-command-line/index.html) can help you with that.

@mateusjunges  thanks for the help me.
Thank you for creating a solid Kafka package.

I'm glad i was able to help you!


feat: query filters

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


cdn.conf validation checks for secrets instead of shared_secret

Doesn't affect function of secrets,  only warning message for cdn.conf.

Fixes #631


Feature/initial html for calculator

I added input, radio buttons, button to calculate and output labels.

Commit messages don’t have to be merged with ’-’ or _ . This tyle applies only for branch names

This pull request looks good overall. Please adjust to my comments and we can move foreward. Well done tbh

I didn't really know to which tag to change the form tag. I've nested everything from the form tag in div tag. The rest of the changes should be okay.

updated readme with next tasks. This PR is ready to be merged

please always answer to comments on PRs


Compensate for changed require statements in mm

Middleman changed a require statement (https://github.com/middleman/middleman/commit/14104aad70e9431d4891e835474efa7937b396a8) in the 3.3.9 release that leads to the following error
...middleman-imageoptim/manifest_resource.rb:3:in `<module:Imageoptim>': uninitialized constant Middleman::Sitemap (NameError)
...

This pull request compensates for that change.

This should now be resolved after #38?

Yes, it is. Thanks!


overload imread

https://github.com/Itseez/opencv/pull/4228
example usage :

when the Size(w,h) values < 9
imread(filename,flags,Size(2,0)) -> imagesize = originaldimensions / 2
imread(filename,flags,Size(0,2)) -> imagesize = originaldimensions / 2
imread(filename,flags,Size(2,2)) -> imagesize = originaldimensions / 2
.
.
imread(filename,flags,Size(8,0)) -> imagesize = originaldimensions / 8
imread(filename,flags,Size(0,8)) -> imagesize = originaldimensions / 8
imread(filename,flags,Size(8,8)) -> imagesize = originaldimensions / 8

when the Size(w,h) values > 8
imread(filename,flags,Size(800,0))     -> width= 800 , height = calculated
imread(filename,flags,Size(0,800))     -> width= calculated , height = 800
imread(filename,flags,Size(800,600)) -> width= 800 , height = 600

@sturkmen72, thanks for the patch!
But I think, the current solution is much better than the proposed one.

imread_reduced uses the internal libjpeg facilities to get the reduced image. This is done thanks for the natural DCT properties.
the extended modes rely on cv::resize and thus this becomes a convenience function, which interface looks quite ugly. I suggest to leave imread and imread_reduced as is. An extra function resizeFit(InputArray src, OutputArray dst, Size dsize, int interp) could be added to imgproc module that takes the input image and makes sure that the result fits dsize while preserving the aspect ratio.


Widget isn't visible in Release mode build

This widget isn't visible when I tried to run in release mode, all I get is below message in output window.
I/flutter (19247): Unsupported operation: Infinity or NaN toInt
I/flutter (19247): #0      State.widget (package:flutter/src/widgets/framework.dart)
I/flutter (19247): #1      _PositionedListState._schedulePositionNotificationUpdate. (package:scrollable_positioned_list/src/positioned_list.dart:348)
I/flutter (19247): #2      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1145)
I/flutter (19247): #3      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
I/flutter (19247): #4      SchedulerBinding.scheduleWarmUpFrame. (package:flutter/src/scheduler/binding.dart:863)
I/flutter (19247): #12     TickerFuture.whenCompleteOrCancel.thunk (package:flutter/src/scheduler/ticker.dart:407)
I/flutter (19247): (elided 10 frames from class _RawReceivePortImpl, class _Timer, and dart:async)
I/flutter (19247): Another exception was thrown: Instance of 'DiagnosticsProperty'
I/flutter (19247): Another exception was thrown: Instance of 'DiagnosticsProperty'
This seems to be the case even with Example code at https://pub.dev/packages/calendar_timeline/example.
Debug mode works fine without any issues. Any help would be highly appreciated. thanks.

Hi @nammaapp, thanks for reporting the bug. I'm trying to reproduce the error on a real device in release mode and I can't. Can you give me more information about the error? Device, OS version, etc.

Hi,
I also have the same issue in the release version of the website after launch. Please check the attached images showing the issue. In the first one it worked all fine while debugging and in the second one after release, it didn't display anything. I have tried it on Chrome and Safari both have issues after release.
Regards,

Hi @truly6ve, What error does it show in the console? What flutter version do you use?

Hi,
I also have the same issue in the release version of the website after launch. Please check the attached images showing the issue. In the first one it worked all fine while debugging and in the second one after release, it didn't display anything. I have tried it on Chrome and Safari both have issues after release.
Regards,

Hi @truly6ve, just call setState(() {}) once after everything loaded, that should fix the issue as a temporary solution. In my case, I moved 'data loading' part into a FutureBuilder and which somehow repaints the calendartimeline again in release mode.

Hi @nammaapp, thanks for reporting the bug. I'm trying to reproduce the error on a real device in release mode and I can't. Can you give me more information about the error? Device, OS version, etc.

Hi ikicodedev, I receive this error in my samsung S8 plus (SM-G955FD) phone, but worked fine on other mobile devices I tried. If you look the stack trace I previously mentioned, the exact error occurs at package:scrollable_positioned_list/src/positioned_list.dart at line 348,  positions.add(ItemPosition(... at else {} part.
I tried checking by adding simple print() statements and found that "itemOffset" variable somehow becomes NaN in release mode.
final itemOffset = box.localToGlobal(Offset.zero, ancestor: viewport).dx;
print(itemOffset);
I/flutter (19507): NaN
I'm not a flutter expert but feeling like this error might cause painting to stop. Somehow calling a blank setstate() repaints the control properly. I added a Button and onclicking it, just called setstate() function which made the calendartimeline to reappear in release mode.

Hi @ikicodedev,
I am using 2.8.1 version and the error in console is: "Another exception was thrown: Instance of 'minified:ne'"

Hi,
I have fixed it....actually it was due to using Expanded or Flexible on ListTile and when I replaced it, it worked all fine in the release mode. There was no issue in the Calendar Timeline.
Sorry for inconvenience.


Add headless mode

@tlambert03
This was pretty straightforward and works on my mac (havent tested on windows). If you replace Pycromanager java with the latest version and do a pip upgrade you should be able to test it out.
Example script: https://github.com/micro-manager/pycro-manager/blob/master/test/headless_demo.py
One remaining thing is specifying the right version of Java. I know the MM installer installs its own JRE, and this is the one that everything is tested on so it would be good to use this. Right now this code is equivalent to calling:
java -classpath "/path/to/mm/jars/*" org.micromanager.remote.HeadlessLauncher
I'm pretty sure you can specify a version of java by replacing java with /path/to/java installation. But I don't know how to figure out what the path java that the micro-manager installer adds is. @nicost do you know how to figure this out?

whoo hoo!  this is great, thank you!  will give it a try soon

not quite working for me yet... looks like some path stuff to figure out:
if I run the subprocess directly, it cannot find the headless launcher:
❯ java -classpath "/Applications/Micro-Manager-2.0.0-gamma1-20201220/plugins/Micro-Manager/*" org.micromanager.remote.HeadlessLauncher
Error: Could not find or load main class org.micromanager.remote.HeadlessLauncher
Caused by: java.lang.ClassNotFoundException: org.micromanager.remote.HeadlessLauncher

(note, my plugins folder has Micro-Manager (title case) instead of lower case micro-manager used in your command... but neither one made a difference)
some more info:
❯ which java
java is /usr/bin/java

❯ java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)

do I need to somehow compile remote/HeadlessLauncher.java first?  (please forgive the java naiveté)

No, it is compiled within PycroManagerJava-0.20.2.jar, so you just need to make sure that is on your classpath.
My Java version is different, but seems unlikely this would be the culprit:
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

The date of the application folder is quite old. @tlambert03 did you install yesterday's nightly build (that should have @henrypinkard's latest changed)?

You could try writing the name directly:
java -classpath "/Applications/Micro-Manager-2.0.0-gamma1/plugins/Micro-Manager/PycroManagerJava-0.20.2.jar:" org.micromanager.remote.HeadlessLauncher

This won't work because you haven't added the other jars in that folder. It gives the error:
Exception in thread "main" java.lang.NoClassDefFoundError: mmcorej/CMMCore
	at org.micromanager.remote.HeadlessLauncher.main(HeadlessLauncher.java:19)
Caused by: java.lang.ClassNotFoundException: mmcorej.CMMCore
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 1 more

Yes I think thats a good idea to update the build. You will still need to manually replace PycroManagerJava though in the new nightly build because I haven't pushed the new one yet

From nico:

A JRE is only provided on Windows, i.e. not on the Mac. On Windows the JRE is in the micro-manager installation folder /jre/bin/java.exe. The complete path on my system is /c/Program\ Files/Micro-Manager-2.0gamma/jre/bin/java.exe. Note that this does not tell you which version it is, although I guess you can figure it out by running it with the appropriate flags.

Another way is looking at the contents of ImageJ.cfg. For me it says:

.
.\jre\bin\javaw.exe
-Dsun.java2d.dpiaware=false -Xmx2000m -XX:MaxDirectMemorySize=1000g -cp ij.jar ij.ImageJ

This would also let you the same flags as used by Micro-Manager.

So it should be straightforward to add in to run using this java version automatically on windows systems.
For Mac, I guess you'll have to install the correct java manually, but I can write a little script to pull out the version that the libraries were compiled with to make installation of this easier


'Old' view UI issues

Please see UI issues found when using the 'old' UI settings options:

Running on Chrome 46.0.2490.80 m

@triforce what screen resolution are you running that on? And are you zoomed in/out at all on the page by any chance?
I was not able to replicate the issue. This is what I see on the demo and when running linux-dash locally:

Screen resolution 1280 x 1024. No zoom on the browser (i.e at 100%).

Still not able to replicate the issue. It was checked in Chrome Version 46.0.2490.80 on Windows 7 & Ubuntu 14.04. I also checked against Firefox version 42.0 on both operating systems.

At this point, I would need more information on how to duplicate your issue. Would you be able to provide a link to your linux dash instance, either privately via email or here, so I can help debug?
If not, I am open to any other suggestions you might have to replicate your issue.

I have done a fresh install and it's absolutely fine now. Closing.

:+1:


Remove session token hash conversion

Fixes #1958

I think we should go with it. It's very unlikely that someone went from a v2.6 history to latest master at this point, since that PR was merged long ago. And even if that's the case, they just have to login.

No, my concerns were based on an incorrect assumption on my part. I didn't realise it was only a login.

Thanks @McInkay! 🙏


refactor: move session initialization from WebSocket to REST API

Currently the frontend starts a session by connecting to the websocket and then sending an INIT event with initialization data. This PR changes that to use a REST API endpoint instead.
Changes

Add POST /api/conversation endpoint for session initialization
Update frontend to use new endpoint instead of WebSocket INIT event
Remove WebSocket INIT event handling from backend
Move all conversation-related routes (e.g. list-files and submit-feedback) to /api/conversation/{id}/...
Main frontend now includes conversation ID in the URL
Removed all the JWT token encryption logic

SIDs (now conversation IDs) are no longer secret
This PR CANNOT BE MERGED until https://github.com/All-Hands-AI/OpenHands/pull/5371 is merged, and a new auth mechanism is put in place here, at least for multi-tenant

Auth mechanism is in place now

TBD if we need auth for OSS, since everything is on OSS--would love to hear any opinions here

I've explicitly mentioned that OSS is meant to be run locally now, with no isolation

Resolves #4281

To run this PR locally, use the following command:
docker run -it --rm   -p 3000:3000   -v /var/run/docker.sock:/var/run/docker.sock   --add-host host.docker.internal:host-gateway   -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:7a6330f-nikolaik   --name openhands-app-7a6330f   docker.all-hands.dev/all-hands-ai/openhands:7a6330f

@amanape was that error when creating a new session? Or connecting to an existing one?

@amanape was that error when creating a new session? Or connecting to an existing one?

When creating a new one

Fixed!

The good:

I like the conversation_id in the URL (This makes so many things in the SAAS env easier) - the URL may be shorter if we used base62 vs hex for the URL (22 vs 32 chars - SocketIO does this too.)
I Love the appropriate use of contexts for conversations in the frontend 🙌
Love the removal of github_auth from the OSS api! 🙌
The new names make a lot of sense (start_local_session -> start_agent_loop, init_or_join_session -> join_conversation 🙌)

The Questions:

(Noted inline mostly)
The first time I loaded I got an odd blinking effect when initializing the session - I was not able to reproduce this on subsequent attempts.

The first time I loaded I got an odd blinking effect when initializing the session - I was not able to reproduce this on subsequent attempts.

If you've recently rebuilt the frontend, Vite does some dependency optimizations which causes some refreshes. It is a first time (per fresh build) only thing

OK all changes made, and things seem to be working well! 🚢

This is a good change, we've been wanting something like this too vs the custom websocket init handshake process.