FIREBREAK: Revisit self-managed Github Actions runner

Background
https://runbooks.operations-engineering.service.justice.gov.uk/documentation/adrs/adr-015.html
Previously investigated doing this on CP EKS cluster, but scrapped due to security vulnerability of launching privileged pods for CICD.
Several other options could be investigated:

Spinning up runners in Mod platform AWS account
Using ephemeral AWS Fargate - using buildah to work with containers in unprivileged environments
Using EC2 - destroy trigger when job is done?
AWS Lambda?

What hypothesis do we want to test?/What do we want to learn?

Can we launch ephemeral, secure self-managed Github runners in one of our cloud environments, as a backup mechanism for when github actions minutes run out on Github hosted runners.

Non-Functional Requirements

Solution is secure.
Solution is ephemeral
Solution is scalable.

Definition of done

[ ] Investigate if this can be done.
[ ] Build a POC(s).
[ ] Present back to the team with findings.

https://github.com/orgs/community/discussions/24643

Container operations
Ephemerality

https://github.com/containers/podman/issues/22606

https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md

good rootless podman tutorial - https://linuxhandbook.com/rootless-podman/

https://www.redhat.com/en/topics/containers/what-is-podman

more rootless podman instructions - https://calinradoni.github.io/pages/210327-podman-systemd.html

Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "runner" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "runner" must set securityContext.capabilities.drop=["ALL"]), seccompProfile (pod or container "runner" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
deployment.apps/actions-runner configured

cannot clone: Operation not permitted
Does CP's seccomp rules block clone sys call?

Default containerd seccomp profile: https://github.com/containerd/containerd/blob/f0a32c66dad1e9de716c9960af806105d691cd78/contrib/seccomp/seccomp_default.go
clone syscall is not allowed for non priveleged users.

Podman based runner: https://github.com/ministryofjustice/operations-engineering-test-self-managed-gha-runner

cannot clone issue - https://github.com/containers/podman/issues/10797


[Settings V2] Release notes link + minor styling fixes

Summary of the Pull Request

Increased the vertical margins between the 3 settings since they are not related to each other.
Added a Release notes link.

References
#2138 #889

PR Checklist

[X] Applies to #2138 #889
[X] CLA signed. If not, go over here and sign the CLA

Can we do Version X.x.X - release notes?  Thoughts on it being inline ?

Can we do Version X.x.X - release notes? Thoughts on it being inline ?

Since it's part of the sidepanel that might be to crammed, especially for languages that tend to have longer words.
We could remove the link and make the 'Version 0.16.x' a HyperlinkButton?

Maybe the tooltip can include the text "Release Notes"

Maybe the tooltip can include the text "Release Notes"

I think that would work once we do version with tags to direct link to the real notes


Fix for findOneAndUpdate post hook

See mongoose issue https://github.com/Automattic/mongoose/issues/5405
Basically, the doc argument is not available in findOneAndUpdate post hook because MongoDB doesn't give you the document back if findOneAndUpdate() fails.
In this situation you have to extract the collection name from the error message (yes, it's a hacky workaround but I could not come up with a cleaner solution)

Also fixed access to document paths with depth level > 1
For instance, value = doc[path] won't work if path is something like "a.b.c".
You have to use doc.get(path)

Hello @davebaol, thanks for your contribution! I’m still reviewing your proposed changes. Do you have time to add some tests for the use case?

Sure, just committed a very simple test reproducing the issue.
But I got conflicts now

I think we can avoid extracting the collection name from the error message by using this.model.collection in the error hook. It looks more robust. What do you think?
https://github.com/matteodelabre/mongoose-beautiful-unique-validation/blob/master/index.js#L144

From your recent commits looks like you got the collection from the model in case of query middleware.
I like your approach, much cleaner than mine.

Okay, so I think it is safe to close this. Thanks for bringing the issue up and for your investigation work! I will publish those changes very soon in a major version.

Thanks 👍

Ok just tested my app using your git master branch as dependency.
Glad to say that it works like a charm.
Great work!

Thanks for testing! I just published v6.0.0 to npm.

Great, 6.0.0 from npm works as expected.
You only missed uploading the release on github 😉

Well spotted, thank you!


DS-4004 Authorization denied Exception when trying to delete en item,…

The whole issue is described here: https://jira.duraspace.org/browse/DS-4004

@santit96 : Unfortunately, this one line change seems to cause many unit test failures.  Here's where they are reported in Travis CI: https://travis-ci.org/DSpace/DSpace/builds/425788170#L3696
My suspicion is this line simply cannot be removed entirely. Maybe it needs to be moved to a later step (so that the link between Item in bitstream isn't removed until after the bitstream is removed)?
For now, I've flagged this as "work in progress" to note that it cannot be merged as-is.


chore: Fix unnecessary re-shading of jars

Solves a single thing in the build configurations, resulting in a few wins.

Reduced number of warnings in the output.

In release branch:mvn clean package -DskipTests | grep --fixed-strings --count '[WARNING]'
3233

In this PR's branch:mvn clean package -DskipTests | grep --fixed-strings --count '[WARNING]'
172

All uber-jar files are shaded twice, currently. Once with the default execution of maven-shade-plugin, and again with the shade-plugin-jar execution in these pom.xml files. This is double-work, and is the cause of most of the warnings we see.

This shade-plugin-jar was added to have the plugin information included in the /META-INF/MANIFEST.MF file, since we can't configure the default execution of the shade plugin (it comes to us from Spring Boot).
Instead, we switch to configuring plugin information in a /plugin.properties file.
Previously, we used /plugin.properities for plugin information in dev time, and /META-INF/MANIFEST.MF in production. This PR will change it so that we use /plugin.properties all the time. We configure PF4J with a custom plugin manager to achieve this.

Moved all plugin.properties into src/main/resources, so that they land up in the root of the final jar files. But this means, during development, loading the plugin fails since it looks for a plugin.properties at the root of the plugin module, i.e., next to the src folder.

For this, in the custom plugin manager class, we change where we look for the plugin.properties file during development mode. In this mode, we look at the target/classes/plugin.properties file, which is where maven saves this file, taken from src/main/resources/plugin.properties.
This also solves the duplication of the plugin properties that's currently present, between plugin.properties and the <properties> section of pom.xml files.

Here's the shade plugin's default execution and configuration, from Spring Boot: https://github.com/spring-projects/spring-boot/blob/v3.0.1/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle#L174.

/ok-to-test

Is that magic, is it super charged workflow, or a faux pas? Did you just trigger an ok to test without the sha?

@nidhi-nair, you will be entertained: https://theappsmith.slack.com/archives/C0134BAVDB4/p1679297087315919?thread_ts=1679291707.639179&cid=C0134BAVDB4 🙂


Add EnumsDefaults template

This PR adds a new template that generates helper functions allowing to use default values for Swift's enumerations with associated values, using sourcery's annotations system.
For example, with this template, consider the following enumeration:
enum AssociatedVariablesEnum {
	// sourcery: a = '"test"', b = "true", c = "0", d = "nil"
	case one(a: String, b: Bool, c: Int, d: Any?)
	// sourcery: 0 = '"test"'
	case two(String, Bool, Int, d: Any?)
	// sourcery: a = '"test"', d = "nil", c = "true", 1 = "true"
	case three(a: String, b: Bool, c: Int, d: Any?)
	// sourcery: a = '"test"', c = "true", 1 = "true", d = "DefaultImplementation()"
	case four(a: String, b: Bool, c: Int, d: Protocol)
}

may then be used in the following way:
let test1: AssociatedVariablesEnum = .one
let test2: AssociatedVariablesEnum = .two(d: nil)
let test3: AssociatedVariablesEnum = .three(true, 0, d: nil)
let test4: AssociatedVariablesEnum = .four(b: true, 0)

And all the other combinations of default parameters.
The variable name has to be used to specify its default value, and if the variable name is not specified then its parameter index can be specified.
Swift prevents by default from adding a static function that adds the default value:
enum Test {
    case test(String?)

    static func test(_ value: String? = nil) { // Will not compile
        return .test(value)
    }
}

However, with overloading it become possible to do it without an ambiguity:
enum Test {
    case test(String?)

    static func test() { // Works
        return .test(nil)
    }
}

Writing such overloads is possible to do manually for a small amount of default values, but as you can see from the size of the generated file, it can quickly get out of hand (and unmaintanable), hence how this template was born.
I'd love to get feedback (also the name can change, I had no inspiration for a short but meaningful name).

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger

That's a good idea, @stephanecopin, though I believe this will become unneeded as soon as SE-0155 lands, probably in Swift 5 (?)
So knowing that I wouldn't proceed with including this template.

@ilyapuchka I see, yeah I agree then. I figured people could still have the need for it (I surely did at some point 😉), so feel free to close/merge/leave open for the time being.


How to deal with multi-label problem？

Some cancer may have different parts in one slide because of tumor heterogeneity. Does this code solve the multi-label problem? Or how to deal with multi-label problem by using MIL？

The code works with multi-class labels. The labels need to be presented as distributed encoded binary vectors. For example, [0, 0, 1],  [0, 1, 0],  [1, 0, 0] each encodes one of the three classes. The max-pooling branch will pool the instances along with each digit of the class vector, the attentions are computed separately for each class, and the resulted bag representation will have a number of entries equal to the number of classes. This bag representation is then projected by a 1D convolution. Please check the example for TCGA lung cancer dataset.

Thanks for your answer. I still have some questions. There are different types of patches in a slide, and we choose the highest-rank type as the slide-level label. How does the code (as you say [0,0,1], [0,1,0], [1,0,0]) work? I still don't know how it works. Could you explain in detail? Thanks.

Thanks for your answer. I still have some questions. There are different types of patches in a slide, and we choose the highest-rank type as the slide-level label. How does the code (as you say [0,0,1], [0,1,0], [1,0,0]) work? I still don't know how it works. Could you explain in detail? Thanks.

For an example of three subtypes of cancer, the labels should be prepared as:
[1, 0, 0] -- if the slide contains subtype 1
[0, 1, 0] -- if the slide contains subtype 2
[0, 0, 1] -- if the slide contains subtype 3
[1, 1, 0] -- if the slide contains both subtype 1 and subtype 2
...
[0, 0, 0] -- healthy slide
It might still work if the slide is labeled only according to the highest-rank type. For example, subtype 1 is higher-rank than subtype 2 such that a slide contains both subtype 1 and subtype 2 is labeled also as [1, 0, 0] (not [1, 1, 0]).

Thanks a lot. : )


Labels moved on importing model

Describe the Bug
When importing a model created from another BPMN tool, Camunda Modeler moves labels such that once exported and imported into another tool, all the labels are mis-aligned.
This was discovered while preparing for the MIWG interoperability Demo.
Steps to Reproduce

Open BPMN file created in another modeling tool (eg. this diagram)
2.change anything (say, the color of an element) and save the file
Reopen in other, i.e. Trisotech and see how all labels have moved 120px to the left.

Expected Behavior
Labels or other object should not be repositioned when importing/exporting a file.
Environment

OS: MacOS
Camunda Modeler Version: 4.11 (though it also happens in 4.8 - 4.10)
Execution Platform: NA
Installed plug-ins: NA

Timeline discussed in Modeler stakeholder meeting:

Camunda Modeler Release required end of February (to be used in March OMG Demo)
Also we will use Camunda Cloud (not Platform)

I've attached a test diagram for completeness.

This is due to the nature that we do not handle internal bpmndi:BPMNLabel labels in bpmn-js at all at the moment.
We'd need to properly pick up these labels and maintain them as we go:

update them as the task label changes
update them as the task is being moved

Needs fix via https://github.com/bpmn-io/bpmn-js/issues/1537.

Closing as duplicate of #2591


Starting failure with 504

Hi!
cf push xxx with cli
cf_release version:212
os:ubuntu12.04
deploy with cf_nise_installer
Updating app hello-python in org DevBox / space bre as admin...
OK

Uploading hello-python...
Uploading app files from: /home/cf/xu.yan/hello-python
Uploading 2.7K, 7 files
Done uploading
OK

Stopping app hello-python in org DevBox / space bre as admin...
OK

Starting app hello-python in org DevBox / space bre as admin...
FAILED
Server error, status code: 504, error code: 0, message:

in de_next.log

{"timestamp":1442731880.415194,"message":"staging.task.failed","log_level":"info","source":"Staging","data":{"app_guid":"175d577d-46c4-4311-899f-eacdae64d164","task_id":"02f394d2b5b24d56a8bcdf4ff0618c9e","error":"command exited with failure","backtrace":["/var/vcap/packages/dea_next/vendor/cache/warden-ad18bff7dc56/em-warden-client/lib/em/warden/client/connection.rb:27:in `get'","/var/vcap/packages/dea_next/vendor/cache/warden-ad18bff7dc56/em-warden-client/lib/em/warden/client.rb:46:in `call'","/var/vcap/packages/dea_next/lib/container/container.rb:192:in `call'","/var/vcap/packages/dea_next/lib/container/container.rb:153:in `block in new_container_with_bind_mounts_and_rootfs'","/var/vcap/packages/dea_next/lib/container/container.rb:229:in `call'","/var/vcap/packages/dea_next/lib/container/container.rb:229:in `with_em'","/var/vcap/packages/dea_next/lib/container/container.rb:137:in `new_container_with_bind_mounts_and_rootfs'","/var/vcap/packages/dea_next/lib/container/container.rb:120:in `block in create_container'","/var/vcap/packages/dea_next/lib/container/container.rb:229:in `call'","/var/vcap/packages/dea_next/lib/container/container.rb:229:in `with_em'","/var/vcap/packages/dea_next/lib/container/container.rb:119:in `create_container'","/var/vcap/packages/dea_next/lib/dea/staging/staging_task.rb:543:in `resolve_staging_setup'","/var/vcap/packages/dea_next/lib/dea/staging/staging_task.rb:49:in `block in start'","/var/vcap/packages/dea_next/lib/dea/promise.rb:92:in `call'","/var/vcap/packages/dea_next/lib/dea/promise.rb:92:in `block in run'"]},"thread_id":69965282702100,"fiber_id":69965294576760,"process_id":44238,"file":"/var/vcap/packages/dea_next/lib/dea/staging/staging_task.rb","lineno":57,"method":"block in start"}
{"timestamp":1442731880.4168656,"message":"task.destroy.invalid","log_level":"error","source":"Staging","data":{"app_guid":"175d577d-46c4-4311-899f-eacdae64d164","task_id":"02f394d2b5b24d56a8bcdf4ff0618c9e"},"thread_id":69965282702100,"fiber_id":69965294368660,"process_id":44238,"file":"/var/vcap/packages/dea_next/lib/dea/task.rb","lineno":66,"method":"block in promise_destroy"}
root@bjlg-80p50-cf-02:/var/vcap/sys/log/dea_next#

in warden.log
{"timestamp":1442731879.5131524,"message":"Container created","log_level":"debug","source":"Warden::Container::Linux","data":{"handle":"18vtqk14egk"},"thread_id":69932978885420,"fiber_id":69932978855160,"process_id":28688,"file":"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/lib/warden/container/linux.rb","lineno":102,"method":"do_create"}
{"timestamp":1442731880.101295,"message":"Exited with status 1 (0.587s): [[\"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/src/closefds/closefds\", \"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/src/closefds/closefds\"], \"/var/vcap/data/warden/depot/18vtqk14egk/start.sh\"]","log_level":"warn","source":"Warden::Container::Linux","data":{"handle":"18vtqk14egk","stdout":"","stderr":""},"thread_id":69932978885420,"fiber_id":69932991380440,"process_id":28688,"file":"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/lib/warden/container/spawn.rb","lineno":135,"method":"set_deferred_success"}
{"timestamp":1442731880.104105,"message":"Exited with status 255 (0.001s): [[\"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/src/closefds/closefds\", \"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/src/closefds/closefds\"], \"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/root/linux/stop.sh\", \"/var/vcap/data/warden/depot/18vtqk14egk\", \"-w\", \"0\"]","log_level":"warn","source":"Warden::Container::Linux","data":{"handle":"18vtqk14egk","stdout":"","stderr":"execvp: No such file or directory\n"},"thread_id":69932978885420,"fiber_id":69932991380440,"process_id":28688,"file":"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/lib/warden/container/spawn.rb","lineno":135,"method":"set_deferred_success"}
{"timestamp":1442731880.412572,"message":"Container destroyed","log_level":"debug","source":"Warden::Container::Linux","data":{"handle":"18vtqk14egk"},"thread_id":69932978885420,"fiber_id":69932978855160,"process_id":28688,"file":"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/lib/warden/container/linux.rb","lineno":125,"method":"do_destroy"}
{"timestamp":1442731880.4129846,"message":"destroy (took 0.311137)","log_level":"debug","source":"Warden::Container::Linux","data":{"handle":"18vtqk14egk","request":{},"response":{}},"thread_id":69932978885420,"fiber_id":69932978855160,"process_id":28688,"file":"/var/vcap/data/packages/warden/724f030f2d6e90d02c2afbe90ed5fe1ce2de1667/warden/lib/warden/container/base.rb","lineno":300,"method":"dispatch"}

Could anyone can help with this issue?

According to @lexsys27:

Ubuntu 14.04 is required for cf_nise_installer 1. Can you upgrade your host OS and see if issue persists?

Hi
I have already success running on ubuntu 12 for about two weeks...
and I reinstall on the machine with the follow steps:

/var/vcap/bosh/bin/monit stop all
kill monit process
rm -rf /var/vcap
cd {cf_nise_installer} && ./script/install.sh
but the error doesn’t fixed…

Did you change anything from when it was working before?

Hi @Yancey1989 do you have any updates? Can you give us more information about what you had installed before you started seeing this failure and what changed? Have you tried upgrading to 14.04?

Closing due to inactivity. Please reopen if you have more details.


NSPasteboard improvements

This PR adds more methods on NSPasteboard, NSData and introduces NSArray.
It also includes an example on how to interact with the pasteboard to read PNG data and write it to a file.

I also tried to check if we leak memory  inside data.GoBytes on the c/objc side. But from my experiments it does not look like it.

There is some great stuff here! But also a great time to discuss some conventions for the project. Would you like to do a recorded video call to review?

Yeah sure will dm you in Discord.

code review discussion video: https://github.com/progrium/macdriver/discussions/33

nice work 👍


Add Sea-ORM to the Diesel benchmark

I would like to invent you to add sea-orm (and maybe also sea-ql) to the relational database connection crates benchmark suite located inside of the diesel repository. This would give potential users a good overview over the current state + you would also have a comparison with other crates for free.
Additionally to address your worries from reddit about those benchmarks not reflecting the strength of the async implementation side: We are more than happy to extend that benchmark suite so that these strengths could be shown in a better way. What sort of benchmark would you expect to show that? Maybe you would provide an initial implementation of an sea-orm based solution for such an use case?

The first thing I would likely look into in your position is where exactly the overhead of compared to Sqlx is coming from. Is this some unfortunate implementation detail that can be fixed later on quite easily or is it something more fundamental that may require redesigning certain parts of your crate.

I think a part of it is unavoidable: the dynamic query building stage. But then, there should be a lot of room to improve, like using smallvec, and refactor internally to reduce memory reallocation etc.

My problem with such real world benchmarks is that they include to many variables to really say something about actual components of the benchmark system.

Okay, sorry for not made myself clear. We can have an actix web server, connecting to a database, doing some CRUD operations. The only variable will be the database driver, and then we will be able to tell whether a top-to-bottom async implementation actually makes a difference in terms of concurrency.
The comparison with node.js is a different game: we aim to compete with the node.js + expressjs + TypeORM (or any ORM) stack, with an entire Rust stack. I think we can draw more developers into the Rust ecosystem, if we can prove ourselves to be more performant while being comparatively productive.

If you feel that some of the assumptions described in the benchmarks Readme is putting a disadvantage on a certain implementation, again please point that out and we will see how we can improve the "rules" and the implementation so that the benchmarks become more fair.

Yes. I have looked through the benchmark, and my only suggestion to improvement would be to have a slightly more complex schema and queries. I will definitely take some time to think about it! But right now our priority is to 'make it work and ship it'.
I'd like to keep this issue open, so a person who cares would be motivated to contribute something.


Maintaining consistency in checking type of object

Was there anything you noted in functionality or is it purely stylistic?

It's purely stylistic.

ok we're still trying to find out if it was actually done on purpose the way it was done. I ll leave it open for the moment, also you seem to have opened the PR twice so I ll close the other one.

Hi, what is the status of this PR?
There's a functionality issue this solves as the tool doesn't work with subclasses of dict such as OrderedDict


Are there any plans to support Memory Ballooning ?

As time goes by, the memory allocated to the virtual machine will not be returned to the host. It would be better if the user could manually release this memory

libkrun does implement virtio-balloon's free page reporting but, according to various reports from people developing memory allocators, macOS's behavior with MADV_DONTNEED is quite particular, and while it does mark the pages are reclaimable it doesn't really release them until they're really needed (that is, there's memory pressure on the system).
I've also tried with MADV_FREE_REUSABLE and it behaved in exactly the same way.


Clean up and update to ibm-fhir-server 4.7.0

Updates config format to Liberty server configDropins as per https://github.com/IBM/FHIR/releases#460-migration-considerations
Uses ibmcom/ibm-fhir-schematool for schema init and updates
change-password split up, to distinguish passwords easily: fhirserver:change-postgres-password (DB server), fhiruser:change-user-password, fhiradmin:change-admin-password
Update ibmcom/ibm-fhir-server to 4.7.0

Thanks for this PR. Looks good to me, i just need to test it before merge.

any progress on that?
I really would like to test it.


Implement into Emulators

This should go into at least 1 emulator immediately.
RetroArch
This is the best candidate because they already have a rolling-scan commit (Sept 2024) and an open entry https://github.com/libretro/RetroArch/issues/16373 .... So the software is already architectured to do subrefresh processing, and likely the easiest emulator to adapt.
WinUAE
Another candidate is WInUAE, since Toni implemented my Lagless VSYNC algorithm. I've submitted my suggestion at https://github.com/tonioni/WinUAE/issues/312
MAME
Not as likely, but I include this for completeness' sake.  https://github.com/mamedev/mame/issues/6762

UPDATE: It's in RetroArch already!  They implemented it in under a day.

A DOSBox implementation will be amazing if you can convince any of the port makers.

A DOSBox implementation will be amazing if you can convince any of the port makers.

You can today.  Retroarch already supports Dosbox.

Great! Thank you.


CLEANUP: remove useless type cast

🔗 Related Issue

⌨ What I did

필요없는 (Buffer) 타입 캐스팅을 제거합니다.

https://github.com/naver/arcus-java-client/issues/340
https://github.com/naver/arcus-java-client/pull/342


Revert "fix: update s3 bucket policies to adhere to best practices"

Reverts aws-amplify/amplify-cli#10272
This PR requires a s3:PutPublicAccessBlock on the Amplify Role
CREATE_FAILED      DeploymentBucket AWS::S3::Bucket Sat Apr 23 2022 07:24:10 GMT+0000 (Coordinated Universal Time) API:
s3:PutPublicAccessBlock Access Denied

Codecov Report

Merging #10282 (28b4275) into master (f27d56a) will decrease coverage by 0.00%.
The diff coverage is 53.84%.

@@            Coverage Diff             @@
##           master   #10282      +/-   ##
==========================================
- Coverage   54.29%   54.29%   -0.01%
==========================================
  Files         850      850
  Lines       46937    46939       +2
  Branches    10003    10004       +1
==========================================
+ Hits        25486    25487       +1
- Misses      19433    19435       +2
+ Partials     2018     2017       -1

Impacted Files
Coverage Δ

...ation/src/root-stack-builder/root-stack-builder.ts
58.73% <53.84%> (-0.29%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


When header is in text mode and left aligned, the title and subtext is not aligned

Nevermind, I figured.
  - type: text
    height: 200
    paddingX: 32
    paddingY: 0
    align: left```

Had to set `paddingX: 32`

Although, "T" is still out by 1 px, I think. :thinking:

I didn't add margin or padding on the subtitle.
Maybe the browser interprets and prints UI like that.
Do you think it's better to add a margin to the subtitle?

No, it can also be the font itself. I will look into this later. I don't think this is a huge issue.


Update MathJax config to only target elements with "mathjax" class

All other elements are skipped. Since we haven't introduced abstracts yet, the "mathjax" class has only been applied to the title in the search results.
This PR also introduces two other minor changes:

disable multi-line, black-bordered box around TeX could not be processed by MathJax; it now looks like the rest of the paragraph
hide grey rendering status box that appears at the bottom of the page on page load; it was distracting to some users and doesn't provide much useful feedback anyway. Note that it's also possible to disable the greying of the TeX elements that MathJax has queued to process, but I haven't made that change here.

Hi @eawoods, for testing I've modified my local copy of requirements/dev.txt to point to the branch in arxiv-base I'm trying to test, e.g.:
 #arxiv-base==0.4.1 -e git://github.com/cul-it/arxiv-base.git@task/ARXIVNG-381#egg=arxiv-base

Thank you @mhl10!

Thanks @eawoods, will merge!


Enable throwing exceptions in debug when no OrderBy has been called before calling Skip or Take

Adding this to be done quite quickly, as there are already issues like that in code.


WIP - Integrating bacom footer into Milo

WIP - Adds BACOM footer to milo.
Resolves: MWPW-115365
Test URLs:

Before: https://main-footer--milo--adobecom.hlx.page/drafts/bradjohn/princess-cruises-case-study-html
After: https://bacom-footer--milo--adobecom.hlx.page/drafts/bradjohn/princess-cruises-case-study-html

Still todo:

Add ability to turn off similar to gnav
tests

@auniverseaway Let me know if you have any large impacting feedback

This is really great. I didn't realize you already had this in.
I was wondering why the TBT was so bad and then I realized the sample page has CaaS on it.
There are some minor things I want to change with the content structure, but I don't think it will impact your stuff too much.


chore: add support for new terraform versions

Add support for terraform 1.7 and 1.8

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.56%. Comparing base (f6fe40e) to head (f7f9d39).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #132   +/-   ##
=======================================
  Coverage   83.56%   83.56%
=======================================
  Files          17       17
  Lines        1302     1302
=======================================
  Hits         1088     1088
  Misses        157      157
  Partials       57       57

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


SYSTEM_DEPS and PYTHON_DEPS fail with multiple packages specified

In docker/Dockerfile there are ARG variables defined for SYSTEM_DEPS and PYTHON_DEPS which are used in docker/scripts/systemlibs.sh and docker/scripts/bootstrap.sh respectively.
In both cases the variables are quoted which causes the docker build to fail if multiple values are specified separated by spaces.
Example:
In Dockerfile set SYSTEM_DEPS
ARG SYSTEM_DEPS="tar wget gzip gcc make expect"

When docker build runs, and gets to line 33 in systemlibs.sh if [ -n "${SYSTEM_DEPS}" ]; then yum install -y "${SYSTEM_DEPS}"; fi it will fail because there is no package called "tar wget gzip gcc make expect".
The solution is to remove the quoting around ${SYSTEM_DEPS} to allow splitting the package names passed to yum on the spaces.
diff --git a/docker/script/systemlibs.sh b/docker/script/systemlibs.sh
index 48ef0ca..3a66b2d 100644
--- a/docker/script/systemlibs.sh
+++ b/docker/script/systemlibs.sh
@@ -30,6 +30,6 @@ yum install -y nc
 yum install -y python2-cryptography

 # Install additional system library dependencies. Provided as a string of libraries separated by space
-if [ -n "${SYSTEM_DEPS}" ]; then yum install -y "${SYSTEM_DEPS}"; fi
+if [ -n "${SYSTEM_DEPS}" ]; then yum install -y ${SYSTEM_DEPS}; fi

 yum clean all
\ No newline at end of file

diff --git a/docker/script/bootstrap.sh b/docker/script/bootstrap.sh
index 575d9ed..74563b0 100644
--- a/docker/script/bootstrap.sh
+++ b/docker/script/bootstrap.sh
@@ -20,7 +20,7 @@ pip3 install $PIP_OPTION psycopg2
 pip3 install $PIP_OPTION --constraint /constraints.txt apache-airflow[crypto,celery,statsd"${AIRFLOW_DEPS:+,}${AIRFLOW_DEPS}"]=="${AIRFLOW_VERSION}"

 # install additional python dependencies
-if [ -n "${PYTHON_DEPS}" ]; then pip3 install $PIP_OPTION "${PYTHON_DEPS}"; fi
+if [ -n "${PYTHON_DEPS}" ]; then pip3 install $PIP_OPTION ${PYTHON_DEPS}; fi

 # install adduser and add the airflow user
 adduser -s /bin/bash -d "${AIRFLOW_USER_HOME}" airflow

All MWAA-used packages are currently represented and as such SYSTEM_DEPS, etc are not used.  local-runner is only intended to reflect the state of MWAA, not be a general-purpose Airflow package.  As such, this edit is not required but may be considered for a future version.


Merge for gzip additions

Sorry, I got the pull direction wrong. Please ingore this.

@mdPlusPlus no worries, I did the same the first time I tried Pull Request here. I guess it should be call "Push" request instead :)


unnecessary renders?

Any time you <Component/> you are rendering it - the function (or the full component create/render) is being called even though due to the route it won't be on the screen. So here, every single route is rendered, need it or not, with all of the internal side effects (like useEffect calls to load data from the server that'll never be seen or used).
A way to avoid that is to have the Router do the rendering instead.
   const routes = [{path:"/", component:Home}, {path:"/login", component:Login, props: { someProperty: someValue}]
   const defaultComponent = { component: NoPageExists, props: {} }

   return (
      <Router routes={routes} defaultComponent={defaultComponent}/>
      )

now internally:
const component = routes.find(({path, component}) => path === currentPath)?.component || defaultComponent
const props = component.props || {};
// and here we now have the advantage of being able to inject some routing state info to props if we like
return <Component {props}/>

Thanks for flagging. I will investigate and revert back in the coming days. Also got some useful suggestions on Hacker News from someone that I need to incorporate into version 2.0 and hopefully that will be a high quality final router for people to import

No I don't think that's true, here is a dummy example that shows no unnecessary renders. Let me know if I missed something?
import logo from './logo.svg';
import './App.css';
import Router from "./Router";
import {navigate} from "./Router";

function App() {
  const routes = [{path:"/", component:<Home/>},
    {path:"/login", component:<Login/>},
    {path:"/register", component:<Register/>}]
  const defaultComponent = <NoPageExists/>

  return (
      <Router routes={routes} defaultComponent={defaultComponent}/>
  )
}
export default App;

function Home() {
  console.log("Render Home Component");
  return (
      <>
        Click here to login

        <button onClick={(e) => navigate("/register")} fullWidth>Register</button>

        This won't work
      </>
  )
}

function Login() {
  console.log("Render Login Component");
  return (
      <>
        Click here to go home

        <button onClick={(e) => navigate("/register")} fullWidth>Register</button>

        This won't work
      </>
  )
}

function Register() {
  console.log("Render Register Component");
  return (
      <>

Success!

      </>
  )
}

function NoPageExists() {
  console.log("Render 404 Component");
  return (
      <>

404

      </>
  )
}


Add qemu vm to run tests

The CI is ready, but some followups are needed to make sure it does the correct thing


[Enhancement] Reduce duplicate data in RpcDataPackage during RPC transmission.

Why I'm doing:
[Enhancement] Reduce duplicate data in RpcDataPackage during RPC transmission.
Currently, the RpcDataPackage sent by FE will contain duplicate rpc data in data and attachment, which results in the available rpc body size being reduced by half.
What I'm doing:
Add the Ignore annotation to the fields in AttachmentRequest so that these fields will not be serialized in RpcDataPackage.
Fixes #41277
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)
[ ] I have added documentation for my new feature or new function
[ ] This is a backport pr

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

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

@kangkaisen If you have time, please help me review this code. Thanks.


Support for setting dataChange=false

The Delta transaction protocol contains the ability to mark entries in the transaction log as dataChange=false indicating that they are only rearranging data that is already part of the table. This is powerful as it allows you to perform compaction and other read-performance optimizations, without breaking the ability to use a Delta table as a streaming source. We should expose this as a DataFrame writer option for overwrites.

Thanks, that is exactly what I meant.
I confirm that in the test I did for the compaction of existing data, the transaction log contained the field
'dataChange=true'.

@btbbass - after compacting a Delta data lake, should the transaction log contain dataChange=true for the files that are added, the files that are removed, or both?
Here's the current behavior.  Suppose we have a Delta data lake with 1,000 files and run this code:
val df = spark
  .read
  .format("delta")
  .load("/some/path/data")

df
  .repartition(10)
  .write
  .format("delta")
  .mode("overwrite")
  .save("/some/path/data")

The _delta_log/00000000000000000001.json file will contain 10 rows like this:
{
  "add":{
    "path":"part-00000-compacted-data-c000.snappy.parquet",
    "partitionValues":{

    },
    "size":123456,
    "modificationTime":1567528453000,
    "dataChange":true
  }
}

The _delta_log/00000000000000000001.json file will also contain 1,000 rows like this:
{
  "remove":{
    "path":"part-00154-some-stuff-c000.snappy.parquet",
    "deletionTimestamp":1567528580934,
    "dataChange":true
  }
}

@marmbrus @btbbass Is there a method in the dataframe to infer whether there is data change or not? I am thinking about creating a new mode like repartition which works almost the same as overwrite except for setting dataChange=false so it is up to the caller to specify whether data is change or not.
After the change, the call should look like this:
val df = spark
  .read
  .format("delta")
  .load("/some/path/data")

df
  .repartition(10)
  .write
  .format("delta")
  .mode("repartition")
  .save("/some/path/data")

@frankobe we could go that route, but it would require making changes to stable API in Spark, which is unlikely to be approved by the community there.
Rather I'd suggest just adding an option: .option("dataChange", "false") (or some other option name if someone has a better suggestion).

Hi, I want to implement this issue

This commit adds the last piece to need to make sure setting dataChange = false minimizes the conflicts with concurrent operations. So you will be able to do file compactions concurrently when data is being continuously appended.


print the project name at the end

What is this?

Why?
Small thing but many forget the exact name of the dir by the time all the packages load.
How did you test to ensure no regressions?
Ran it myself
If this is a new feature what is one way you can make this break?
If no path then this might throw

Added compat for if user does not specify a path


Clean up the demo console interface

This is part of the work to improve demos (see Unvanquished/Unvanquished#988).
It does the following:

Renames cvars to demo.*
Renames commands to demo_*
Removes demo-related functionality that is completely broken (eg: audio recording)
Fixes CMake to avoid overwriting submodules during builds

Note that stuff like 9c3071a should ideally go in a PR of their own. 😉


Create Tea

com.kiloo.subwaysurf

本 pr 为试图利用此项目嫖虚拟货币牟利的 spam，看到的可以动动手点下举报。
This pr is for the spam that is trying to use this program to get cryptocurrency for profit, if you see it, please report spam to GitHub at here


ISPN-12156 Security Realm identity caching

https://issues.redhat.com/browse/ISPN-12156

Ping @tristantarrant could you address the review issues?

I believe I have addressed all issues

Checkstyle error

Fixed

This is failing because of a bug in Elytron: https://issues.redhat.com/browse/ELY-2031

I've created a PR for Elytron https://github.com/wildfly-security/wildfly-elytron/pull/1456 that fixes the issue.

Elytron have finally merged my changes and released a new version. I've addressed all comments.

Rebased

Merged, thanks Tristan!


Unexpected ITEM_REMOVED and ITEM_ADDED events after string property change

After changing an string property from a SwellRT collaborative object, the client which is source of the change receives the expected ITEM_CHANGED event, but any other client with that model opened receives an ITEM_CHANGED, followed by a  ITEM_REMOVED and ITEM_ADDED of that property

Another unexpected behavior of this issue is that, unlike when a property is really removed, the ITEM_CHANGED handler is still active.
This is a real problem because the usual way of using event handlers is that when an object is added, a new ITEM_CHANGED is registered. With this fake item removal and addition, an extra ITEM_CHANGED is registered, resulting in as many active item changed handlers as changes happened n the property.


Windows: dev loop: CreateProcess error=206, The filename or extension is too long

A Windows user reported:
loop failed java.io.IOException: Cannot run program "java.exe" (in directory "C:\emp-mdm-apple-service"): CreateProcess error=206, The filename or extension is too long

A potential reason could be the size of project.dependencies path length  in .helidon file, which exceeds 37k characters.

Maybe we should update this code to use @argfile

A Windows user reported:
loop failed java.io.IOException: Cannot run program "java.exe" (in directory "C:\emp-mdm-apple-service"): CreateProcess error=206, The filename or extension is too long

A potential reason could be the size of project.dependencies path length in .helidon file, which exceeds 37k characters.

The debug-log file is attached:
debug-log.txt


Destroying the steam keeps it in memory

I destroyed the steam and my memory usage is still high even though it should be on 35mb (the base usage)

I am closing this due to inactivity. If anyone else is still experiencing this issue, then please open a new issue. This issue itself is tricky, I'm assuming a lot of people are using this with discord.js so I'm not sure where the fault lies exactly.


[JS] Investigate Platform Implementation

@jonmill what is this about?

This is the time-bucket for investigating / prototyping the Input.ChoiceSet for JS. We're going to circle up on Wednesday June 9th to finalize the design for Input.ChoiceSet based on everyone's prototype and what questions / open issues they've found

Got it. Maybe the title should reflect that a little more precisely? Because seen in GitHub alone it's difficult to make sense of it.


[mpw-5] Segmentation fault during repair_antennas

Description
Segmentation fault during groute without any further warnings/errors for debugging
Environment
Python: v3.6.8
Kernel: Linux v4.18.0-338.el8.x86_64
Distribution: centos 8
Container Engine: docker v20.10.8
OpenLane Git Version: 2021.11.23_01.42.34
---
PDK Version Verification Status: MISMATCH
The version of open_pdks installed does not match the one required by the OpenLane flow scripts (installed: 27ecf1c16911f7dd4428ffab96f62c1fb876ea70, expected: c5730b574461889c82858b08d12ba42423d9c2cb)
You may want to re-install the PDK by invoking `make pdk`.
---
Git Log (Last 3 Commits)

commit e1883edfbcc8c7e96491158521522b7a66541745
Author: Manar<EMAIL_ADDRESS>Date:   Mon Nov 22 07:59:18 2021 -0600

    Update resizer (#726)

Reproduction Material
Run command:

make mount
bash-4.2$ ./flow.tcl -design fabric_3x4 -tag fabric_3x4 -overwrite

fabric_3x4_groute_packaged.tar.gz
Expected behavior
Finish the flow without errors
Logs
[INFO]: Running Global Routing...
[INFO]: current step index: 13
OpenROAD b79f266fe41540eabc064bcaddfe19ed715ac5c2
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
[INFO ODB-0222] Reading LEF file: /openlane/designs/fabric_3x4/runs/fabric_3x4/tmp/merged_unpadded.lef
[INFO ODB-0223]     Created 13 technology layers
[INFO ODB-0224]     Created 25 technology vias
[INFO ODB-0225]     Created 457 library cells
[INFO ODB-0226] Finished LEF file:  /openlane/designs/fabric_3x4/runs/fabric_3x4/tmp/merged_unpadded.lef
[INFO ODB-0127] Reading DEF file: /openlane/designs/fabric_3x4/runs/fabric_3x4/results/placement/eFPGA.placement.def
[INFO ODB-0128] Design: eFPGA
[INFO ODB-0130]     Created 541 pins.
[INFO ODB-0131]     Created 8643 components and 29620 component-terminals.
[INFO ODB-0133]     Created 4954 nets and 9092 connections.
[INFO ODB-0134] Finished DEF file: /openlane/designs/fabric_3x4/runs/fabric_3x4/results/placement/eFPGA.placement.def
[INFO]: Setting signal min routing layer to: li1 and clock min routing layer to li1.
[INFO]: Setting signal max routing layer to: met4 and clock max routing layer to met4.
[WARNING GRT-0030] Specified layer met5 for adjustment is greater than max routing layer met4 and will be ignored.
[INFO GRT-0020] Min routing layer: li1
[INFO GRT-0021] Max routing layer: met4
[INFO GRT-0022] Global adjustment: 0%
[INFO GRT-0023] Grid origin: (0, 0)
...
[INFO GRT-0096] Final congestion report:
Layer         Resource        Demand        Usage (%)    Max H / Max V / Total Overflow
---------------------------------------------------------------------------------------
li1               4624           162            3.50%             0 /  0 /  0
met1            312460         36078           11.55%             0 /  0 /  0
met2            236640         37269           15.75%             0 /  0 /  0
met3            158929          2630            1.65%             0 /  0 /  0
met4            113617             0            0.00%             0 /  0 /  0
---------------------------------------------------------------------------------------
Total           826270         76139            9.21%             0 /  0 /  0

[INFO GRT-0018] Total wirelength: 762401 um
[INFO GRT-0006] Repairing antennas, iteration 1.
[WARNING GRT-0043] No OR_DEFAULT vias defined.
[INFO GRT-0224] Chose via L1M1_PR as default.
...
Notice 0: Split top of 1 T shapes.
Notice 0:
disconnected net 962  Tile_X1Y0_S1BEG\[0\]
Notice 0: Split top of 2 T shapes.
Notice 0: Split top of 2 T shapes.
Notice 0: Split top of 2 T shapes.
Notice 0:
disconnected net 965  Tile_X1Y0_S1BEG\[3\]
Notice 0: Split top of 2 T shapes.
[ERROR]: during executing: "openroad -exit /openlane/scripts/openroad/groute.tcl |& tee >&@stdout /openlane/designs/fabric_3x4/runs/fabric_3x4/logs/routing/13-fastroute.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
child killed: segmentation violation

Hi @maliberty,
It seems that the recent OpenLane version still doesn't resolve the routing problem for FPGA fabric designs. I'm trying to stitch a small fabric but couldn't pass the groute step. There is no helpful warnings/errors that can be used for debugging. Please check the testcase and let me know what's wrong with the design/flow? Thanks.

@nguyendao-uom
OpenLane Git Version: 2021.11.23_01.42.34 its an older version. Please try with latest version [2022.02.16_01.55.24](https://github.com/The-OpenROAD-Project/OpenLane/releases/tag/2022.02.16_01.55.24)and still facing the issue, do attach updated tar file.

Hi @vijayank88, I used all default tags mpw-5a from caravel_user_project, also there is a suggestion on Slack that we should not change openlane version otherwise the flow can be broken(?)

Sorry, please ignore the above comment, that's applied for the pdks only. I'll update the openlane and re-run the test.

@nguyendao-uom thanks for the update.
@maliberty  @donn
Even with latest OR App error repeats.
Notice 0: Split top of 1 T shapes.
Notice 0: Split top of 1 T shapes.
Notice 0: Split top of 1 T shapes.
Notice 0:
disconnected net 965  Tile_X1Y0_S1BEG\[3\]
Notice 0: Split top of 1 T shapes.
Segmentation fault (core dumped)

@donn @maliberty have you had a look on this issue? Any suggestions?
The issue still remains with the latest openlane version (2022.02.21_02.33.47)
openroad_issue_reproducible.tar.gz

@eder-matheus this crash is in the dreaded order_wires code called on the groute generated segments inside antenna fixing.  The input is odd in that I see 7 segments for a simple two pin net (Tile_X1Y0_S2BEG[0]):

The segments are overlapping eachother in odd ways.  If we can fix this above order_wires that would be good.  Would you take a look and see if you understand how the groute segs were generated here?
The segs are all on layer = 3 with a init_x = 251850:
{init_y = 969450, final_x = 251850, final_y = 976350}
{init_y = 976350, final_x = 251850, final_y = 962550}
{init_y = 969450, final_x = 251850, final_y = 983250}
{init_y = 960950, final_x = 251930, final_y = 960950}
{init_y = 960950, final_x = 251850, final_y = 962550}
{init_y = 981650, final_x = 251930, final_y = 981650}
{init_y = 981650, final_x = 251850, final_y = 983250}

It happens because this routing connects two macro pins. Grt creates the fake pins for them and add the guides that connect the real pin position to the routing. I'll try to enhance the function that merge the segments to avoid these odd routes.

Thanks @eder-matheus, can you also check if the tool supports channel less placement of blocks?

@eder-matheus I don't believe OL uses macro pin extension - are you saying grt always creates fake pins?
@nguyendao-uom there is nothing to route in channel-less placement so I'm not sure what needs checking.

Hi @eder-matheus, seems the issue have not resolved with the updated openlane 2022.02.23_02.50.41?
Can you check again? Thanks
openroad_issue_reproducible.tar.gz

Hi @eder-matheus, seems the issue have not resolved with the updated openlane 2022.02.23_02.50.41? Can you check again? Thanks openroad_issue_reproducible.tar.gz

The latest openlane is probably not using my last commits on the OpenROAD repository. I've tested your testcase locally and I don't see the segfault.

That may have something to do with the fact OpenLane has not been updated to the latest version of OpenROAD yet. This is a manual process that someone has to do (@openlane-bot makes it easier, but doesn't automatically apply it.)
If you do any critical fixes in OpenROAD, please just @ me or a member of the OpenLane team who is not on vacation atm.

That may have something to do with the fact OpenLane has not been updated to the latest version of OpenROAD yet. This is a manual process that someone has to do (@openlane-bot makes it easier, but doesn't automatically apply it.)
If you do any critical fixes in OpenROAD, please just @ me or a member of the OpenLane team who is not on vacation atm.

Got it, I'll do it next time I have a critical update regarding OpenLane flow. Thanks.

Fixed in 161699a68bf82102f66f9d588d3a83e626cc5d05. This issue will remain open as it is still relevant for the mpw-5 version of OpenLane and it documents a workaround.


About the value of ConsulEndPoint.HostName

the namespace  Gigya.Microdot.ServiceDiscovery
class ConsulClient
line: 494
var endpoints = nodes.Select(ep => new ConsulEndPoint                 {                     HostName = ep.Node.Name,                     Port = ep.Service.Port,                     Version = GetEndpointVersion(ep)                 }).OrderBy(x => x.HostName).ThenBy(x => x.Port).ToArray();
why HostName = ep.Node.Name  and not ep.Node.Address  or ep.Service.Address?

Yes,I Have A questions in my project!
we register multiple  micro service to single Consul Node，if  HostName eqaul ep.Node.Name ,i can't discover service in other server ,i must modify HostName=eq.Service.Address! Is there a problem with my usage?
consul config

{
"services":[{
"Id":"CalculatorService0",
"name": "CalculatorService-dev",
"tags": ["version:1"],
"address": "<IP_ADDRESS>",
"port": 12323,
"check":[
{
"tcp": "<IP_ADDRESS>:12323",
"interval": "1s"
}
]
},{
"Id":"CalculatorService1",
"name": "CalculatorService-dev",
"tags": ["version:1"],
"address": "<IP_ADDRESS>",
"port": 12323,
"check":[
{
"tcp": "<IP_ADDRESS>:12323",
"interval": "1s"
}
]
},{
"Id":"CalculatorService2",
"name": "CalculatorService-dev",
"tags": ["version:1"],
"address": "<IP_ADDRESS>",
"port": 12323,
"check":[
{
"tcp": "<IP_ADDRESS>:12323",
"interval": "1s"
}
]
}]
}

consul kv

{"basePort":12323,"dc":"global","env":"dev","version":"1"}


[Autocomplete] Fix hiddenLabel prop of TextField variant={filled} inside Autocomplete

[x] I have followed (at least) the PR section of the contributing guide.

Should close #29056 I'd have to test it with the  ci/codesandbox build once.

You've got a code sandbox build! https://ci.codesandbox.io/status/mui-org/material-ui/pr/29234/builds/183717


demo_users schema is missing?

Where can I find the schema or table of demo_users ?
Also please let me know where can I download the complete code of demo website?

You can see the schema now.
There is no available download of demo website currently.


Add the new 'reverse' attribute to the readme

Just to complete it. :)
Thanks again for adding that feature!

Thank for contributing ;)


Update tour.md for Code Sample Line Numbers

Summary
The code samples in this document do not appear to line up with the content.
Based on the content found in the referenced code samples located here: tour.fs, I believe that these changes to the code sample line number references should align closer to the intended content, or at least provide a possible suggestion for changes.

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


Fixed an issue that would cause an error.

Changed: module.exports = create; to module.exports = create(); to fix,
TypeError: Cannot create property 'autocomplete' on string 'foo '  error.
Just a little thing!

@ozzie1998 its been a while since I've worked woth this code, but this fundamentally changes the API, and doesn't allow for config. Can you send a stack trace of the error so we can find out what's causing it?

I can do.

/Users/ozzie/Desktop/neon/node_modules/prompt-sync/index.js:19
	var autocomplete = (config.autocomplete =
	                                        ^

TypeError: Cannot create property 'autocomplete' on string '> '
    at create (/Users/ozzie/Desktop/neon/node_modules/prompt-sync/index.js:19:42)
    at search (/Users/ozzie/Desktop/neon/search.js:6:15)
    at Object.<anonymous> (/Users/ozzie/Desktop/neon/search.js:25:18)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)

When prompt-sync is required like this:
var prompt = require('prompt-sync') forgetting the () on the end gets irritating.

exporting a function is a common pattern (examples: http://npm.im/express, http://npm.im/pino, https://www.npm.im/pump)
you can be more explicit to help you to remember:
var createPrompt = require('prompt-sync')
var prompt = createPrompt()

Can you let me know what code you're using to create the stack trace?

var prompt = require('prompt');
var foo = prompt("stuff");

ok I understand
you need to instantiate prompt sync first
var createPrompt = require('prompt-sync')
var prompt = createPrompt()
var foo = prompt('stuff')

You've indicated that you know this, and thought that a solution would be to just instantiate it from within the lib. However - that means prompt would be a singleton which is generally a poor design choice. It also means a user wouldn't be able to configure prompt at init time and if you changed the API so you could configure the instance, well now you have the shared state problem with the potential for clashing configs for the same singleton.
What you're trying to avoid is developer error, the best way to do this is to throw an error that makes sense something like "prompt-sync should not be initialized with a string"
If you want to make a pr that throws an intelligent message, that would make more sense :)

Okay! I will do that. Thanks for explaining it!

This ought to do.
/Users/ozzie/Desktop/neon/test.js:8
throw new Error("prompt-sync should not be initialized with a string");
^

Error: prompt-sync should not be initialized with a string
    at Object.<anonymous> (/Users/ozzie/Desktop/neon/test.js:8:7)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:508:3
```  Image upload was refusing to cooperate.

Tested,
javascript

	try {
		var autocomplete = (config.autocomplete =
			config.autocomplete ||
			function() {
				return [];
			});
	} catch (e) {
		throw new Error("prompt-sync should not be initialized with a string");
	}

now throws:
Error: prompt-sync should not be initialized with a string
    at create (/Users/ozzie/Desktop/neon/node_modules/prompt-sync/index.js:28:9)
    at Object.<anonymous> (/Users/ozzie/Desktop/neon/test.js:2:9)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)

ah well there's a much easier and obvious way -
check the config parameter with typeof - if it's a string, then throw.
you can do that right at the top of the function, and the intent is clear
also if that piece of code you wrapped threw for some other reason, the error would be misleading

I am an idiot... Thank you. Will fix it.

You are correct, no idea why I didn't think of that earlier. Any way, shall I make another PR for it?

sure let's close this one off :)


Bugs which Prevent Training Runs from Starting

So, first off I want to thank you for making such a great platform for the training of object detectors. I used it in the past week and a half to train 100+ object detectors on several different PCs with different sets of GPUs. For the most part it works great; however, there are two common bugs I've run into at the beginning of training that prevent a run from starting. I can't figure out why these errors occur, but I figured I would let you know since I've seen them across different computers using 1.x, 2.0, and 2.1.
The first one occurs when the model finished downloading, showing 100%, but hangs there and training never starts, even after leaving it for a few hours. This happens like 1x for every 4-5 runs. The seconds, which I've included the error report below, happens like 1x for every 2-3 runs.
Traceback (most recent call last):
  File "/podc/src/mmdet/tools/train.py", line 161, in <module>
    main()
  File "/podc/src/mmdet/tools/train.py", line 92, in main
    cfg.optimizer['lr'] = cfg.optimizer['lr'] * len(cfg.gpu_ids) / 8
  File "/usr/local/lib/python3.6/dist-packages/mmcv/utils/config.py", line 324, in __getattr__
    return getattr(self._cfg_dict, name)
  File "/usr/local/lib/python3.6/dist-packages/mmcv/utils/config.py", line 36, in __getattr__
    raise ex
AttributeError: 'ConfigDict' object has no attribute 'optimizer'

With both of these issues, if I just restart the training job, the issue doesn't occur again, until another few models down the line.

For the first issue, it may be because all processes are downloading the checkpoint to the same path. We will fix it. Before that you can try downloading the checkpoint before the first run.
For the second one, it looks weird and we have never met it before.

Hi @CMobley7 ,
Could you post the corresponding config thus we could debug it?

Since there is no response, this issue is closed. Please create a new issue following the issue template if the issues occur again.


Outdated stylus conventions

It seems like we're using dated combinators somewhere within the package, which is leading to functionality not working perfectly (Can't seem to get layout mixins to work like +tablet-up())

I updated vue-ssr-carousel with a fix for this https://github.com/BKWLD/vue-ssr-carousel/pull/79.  I'm not sure where else it's needed.  I don't see either >>> or /deep/ in this package or in https://github.com/BKWLD/stylus-library.  If you run across any instances in one of our packages, lemme know.
I wouldn't expect the breakpoint mixins to be affected by this...

Found another case: https://github.com/BKWLD/cloak-visual/pull/10

I think that was the last one, can no longer repro those warnings on https://github.com/BKWLD/bukwild.com


Task level retry and Stage level retry

Which issue does this PR close?

Closes #140.
Rationale for this change

What changes are included in this PR?

1. Task level retry,
a) Add task attempt num, use a job level unique task_id to represent the Task
b) Define couple of failure reasons for FailedTask
pub enum FailedReason {
        #[prost(message, tag="4")]
        ExecutionError(super::ExecutionError),
        #[prost(message, tag="5")]
        FetchPartitionError(super::FetchPartitionError),
        #[prost(message, tag="6")]
        IoError(super::IoError),
        #[prost(message, tag="7")]
        ExecutorLost(super::ExecutorLost),
        /// A successful task's result is lost due to executor lost
        #[prost(message, tag="8")]
        ResultLost(super::ResultLost),
        #[prost(message, tag="9")]
        TaskKilled(super::TaskKilled),
    }

c) Reasoning the real task failure reason when return the TaskStatus back to Scheduler
d) Based on the failure reason, scheduler decide to reschedule the task and bump task attempt number of failed task.
2. Stage level retry and shuffle read failure handling
a) Add stage attempt num.
b) When there are shuffle partition fetch failures, the current running stage will be rolled back and the map stages will be resubmit.
c) handling of delayed fetch failure task updates
d) Cancel the running tasks if Scheduler decide to fail the stage/job.
And below two items are not covered in this PR and we may need to revisit the related logic in future:

If the plans/expressions in the Stage is not deterministic, need to revisit the resubmit logic.
If we have a map stage whose shuffle output can be reused by multiple reduce stages, need to revisit the stage retry logic.

Are there any user-facing changes?

@thinkharderdev @andygrove @yahoNanJing
Please help to review my PR.

Added 10+ UTs to cover different cases.

With this PR, the state machine for the stage becomes as follows:

The transitions marked in red are newly added ones to deal with error task recovery.

For example, one SQL stage graph snapshot is as follows:
       							Stage 4(Resolved)
                                              ↗                                                                       ↘

Stage 1(Successful)                										Stage 5(Unresolved)
↘                                                                                ↗
Stage 2(Successful)  ->  Stage 3(Running)
Both of Stage1 and Stage2 has output shuffle data resides on Executor1. Unluckily, the Executor1 gets lost. Then tasks for the running Stage3 will fail due to not being able to fetch shuffle data. For this kind of scenario and error, by this PR, the ExecutionGraph will be able to continue running with proper task reset.

@mingmwang I'm pretty swamped this week so won't have time to review this until this weekend.

Later, maybe we can make this error task recovery feature configurable.

The overall design of this PR is good for me and it will be really useful to deal with executor lost issue and executor bad disk issue. @thinkharderdev, @andygrove, @avantgardnerio, could you help review this PR?

Thanks, @mingmwang. I plan on starting to review this tomorrow.

@mingmwang I have taken a first pass through this PR and I think it looks good.  It would be good to wait for Dan to review as well before we merge this.

I tested this locally, and it worked really well!
I ran one scheduler, and two executors and I could kill one executor and still see a query complete successfully. This is not the case in the master branch.
I am happy to approve this once feedback has been addressed.

I tested this locally, and it worked really well!
I ran one scheduler, and two executors and I could kill one executor and still see a query complete successfully. This is not the case in the master branch.
I am happy to approve this once feedback has been addressed.

Thank you. We will also start the chaos-monkey testing in next month to verify the recent changes.

Thanks @mingmwang for this huge step of error recovering. Thanks @andygrove and @thinkharderdev for reviewing this PR. Since we all approved this PR, I'll merge it first.


All categories appear as selected in PCMM

I checked the software release, and they use the 1.5.7 with the same sha1 signature. I'll see if I can reproduce this locally...

Looks like this bug only affects non-grouped terms. It's fixed!


The description having the dash was removed

The service retire task description no longer has the dash, so this needed fixing.
Per https://github.com/ManageIQ/manageiq/pull/18895#issuecomment-513958558

@miq-bot assign @simaishi

@miq-bot add_label test

@d-m-u Thanks!


How to change the port of the frontend to call the backend

Since port 8000 is already taken in my own server, I deployed the backend on port 5093, but the frontend is still sending requests to port 8000. I was wondering where to change the request port for the frontend

https://github.com/xlang-ai/OpenAgents/blob/1a2091412a913a50a65d1bfba0ed33335d18d11f/frontend/utils/app/const.ts#L9-L10
you can set env NEXT_PUBLIC_BACKEND_ENDPOINT or change the line 10


Chore/UI fixes jul 26

Wallet startup aspect ratio should be 4:3
Change price formatting, currently only on members page: so 1 -> 1 PSL, 1000 -> 1K PSL, 1000000 -> 1M PSL,<PHONE_NUMBER> -> 1B PSL
Always show tooltip for slider in nft info modal(only here, not other parts in wallet)
Modify "Upload" to "Select" in Add NFT modals, we never upload image before compression.
Improve button paddings in Add NFT modals to have paddings as on design. Needed to add classes .btn and .btn-primary because existing Button component is not good enough for styling customization
For image size, remove space between digit and unit. "157 MB" -> "157MB"

Note:
Branched from feature/image-optimization-png-jpg to avoid conflicts
#190 will be merged first, and then #180 and #193, to reduce dup work on resolving conflicts.

It seems some of the changes overlapped to the PR 190. We need to create Pr for each future you know. Other than that looks good for me!

Yes, the reason is in the PR description.
@sanjanadhikari1


Merge "how to use crates.io" into the Guide

It's weird that http://doc.crates.io/crates-io.html is separate from the Guide, all hidden away. It should really become part of that.

Yoooooo huge :+1: to that. My impassioned (but brief) letter in rust-lang/crates.io#117.


Documentation on quotations should link to documentation on block quotations

learn_encodeQuotations does not mention or link to learn_blockQuotations, which means that if you end up at the former trying to figure out how to do the latter, you'll concoct a bit of a hack which will break things, as happened yesterday. These two pages should be interlinked.

I've moved this documentation into the chapter on Quotations and added it to the intro page ToC.
I'm working on revising the Quotations chapter today (inspired by this ticket). It will all be sorted out by the end of the day.


[StorageMover] Update to API version 2024-07-01: Support upload limit schedule

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.StorageMover


Forecast: App closes when click on weekly calendar

Version: 1.0
Steps to reproduce:

Install the app and open it, then click on bottom menu called Forecast
Now click on whatever day of the top weekly calendar.
The app closes itself.

@mayokunadeniyi
This issue caused by date format, date string will format to Locale.getDefault() before save into db, but the parsing after reading id Locale.ENGLISH, changing the parsing after reading will cause error if user change system language
I came up with following solution,

Save clean date format, then parse it after read it from db

demo
This require update code in multiple place, including test and db migration.

Force user save date string in Locale.English.

still require db migration.


ARROW-11604: [Rust] Fix Clippy Lints for Rust 1.50

Rationale:
CI uses "stable" rust. 1.50 stable was released today: https://blog.rust-lang.org/2021/02/11/Rust-1.50.0.html
The new clippy is pickier resulting in many clippy warnings such as https://github.com/apache/arrow/pull/9469/checks?check_run_id=1881854256
We need to get CI back green
Changes
Based on based on https://github.com/apache/arrow/pull/9475 from @nevi-me, this PR aims to get the CI green as soon as possible.
Ideally, we would fix the actual lint problems, However, when I tried to do so the lints propagated into a significant change -- as clippy says to remove the Result but then there are a bunch of call sites that then also need t be changed
I want to get CI back clean as soon as possible so I just hammered through and cleaned up as best I could as well as sprinkling in various #[allow(clippy::unnecessary_wraps)] as necessary to get a clean run.
My rationale is that the code is no worse than it was before. Though it could be better!

I plan to merge this in as soon as it goes green, unless I hear otherwise. I feel the CI breakage is pretty bad for contributors. I'll try and take a pass through the PRs too to note that there is a CI breakage.

Well, Clippy passed :) but the integration test is still running.
I am about to be away from my keyboard for a few hours -- I'll merge this when I get back if someone doesn't beat me to it,

Codecov Report

Merging #9476 (73befa6) into master (8a968ea) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #9476      +/-   ##
==========================================
- Coverage   82.32%   82.31%   -0.02%
==========================================
  Files         233      233
  Lines       54446    54414      -32
==========================================
- Hits        44823    44791      -32
  Misses       9623     9623

Impacted Files
Coverage Δ

rust/arrow/src/array/builder.rs
84.93% <ø> (ø)

rust/arrow/src/compute/kernels/cast.rs
97.06% <ø> (ø)

rust/arrow/src/compute/kernels/sort.rs
93.56% <ø> (ø)

rust/arrow/src/compute/kernels/substring.rs
98.29% <ø> (ø)

rust/arrow/src/compute/util.rs
98.92% <ø> (ø)

rust/arrow/src/json/reader.rs
82.82% <ø> (ø)

rust/datafusion/src/logical_plan/dfschema.rs
85.52% <ø> (ø)

...atafusion/src/physical_plan/expressions/in_list.rs
75.37% <ø> (ø)

rust/datafusion/tests/sql.rs
99.85% <ø> (ø)

rust/datafusion/tests/user_defined_plan.rs
81.64% <ø> (ø)

... and 33 more

Continue to review full report at Codecov.

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


Swap axes of pandas' Panel format

Pandas uses the following Panel layout:
In [7]: web.DataReader(['AAPL', 'F'], 'yahoo', start, end)
Out[7]:
<class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 771 (major_axis) x 2 (minor_axis)
Items axis: Open to Adj Close
Major_axis axis: 2010-01-04 00:00:00 to 2013-01-25 00:00:00
Minor_axis axis: AAPL to F

While we swap the items and minor_axis. To be in sync with them we should change this in:

[ ] Yahoo data loader load_bars_from_yahoo.
[ ] DataPanelSource.

:+1: for this change.

If we remove zipline's data loaders (#476) we wouldn't have to change them.


Remote SSH password prompt blocks bluetooth mouse functional keys

Issue Type: Bug
Environment: macOS, a bluetooth mouse (logitech MX Master)
When I am prompted to enter password for a remote SSH host (either by connecting from Remote Explorer or after disconnection), as long as the prompt is there, all the functional keys on my bluetooth mouse (such as switching desktop or even scrolling) seem to be intercepted by that prompt and no longer work, even outside VSCode window.
Further testing shows this interesting behavior:
It seems that there is an inner switch which determines whether mouse functional keys should be intercepted, and that switch is bugged.
It turns on (disabling mouse functional keys) when:

Focusing on a VSCode window with active password prompt.
Start rendering that window, even if the user is not focusing on it. For example:

Mission Control / App Exposé.
Switching to a desktop where that window is partially visible.
Revealing part of that window by dragging the window above it.

It turns off (re-enabling mouse functional keys) when:

Un-focus the password prompt by clicking outside it.
Switch focus from that window to another VSCode window or another application or another desktop.

VS Code version: Code - Insiders 1.43.0-insider (beaf391bc53136912e4f0bbdfb7844ad954247db, 2020-02-07T05:30:08.850Z)
OS version: Darwin x64 19.2.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz (8 x 3100)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
1, 2, 2

Memory (System)
16.00GB (5.74GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (27)

Extension
Author (truncated)
Version

gitlens
eam
10.2.1

systemverilog
eir
0.9.4

decaf-vscode
equ
0.1.0

vsc-material-theme
Equ
32.4.0

vsc-material-theme-icons
equ
1.1.3

code-runner
for
0.9.15

matlab
Gim
1.5.3

python
ms-
2020.2.62710

remote-containers
ms-
0.101.0

remote-ssh
ms-
0.49.0

remote-ssh-edit
ms-
0.49.0

remote-wsl
ms-
0.42.3

vscode-remote-extensionpack
ms-
0.19.0

cmake-tools
ms-
1.3.0

cpptools
ms-
0.26.3

systemverilog
msh
0.0.20

veriloghdl
msh
1.0.4

java
red
0.55.1

rust
rus
0.7.0

vscode-hexdump
sle
1.7.2

vscodeintellicode
Vis
1.2.5

vscode-java-debug
vsc
0.24.0

vscode-java-dependency
vsc
0.8.0

vscode-java-pack
vsc
0.8.1

vscode-java-test
vsc
0.22.1

vscode-maven
vsc
0.21.0

material-theme
zhu
3.2.2

(1 theme extensions excluded)

This is weird because the prompt is just a basic text input, not a native dialog, and I don't think we do anything that would cause this. Can you check whether this happens with similar prompts with text inputs? For example, just normal quickopen (cmd+p)

This is weird because the prompt is just a basic text input, not a native dialog, and I don't think we do anything that would cause this. Can you check whether this happens with similar prompts with text inputs? For example, just normal quickopen (cmd+p)

No. As far as I've seen, only the SSH password input triggers this behavior.

Sorry, this is strange and I have no clue why it would happen. It seems more likely that it comes from something strange that your OS or your mouse driver is doing.
If you want to experiment to help us narrow it down, you could try creating a basic hello world extension: https://code.visualstudio.com/api/get-started/your-first-extension then adding the same code that we use to show the password prompt, like
const quickPick = vscode.window.createInputBox();
quickPick.title = msg;
quickPick.prompt = prompt;
quickPick.password = true;
quickPick.ignoreFocusOut = true;

and you could check whether any of those flags in particular trigger this issue

quickPick.password = true triggers this issue.
import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {

  let disposable = vscode.commands.registerCommand('extension.helloWorld', () => {

    const quickPick = vscode.window.createInputBox();
    quickPick.password = true; // commenting this line will resolve the issue
    quickPick.show();

  });

  context.subscriptions.push(disposable);

}

export function deactivate() { }

I suspect my bluetooth mouse is producing some sort of a key combination or escaped sequence, which is somehow captured by the password input?

Very strange. The only difference that the flag makes is that we set type="password" on the <input> for the input box.
It is possible that when a password box is open or focused, Chrome/Electron/the OS limits what other apps can do, like to prevent them from grabbing the contents of that box.
@chrmarti have you heard anything like this before or do you have any ideas?

No, @deepak1556 any idea why type="password" would affect function keys on mice?

When there is focus on type="password" field , chrome will enable secure text input https://developer.apple.com/library/archive/technotes/tn2150/_index.html which intercepts the events https://chromium-review.googlesource.com/c/chromium/src/+/943064/ . This is not a bug, and there is nothing actionable from our end.

Thanks @deepak1556 . Closing as known limitation.


log4j exploit fix

A new exploit in log4j has been found by papermc, can you please backport the patch since is really dangerous?
link to the commit: https://github.com/PaperMC/Paper/commit/b475c6a683fa34156b964f751985f36a784ca0e0
link to the patch: https://github.com/PaperMC/Paper/blob/master/patches/server/0830-Backport-log4j-2.15.0-bugfix.patch

Nobody knows what this exploit does, we only know that is dangerous and many "hackers" are crashing servers with this

Nobody knows what this exploit does, we only know that is dangerous and many "hackers" are crashing servers with this

It allows for remote code execution on the server and can affect connected clients.
https://nosec.org/home/detail/4917.html

lolw

bump the version of log4j2 to 2.15.0 and it will fix, paper and other forks have fixed in this way right now @nopjmp

Confirmed https://blog.cloudflare.com/cve-2021-44228-log4j-rce-0-day-mitigation/

For older minecraft versions, the -Dlog4j2.formatMsgNoLookups=true also fixes this (if you don't want your client to be vulnerable)

For older minecraft versions, the -Dlog4j2.formatMsgNoLookups=true also fixes this (if you don't want your client to be vulnerable)

nop, works on 1.16+ only afaik

bump the version of log4j2 to 2.15.0 and it will fix, paper and other forks have fixed in this way right now @nopjmp

i added the patch locally, gonna test real quick and then pr

Hmm, i bumped the version in the server pom (patch) but the injection still triggers / connection to malicious endpoint still gets established, very strange. Is the pom getting overwritten by the upstream paper pom or something like that?

Proof of concepts have been published

@nothub have you tried just bumping log4j instead of using the patch?

Proof of concepts have been published !

https://www.youtube.com/watch?v=lQ7JK1VOWzc

My bad, nevermind

Apparently this is a better patch for it

But that's also assuming you can modify log4j, which I don't think you can do via patches

look at paper patch

btw now paper have bumped log4j to 2.15.0 which fixes automatically

see https://github.com/nopjmp/Dionysus/issues/13#issuecomment-991114987

I was going to bump the version and fix log4j injection so even future exploits of this nature won't work.

Btw I have a PoC in the works so I can make sure it's properly fixed.

${jndi:ldap://your_web_server_ip} in minecraft chat is good enough to confirm it's still working

as long as you're logging all requests that come in

Workaround is log4j.formatMsgNoLookups=true it seems

For older minecraft versions, the -Dlog4j2.formatMsgNoLookups=true also fixes this (if you don't want your client to be vulnerable)

lol

the paper project is suggesting to set -Dlog4j.configurationFile=log4j2.xml
log4j2.xml for 1.12:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <TerminalConsole name="TerminalConsole">
            <PatternLayout>
                <LoggerNamePatternSelector defaultPattern="%highlightError{[%d{HH:mm:ss} %level]: [%logger] %msg{nolookups}%n%xEx}">
                    <!-- Log root, Minecraft, Mojang and Bukkit loggers without prefix -->
                    <!-- Disable prefix for various plugins that bypass the plugin logger -->
                    <PatternMatch key=",net.minecraft.,Minecraft,com.mojang.,com.sk89q.,ru.tehkode.,Minecraft.AWE"
                                  pattern="%highlightError{[%d{HH:mm:ss} %level]: %msg{nolookups}%n%xEx}" />
                </LoggerNamePatternSelector>
            </PatternLayout>
        </TerminalConsole>
        <RollingRandomAccessFile name="File" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
            <PatternLayout>
                <LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level]: [%logger] %msg{nolookups}{strip}%n">
                    <!-- Log root, Minecraft, Mojang and Bukkit loggers without prefix -->
                    <!-- Disable prefix for various plugins that bypass the plugin logger -->
                    <PatternMatch key=",net.minecraft.,Minecraft,com.mojang.,com.sk89q.,ru.tehkode.,Minecraft.AWE"
                                  pattern="[%d{HH:mm:ss}] [%t/%level]: %msg{nolookups}{strip}%n" />
                </LoggerNamePatternSelector>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <OnStartupTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="1000"/>
        </RollingRandomAccessFile>
    </Appenders>
    <Loggers>
        <Root level="info">
            <filters>
                <MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL" />
            </filters>
            <AppenderRef ref="File"/>
            <AppenderRef ref="TerminalConsole" level="info"/>
        </Root>
    </Loggers>
</Configuration>

vulnerability can be tested in a very simple way with ${date:YYYY}. if this prints an actual year, the server is vulnerable.

WHOS BRAVE ENOUGH FOR THE FIXES I PUSHED

😏

Trying right now

@tommasobenatti what java version

Java 11  @RemainingToast

try to build and run on 8

https://www.minecraft.net/en-us/article/important-message--security-vulnerability-java-edition
take a look at this

try to build and run on 8

doesn't change

minecraft.net/en-us/article/important-message--security-vulnerability-java-edition take a look at this

this doesn't mean anything for custom server forks

try to build and run on 8

doesn't change

https://github.com/nopjmp/Dionysus/issues/13#issuecomment-991944708
are you sure you are using java 8?

https://github.com/nopjmp/Dionysus/releases/tag/v0.1.8
Just use this build now

https://github.com/nopjmp/Dionysus/releases/tag/v0.1.8

Works for me


DBeaver doesn't react on changes in database schema until refresh (affected: auto-complete on input or using Ctrl + Space, generation of DDL, expanding groups of objects in a tree of database navigator, in a result set - clickable links to a foreign table, changes in Metadata panel, sizes of tables in KB in a list of tables in Navigator tree)

Description
Newly created objects are not visible for auto-complete, generated text of a schema is generated as there is no object in generated DDL, new object is not visible in a tree of a database navigator.
Only manual refresh fix the issue.
But it is not very comfortable to refresh it often.
It makes auto-complete unusable in many cases.
I believe, some sort of auto-refresh should be done under the hood and by any schema-change instruction automatically so that the application works with always actual schema of a database.
I believe this issue should be of a high priority.
DBeaver Version
Community Edition 24.1.1
Operating System
Windows 10
Database and driver
PostgreSQL 16
PostgreSQL JDBC Driver 42.7.2
Steps to reproduce
https://github.com/dbeaver/dbeaver/assets/33929221/c955707f-dc62-48cc-8528-eb3705e5a4fc
Use this code:
create table my_table1 (column1 int);

select * from my_table1 as mt ;

alter table my_table1
add constraint pk1 primary key(column1);

Additional context
Incorrect DDL is generated if the table was dropped but the refresh was not done.
Please also check this case.
Here is an example of this case:
Expected: deleted table is not presented in the generated DDL
Actual: generated DDL contains incorrect table definition (without columns), for ex:
CREATE TABLE public.ttt (

);

Please also refresh automatically on:

right click to database -> Tools -> Execute script
right click to database -> Tools -> Restore Backup

Will be solved in scope of #16219

By the way, if you will be doing some kind of auto-refresh of a connection automatically every N-minutes, please also check the case when the connection is connected to the server, which is only available through VPN, which can be disconnected anytime and the sql-connection should be disconnected at first error and notice a user somehow (don't give an error every N-minute trying to reach the remote server again and again giving an error, as I saw it in another similar application).

Just a reminder for myself to do not forget to check:
"Generate SQL" item in a context menu of a cell in a Results-tab is not presented in a menu.
It seems to me, it also related to this issue.


UserWarning: Setuptools is replacing distutils when loading BetterToolLibrary - AddOn

Every time I start FreeCAD with the BTL AddOn enabled I get the following output in red in my report view:
/usr/lib/python3.11/site-packages/_distutils_hack/__init__.py:32: UserWarning: Setuptools is replacing distutils.
Support for replacing an already imported distutils is deprecated. In the future, this condition will fail.
Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml
  warnings.warn(

But then it also says:
Better Tool Library v0.9.9-70-g2594eb9 loaded successfully.

The part that makes me worry is the In the future, this condition will fail.
So should I worry?

Are you sure that this is caused by BTL? BTL does not use distutils, so I think this is probably an issue somewhere else.

It was only ocurring when i activated the BTL AddOn so I figured it caused it. But now with version 1.0 released it no longer occurs!

Great, thanks for the feedback.


Editing functions in the Azure portal is not supported for Linux Consumption Function Apps

Step 4 of the guide should probably be edited to note that Windows (not Linux) must be selected in order to follow along with the rest of the guide. Otherwise this error will be generated:

Editing functions in the Azure portal is not supported for Linux Consumption Function Apps

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

ID: 6cf91d8c-d16b-346d-759b-f3c787dea2e5
Version Independent ID: 7e422baf-0a19-dded-ee83-a71b1c819f2f
Content: Create your first function in the Azure portal
Content Source: articles/azure-functions/functions-create-first-azure-function.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

#assign:ggailey777

This is new. I have had Azure functions on a Linux disk for 8 months. They were read/write from the portal. I saw that notice for the first time around June 10, 2020. Before updating the docs, it might be worth checking whether it was or not a deliberate change.

We do call out the in-portal limitation for Python, Java, and C# class library functions. Keep in mind that the entire article is in the context of Consumption, which makes Python on Linux Consumption, which I'm pretty sure runs in a container. I think that the portal warning isn't as helpful because it requires you to know what Linux Consumption means. #please-close


docs: new decision for adding a monitoring tool

This is our first Architectural Decision Record on this project.

Merging with the actual review. I might moved this (and other) decisions to https://github.com/ZcashFoundation/infra/ but in the meanwhile lets keep this one.


Fix prerelease parsing for Xcode 8.1 beta

I added this because as of the first Xcode 8.1 beta (released Sept. 21), it was parsing the version as 8.1 beta requires OS X 10.11.5 or later.

Thanks for the PR, I'll prepare a new release in a minute 👍

Great, thanks!

The new release is live, thanks again 👍


Add documentation for new @inject

@inject will do dependency injection when user create a new agent class.
e.g
class Calculator {
   add(left:number, right: number): number {
   		return left + right;
   }
}

@agent('awesome')
class MyAgent {

   @inject(Calculator)
   calculator: Calculator

}

const agent = new MyAgent();

console.log(agent.calculator.add(1,3));
// 4

This @inject decorator already included in the latest release on npm


Content-Length and multibyte characters in HTTPResponse

I am building a tiny web server using adafruit_httpserver.server and circuitpython 8.0.0-beta.5 on ESP32-S2.
When multibyte characters (Japanese) are included in response body, the content-length header value received by a web client looks shorter, and some tailing characters in the body are missing.
page_html = """
<html>
  <head><title>test</title></head>
  <body>
   some text in multibyte language here..
  </body>
</html>
"""

@server.route("/test")
def base(request):
  return HTTPResponse(content_type='text/html;charset=UTF-8',body=page_html)

$ curl -v http://192.168.xx.xx/test
 :
< HTTP/1.1 200 OK
< Content-Length: 117
< Content-Type: text/html;charset=UTF-8
< Connection: close
<
* Excess found in a read: excess = 10, size = 117, maxdownload = 117, bytecount = 0
(html response are shown, but the last several characters in body are missing)

Looking into adafruit_httpserver/response.py, content-length is calculated as len(body), as in,
response_headers.setdefault("Content-Length", content_length or len(body))
and the whole response are sent after converted into bytes.
If I replace it with len(body.encode("utf-8")), the above trouble disappears, but I'm not sure this modification is right.
response.py#L78

I can confirm that this is a solution to the problem, this is a leftover from the time when I was preparing code to return images as bytes, which I abandoned later. In the end the whole response is being .encode("utf-8") so this seems to be the correct fix for the problem. Currently I am working on overhaul of headers handling. I will include a fix for that in my next PR.

@jun2sak would you mind testing out PR 29? You can get the .py files from the PR "Files Changed" tab, or the .mpy files from the "Checks" tab.

In my environment, the problem I reported is resolved with the .py files from the PR 29.

Using PR 29 files, I found another problem.
When I access a page that does not exist in the CircuitPython http server, as in $ curl http://192.168.xx.xx/noexists, I got an error in the server REPL console:
[srv.py]
@server.route("/test")
def base(request):
  return HTTPResponse(content_type='text/html;charset=UTF-8',body=page_html)

server.serve_forever(str(wifi.radio.ipv4_address))

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "srv.py", line 31, in <module>
  File "/lib/adafruit_httpserver/server.py", line 75, in serve_forever
  File "/lib/adafruit_httpserver/server.py", line 177, in poll
  File "/lib/adafruit_httpserver/response.py", line 110, in send
  File "/lib/adafruit_httpserver/response.py", line 131, in _send_response
  File "/lib/adafruit_httpserver/response.py", line 78, in _construct_response_bytes
AttributeError: 'NoneType' object has no attribute 'setdefault'

Using the original version, I got just
$ curl http://192.168.xx.xx/noexists
404 Not Found /noexists

and no error in REPL console.


Is pywinauto's type_keys characters only 249 long?

Expected Behavior
`
创建当前页面列表
app = pywinauto.Desktop()
dlg = app["打开"]
dlg.print_control_identifiers()
dlg["文件名(&N):Edit"].set_edit_text(“”)
`

Normal should be all entered
Actual Behavior
Just like the situation in the diagram below

Short Example of Code to Demonstrate the Problem
app = pywinauto.Desktop()
dlg = app["打开"]
dlg.print_control_identifiers()
dlg["文件名(&N):Edit"].set_edit_text(“”)
Specifications

Pywinauto version: 0.6.6

Python version and bitness: Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)] on win32

Platform and OS: Win11

Hello @xiaoxiaohuayu,
I think you need to use semicolon ' ; ' character to separate the file names given in the edit box.

So did it work now? sry i dint get you😑

So did it work now? sry i dint get you😑

Sorry, there may be some problems with the language translation. The method you mentioned did not work. Later I used win32gui to solve it. But I still hope to use pywinauto to solve it.


Expanding streams view doesn't play nicely with other parts of the UI

See video
https://github.com/rerun-io/rerun/assets/2624717/d48ade66-53aa-44cf-ae2f-a3737769e6f6
How to reproduce:
pip install --pre -f https://build.rerun.io/commit/d7de7f9/wheels --upgrade rerun-sdk.  # Latest build as of Aug 30th 09.20 CET
python -m rerun_demo

Tagging with 0.9 in case this is a quick fix.

Let's add a max size to it that leaves at least 25% or 200 pixels level on the screen, or something like that.

Let's add a max size to it that leaves at least 25% or 200 pixels level on the screen, or something like that.

If we can avoid a max size that would be nice. It's actually really useful to show just the streams view to explain what's going on in the underlying data model

Looking into it, it introduce some complexity in quite a few widgets. My proposal:

Implement @emilk's suggestion of enforcing a limit at 200px or something.
Build (or use if it exists already) a "snapping" resizing system for panel: resizing close to max height should "snap" to using the full height (ie. in that case we dont even draw the viewport/side panels/etc.). Likewise, it would be nice that resizing the time panel all the way down would "snap" to its collapsed state (which would have the added benefit of freeing the top-right button to actually hide the timeline, which can't be done currently).

I'll open a PR for (1) and an issue for (2).


Annotate all properties for a migration

Also add @ToBeKeptEagerProperty annotation.
Also add an ArchUnit test to check that all properties are annotated either with @ToBeKeptEagerProperty or ToBeReplacedByLazyProperty.
Fixes https://github.com/gradle/gradle/issues/29274

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test QF

I've triggered the following builds for you. Click here to see all build failures.

QuickFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

The merge queue build has failed. Click here to see all failures.

The merge queue build has failed. Click here to see all failures.


Make the card "stackable"

I've added four cameras using the Frigate card.
All four stayed horizontal.
Would it be possible to make the card "stackable" so it could be 2 x 2?
Thank you!

This is working as intended -- Lovelace manages card layout, not cards themselves. If your goal is a 2x2 "block" of Frigate cards, you'd do that by combining two horizontal stacks in a single vertical stack -- should work just fine, try it out?

Thank you!
I'm going to spend some additional time with lovelace now!!


Not an issue, but a request for guidance.

I have an existing leaflet map being initialised thus:
map = L.map('tab_map', {
		zoomControl: false, // Added by Zoomslider
		zoomsliderControl: true,
		attributionControl: false,
		crs: SDTD_CRS
	}).setView([0, 0], Math.max(0, mapinfo.maxzoom - 5));

How do attach the context menu to this map?
The following code enables the default leaflet menu:
map.on('contextmenu',function(e){
    		console.log(map);
		});

but, I have no idea how to use this context menu within that environment.
Any ideas?
Thanks.

Hi, you normally instantiate the contextmenu declaratively as shown in the usage section of the docs. Are you unable to do this for some reason?

It was throwing me that I already had the map initiated, and I was trying to reference that map object with your initiation code block. It eventually dawned on me that I could carry your code (minus the instantiation code) into my own instantiation code. I was just being slow - I apologise for taking your time. And thank you for taking your time to release this - I will use it on a game-attached webmap to allow a rightclick teleport-to-position feature.
Thanks again :)

Good. I'm glad you got it working :)


BUG: Do not break task graph for first level

Also, fix calculation of new scale factors. The first level is the original data.
Closes #33.

nice!