Return an error for invalid backend schemes

Closes #1021

Codecov Report

Merging #1070 into master will increase coverage by 0.06%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master    #1070      +/-   ##
==========================================
+ Coverage   53.81%   53.88%   +0.06%
==========================================
  Files         117      117
  Lines        8895     8912      +17
==========================================
+ Hits         4787     4802      +15
+ Misses       3407     3405       -2
- Partials      701      705       +4

Impacted Files
Coverage Δ

src/restic/backend/location/location.go
65.71% <52.94%> (-12.07%)
:arrow_down:

src/restic/backend/s3/s3.go
64.75% <0%> (+1.32%)
:arrow_up:

src/cmds/restic/lock.go
67.79% <0%> (+1.69%)
:arrow_up:

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 2b1c6d3...b2ce7e8. Read the comment docs.


fix(api): only add tip if pickup successful

Overview
Accompanies https://opentrons.atlassian.net/browse/EXEC-432
Currently in ot3api during a call to pick_up_tip, a tip is cached to the present pipette regardless of whether the pickup succeeded. This was fine, because if the pickup failed, then the current run would end and all instrument information gathered over the course of the run would be erased.
If we want to recover from this and keep the same instances of Pipette, though, we should just verify the tip presence before caching information in the api.
This will probably want to change in the future as we build out tip_handler and do more to accommodate partial tip pickup, but I think this is fine for now.

I'm kind of confused about how this was operating before. If there was no tip present, I'm presuming OT3API.pick_up_tip() raised an exception—is that correct? If so, where did the exception propagate out of? Since add_tip_to_instr() was one of the last things pick_up_tip() did, I don't see how the tip pickup could have failed in a way that add_tip_to_instr() still ran.

The hardware api itself doesn't check- whatever is calling it will call verify_tip_presence afterward- this is how tip_presence.py does it for the protocol engine. The slightly messy thing about this is that the tip information gets held in a Pipette object, which belongs to the api.
So as it exists now, the parts of the code that would normally be verifying a tip pickup at the end, don't have the power to cache the tip info themselves.


Readme Fix: Update Usage Snippet

what

Update README to reflect that the nested object attribute raw_message_delivery is a required attribute within var.subscribers
Mis README updates

why

The usage snippet is misleading because it does not reflect the required nested object attribute raw_message_delivery

references

N/A

/test all

Closing in favor of #20


replace checksum/ with checksum/secret in helm

@kargakis ptal

OK, now it's a good time for me to figure out how this works for helm. I assume helm has a mechanism to restart deployments, because merely updating object's metadata.annotations is not going to start new rollouts.

fixed ;)

lgtm


There are interfaces in the object that cannot be filled

There are interfaces in the object that cannot be filled

Which interfaces are you referring to? Please provide an example, and I will re-open this issue for investigating.


hongbo/unsafe truncate length

change the unsafe primitive from set_length to unsafe_truncate_length (used only in shrinking and document it)
fmt
tweak

Pull Request Test Coverage Report for Build 3281
Details

5 of 5 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.17%

Totals

Change from base Build 3280:
0.0%

Covered Lines:
4077

Relevant Lines:
4902

💛  - Coveralls

cc @hackwaly


add resnet-50 prototxt

add support for Faster RCNN+ResNet-50.

Thank you!
Have you test the net on pascal voc? Would you please upload the resnet-50 you trained and give us the link?

I have test the net on my own dataset (containing only one class), not  yet on pascal voc dataset.

@Eniac-Xie .Thank you for your code. But I want to know how you train ResNet101_BN_SCALE_Merged.caffemodel which is used to initialize the model parameters。

@lixiang-ucas thanks a lot.  @Eniac-Xie  I tried to change class-aware to class-agnotic(fg or bg, 2 class for bbox regression ) as R-FCN  did,but not save much memory (class=6 ,RPN_POST_NMS_TOP_N=1000),and I trained  resnet-101 on my own dataset failed. I think the readonly brach take up much menory


Closes patient modal by escape button

Description of PR
Patient information modals will close on the Escape button press.
Relevant Issues
Fixes #1738
Checklist

[x] Compiles and passes lint tests
[x] Properly formatted
[x] Tested on desktop
[x] Tested on phone

Thanks for the PR :D


Cannot unsubscribe from old subscription - did.json 404

Describe the bug
I get an error when trying to unsubscribe to an old subscription.
Looks like the did.json is 404.
To Reproduce
Steps to reproduce the behavior:

Have an old subscription (eg PS test)
Unsubscribe

Expected behavior
As a user, I should always be able to unsubscribe.
Screenshots

Additional context
This doesn't seem like a priority, but it is something we should handle.

@devceline did this get merged?
I tested it with your preview branch and it was successful, but now I can't test again.

Closed with updates from notify client


add pseudo css element on notifications tab if unread notifications is greater than or equal to 1

red circle is fine.

if users go to notifications all the currently rendered notifications should be marked as seen. then if new notifications are added it should make the pseudo element pop back up


Type Parser: Multiple Definitions in typedef

A lot of windows headers use a pattern for creating typedefs and pointer-typedefs in one line:
typedef struct _test {
	int a;
} test, *ptest;

Currently, we print a syntax error and require the two typedefs to be separated, even though this is valid C (and common for windows).

Clang can parse these types into their multiple definitions, included as of build 3.0.3413-dev. Core parser does not, but this is being closed since a solution now exists.


TSP queues performance

Description
The TSP queues perform very slowly. Right now it takes 30 seconds to get 50 shipments in a api call to staging. (For comparison, 1250 moves are returned in office on prod in about 250 ms.)
@lynzt walked me through how we were using Pop's Eager method to load in associated tables, and we discovered that we were loading relations that we didn't need on the queue page.
This revealed a larger issue with Pop, and a potential solution that we are going to monitor.
Setup

Visit the TSP queues page and you won't have to wait forever to see your shipments.

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

Screenshots
I ran these benchmarks locally and while I don't usually put much stock in local benchmarks, I think we're coming out ahead with this change.

nice job... I'm not going to approve since I worked on this w/ you, but super excited to see this implemented. Also, tagging @jim since he helped me when I was first looking into the slow queries...

Will mark this ready for review once I figure out why this integration test is still failing...

@garrettqmartin8 good call. Updated the description.

Still can't seem to get these integration tests to pass. They're failing on different different tests every time :/


Ease ability to depend on external workspace from parent workspace

Essentially I'd like to expose an API like addExternalRepository(repoName) which copies the repo directory from runfiles and adds it to the test workspace (as a local repository).
Part of the challenge is that it seems that at least for some use-cases you need to manually generate BUILD files and those need to have custom content (for example use java_import) so I'm not sure how this should work.
I do know the current API is hard to use.
Some very rough parts can be observed in addExternalRepositoryFor, repositoryDeclarationFor, writeWorkspaceFileWithRepositories from https://github.com/bazelbuild/bazel-integration-testing/blob/21425e04588cb687da085b15524a337bfb28c6c6/javatests/build/bazel/tests/integration/BazelBaseTestCaseTest.java

I think #71 solved this for archives.
We should probably solve it for git_repository and we can close this one


Web CI and CD Workflow Pipelines

Pull Request for JIRA Ticket: JIRA-74
Issue ticket number and link
https://jag.gov.bc.ca/jira/browse/JASPER-74
Description

Made some updates to /web to be able to build the docker image successfully.

CI and CD workflow for the Web (Vue) project

CI (build-and-test-web.yml) is triggered when a PR is created targeting master branch.

CD (deploy-web.yml) is triggered when changes are pushed to the master branch (merged PR) which does the following:

Triggers CI process
builds, tags and push the web image to GCHR.
deploys the image to the dev environment.
The workflow is gated in such a way that it requires approval before continuing deploying to TEST or PROD.

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Executing the workflow manually in Github Actions where the feature branch is set.

All of these issues don't need to be addressed all at once.  We could address the main ones, the inconsistences and then deal with the others as separate enhancement tasks.

My only real comments and concerns are around the image/code build.
There's some inconsistencies with the way the image/code is being built. It's built using a matrix to define the node version (currently v12) when the code is built and tested. Node 12 is also used by the manage script during the s2i build, but node 10 (hard coded) is being used by the ./web/Dockerfile.node and the workflows. I like the matrix approach, but the docker builds/files would need to be updated to support the nodes versions being passed in as arguments. Examples; https://github.com/hyperledger/aries-cloudagent-python/blob/main/.github/workflows/publish.yml, https://github.com/hyperledger/aries-cloudagent-python/blob/main/docker/Dockerfile
Any dockerfiles should be defined under the docker folder (i.e. not in web).
Builds should be consistent and use consistent tool versions. My comments above would address this.
Workflows should stick with building images using maintained GitHub Actions such as docker/build-push-action and redhat-actions/s2i-build where possible.
We might want to switch the web build over to using a composite build. https://github.com/hyperledger/aries-cloudagent-python/blob/main/docker/Dockerfile is an example of this.
Happy to have a meeting to discuss further if you like.

@WadeBarnes Appreciate the great comments. I actually got the idea from this PR from the main SCC branch but I was able to address the major comment and now passing the node version as an argument to the Dockerfile. I had to break the node-version to node-major-version and node-minor-version because only the major version is accepted by dockerhub.
I also created a new ticket (https://jag.gov.bc.ca/jira/browse/JASPER-101) so the enhancement effort is tracked.


Add a --help manual entry

git-cm doesn't feature a manual entry:
$ git cm --help
No manual entry for git-cm

I didn't add one as there aren't any command line arguments that git-cm currently uses. Maybe a basic help + version flag would be appropriate though.

I didn't add one as there aren't any command line arguments that git-cm currently uses. Maybe a basic help + version flag would be appropriate though.

Why does adding things after git cm creates runtime errors then? Is it because it default to whatever's the default git behavior?

It's a "hidden" feature that I actually forgot haha. You can specify a repository with the first arg.

It turns out that git falls back to man git-<subcommand>, in the case of your binary it would be man git-cm.
Is it even possible to add anything more than the binary's installation when running cargo install?
We probably could generate a manpage at runtime using something like man but I don't think we should


Disabled main column wrapping

Issue #: /bcgov/entity#6546
Description of changes:

per Tracey, don't have the Fee Summary overlap the other content on narrow screens
better responsiveness (mobile) is future work

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Will reopen with a lint fix :P


Add @ObservedObject implementation

This is just an API prototype, still not hooked in the reconciler and requires a custom toolchain.

Fails

:no_entry_sign:

Sources/TokamakDOM/Shapes/Path.swift#L57 - Line should be 100 characters or less: currently 113 characters (line_length)

  Generated by :no_entry_sign: Danger Swift against 3a41603a2b932560e6f45ec7a9e35a95111d1ffa

Fails

:no_entry_sign:

Sources/TokamakDOM/Shapes/Path.swift#L57 - Line should be 100 characters or less: currently 113 characters (line_length)

  Generated by :no_entry_sign: Danger Swift against b9da18a101a3de90aeca450d655004f045e465ff

What is left in OpenCombine for this to be working

In my current investigation, I'm not entirely convinced it's a problem in OpenCombine (at least not in its high-level code), this is either a problem in SwiftWasm runtime, or the way that COpenCombineHelpers processes runtime metadata when looking for the @Published property. I also tried to swap that C++ implementation to the Runtime library, but got similar errors. I've also tried running the Runtime library test suite, which currently fails with classes, I don't remember seeing those test failures a couple of months ago. I've got carton test implemented in the main branch of carton and currently working on fixing those test failures. If the OpenCombine issues persist after those tests are fixed, I think we should isolate that failure and add as a test case to avoid breakage in the future.

TWIMC, I'm currently looking at the type metadata docs, looks like both Runtime library and COpenCombineHelpers have problems particulalrly with classes metadata, even when classes aren't generic. These issues are reproducible only with SwiftWasm, I'm not sure if this is because of some 64-bit platform assumptions in their code, or due to some issue we have in SwiftWasm. Since the rest of the things in SwiftWasm work pretty well in my knowledge, I think it's more about the runtime introspection code in those libraries, but it's not that easy to debug...

On platforms which support Objective-C interoperability, two words are
reserved for use by the Objective-C runtime at offset 2 and offset
3; on other platforms, nothing is reserved.

On platforms which support Objective-C interoperability, the rodata
pointer is stored at offset 4; on other platforms, it is not present.

That could be it, but I thought that both of those libraries work well on Linux, which doesn't have Objective-C interop 🤔

Given that https://github.com/apple/swift/pull/32374 was merged only recently, they might have changed metadata layout on non-Apple platforms recently as they don't need to maintain ABI stability on those platforms.

This no longer needs any custom or new toolchains, the original one works fine 🙂

@carson-katri @j-f1 after this one's merged I think I'm going to tag Tokamak 0.2.0 as is, so then carton init template introduced in https://github.com/swiftwasm/carton/pull/54 could specify 0.2.0 version instead of the main branch. I'd prefer users specifying a specific version in their package manifests to avoid unexpected breakage. Additionally, if any 3rd-party library depending on Tokamak appears, if both user's application and that library dependn on specific Tokamak version, it's much easier to resolve the dependency tree, but harder if either of those depend on a branch.

Conflicts resolved now.


chore(release): v1.0.0-beta.97

:steam_locomotive: The next 18xx Maker release
1.0.0-beta.97 (2024-11-26)
:tada: Features

replace svg masks with clipPaths (#593) (4132876)

:broom: Chores

migrate from yarn to pnpm (#595) (e7ef691)
remove unused font context (#599) (b50adf0)

:package: Build System

deps: bump cross-spawn from 6.0.5 to 6.0.6 in the npm_and_yarn group (#600) (601aba6)

:octocat: Continuous Integration

allow prettier to ignore pnpm-lock.yaml (#601) (e18c96e)
always run commitlint on latest commit (#605) (67a5525)
move all linting to a separate task (#602) (af050d1)
run test.yaml on main pushes (#603) (3f53aa6)
turn off some linting rules to allow dependabot to work (#604) (970d083)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.0-beta.97
:sunflower:


bigint cannot be found

tma-core.js:2 [TMA] TypeError: Cannot read property 'BigInt' of undefined
at detectBi (VM177 vendors-node_modules_taro_tt_prebundle_protobuf-ts_runtime_js.js:390)
at<EMAIL_ADDRESS>(VM177 vendors-node_modules_taro_tt_prebundle_protobuf-ts_runtime_js.js:400)
at webpack_require (VM190 runtime.js:24)
at VM182 remoteEntry.js:82
at Object.webpack/container/remote/@protobuf-ts/runtime (VM190 runtime.js:263)
at webpack_require (VM190 runtime.js:24)
at Object../src/network/pb/hello.ts (VM198 index.js:159)
at webpack_require (VM190 runtime.js:24)
at Object../src/network/service/HXArtorHomeBannerService.ts (VM217 index.js:589)
at webpack_require (VM190 runtime.js:24)

target is ex2020

target is es2020

If you look a bit closer at the error message and where it is thrown, you see that "globalThis" cannot be found in your environment.
Your Node.js is most likely too old.


Writing PowerDown modes to EEPROM?

Is it possible to write power down modes for each channel to EEPROM? It appears to me that there is no function to change eep_[ch].pd but that is all I would need to do before calling analogWrite with b_eep = true?

Thanks, writing vref, power down mode, and gain to eeprom is missing now. I will add a flag if writing to reg or eep to selectXxxx() APIs.

selectPowerDown(PWR_DOWN a, PWR_DOWN b, PWR_DOWN c, PWR_DOWN d) can write power-down mode, but it does not affect EEPROM. To write to EEPROM, you need to use Sequential Write or Single Write. Please take a look at the specification section around 5.5 for more details.
https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/22187E.pdf


Preserving simulation state after a failed compilation (SCP-1751).

When the signatures or currencies of the contract change, we have to clear out any previous simulations data. Currently we check the new signatures and currencies against the last compilation result; this fix changes things so we check them against the last successful compilation result. This way, you don't lose your simulations data just by introducing an error in your code.
While I was at it, I also noticed and fixed a style bug in the feedback pane, which wasn't being set to minimised at the start of compilation (it should be, otherwise you potentially see the resize bar at the top of it).
Additional note: the pre-commit purty check passed my penultimate commit, while hydra (rightly) failed it. So something seems to be amiss with the pre-commit check.

@merivale what happened with this one? Should this still be merged at some point or is it not relevant anymore?

I'll close it. This would have solved a problem which I'll now need to solve another way - but before doing that I need to implement another feature. And before that I need to finish the Marlowe dashboard prototype. 😅


Onboard RCM OSS

[x] Document project status on project list
[x] Plan meeting with maintainers to discuss onboarding and clear expectations, and plan next steps
[x] Add project representative to Technical Committee

[x] Add to invitation for weekly meeting
[x] Add to official list of members

[ ] Move repositories to OpenRail Association organization on GitHub

[ ] License review (see https://github.com/OpenRailAssociation/compliance-assistant)
[ ] Move the repos
[ ] Set up teams/people/collaborators with access to the repos

[ ] Review repos and make sure that they have necessary files (CONTRIBUTING.md, CODE_OF_CONDUCT.md, MAINTAINERS.md, etc.; see project templates)
[ ] Add project to web site

@schalbts, do you have information about the latest status here? I haven't heard from the RCM team in a while.

Hi Max
Lukas was away on holiday, but I have talked to him last week. The migration is still in progress and I hope it will be done soon.
The github space for the RCM-DX Viewer exists and all relevant data has been migrated.
After that I was planning to go through the issues with him.
Best, Stephi
Von: Max Mehl @.>
Gesendet: Dienstag, 13. August 2024 14:03
An: OpenRailAssociation/technical-committee @.>
Cc: Schalbetter Stephanie (I-VU-UEW-MUD-DAM) @.>; Mention @.>
Betreff: Re: [OpenRailAssociation/technical-committee] Onboard RCM OSS (Issue #118)
@schalbtshttps://github.com/schalbts, do you have information about the latest status here? I haven't heard from the RCM team in a while.

Reply to this email directly, view it on GitHubhttps://github.com/OpenRailAssociation/technical-committee/issues/118#issuecomment-2286080991, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BDNINOROWXQRMEDA2HZJ2NDZRHYVNAVCNFSM6AAAAABMN35OGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBWGA4DAOJZGE.
You are receiving this because you were mentioned.Message ID: @.***>

I've added the required files in a PR to the current repo and would be happy for a quick review: https://github.com/SchweizerischeBundesbahnen/rcm-dx/pull/28

Repo has just been migrated, permissions are set, and the necessary files have been added. All that's missing is the publication on the website 🎉

Hurray!! 🎉
Thank you!
Von: Max Mehl @.>
Gesendet: Dienstag, 10. September 2024 09:24
An: OpenRailAssociation/technical-committee @.>
Cc: Schalbetter Stephanie (I-VU-UEW-MUD-DAM) @.>; Assign @.>
Betreff: Re: [OpenRailAssociation/technical-committee] Onboard RCM OSS (Issue #118)
Repo has just been migrated, permissions are set, and the necessary files have been added. All that's missing is the publication on the website 🎉
—
Reply to this email directly, view it on GitHubhttps://github.com/OpenRailAssociation/technical-committee/issues/118#issuecomment-2339870578, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BDNINOVQA4LHBEBCX23WIADZV2NAFAVCNFSM6AAAAABMN35OGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZZHA3TANJXHA.
You are receiving this because you were assigned.Message ID: @.***>

Onboarding is done :-)


render: remove phase 2 by default

This turns --disable-phase-2 into a no-op, to be removed when the installer stops using that flag.

/retest

/retest

/lgtm


feat: Save Connection API

closes #1972
Signed-off-by: Rolson Quadras<EMAIL_ADDRESS>

Issue for BDD tests https://github.com/hyperledger/aries-framework-go/issues/1977

conflicts with #943

I don't understand how this conflicts with that. This API provides mechanism to Save connection records without DIDExchange.
I added this in DIDExchange client because we have all Connection related APIs in DIDExchange client (query, remove).


Error in SQS user guide

The SQS user guide is missing a zero on the account-id of
awslocal sqs send-message --queue-url http://localhost:4566/00000000000/sample-queue --message-body test
which causes localstack to give the error
 _'00000000000' is not a valid AWS account ID_

Was fixed in https://github.com/localstack/docs/pull/635. Thanks again for reporting & resolving the issue.


Basic CI

Just adapted CI that we have on externalescrets-operator. We can add more steps or simplify it a bit later.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@364f6be). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #11   +/-   ##
=======================================
  Coverage        ?   26.22%
=======================================
  Files           ?        4
  Lines           ?       61
  Branches        ?        0
=======================================
  Hits            ?       16
  Misses          ?       41
  Partials        ?        4

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 364f6be...a24eeee. Read the comment docs.


Web

New feature
We have a web front-end coherent with the app

Closes #66

The pull request title can be improved


Braav 8168/sample apple pay

all the secrets management will need to go to https://github.com/circlefin/payments-sample-app-private
we don't want other people know how we manage secrets

Just took a quick pass, haven't tested the functionality. A few notes:

please use the prettier extension to format the files
add some documentation to the readme
lib/applePaySecrets.ts and lib/awsSSM.ts should only be run on the server, move it to the server folder


CountMinSketch#size goes to overflow

This code (unit test) fails:
        CountMinSketch sketch = new CountMinSketch(0.0001, 0.99999, 1);
        sketch.add(3, Long.MAX_VALUE);
        long size1 = sketch.size();
        assertEquals(Long.MAX_VALUE, size1);

        sketch.add(4, 1);
        long size2 = sketch.size();
        assertTrue(size2 > size1);

I would check the size at construction and also after calling #add() or #merge().

the size must be always >= 0 (at construction but also at after any operation)
the size after an operation such as add or merge must be bigger than the "previous size"
If the condition is not satisfy (because of the overflow), I would throw an exception.

Let me know if you agree.
In case I could create a pull request with my solution.

any news about this?

Good catch.
Since add currently allows size = 0 on the add method the check may be size must be >= previous size.
Thanks for offering to create the PR to resolve this.

Thanks.
I have created a new pull request: https://github.com/addthis/stream-lib/pull/118
Let me know if everything looks good.
I also need a new tag/release.

Thanks. PR merged.

Thanks
Let me know when you plan to release a new version of the code

v2.9.5 is on its way to central


[FEATURE REQUEST] Toggle on and off

I dont know if you will see this but can you also make the neovim can be toggle on and off.

Dup of #101


net: ip: net_mgmt: Prevent loss of event

The're is a re-entrancy bug in the net_mgmt.c file that will cause network events to never reach the registered listener.
In our situation, it ocurred when using the DHCPv4 in combination with mDNS and bringing the iface down + up. This triggered a re-entrancy bug within the net_mgmt.c, causing the DHCPv4 IP_ADDR_ADDED event to vanish into thin air.
The issue when using mDNS didn't exist in Zephyr 2.6 but does in Zephyr 3.3, introduced by commit https://github.com/zephyrproject-rtos/zephyr/commit/6f19b6e59e34cd54edc1da5d3843af498f25507e
The re-entrancy bug is caused by the net_mgmt, peeking into the buffer, doing the callbacks and only upon returning from those callbacks, change the buffer index numbers. Yes, there is a mutex guarding it, but mutexes are re-entrant by default, so not guarding against re-entering from within the lock. If it did, then it would have been a deadlock.
The same re-entrancy issue is in other places at well, being:

zephyr/subsys/net/lib/dns/llmnr_responder.c -> llmnr_iface_event_handler
zephyr/subsys/net/lib/dns/mdns_responder.c -> mdns_iface_event_handler
zephyr/subsys/net/l2/wifi/wifi_mgmt.c -> wifi_mgmt_raise_connect_result_event called by wifi_event_handler in zephyr/drivers/wifi/esp32/src/esp_wifi_drv.c
zephyr/subsys/net/ip/dhcpv4.c -> dhcpv4_iface_event_handler -> is a workaround for the same issue

The bug can be triggered by using the existing net_mgmt.c implementation (and validated by using the updated net_mgmt.c code in this PR) by running the following sample app (which I run on a Nucleo_H743ZI):
prj.conf:
CONFIG_NETWORKING=y
CONFIG_NET_IPV6=n
CONFIG_NET_IPV4=y
CONFIG_NET_ARP=y
CONFIG_NET_UDP=y
CONFIG_NET_DHCPV4=y

CONFIG_TEST_RANDOM_GENERATOR=y

CONFIG_INIT_STACKS=y

CONFIG_NET_SOCKETS=y
CONFIG_NET_MGMT_EVENT=y
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=5
CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_L2_ETHERNET_MGMT=y
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_CONFIG_SETTINGS=y
CONFIG_NET_TCP=y
CONFIG_NET_IF_MAX_IPV4_COUNT=5
CONFIG_NET_MAX_CONN=15
CONFIG_NET_MAX_CONTEXTS=15

CONFIG_NET_LOG=y
CONFIG_LOG=y
CONFIG_PRINTK=y

CONFIG_SLIP_STATISTICS=n
CONFIG_NET_SHELL=y

CONFIG_NET_HOSTNAME_ENABLE=y
CONFIG_NET_HOSTNAME_UNIQUE=n
CONFIG_NET_HOSTNAME="hello-bug"
CONFIG_MDNS_RESPONDER=y
CONFIG_DNS_RESOLVER=y
CONFIG_MDNS_RESOLVER=y
CONFIG_DNS_SERVER_IP_ADDRESSES=y
CONFIG_DNS_SERVER1="<IP_ADDRESS>:5353"
CONFIG_DNS_RESOLVER_MAX_SERVERS=1

CONFIG_PINMUX=y
CONFIG_GPIO=y
CONFIG_PINCTRL=y

CONFIG_ARM_MPU=y
CONFIG_NET_CONFIG_AUTO_INIT=n

CONFIG_NET_MGMT_EVENT_LOG_LEVEL_DBG=y

main.c:
#include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(net_dhcpv4_mdns_bug, LOG_LEVEL_DBG);

#include <zephyr/kernel.h>
#include <zephyr/linker/sections.h>
#include <errno.h>
#include <stdio.h>

#include <zephyr/net/net_if.h>
#include <zephyr/net/net_core.h>
#include <zephyr/net/net_context.h>
#include <zephyr/net/net_mgmt.h>
#include <zephyr/net/net_config.h>
#include <zephyr/drivers/gpio.h>

static struct net_mgmt_event_callback mgmt_cb;

K_SEM_DEFINE(my_sem, 0, 1);

static void handler(struct net_mgmt_event_callback *cb,
		    uint32_t mgmt_event,
		    struct net_if *iface)
{
	int i = 0;

	if (mgmt_event != NET_EVENT_IPV4_ADDR_ADD) {
		return;
	}

	for (i = 0; i < NET_IF_MAX_IPV4_ADDR; i++) {
		char buf[NET_IPV4_ADDR_LEN];

		if (iface->config.ip.ipv4->unicast[i].addr_type !=
							NET_ADDR_DHCP) {
			continue;
		}

		LOG_INF("Your address: %s",
			net_addr_ntop(AF_INET,
			    &iface->config.ip.ipv4->unicast[i].address.in_addr,
						  buf, sizeof(buf)));
		LOG_INF("Lease time: %u seconds",
			 iface->config.dhcpv4.lease_time);
		LOG_INF("Subnet: %s",
			net_addr_ntop(AF_INET,
				       &iface->config.ip.ipv4->netmask,
				       buf, sizeof(buf)));
		LOG_INF("Router: %s",
			net_addr_ntop(AF_INET,
						 &iface->config.ip.ipv4->gw,
						 buf, sizeof(buf)));
		k_sem_give(&my_sem);
	}
}

void main(void)
{
	struct net_if *iface;
	int ret;

	LOG_INF("Run hello-bug");

	net_mgmt_init_event_callback(&mgmt_cb, handler,
				     NET_EVENT_IPV4_ADDR_ADD | NET_EVENT_IPV4_MCAST_JOIN);
	net_mgmt_add_event_callback(&mgmt_cb);

	iface = net_if_get_default();

	LOG_INF("Bringing the interface down");
	ret = net_if_down(iface);
        if (ret) {
		LOG_ERR("Failed to bring network interface down: %d", ret);
            	return;
        }

	LOG_INF("Bringing the interface up");
        ret = net_if_up(iface);
        if (ret) {
            LOG_ERR("Failed to bring network interface up again: %d", ret);
            return;
        }

	LOG_INF("Configuring the interface");
	ret = net_config_init_by_iface(iface, "hello-bug-if", NET_CONFIG_NEED_IPV4,
                                           CONFIG_NET_CONFIG_INIT_TIMEOUT * MSEC_PER_SEC);
        if (ret) {
            LOG_ERR("Failed to init network: %d", ret);
            return;
        }

	LOG_INF("Waiting for dhcpv4 assigned IP address");
	if (k_sem_take(&my_sem, K_MINUTES(1)) != 0) {
		LOG_ERR("Failed to receive a dhcpv4 assigned IP address: %d", ret);
	}
	else {
		LOG_INF("Success!");
	}
}

Thanks for the detailed description of the issue, it was pretty ease to spot the problem based on that.
While I agree this needs a fix, I wonder if it goes in the right direction, i.e. we're reinventing data structures instead of using what kernel already provides. I think we could relieve the net_mgmt layer from dealing with low-level implementation details by using one of the following option:
1. Define a message queue (https://docs.zephyrproject.org/latest/kernel/services/data_passing/message_queues.html) and use `k_msgq_get()` and `k_msgq_put()` to queue/process events. The message queue allows to specify maximum number of queued events, and creates a copy of an event on `k_msgq_put()` s on need to worry about memory management.

Or, if we want to avoid extra copying, there's another, slightly more complex option (still however simpler than implementing everything from scratch):
2. Define a memory slab for events (https://docs.zephyrproject.org/latest/kernel/memory_management/slabs.html), and use FIFO to queue/process them (https://docs.zephyrproject.org/latest/kernel/services/data_passing/fifos.html). A new event would need to be allocated from the slab, filled with data, and then queued on FIFO. Since using FIFO does not involve memcpy, we save one extra event data copying when dealing with events. The downside is that the event strucutre will need an extra reserved space for the FIFO.

Personally, I think that option 1 sounds pretty neat for this usecase, as the extra copying overhead does no seem for me to be a big problem for networking events, they don't hit that often. But I'm open for discussion of course.

Indeed, I was quite shocked to find that no circular buffer implementation existed with in Zephyr to be used, and that every user has to write its own. I'll have a look at the message_queue's and see if that makes the solution even better.
How do we proceed from here, shall I make an effort to convert the code to such a solution?

How do we proceed from here, shall I make an effort to convert the code to such a solution?

Would be great, I think it'd make most sense to update this PR. Unless I misunderstood something heavily, the message queue approach should be rather straightforward.

How do we proceed from here, shall I make an effort to convert the code to such a solution?

Would be great, I think it'd make most sense to update this PR. Unless I misunderstood something heavily, the message queue approach should be rather straightforward.

I don't have an option, because we're building a product that depends on this fix and needs to launch in a couple of months (or we have to stick to Zephyr 2.6). I'll get on it, and since I have a sample app proving the bug, it helps in validation.

@rlubos Done and tested

@rlubos Looked into it, however 'k_msgq_put' is a problem. The issue is that I have to create a complete 'struct mgmt_event_entry' on the stack of the caller in order to copy it into the queue using that 'k_msgq_put' method. I'd rather reserve a slot onto the queue, fill it and then return it to prevent increasing the stack.

As an alternative, I can define a single 'struct mgmt_event_entry' as a static and abuse that within a mutex to fill and then copy into the queue. Not pretty but does the job.

So an alternative would be mem-slab approach, where one would preallocate the event structure, fill it out, and push it to the FIFO. I think howerver current appraoch seems quite ok if we're really that concerned about stack consumption.

@jukkar this is a substantial change, would be great if you could take a look :) Thanks!


Ffm4195 erlang tech changes

What
Updates installation steps to align with 1.0.0 release
Updates the code for closing the SDK to align with the 1.0.0 release

Preview environment: https://hdh.pr.harness.io/pr-1109


make RELEASE=knative-v1.2.1 generate-release

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>as per title

/retest


fix: suspend archiving after recovery

Instead of disabling the archiving process during the backup recovery, we now suspend it.

https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/6705408615


(PUP-11634) Eliminate deprecated methods in preparation for Ruby 3.2

This eliminates deprecated method calls and constants which are removed in Ruby 3.2. These changes are compatible with Ruby 2.5 and up, so I'm targeting 7.x This will also reduce the chances of merge conflicts between 7.x and main as we move forward.

This needs to be rebased on https://github.com/puppetlabs/puppet/pull/8962


feature: auto switch display on an external monitor

some time, using GPD P2 (M1 for short) to slideshow need an external monitor(called M2) via TYPE-C(HDMI/VGA),
so, could you please develop this feature,
if M2 pulgs in; then; M1 turns off
if M2 plugs out; then; M1 turns on

I'v been try , but not works well

I've tested this on my GPD Pocket 2 using a USB-C to HDMI adapter. When I plug the adapter into the USB-C port of the Pocket 2 the HDMI monitor is automatically enabled and when I unplug the adapter the HDMI monitor is disabled. The hardware and Ubuntu MATE are working as designed.
I understand that you want the internal panel to be automatically disabled when an external monitor is plugged in. This is not something we want to change in MATE, leaving both displays enabled is intended and is actually useful for presenting so that one screen can show presenter notes while the other shows the slides.
If you want to manually enable/disable the displays that can be achieved via the Display control centre applet :smiley: I am going to close this since the hardware and MATE Desktop is functioning as intended.


Replaced context.TODO with actual contexts

Looking for advice on what the default timeout for contexts should be. Ideally, any command we do shouldn't take anywhere close to 300 seconds.
Replaced each context.TODO with proper contexts.

Contexts will be created at the top level of each controller as a context.Background()
Each time a context is used as a parameter, it only creates a new context if the command is a request (with timeout of 300 seconds)

Request to the API Server
Request to the AWS CLI

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

Looks like any AWS SDK for Go doesn't implement timeouts. Good callout Prateek. While there is a timeout for the APIGateway API, there doesn't appear to be one for EC2. https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-retry-timeout-sdk/ This is why some functions have the ability to pass in a context, so that you can implement the timeout yourself.

@prateekgogia Given separate offline discussions with @ellistarn and @JacobGabrielson, going to hold off on doing timeouts for AWS SDK API calls.


Labware definition file refactor

Problem
Labware definitions are currently stored in a single large json file, and duplicated with some transformations in a sqlite database.
Specific problems:

There is currently no mechanism for keeping these two databases in sync with each other
The human-readable datastore (the json file) is not the source of truth at run time
The labware definitions themselves have some problems in either file, such as the fact that the wells are not given any strict order or organization into or within rows and columns, which has caused unpredictable behavior in user protocols
The migration process (creating the sqlite database from the json file if it does not previously exist) is slow and unnecessary
The current state of the server keeps all of both the json datastore and the sqlite database in memory, which nullifies any gains made from keeping the data in a structured database
It is difficult to incorporate and share user labware definitions
The "container-offsets" field in the labware definition is confusing (and unnecessary, because the labware itself is never targeted for movements apart from targeting a well within the labware)

Proposal

Remove the sqlite database from the server
Break the single large json file into a directory containing one json file per labware (example schema below)
Remove "container-offsets" and fold these values into the x/y/z of each well
For each definition, add an array of arrays as an explicit ordering of wells into rows and columns, where each inner array is a column (e.g.: A1 to H1 on a 96-well plate), and row N would be obtained by selecting the Nth element from each column.
Keep standard labware definitions in one directory in the Docker container, and keep user labware definitions in a corresponding directory in persistent storage (when loading a labware, check user directory first, then standard directory)
Add/modify create method that will accept new data format and save to the user definition directory
When calibrating labware, instead of modifying existing definitions, create an "offsets" record representing the delta from the base definition for that labware, in a directory in persistent storage (when loading a labware, check for an offset and apply it if it exists) (example schema below)
Only load a definition into memory when that specific labware is requested, which will reduce the run time memory footprint

Definition schema example:
{
  "metadata": { "name": "4-well-plate" },
  "ordering": [
    [ "A1", "A2" ],
    [ "B1", "B2" ]
  ],
  "wells": {
    "A1": {
      "depth": 26,
      "diameter": 10,
      "total-liquid-volume": 78.6,
      "x": 40,
      "y": 40,
      "z": 30},
    "A2": {
      "depth": 26,
      "diameter": 10,
      "total-liquid-volume": 78.6,
      "x": 40,
      "y": 80,
      "z": 30
    },
    "B1": {
      "depth": 26,
      "diameter": 10,
      "total-liquid-volume": 78.6,
      "x": 40,
      "y": 80,
      "z": 30
    },
    "B2": {
      "depth": 26,
      "diameter": 10,
      "total-liquid-volume": 78.6,
      "x": 80,
      "y": 80,
      "z": 30
    }
  }
}

Offset schema example:
{ "name": "4-well-plate", "x": 10, "y": -10, "z": 100}

Upon load, the x/y/z coordinates of each well would have the corresponding value from the offset file added. In the example above, the A1 well would be at (50, 30, 130) after having the offset applied.

Not sure if this belongs under this issue, but also making sure that labware definitions are actually correct + naming conventions for each labware include either manufacturing company name and/or model number

Sounds good!!!
Also, we talked about moving labware to the repo root as its own labware/ project, and adding a barebones package.json so JS projects can import it -- if that's done as a secondary follow-up PR after the initial big refactor labware PR(s), that's OK with me!
@Laura-Danielle maybe model number & manufacturer would go under the metadata field?
Something else we talked about was not treating "stackable" modules (like temperature deck) as a normal labware, since it doesn't have any wells. (But it does have an offset that it applied to its child/children, and js world would probably benefit from being able to read that offset...)
@btmorr Did we also talk about being able to create any container that you could make with JSON using containers.create? Or is that a separate thing outside this RFC?

@IanLondon I actually think @Laura-Danielle 's idea about having separate named definitions per manufacturer is smart, to avoid confusion between one plate and another, but that doesn't change the overall plan at all
I do think that containers.create should work with the json schema

Also, happy to put the definitions into a repo-level directory with a package.json file. Might as well do it right from the start.


v4.3.0

Updates:

Upgrade to pyPowerwall proxy v0.8.1 - Major refactoring of code in https://github.com/jasonacox/pypowerwall/pull/77 and https://github.com/jasonacox/pypowerwall/pull/78 and addition of new Alerts.
Disable GF_PATHS_PROVISIONING from grafana.env base to speed up Grafana startup by @BuongiornoTexas in #461

To test new pypowerwall, edit powerwall.yml and update the pypowerwall image to:
jasonacox/pypowerwall:0.8.1t52

Restart and watch logs...
./compose-dash.sh up -d ; docker logs grafana -f

Not sure if you meant to suppress this in 0.8.1 or not.
[ERROR] 404 Powerwall API not found at https://<IP_ADDRESS>/api/customer/registration

Seeing this occasionally too.
[ERROR] Server-side problem at Powerwall API (status code 503) at https://<IP_ADDRESS>/api/solar_powerwall

Interesting that we see error code 503.

The HTTP status code 503 means that the server is currently unable to handle the incoming requests. Usually, this error occurs because the server is too busy or is temporarily down for maintenance. The backend server is overloaded or beyond its capacity and cannot handle any new incoming client requests.

You wouldn't be able to hit the URL directly from a browser because you are missing the token data in the request header. To test it, you would have to use the proxy via: http://powerwall:8675/api/solar_powerwall (replace powerwall with IP address of your Powerwall).
It would be interesting to see if you are seeing errors tick up: http://powerwall:8675/stats
I'm thinking about treating 503 similar to 429 (rate limit) to cause a cool down timer for that API call.

Testing jasonacox/pypowerwall:0.8.2t53-beta

Thanks for your help @jgleigh !

0.8.1
2024-04-12 17:31:05 04/12/2024 05:31:05 PM [proxy] [ERROR] Socket broken sending API response to client [doGET]: [Errno 32] Broken pipe
2024-04-12 17:31:05 04/12/2024 05:31:05 PM [proxy] [ERROR] Socket broken sending API response to client [doGET]: [Errno 32] Broken pipe
2024-04-12 17:31:09 04/12/2024 05:31:09 PM [proxy] [ERROR] Socket broken sending API response to client [doGET]: [Errno 32] Broken pipe
2024-04-12 17:31:09 04/12/2024 05:31:09 PM [proxy] [ERROR] Socket broken sending API response to client [doGET]: [Errno 32] Broken pipe
2024-04-12 17:31:09 04/12/2024 05:31:09 PM [proxy] [ERROR] Socket broken sending API response to client [doGET]: [Errno 32] Broken pipe
2024-04-12 17:31:09 04/12/2024 05:31:09 PM [proxy] [ERROR] Socket broken sending API response to client [doGET]: [Errno 32] Broken pipe
Restarted it earlier so don't have the token errors.
Will start testing 0.8.2 now.

I got this message when doing the upgrade to 4.3.0:
WARN[0000] /home/..../Powerwall-Dashboard/powerwall.extend.yml: version is obsolete
That file starts with: version: "3.5"
I use the extend file to run tesla-history alongside PWD and use that to pull my Tesla solar / PPA data. Do I need to update the extend file? I noticed that the powerwall.yml doesn't have a 'version' statement.

hi @youzer-name  - This isn't causing problems other than the warning from docker compose?
You should be able to remove that version line. It shouldn't be needed with latest docker versions.

Hi @youzer-name - I also have a powerwall.extend.yml file with a custom docker container.
Confirming you can simply remove the version: "3.5" line, which is what I did. This will fix the warning without affecting your custom docker container service definitions.

@mcbirse  Thanks for confirming.


Mixed Content Error

I want to add charts to secured page (https). But there is an error:
Mixed Content: The page at 'https://example.com/DashboardPage' was loaded over HTTPS, but requested an insecure script 'http://code.highcharts.com/3.0.2/highcharts.js'. This request has been blocked; the content must be served over HTTPS.
To fix the problem it is sufficient to fix the urls from:
DEFAULT_HIGHCHARTS_URL = "http://code.highcharts.com/3.0.2/highcharts.js";
DEFAULT_HIGHCHARTS_MORE_URL = "http://code.highcharts.com/3.0.2/highcharts-more.js";
DEFAULT_HIGHCHARTS_EXPORTING_URL = "http://code.highcharts.com/3.0.2/modules/exporting.js";
to:
DEFAULT_HIGHCHARTS_URL = "//code.highcharts.com/3.0.2/highcharts.js";
DEFAULT_HIGHCHARTS_MORE_URL = "//code.highcharts.com/3.0.2/highcharts-more.js";
DEFAULT_HIGHCHARTS_EXPORTING_URL = "//code.highcharts.com/3.0.2/modules/exporting.js";
(Remove http:)

Workaround:
JavaScriptResourceRegistry.getInstance().setHighchartsReference("//code.highcharts.com/3.0.2/highcharts.js");

Workaround:
JavaScriptResourceRegistry.getInstance().setHighchartsReference("//code.highcharts.com/3.0.2/highcharts.js");

This is not just a workaround, but the intended way to handle HTTPS / SSL with Wicked Charts.
Also see here: https://github.com/thombergs/wicked-charts/wiki/Feature:-Using-HTTPS

The links above and in the wiki are broken.


Improve code smell, use py3k super() call

Codecov Report

Merging #7100 into master will not change coverage.
The diff coverage is 51.28%.

@@           Coverage Diff           @@
##           master    #7100   +/-   ##
=======================================
  Coverage   64.57%   64.57%
=======================================
  Files         422      422
  Lines       20581    20581
  Branches     2251     2251
=======================================
  Hits        13290    13290
  Misses       7169     7169
  Partials      122      122

Impacted Files
Coverage Δ

superset/viz.py
71.53% <51.28%> (ø)
:arrow_up:

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 60a7b6d...f3ba1ca. Read the comment docs.

@mistercrunch please review this PR

Oh nice, I didn't even know that py3 had an improved super function!
LGTM

please merge this PR


Use Yaml indentation hints to avoid otherwise needless parentheses

As inspired by discussions of the alert mixin.

I'd considered this previously, however |2 is not something I'd expect users to be aware of (I certainly wasn't until I dug through the YAML docs). Thus what we have is likely better in terms of understanding and maintainability.

On the contrary, I think |2 is really important for more readable rules, and thus we should spread the goodness.

Speaking with the experience of shepherding 120 engineers using 50k lines of Prometheus rules files.

I added an explicit hint so that the usage of |2 doesn't go unnoticed.

That could work. @juliusv what do you think?

I have now linked the relevant section of the Yaml spec.

I'm really unhappy with this whole issue with YAML as well :( I'm not sure which variant I find less bad. Maybe the one with the obscure indentation feature, but subsequent lack of paren requirements.

While initially weird, it's not that hard to get used to |2 (or whatever leading indentation you need). There was very little friction at SC once it was introduced.

Ship it!

:+1:

Thanks.


Not working since 1.1.X?

Getting the following error:
2019/08/14 04:25:10 [error] 1#0: init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:402: error loading plugin schemas: on plugin 'newrelic-insights': failed converting legacy schema for newrelic-insights: [postgres] schema violation (fields.1: {   fields = {     {       default = "expected a string"     },     {       default = "expected a string"     }   } }) stack traceback: 	[C]: in function 'assert' 	/usr/local/share/lua/5.1/kong/init.lua:402: in function 'init' 	init_by_lua:3: in main chunk nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:402: error loading plugin schemas: on plugin 'newrelic-insights': failed converting legacy schema for newrelic-insights: [postgres] schema violation (fields.1: {   fields = {     {       default = "expected a string"     },     {       default = "expected a string"     }   } }) stack traceback: 	[C]: in function 'assert' 	/usr/local/share/lua/5.1/kong/init.lua:402: in function 'init' 	init_by_lua:3: in main chunk

You need to exchange two instances of {} with "" in schema.lua. See my pull request at https://github.com/JnMik/kong-plugin-newrelic-insights/pull/2

If you dont mind, I have another question @svenwal , how does it know which newrelic license key to use ? i mean how do we get the data in our New Relic after integrating this plugin?

This plugin uses the Insights API which you use by generating an API key as described at https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/send-custom-events-event-api#register
I have to say I have no real knowledge on New Relic so far and will have to initiate also a second pull request as the current version of the plugin uses the removed API endpoints instead of services and routes in Kong. I think I already changed everything correctly on my side but New Relic still doesn't show any metrics (but it also does not do so using the example curl command they provide when creating the api key).
I'll get here when I have found out how to work with New Relic

Hello guys !
It's been a while since I opened that project, I believe it was working on kong 0.9.X.
I am not working anymore for the company I used to work for when I built that plugin, so I don't have the production setup close, but regarding the readme I can tell the API key was provided on the plugin addition.
curl -i -X POST   --url http://localhost:8001/apis/mockbin/plugins/   --data 'name=newrelic-insights' --data 'config.api_key=YOUR-NEWRELIC-API-KEY' --data 'config.account_id=YOUR-NEWRELIC-ACCOUNT-ID' --data 'config.environment_name=dev'
We we're using kongfig to configure our Kong gateway so in the plugin yaml file we had our newrelic key and account id.
I am willing to accept pull request to help keeping the project up to date, but at the moment I have no environment to test or develop with this. So I'll just support you guys to approve merge request.
Hope it helps :)


Transfer ownership to open-rmf org

@gbiggs Since this repo is very specific to Open-RMF, can we consider transferring it to the @open-rmf org? I think the repo was created before that organization existed, and it just slipped through the cracks when we were transferring projects over.

Seems good to me. I'll move it now.


Added examples for the @RestClientTest article, fixed mail port

Added examples for the article about @RestClientTest.
Also changed the port in mail tests from 25 to 8025, as opening sockets on ports below 1024 on many systems requires admin privileges, which affects the build (the tests did not run on my machine without sudo).

Excellent work. Merging :+1:


Tests are collected twice with tox

Please see https://ci.appveyor.com/project/audreyr/cookiecutter/build/1.0.270/job/r93sespqrpv7w216 for reference. May be important to fix before #314
On a side note: make coverage prints the report twice. Once correct, once with coverage 0%. At least on my setup. Didn't do that before latest changes on master.

Fixed by #347


BEV's Evaluation on RH dataset Encoutered Error

Hi, Doc. Sun. It works perfect when I run a BEV's evaluation on CMU-Panoptic dataset. However, when I use RH Dataset for evaluation , after 80 iterations like
processing in crowd mode BEV 'forward' executed in 1.8504s, FPS 0.5 [-                                       ]   71/1836 (  3%) 1765 to go BEV 'forward' executed in 0.0923s, FPS 10.8 [-                                       ]   72/1836 (  3%) 1764 to go BEV 'forward' executed in 0.1033s, FPS 9.7 [-                                       ]   73/1836 (  3%) 1763 to go BEV 'forward' executed in 0.0940s, FPS 10.6 [-                                       ]   74/1836 (  4%) 1762 to go BEV 'forward' executed in 0.0832s, FPS 12.0 [-                                       ]   75/1836 (  4%) 1761 to go BEV 'forward' executed in 0.0859s, FPS 11.6 [-                                       ]   76/1836 (  4%) 1760 to go BEV 'forward' executed in 0.0892s, FPS 11.2 [-                                       ]   77/1836 (  4%) 1759 to go BEV 'forward' executed in 0.2021s, FPS 4.9 [-                                       ]   78/1836 (  4%) 1758 to go BEV 'forward' executed in 0.2111s, FPS 4.7 [-                                       ]   79/1836 (  4%) 1757 to go BEV 'forward' executed in 0.1024s, FPS 9.8 [-                                       ]   80/1836 (  4%) 1756 to go
, a list of No person detected! occured like
processing in crowd mode No person detected! No person detected! No person detected! No person detected! No person detected! No person detected!
, and then it pomps out error like
File "/usr/local/anaconda3/lib/python3.8/site-packages/bev/main.py", line 138, in forward     outputs = self.process_long_image(image, show_patch_results=self.settings.show_patch_results)   File "/usr/local/anaconda3/lib/python3.8/site-packages/bev/main.py", line 213, in process_long_image     ch, cw = croped_images[cid].shape[:2] IndexError: list index out of range
It functions well in the beginning, so I wondered why the evaluation encountered error in the middle of the process. Hope for your answer :-)

Sorry about the bug, let me check it now.

@Rabbit314271
Thanks for the bug report.
I have seen the reason that caused this bug.
Please fetch the latest code from this rep. and re-install simple-romp via
pip uninstall simple-romp # you may need to run this multiple times to avoid that you may install multiple version of simple-romp
cd ROMP/simple-romp
python setup.py install

With the latest code,  during evaluation, it shouldn't run into the long image mode with setting crowd=False.
Let me know if you encounter other problems

Thank you very much for the hot-fixing~ That's really nice of you.


Duplicate device found

My wife and I both have pixel 3s, and I get an error in the logs on startup about duplicate devices:

Found duplicate device name Pixel 3

Is there a way to modify the device name registered in homeassistant?

I had a kind of similar issue, duplicate entries created in core.config_entries for my one device.
Once I deleted the older entry its now working

I also get same error. We both have Galaxy S10 and get the Duplicate name in error log. Tried to delete the core.config_entries file but still get this error.

Also having the same issue, my wife and I hav S9s - can only get notify.xxxx on the first phone to regsiter as
Found duplicate device name SM-G960F
10:12 AM components/mobile_app/notify.py (WARNING) - message first occurred at 10:12 AM and shows up 2 times
Appeares once I add my wifes.

Same issue here.  You need to edit /config/.storage/core.config_entries.  You will see both devices there.  Change the "device_name" on both of them so they are unique and restart home assistant.  This gives you the 2 service calls and can send notifications to each phone.  However, it doesn't stick so after a restart of HA or 2, you will need to edit the file again.

I wonder if this could be edited in lovelace in near future...


Pointers in byte-mapped blocks don't add references by default

Describe the bug
A byte-mapped memory block containing data won't create references if that data is typed as a pointer, unlike typing a pointer in e.g. file mapped blocks.
Ghidra 11 added support for multiple memory blocks in overlay address spaces. The lack of automatic memory references means creating an overlay address space using byte-mapped memory blocks from the source address space will lack jumpable xrefs by default after analysis, which hampers reverse engineering.
To Reproduce

Create an ELF with a .data segment containing a pointer to another value in the .data segment, for example:

int foo = 1;
int *bar = &foo;
int main() {
    return 0;
}

Create an overlay address space, and then a byte-mapped block containing a copy of .data in the new address space

defaultSpace = currentProgram.getAddressFactory().getDefaultAddressSpace()
segmentSpace = currentProgram.createOverlaySpace("overlay", defaultSpace)
data = getMemoryBlock(".data")
currentProgram.getMemory().createByteMappedBlock("overlay.data", segmentSpace.getAddress(data.getStart().getOffset()), data.getStart(), data.getSize(), True)

Open overlay.data in the Listing
Create an int (Data > int) with the label label overlay.foo in the overlay at the offset foo is in the .data section (00301010 for me)
Create a pointer (Data > pointer) in the overlay at the offset bar is in the .data section (00301018 for me)
Observe the pointer data type was created, pointing to the address of our overlay.foo label in the overlay (addr       overlay.data::00301010), but no memory reference was added to overlay.foo and the label name is not resolved.
(As a work around) Select "References > Add Memory Reference" ("ctrl+alt+r" keybind by default) and see a memory reference can be added manually, which resolves the label (addr       overlay.foo) and adds an xref to overlay.foo.

Expected behavior
Pointers defined in a byte-mapped block should be added as memory references to their destination by default, instead of requiring "Add Memory Reference" to be ran manually. This is the normal behavior for non-byte-mapped address spaces, for example the normal bar pointer from the example ELF .data segment to it's own .data destination, and is also properly already done for code references by e.g. triggering disassembly in an overlay byte-mapped block that references data in the overlay.
Environment (please complete the following information):

OS: Ubuntu 18.04
Java Version: openjdk 17.0.7
Ghidra Version: 11.0
Ghidra Origin: Github distro

In your steps above I don't see where you initialized the memory bytes within the overlay space at Step#2


Running swift-format CommandTools in CLi is always failed

when I run swift-format with this code as cli, it always failed to format
in terminal
swift package plugin --allow-writing-to-package-directory format-source-code
error

Building for debugging...
Build complete! (0.30s)
Error: '--recursive' is only valid when formatting or linting files
Usage: swift-format format [--in-place] [--configuration ] [--assume-filename ] [--recursive] [--ignore-unparsable-files] [--parallel] [--color-diagnostics] [--no-color-diagnostics] [ ...]
See 'swift-format format --help' for more information.
error: swift-format invocation failed: NSTaskTerminationReason(rawValue: 1):64

Is there any problem with command?
There's no problem with running swift-format with UI button in xcode. just with cli

self answer
when i add target which target to format, it was solved the problem
swift package plugin --allow-writing-to-package-directory format-source-code --target Features


LIVE-2664 Fix incremental sync for Cardano

📝 Description
Incremental sync for Cardano was based on account.blockHeight to know from which block to start sync. For some reason this field is not reset to 0 during clear cache (maybe it should?), which causes sync to only get data after this block height instead of 0.
The fix consists in using the blockHeight of the last operation, which unlike account.blockHeight is correctly 0 after a clear cache.
❓ Context

Impacted projects: ledger-live-common
Linked resource(s): `https://ledgerhq.atlassian.net/browse/LIVE-2664

✅ Checklist

[ ] Test coverage
[x] Atomic delivery
[x] No breaking changes

📸 Demo

🚀 Expectations to reach

tested -> ok on build:


Rules for data sharing

Add content for data sharing page.

This page is located here: https://create.dev.fairdatasociety.org/#/data-sharing-rules
It must contain information that the user will share information about the public invite address and the public address of the FDS account with us to participate in BigBang.


LOTV update: timescale

Replays should be analyzed with the new LOTV real time, instead of Blizz time. [bug]
To reproduce:

Run any replay

Expected:

Replay length corresponds to number of elapsed minutes/seconds (or hours if you're playing mech)

Actual:

Replay length off by 40% due to normal/faster game speed correction

This issue was moved to ggtracker/ggtrackerstack#14


[Project Addition] Cats Breed Classification using DL

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Cats Breed Classification using DL
:red_circle: Aim : Classifying images of Cats into 5 Breeds.
:red_circle: Dataset : https://www.kaggle.com/datasets/yapwh1208/cats-breed-dataset
:red_circle: Approach : Creating custom CNN model as well as 5 pre-trained models for multi-class classification task.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name : Arihant Bhandari
GitHub Profile Link : https://github.com/Arihant-Bhandari
Email ID<EMAIL_ADDRESS>Participant ID (if applicable): Arihant Bhandari (eternal_insight)
Approach for this Project : using pretrained and custom cnn models for classification (pre-trained: resent50, vgg16, inception, xception)
What is your participant role? (Mention the Open Source program)
GSSoC 2024 Contributor

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

hi @abhisheks008 i hope to be assigned this if my previous PR is merged. thank you as always.


fatal error LNK1136 if reportlab is used in project

version
python: 3.9
nuitka: 1.1.8
reportlab: 3.6.12
svglib: 1.4.1
flask: 2.2.2
command
"C:\program files\python39\python" -m nuitka --follow-imports --follow-import-to=flask --enable-plugin=numpy iq_tool.py --standalone --show-scons --include-plugin-files="C:\Program Files\Python39\Lib\site-packages\reportlab\fonts*"
script
from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF, renderPM
...
drawing = svg2rlg(self._output)
renderPDF.drawToFile(drawing, pdf_path)
renderPM.drawToFile(drawing, png_path, fmt="PNG", dpi=png_dpi)
error messages:
Unexpected output from this command:
link @C:\Users\lusteryu\AppData\Local\Temp\tmp7as48tyf.lnk
module.reportlab.pdfbase.fontdata_widths_helveticabold.obj : fatal error LNK1136: invalid or corrupt filescons: *** [F:\work\git_atg\iq_tool\iq_tool\iq_tool.dist\iq_tool.exe] Error 1136
scons: internal stack trace:
File "C:\PROGRA~1\python39\lib\SITE-P~1\nuitka\build\INLINE~1\lib\scons-4.3.0\SCons\Job.py", line 262, in run
task.execute()
File "C:\PROGRA~1\python39\lib\SITE-P~1\nuitka\build\INLINE~1\lib\scons-4.3.0\SCons\Script\Main.py", line 193, in execute
SCons.Taskmaster.OutOfDateTask.execute(self)
File "C:\PROGRA~1\python39\lib\SITE-P~1\nuitka\build\INLINE~1\lib\scons-4.3.0\SCons\Taskmaster.py", line 235, in execute
self.targets[0].build()
File "C:\PROGRA~1\python39\lib\SITE-P~1\nuitka\build\INLINE~1\lib\scons-4.3.0\SCons\Node_init.py", line 755, in build
self.get_executor()(self, **kw)
File "C:\PROGRA~1\python39\lib\SITE-P~1\nuitka\build\INLINE~1\lib\scons-4.3.0\SCons\Executor.py", line 384, in call
return _do_execute_map[self._do_execute](self, target, kw)
File "C:\PROGRA~1\python39\lib\SITE-P~1\nuitka\build\INLINE~1\lib\scons-4.3.0\SCons\Executor.py", line 120, in execute_action_list
raise status    # TODO pylint E0702: raising int not allowed
scons: building terminated because of errors.
the module.reportlab.pdfbase._fontdata_widths_helveticabold.obj is empty from the cl command, but the module.reportlab.pdfbase._fontdata_widths_helveticabold.cpp is not emty, I don't know what's wrong with this file?
source file generated by nuitka
module.reportlab.pdfbase._fontdata_widths_helveticabold.cpp.zip

Maybe some sort of clcache mishap. You can disable it temporarily by using --disable-ccache and then maybe it works?

OK, thanks, I am going to check it.

It works now, thank you very much. @kayhayen
How can I figure out what's wrong with the clcache module?

I don't think you can, in the app folder, there is a cache directory of Nuitka, one that is named clcache. I am going to add feature that will allow to disable or force refesh or the various caches now, so I could tell you to use --clear-cache=clcache now, but this may not happen immediately.
Also I think corrupt file is something we can attempt to parse out of the error, and exit more constructively pointing to this kind of option.

I am going to use this to trace the implementation of said enhancement, however I guess you can otherwise ignore this issue, it's not going to reproducible I bet. Probably a CTRL-C at the wrong time, a crash or memory issue or cl.exe that left this behind. I may never know, but this appears to be rare.

OK, thanks, I just use --clear-cache=clcache flag now.

This is on factory now, but since your issue is basically resolved, by adding a trace that we won't see again unless the situation repeats, lets close this now and not trace the path to release.


New nodes cannot mining.

Environment

Smapp version: 1.0.12 | develop
OS: Ubuntu 22 | MacOS

Describe the bug
New nodes cannot mining.
Steps to reproduce

Comlete PoS data.
Just wait round finish time.

Expected behavior
New nodes can mining completely.
Actual behavior

Initially, the following screen appeared.

"Waining for PoET registration window in 8hours" => This is 1 hour before finish round.

After one hour before the end of the round, the following screen appeared.

Logs
spacemesh-log-7c8cef2b.txt.zip

In fact, we have 15 minutes to complete the current round, but the nodes ID does not appear on the following site: https://www.spacemeshcalculator.com/ranking

@hryksbt it seems to me that you need some patience and to read how the protocol works.
In short, you need to wait for the registration window, then your Node will generate the PoS proof, and then in the next epoch you will be eligible for rewards, but to have them you still need to run the node to publish proposals at specific layers (you'll have a list of layers once you'll be eligible).
So please provide more details (by the way, the second screenshot is the same) or close the issue.
p.s.
I will close the issue in a couple of days if there will be no more details.

@brusherru Thank you for your reply.
Does this mean that there will be an additional 14 days of registration window from the end of the ROUND after the PoS data has been created?
Am I right in understanding that the node I sent in the screenshot will get the reward from epoch 5?


Change spacebar to work like browser default

I often use spacebar to navigate down a "page" at a time in the browser, but it doesn't work that way in the pane that shows an individual notification. When a notification is showing that can be scrolled, it seems the browser default of hitting space and advancing down the scrollable area makes more sense.

I was about to leave feedback about this. Being able to use spacebar to scroll the right pane would be the last piece in making one able to view all notifications without having to use the trackpad or mouse at all.
But I see that this issue was opened back in 2014, and the last commit was over a year ago, so my guess is that it won't happen - but would be great if it did.


Add option to proxy Nexus with Nexus GCP IAM proxy

See https://github.com/travelaudience/nexus-google-iam-proxy and https://github.com/travelaudience/docker-nexus-google-iam-proxy.

Also, extract Nginx container to a different pod and make it opt-in. People should be free to choose either Nginx or the GCP IAM proxy as their frontend.


resetForm should also remove valid class from elements

I noticed that calling validator.resetForm() on a form that contain some valid elements and others invalid, only removes highlights (error class) and hides errors, but the valid class still attached to previously valid elements.
IMO, calling resetForm() should also remove the valid class.
The code responsible for this is the following (src/core.js#L528-L534):
if ( this.settings.unhighlight ) {
	for ( i = 0; elements[ i ]; i++ ) {
		this.settings.unhighlight.call( this, elements[ i ],
			this.settings.errorClass, "" );
	}
} else {
	elements.removeClass( this.settings.errorClass );
}

I guess it should be changed to:
var classes = this.settings.errorClass + " " + this.settings.validClass
if ( this.settings.unhighlight ) {
	for ( i = 0; elements[ i ]; i++ ) {
		this.settings.unhighlight.call( this, elements[ i ], classes, "" );
	}
} else {
	elements.removeClass( classes );
}

I didn't create a jsfiddle as it's easy to reproduce using demo/index.html.
//Cc @staabm

:+1: agree that also valid class should be removed

Doesnt the resetElements ELSE-clause miss the special case for element.type == "radio" like the un/highlight functions have it.

the suggested patch might work, but api wise unhighlight expects the error class as 2nd arg and we pass in the error+valid class which only works because we rely on implementation details.

Yeah, I only relied on the current implementation and forgot about the semantic of the unhighlight method.

maybe we can use unhighlight as before (to do a api wise removal of error state), but strip the valid class after calling unhighlight

:+1:

Doesnt the resetElements ELSE-clause miss the special case for element.type == "radio" like the un/highlight functions have it.
I guess this ELSE clause is mostly dead, as by default a unhighlight callback is defined and I guess most people wont undefine it but just redefine it..

Yes, I think so.
I tracked down that ELSE clause to #1323 which is the PR that added the support of using unhighlight inside resetForm instead of just removing the error class, but let the direct use of elements.removeClass( ... ).
I guess the best way is to play it safe, we don't know but we may encounter a user that set unhightlight to undefined just for fun or some use case.

What should be the decision then ?

leave the ELSE clause as is and do the other changes as suggested above.


us_listen_socket_close is suppose to close all connections or just http

Hello everyone,
when i call us_listen_socket_close it seems to close the http/https socket but not the websockets sonnections, is this the correct behavior ? and i should handle closing down the websockets separately?
thanks,
Jay

us_listen_socket_close closes the listen socket for new http/ws connections, existing connections for http and ws are still open. res.close() and ws.close() force close connections, or .end() graceful close. If you want Node to exit naturally you need to wait or close them yourself, but it's not required you can tell Node to exit and they will close. Did you not see close websocket example https://github.com/uNetworking/uWebSockets.js/discussions/575

Hello @e3dio
Thanks for your reply here is the test i did and socket is still listening to WS but not Http...
my listening code is:
let token = any;
}).listen(port, (token: any) => {
/* Save the listen socket for later shut down */
listenSocket = token;
if (token) {
console.log('Listening to port ' + port, token);
} else {
console.log('Failed to listen to port ' + port);
}
});
and to shutdown i used this simple get:
.get('/shutdown', (res, req) => {
if (listenSocket) {
res.end('Okay, shutting down http server only now! websockets still running');
/* This function is provided directly by µSockets /
uWS.us_listen_socket_close(listenSocket);
listenSocket = null;
} else {
/ We just refuse if alrady shutting down */
res.close();
}
after calling shutdown on that token i can no longer reach http which is expected but i can still connect to ws socket . is that expected?
.ws('/', {
/ Options /
compression: uWS.SHARED_COMPRESSOR,
maxPayloadLength: 16 * 1024 * 1024,
idleTimeout: 10,
upgrade: (res: HttpResponse, req: HttpRequest, context: us_socket_context_t) => {
console.log('An Http connection wants to become WebSocket, URL: ' + req.getUrl() + '!');
/ Can't return or yield from here without responding or attaching an abort handler /
res.onAborted(() => {
res.aborted = true;
});
/ This immediately calls open handler, you must not use res after this call /
res.upgrade({
url: req.getUrl(),
key: req.getHeader('sec-websocket-key'),
protocol: req.getHeader('sec-websocket-protocol'),
extensions: req.getHeader('sec-websocket-extensions'),
},
/ Spell these correctly /
req.getHeader('sec-websocket-key'),
req.getHeader('sec-websocket-protocol'),
req.getHeader('sec-websocket-extensions'),
context);
},
/ Handlers */
open: (ws: uWS.WebSocket) => {
console.log('A WebSocket connected!');
},

I see the opposite, after calling us_listen_socket_close no new websocket connections can be made, but new http connections can still be made for 10 seconds, which resets the 10 seconds. If you close all http requests with res.close() it will immediately close the listen socket and server. For this reason I think it would be good to have app.close() function to close all http and ws connections and close listen socket
const uws=require('uWebSockets.js'),app=uws.App()
.get('/stop',res=>{
   console.log('stop',new Date())
   uws.us_listen_socket_close(listenSocket)
   res.end('stop')
   //res.close()
})
.ws('/ws',{upgrade,open:ws=>console.log('open'),close:ws=>console.log('close')})
.listen(5000,s=>listenSocket=s)

const upgrade=(res,req,c)=>res.upgrade({},req.getHeader('sec-websocket-key'),req.getHeader('sec-websocket-protocol'),req.getHeader('sec-websocket-extensions'),c)
process.on('exit',e=>console.log('exit',new Date()))

Proxies can hold connections open to keep making requests with the same connection so need to keep that in mind. If you want to stop new websocket/http requests you can add shuttingdown=true in your shutdown code and then refuse new connections in your upgrade handler/http handlers if(shuttingdown)return res.close(). I think there should be a app.close() function to close all open http/ws connections and listen socket so server can exit, you can call that after giving requests a couple seconds to finish

@jcherrabi I don't see you closing any websockets in your shutdown code, that would probably fix your issue https://github.com/uNetworking/uWebSockets.js/discussions/575

closes the listen socket for new http/ws connections, existing connections for http and ws are still open

Just to expand on what is being said here for HTTP connections: in the case of HTTP connections that are using Keep Alive (sending a Connection: Keep Alive header) us_listen_socket_close will not prevent new requests from being processed and the amount of time the connection remains open is up to the client that sent the request.
This means that uWS cannot gracefully close a long-lived HTTP connection later like it can with a WS connection.
The following code will cause the process to run indefinitely, even after sending SIGINT (Ctrl + C) to the server, as the client keeps the connection open even after us_listen_socket_close as closed. There is no way for the server to keep track of the open HTTP connection to gracefully dispose of them.
// server.js
// run as `node server`
const {App, us_listen_socket_close} = require('uWebSockets.js');

let _listenSocket = null;
App().any("/*", (res) => {
  res.end("hello"); // don't send `end(_, true)` because we _want_ to allow keep alive connections.
}).listen(5555, (listenSocket) => {
  _listenSocket = listenSocket;
  console.log("listening...");
});

process.on("SIGINT", () => {
  us_listen_socket_close(_listenSocket)
  _listenSocket = null;
  console.log("Listen socket closed, waiting for process to exit...");
});

// client.js
// run as `node client`
const http = require("http");

// node's default is to disable keepAlive so we use our own Agent for these tests
const agent = new http.Agent({
  keepAlive: true,
  keepAliveMsecs: 99999
});

const send = () => {
  http.get("http://localhost:5555", { agent }, (res) => {
    // keep hitting the server once every 5 seconds forever
    res.on('end', () => { setTimeout(send, 5000); });
  });
}
send();

I couldn't find a way to work around this that doesn't involve process.exit(). I don't want to process.exit() because in my actual application lots of other libraries may be performing their own clean up, and I don't want to hide potential shutdown errors by forcing the process to exit.
For WS connections it's easy, as we already have to keep track of those, so on shutdown we can iterate over them and close them all. For HTTP I don't see how it is possible.

That is where app.close() would be helpful, close all open websocket / http connections and listen socket. You are right I don't see way to close app when client uses keep-alive

I do see a solution, add if (!listenSocket) return res.close() at the top of your routes/middleware, the next time the client sends request it will close the connection. Probably best to have an app.close() but the above also works

if (!listenSocket) return res.close() isn't quite enough, because in my case I'd like to shut it down gracefully on my terms, not the client's. It could be several minutes before the client sends another request.

Http timeout is 10 seconds, is not determined by what clients sends in header, might be short enough for you until app.close gets added https://github.com/uNetworking/uWebSockets/blob/master/src/HttpContext.h#L44


add inter-module verification based on imports

Hi Oliver
I've been playing a bit with modulith (in demo salespoint app), and I still not 100% understand what behavior I should expect :)
I only managed to catch failures when components from not allowed modules are injected, but not when classes are used directly.
so, my use case is this: first, I define modules:
@org.moduliths.Module(displayName = "Storage")
package com.myapp.storage
@org.moduliths.Module(displayName = "Service", allowedDependencies = "com.myapp.storage")
package com.myapp.service
and then I'll be a sneaky hacker: I won't inject anything from Service into Storage - I'll just create
new ClassFromServiceLayerThatIsNotIntededForPublicUsage() - but it seems that I shouldn't be allowed to do so
am I missing some config, or this feature is missing?
seems that ArchUnit provides quite a simple way to verify it. Is it in your roadmap?

and then I'll be a sneaky hacker: I won't inject anything from Service into Storage - I'll just create
new ClassFromServiceLayerThatIsNotIntededForPublicUsage() - but it seems that I shouldn't be allowed to do so

Can you elaborate on what you are doing here? Where is this class located? What types in which packages does it refer to etc.?

so, I'm in "storage" layer - com.myapp.storage.CommentsDAO, ['Storage' module],
and suddenly I decide that I want to use com.myapp.service.CommentsServiceNotifierUtils#someStaticHelperMethod that happens to be public in 'Service' module
according to my definition of modules, I should not be able to access service module from storage module (but it's ok to access storage from service).
in java 9 modules, my code wouldn't compile - but for Modulith I'd expect @ModuleTest of 'Storage' module to fail because one of classes imports a class from module that it's not supposed to depend on
I guess, providing a example with code would be more clear :) if this is still not good enough, I'll push some example code/PR with a test that I expect to fail :)

I think it would indeed be helpful to see a running example. An arrangement of types that you expect a validation would detect as invalid.
Just to make sure: note, that Moduliths doesn't capture violations at compile time. You either need to run an @ModuleTest or explicitly call Modules.of(…).verify();

@odrotbohm
sorry, my bad. can't exactly reproduce the state that I had earlier - but once I created simple project and configured some violations, I managed to have failed tests according to my expectations https://github.com/tkachenkoas/modulith-modules-playground/runs/4873831161?check_suite_focus=true


chore: make smart wallets page simpler

📝 Changed routes:

…d/wallets/smart-wallet

(view full size)

Commit dbd32e5531980466e6cd2a45246d24225c9b304e (https://thirdweb-qczya33s7.thirdweb-preview.com).


Add donate bitcoin button

Donating bitcoin through the internet is not as easy as it looks like.

Bitcoin addresses should be for one use only. Master seed can be leaked, and then all public addresses are compromised.
User computer can be infected and then it can show a different Bitcoin address. On the internet, the second channel verification is the must.

Let's solve this, and then, you can pay for Este via Bitcoin ✨

Solved: https://paymentcode.io/
Used by Samourai wallet.

@pajasevi Are you a virus?

OK. This is it 😂

All we need is an email links with predefined subjects 😂


Way to clear entire sheet?

I'm working on a node app that reads data from a Mongo database and writes to a Google spreadsheet using this package. The task is going to happen every night. Is there a way to overwrite the rows that were created the previous night? It appears like new rows added using my_sheet.addRows gets added to the bottom.
I was looking into deleting the rows from the previous night but it looks like I can only delete on at a time. Is there a way to delete/clear the entire sheet? Thanks for this package! It's just what I need.
Zach

If you look in the tests, I am clearing the sheet there, but it's just using getRows and then async to call .del() on each row. If you had a huge sheet, you could end up hitting some limits, or it may just be too slow.
To clear the sheet in a single call, it looks like you would need to use a batch request, which is only available on cell-based feeds. More info here: https://developers.google.com/google-apps/spreadsheets/data#update_multiple_cells_with_a_batch_request
Currently, the module does not support batch requests on cell-based feeds, but I'm happy to merge in a PR!

getting errors when attempting to delete all rows asynchronously with bluebird's Promise.all. As OP said, it seems that you'll have to chain and delete them one by one somehow, otherwise you'll get errors that the "row_id" you're trying to delete isn't valid.

Batch updates for cells is now supported! So you could make cells request, clear all the values, and then do a bulk update.


element.click is not realiable when the element changes position between mousedown and mouseup events

Steps to reproduce
Tell us about your environment:

Puppeteer version: 2.1.1 and prior (no exact numbers)
Platform / OS version: MacOS, Windows, Debian
URLs (if applicable):
Node.js version: v12.16.2, v13.11.0

What steps will reproduce the problem?
Please include code that reproduces the issue.
I have not been able to come up with a repro however we KNOW what is happening, see
https://stackoverflow.com/questions/49979069/puppeteer-element-click-not-working-and-not-throwing-an-error/50032302#50032302
for more info.
In essence in the time between getting the button position and dispatching the click, (or between issuing the mousedown and up event) the button moves, therefor the mouseup is never dispatched on the element in the browser.
See https://github.com/puppeteer/puppeteer/blob/7a2a41f2087b07e8ef1feaf3881bdcc3fd4922ca/src/JSHandle.js#L282
and
https://github.com/puppeteer/puppeteer/blob/7a2a41f2087b07e8ef1feaf3881bdcc3fd4922ca/src/Input.js#L224
What is the expected result?
The button gets clicked.
What happens instead?
The button does not get clicked.

We no longer support Node < 14, please try this again with the latest version of Puppeteer and Node >= 14. If the issue still occurs, please reopen this issue and update the description :)


Add Hide Files extension

Description
Hide and show files in any Finder directory, including Desktop, Downloads, Documents, etc.
Command

Hide Desktop Files: Hide All desktop files.
Show Desktop Files: Show hidden desktop files.
Hide Selected Files: Hide selected files in the current window of the Finder.
show Selected Files: show selected files in the current window of the Finder.
Hide Files in Current Window: Hide all files in the current window of the Finder.
Show Files in Current Window: Show all hidden files in the current window of the Finder.
Toggle System Files Visibility: Hide or show all system hidden files.
Manage Hidden Files: Manage all the files you hide with this extension.

Open in Finder/Open in Default App
Reveal in Finder
Show File
Show All Files

⚠Warning

If you move or delete the file itself or its parent folder (causing the file path to become invalid), the file will disappear from the Manage Hidden Files page.
🌟🌟🌟But you can always use the shortcut " ⇧+⌘+. " or Toggle System Files Visibility command to see all system hidden files.

⚠Note

This extension cannot hide the external disk icon

Screencast
https://user-images.githubusercontent.com/36128970/163665324-0aa6a448-67f4-419d-9363-ec78cee7cbff.mp4

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi, @sxn.
I have modified the exec to spawn according to your suggestion, please keep reviewing.

nice work! 🎉


Timing out?

I have a couple of really large directories and it looks like there is a timeout while collecting the directory information.  I've tried larger page size setting and super low but it seems that maybe the scan itself is just taking too long to complete?
it seems to be about 110 seconds (+/- a couple) from the beginning of the load each time this occurs.  I changed a couple of timeout settings in the browser (Mozilla) but it didn't have an impact on this.  In fact, I closed the browser and this continued to run until the roughly 110 second mark.  So, it seems to be something on the backend not the UI directly.
Any thoughts?
plexwrapper  2023-01-10 11:28:34,603 DEBUG    plexwrapper.py:get_dupe_content Found media: plex://episode/5d9c110102391c001f5e6386
database     2023-01-10 11:28:34,603 DEBUG    database.py:get_ignored_item content_key /library/metadata/30531
plexwrapper  2023-01-10 11:28:34,642 DEBUG    plexwrapper.py:get_dupe_content Get results from offset 1730 to limit 1740
Tue Jan 10 11:28:34 2023 - SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request /content/dupes (ip <IP_ADDRESS>) !!!
Tue Jan 10 11:28:34 2023 - uwsgi_response_writev_headers_and_body_do(): Broken pipe [core/writer.c line 306] during GET /content/dupes (<IP_ADDRESS>)
OSError: write error
[pid: 16|app: 0|req: 4/8] <IP_ADDRESS> () {42 vars in 651 bytes} [Tue Jan 10 11:26:43 2023] GET /content/dupes => generated 0 bytes in 111019 msecs (HTTP/1.1 200) 3 headers in 0 bytes (0 switches on core 0)
Thanks!

I guess the 110 seconds was not a timeout... the most recent is over 25 minutes.  This is for a Movies directory and it had just gotten to 400...
On the TV shows directory (discussed above) I was getting around 1800 before it blew up at me in around 110 seconds...
plexwrapper  2023-01-10 13:51:11,508 DEBUG    plexwrapper.py:get_dupe_content Found media: plex://movie/5d77686d103a2d001f571448
database     2023-01-10 13:51:11,508 DEBUG    database.py:get_ignored_item content_key /library/metadata/41293
plexwrapper  2023-01-10 13:51:25,317 DEBUG    plexwrapper.py:get_dupe_content Get results from offset 400 to limit 450
Tue Jan 10 13:51:25 2023 - SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request /content/dupes (ip <IP_ADDRESS>) !!!
Tue Jan 10 13:51:25 2023 - uwsgi_response_writev_headers_and_body_do(): Broken pipe [core/writer.c line 306] during GET /content/dupes (<IP_ADDRESS>)
OSError: write error
[pid: 16|app: 0|req: 1/4] <IP_ADDRESS> () {42 vars in 651 bytes} [Tue Jan 10 13:25:45 2023] GET /content/dupes => generated 0 bytes in 1540079 msecs (HTTP/1.1 200) 3 headers in 0 bytes (0 switches on core 0)


feat: port Computability.Language

[ ] depends on: https://github.com/leanprover-community/mathlib/pull/17965

Language deriving ?
Language having local attribute reducible?

This PR/issue depends on:

leanprover-community/mathlib#17965
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib#17965
By Dependent Issues (🤖). Happy coding!

Note that this PR is now blocked on porting the new file added in mathlib3