Performance impact of K8s plugin on the Go Server

During the performance run benchmarking on latest physical hardware, it was noticed that having K8s Elastic agent plugin used in the setup for performance test the time between a job moving from scheduled to assigned is increased.
Configuration of performance environment WITHOUT K8s:
Go Version : 18.2.0 and 18.3.0
Total pipelines: 1000
Pipelines run on static agents: 750
Pipelines run on ECS elastic agents: 250
Number of Static agents: 70
Server Max Mem: 10g
Server Min mem: 8g
Max EC2 instances: 4 c3.2xlarge
With this setup when the performance run was done for 12 hour period the average time for job instance to move fromscheduled to assgined was about a minute. So total run of each pipelines were approximately 200
Configuration of performance environment WITH K8s:
Go Version : 18.2.0 and 18.3.0
K8s Elastic agent version: 1.0.0-94
Total pipelines: 1100
Pipelines run on static agents: 750
Pipelines run on ECS elastic agents: 250
Pipelines run on K8s elastic agents: 100
Number of Static agents: 70
Server Max Mem: 10g
Server Min mem: 8g
Max EC2 instances: 4 c3.2xlarge
K8s Cluster nodes: 3 nodes with 4vCPU and 15GB memory
With this setup when the performance run was done for 12 hour period the average time for job instance to move fromscheduled to assgined was about 10 minutes. So total run of each pipelines were approximately only 80
Why there is a increase in delay for job instances to move from scheduled to assigned need to be investigated.
More data are captured on the server box(db backup, logs). Whoever is picking this issue, please message me, can pair to look into the captured data

This is not relevant now since EAv3 and lots of work on agent start and work pick-up speed done in GoCD core. Closing for now :-)


[discussion] combineReducers too greedy about state's shape

Sample code (taken from docs, slightly changed):
const combinedReducer = combineReducers({
    posts,
    comments
});

const featureReducers = createReducer({}, {
    ADD_COMMENT : addToCalculatedView,
};

const rootReducer = reduceReducers(
    combinedReducer,
    featureReducers
);

What is the current behavior?
If featureReducers does manage other state key than posts and comments we''ll end up with a warning that the other key is unexpected.
What is the expected behavior?
Imho this greatly prevents some composition techniques that could be used in combination with combineReducers. I understand it's considered a good default as helper for beginners, but I feel removing this "limitation" would make this helper more composable in wider range of scenarios.

This has come up a number of times in the past (afraid I don't have time to dig up links to prior discussion atm, but there should be several earlier issues on the same topic).  There's several trains of thought here:

combineReducers is deliberately opinionated as the "default" approach
One possible approach would be to allow combineReducers to take some options that turn off warnings like that, but it's already getting kind of complex
Another approach would be to split up combineReducers into smaller composable pieces, and allow swapping out pieces like iterating over objects (which also relates to the often-requested "full state as third arg" kind of idea)
The other solution is to use your own alternative to combineReducers instead.  If you strip out the warnings and such, it's really a trivial function.  There's numerous alternatives out there already, or you can write your own, and we do encourage people to write their own custom reducer logic for their own specific needs.

This is not a particular priority for us right now, and not something we plan to work on.  If someone wants to submit a PR that adds options or implements the "split up into smaller functions" approaches, I can look at the PR as a possibility.


Implements sprite sorting based on z position as well as x and y

We need to test the dead thang stacking piece to see if we still need it, or keep including it.


project.config overrides don't always work

when using the following project.config.ts the PORT override is not used. after using npm start the site is still being served on port 5555. however the overridden APP_TITLE works fine.
Other override like PROD_DEST also are ignored. Changing the values directly in seed.config.ts is gives the desired result and the changes are applied (start or build.prod tasks).
is this a bug or am i overlooking something?
export class ProjectConfig extends SeedConfig {

  PROJECT_TASKS_DIR = join(process.cwd(), this.TOOLS_DIR, 'tasks', 'project');

  constructor() {
    super();
    this.APP_TITLE = 'Event|Feedback2';
    this.PORT = 1133;

Seems like duplicate of #823 which is solved by https://github.com/mgechev/angular2-seed/pull/968.


Feature Request: Using local layout file

Hi there.
I have set this up locally, but can't seem to find any info about using a local layout file from my own QMK fork. Is this possible at the moment? If not, is it possible to add it?

Hi, if you are using the CLI, then you can pass it to the keymap draw command with -j/--qmk-info-json:
keymap draw -j path/to/info.json my_keymap.yaml

Does that answer the question?

Thank you, that works too. I forked it and added a json file to the layouts. I appreciate the response

No problem, with the command line arg you can pass an arbitrary path and don't need a fork.


Attach arrows to cards

Now you can drag arrows around and dragging an arrow onto a card will connect them.
There's still work to be done, like being able to drag the tail (if we want to be able to do that) and expanding the click target because the arrow itself is really thin, but this handles the main functionality.
Some of the stuff is kind of messy and will be cleaned up in an upcoming PR. I split them up to make reviewing easier.

Overall, nicely done!

LGTM. Looks like you requested that Nati approves as well before you can merge.

Nati said he'll read it later, so I removed him as a reviewer. It's just waiting on you now. Just putting LGTM in a comment doesn't work anymore since we removed LGTM.co. I can't remember how to actually approve though since it's been so long. Lol

Found the button.


Save maximised window state for use in next startup

[x] Depends on #4085 (fixing bugs encounterable here)

Saves maximised window state internally to framework config for use in next startups, this PR also has several changes required for "start-up in maximised state" to work correctly:
https://github.com/ppy/osu-framework/commit/5c16fa6464f8081358e373a931294e9ec64de64f
To make restoring the window from initial maximised state work properly, as now the window would switch to maximised state while its already positioned and sized to config values, unlike previously where it would switch to maximised state while its position is 0 and size is default_width,default_height (1366x768).

Closing this PR for now as it needs more work and apparently is broken on macOS.


Pilot / appNamespaces | cannot unmarshal string into Go value of type map[string]json.RawMessage

Bug description
Trying to setup an IstioOperator libe below, it show an error:
json: cannot unmarshal string into Go value of type map[string]json.RawMessage

IstioOperator definition:
[...]
    pilot:
      appNamespaces:
        - my-name-space
[...]

[X] Configuration Infrastructure
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
The installation succeeds without error
Steps to reproduce the bug
After dumping, for example, demo profile
$ istioctl profile dump demo > operator.yaml

Then, adding the change:
[...]
spec:
  [...]
  values:
    pilot:
      appNamespaces:
        - my-namespace
[...]

Fially, try to output parsed yamls:
istioctl manifest generate -f operator.yaml -o out

Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
1.6.3
How was Istio installed?
Not needed since it fails already when parsing to yaml
Environment where bug was observed (cloud vendor, OS, etc)
Local

appNamespaces is a slice of Map.
This is valid: istioctl manifest generate --set values.pilot.appNamespaces[0].ns=my-name-space
I must admit I don't know what appNamespaces does and couldn't find it in the docs.  I can't advise you on what it should look like.  But try this:
    pilot:
      appNamespaces:
        - my-key: my-namespace

Hi @esnible . You are right in the shape of the expected yaml.
The problem comes when the whole helm chart, operator, etc., expects that to be a simple array.
Otherwise, in your case, what would it be my-key?

Debuggin the code tourned out the the appNamespaces is not used anymore. Instead, a new attrbute is use called oneNamespace which sets the value of appNamespaces to the very same namespace istio is installed on.
Here the line of code:
https://github.com/istio/istio/blob/25bf46237382f5e6de7c3b8f1cfa8958ec0f9f28/manifests/charts/istio-control/istio-discovery/templates/deployment.yaml#L79
I will close this issue

When I tried customize Stackdriver installation, I met the same error. I solve by passing command like
./out/linux_amd64/istioctl install --set hub=$HUB --set tag=$TAG --set values.telemetry.v2.stackdriver.enabled=true --set values.telemetry.v2.stackdriver.logging=true --set values.telemetry.v2.stackdriver.topology=true --set values.telemetry.v2.stackdriver.configOverride.enable_xxx_log=true

It seems configOverride.enable_xxx_log=true this is the right way for command if your want to pass value to map. Thanks.


Create 58-Length-of-Last-Word.rs

File(s) Modified: 58-Length-of-Last-Word.rs
Language(s) Used: rust
Submission URL: https://leetcode.com/submissions/detail/826591276/

Thanks for contributing!


Backers cannot contribute recurring donations

Describe the bug
On specific collectives, the Become a backer  or contribute options do not allow recurring contributions. The Frequency box is greyed out/disabled. When choosing Or make a one time donation, contributors have the option to choose a monthly or yearly donation.
To Reproduce
Steps to reproduce the behavior:

Go to https://opencollective.com/wwcodegreenville
As a logged in user, click on either button: contribute or Become a backer
Contribute As - select your user name/profile
Click Next Step
Attempt to change the frequency of the donation (button will be disabled)

Expected behavior
This is confusing behavior and seems it should be the opposite: Choosing contribute or Become a backer should allow contributors to choose a frequency for their donation. Or make a one time donation should disable the frequency drop down.
Screenshots
Video of issue (could not screenshot disabled dropdown due to mouse disappearing in screenshot):

Desktop (please complete the following information):

OS: MacOS Mojave 10.14.5
Browser: Chrome
Version 74.0.3729.169

Additional context
As far as I can tell, this is an issue on some, but not all collectives. The link provided is an example of one.

Related to #1789 ?

Yes! I didn’t see that one when searching. This is directly related.

The "Make a one time donation" link is gonna be updated soon.

A simple fix would be to have the Frequencyeditable, triggering a modal warning:

If you're changing the frequency, we will not contribute to this specific the tier "Gold Sponsor".

If "Confirm", redirect to the "custom financial contribution".
If "Cancel", nothing

A $100 bounty was attached to this issue. Anyone submitting a Pull Request will be rewarded with $100 when the Pull Request is reviewed, accepted and merged. More info
This bounty is currently reserved to participants of the OSCA (Open Source Africa) event. If not completed there, it will be later open to everyone.

Hi am micheal from OSCAFRICA , i want to work on this issue

Is this issue assigned already. I want to work on it

Hello, I'm Jasper from OSCA, i've opted in to work on this issue...Thanks

@znarf , I'm currently working on this issue , but i'm a bit confused about what you mean by 'redirect to the "custom financial contribution"'....Kindly explain, so that i can proceed with making my PR
Thanks

Are you still on this issue? @viva-jasper

@viva-jasper sorry for late answer. If you're:

contributing to https://opencollective.com/babel/contribute/bronze-sponsors-356/checkout/details
change the frequency
confirm in the modal
you should be "redirected" to https://opencollective.com/babel/donate/details (the amount should ideally stay the same). This should not be a hard redirect, this should be done smoothly by changing the state and/or pushing a new route.

This bounty is now opened to everyone.

🏆 This issue was completed by @sudo-kaizen
To claim the bounty, you can either:

Submit an invoice to https://opencollective.com/engineering/expenses/new (please mention the issue number in the expense's title)
Or ask for an Open Collective gift card of the same value (to donate to other collectives)


filePattern on FindSourceFiles is now nullable, and matches all files…

… on blank input, to make it a little more convenient to use in place of HasSourcePath

What's changed?

What's your motivation?

Anything in particular you'd like reviewers to focus on?

Anyone you would like to review specifically?

Have you considered any alternatives or workarounds?

Any additional context

Brief discussion over here https://github.com/openrewrite/rewrite/issues/3807#issuecomment-1850976790
Checklist

[X] I've added unit tests to cover both positive and negative cases
[X] I've read and applied the recipe conventions and best practices
[X] I've used the IntelliJ IDEA auto-formatter on affected files

Thanks again! Good to see this match-all option restored as compared to HasSourcePath before.


Glide is displaying old image only while getting image from firebase storage

Are you sure you are providing the right URI?

Issue is solved

@parthdesai1208   how did you solve this issue?????


Add first test

To kickstart adding tests and in relation with https://github.com/TopchetoEU/jscript/issues/21
I added a dummy test and upgraded build.gradle to modern standards (8.10)

First do gradle wrapper from the command line, then ./gradlew run.
The build task will create a manifest like:      Manifest-Version: 1.0
      Main-Class: me.topchetoeu.jscript.runtime.SimpleRepl
      Build-Timestamp: 2024-09-04T10:44:35.990+0200
      Build-Branch: ma/add-first-tests
      Build-Revision: 412edc0ebcf01c67403e446a102cd14871c8f678
      Build-Jdk: 21.0.3 (Oracle Corporation 21.0.3+7-LTS-152)
      Build-Author: TopchetoEU

The build/distributions folder will contain a zip and a jar with jscript-0.9.41-beta.jar inside.
Unnecessary libs have been removed.

Thank you for the PR, but I had to revert the removal of Jabel, as I'd like this project to support older JVMs. If you have any other reasons why Jabel should be removed, please let me know.


Could not create SSL/TLS secure channel IIS

I placed ssl(let's encrypt) on my server nginx 。
When api（https://） request nginx ,and then set proxypass to my locallhost:xxx（with http
protocol , iis web server）。
Usually is well ,but once in a while there were error logs :"Could not create SSL/TLS secure"。
Strange solution， The service code（iis asp.net api） Performed half and then throw an errer(Could not create SSL/TLS secure)
I had bad mind in this issue,i'd somebody can help me, thanks!

@willportnoy  Strange solution， The service code（iis asp.net api） Performed half and then throw this errer


Generate useful synopsis for commands with many options

ArgumentParser is configured not to emit detailed synopsis when it would contain more than a dozen entries. This makes sense; however, eliding all information makes the synopsis rather useless.
While commands may have dozens of options, in most cases, only a few of them are required — so we can keep the synopsis short but still useful by only displaying the required parts.
Checklist

[X] I've added at least one test that validates that my change is working, if appropriate
[X] I've followed the code style of the rest of the project
[X] I've read the Contribution Guidelines
[X] I've updated the documentation if necessary

This is such a great improvement — thanks @lorentey! 🎉

@swift-ci Please test

swift-argument-parser/Tests/ArgumentParserPackageManagerTests/HelpTests.swift:113: error: HelpTests.testGetMirrorHelp : XCTAssertEqual failed: ("USAGE: package config get-mirror [<options>] --package-url <package-url>

D'oh. I must have not run all tests.
One additional improvement would be to include optional positional arguments in the shortened synopsis. This acknowledges the special nature of positional arguments, and it is the convention adopted by most modern command line interfaces that use synopsis shortening:
rsync [OPTION]... [USER@]HOST:SRC [DEST]
patch [OPTION]... [ORIGFILE [PATCHFILE]]
fish [OPTIONS] [-c command] [FILE [ARGUMENTS...]]
rg [OPTIONS] PATTERN [PATH ...]
fd [FLAGS/OPTIONS] [<pattern>] [<path>...]
usage: /usr/local/bin/python3 [option] ... [-c cmd | -m mod | file | -] [arg] ...

AFAICT, the synopsis is the only place where the optionality/multiplicity of positional arguments is explained in the help message, so it seems important to preserve it.

That also sounds like a good improvement! 🥇

@swift-ci test

Looks great! 🎉


feat(www): [DON'T MERGE: NEEDS TEST] better connectivity errors

There are three main categories of errors implemented here:

We couldn't fetch your dynamic access key
We couldn't interpret your dynamic access key
We couldn't connect to the server itself

STILL NEEDS A TEST!

STILL NEEDS A TEST!

I'm not sure how difficult it is to add a new workflow trying to recognize the need test label and block the PR if there is one present. Then we don't need to add "NEEDS TEST" to the title any more.


Add repair!(::Triangulation) and repair!(::VoronoiTessellation)

These methods would redefine the connectivities and the point lists so that only points in the triangulation/tessellation are included in the connectivities. It would also remove any empty features like in https://github.com/JuliaGeometry/DelaunayTriangulation.jl/blob/d3bdb2e9d5518bf00748e26a1d28b745289ed082/src/algorithms/triangulation/basic_operations/clear_empty_features.jl
cc: @juliohm

Might not be able to do this in-place since not every users point set will be mutable. Maybe just make two methods repair and repair!, where repair will recreate the triangulation and make a new point set as a vector of tuples

Repair is a bad name incase I want to implement e.g. shewchuks repair algorithm for perturbed data


KAFKA-14595 Move value objects of ReassignPartitionsCommand to java

This PR contains changes required to move PartitionReassignmentState class to java code.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mimaison
This PR is a first part of moving ReassignPartitionsCommand to java and tools module.
Can you, please, take a look?

Is server-common the right module? What requires access to these classes aside from tools?

@ijuma

Is server-common the right module?

When move ReassignPartitionsCommand finished all classes must land in tools module.
So the answer is No - server-common in not right module.
But, I propose to move with small steps and split moving in several changes.
To keep changes reviewable.
As a first step I propose to move case classes from ReassignPartitionsCommand to java code.
It seems new java classes can be keep in core module so I placed them into it.

If you want to do it in small steps, one way is that you introduce the new classes, but you do not update the command to use them. That way you can put them in the right destination from the start. In any case, I'll leave it to @mimaison to say how he'd prefer it.

Hello @ijuma

If you want to do it in small steps

It's more about simplify review then my personal preferences :)
For now, I introduced java classes from ReassignPartitionsCommand in core module.
It seems we can review and merge current changes and then move to the actual command scala -> java transformation.

@mimaison Please, share your feedback. Are you ready to review and merge current changes (only case classes and options moved to java code) or should I continue work and rewrite the whole command in Java?

I think we should directly move the classes to the tools module instead of temporarily keeping them in core.

@mimaison

I think we should directly move the classes to the tools module instead of temporarily keeping them in core

Are you suggesting to perform all moving in one PR?
Or you have some plan how to performa moving in several steps? If yes, please, share som guideline on how should I implement it.

Are you suggesting to perform all moving in one PR? Or you have some plan how to performa moving in several steps? If yes, please, share some guidelines on how should I implement it.

We can create the new Java classes in tools and not touch the existing Scala code. Then in a second time, we can rewrite the tool in Java using the new classes and delete all the old Scala code.

We can create the new Java classes in tools and not touch the existing Scala code

Thanks for feedback.
OK. I will move new classes to tools and revert scala code changes made in this PR.

@mimaison New classes moved to tools.
Please, share your opinion - should I continue work on this task and move task logic to java?
Or we will merge current changes and then move logic in separate PR?

Hello, @fvaleri thanks for the review.

trunk merge to PR
all your comments fixed.

I'm ready to continue and finish work on moving ReassignPartitionsCommand to java code.
So if this PR can be merge to tunk, let's do it.
If you or @mimaison want to go another way, please, write me the next steps.

@nizhikov I don't have any preference here, I'm fine with whatever is more convenient for you. Multiple PRs may be convenient, but if you open them in parallel, merging one could easily break the others with the need of multiple rebase operations. If you decide to continue with this PR, maybe try to group the various migration phases using commits, so that the review is easier.

Tests failures seems unrelated.

@mimaison Thanks for the review. I will address your comments in the nearest time.

@mimaison I resumed work on this PR to rewrite ReassignPartitionsCommand in one change so if you have any preferences regarding splitting work into several changes, please, write me :)

@mimaison There are few classes that used elsewhere in code and in ReassignPartitionsCommand. Specifically:

BrokerMetadata simple case class.
AdminUtils partition distribution algorithm implementation.

Let's rewrite those two classes and move them into server-common in separate ticket?
Prior to ReassignPartitionsCommand command.
Because, current changes for command are pretty huge, already.

Thanks @nizhikov for the updates. In its current shape it's a pretty big PR. I really prefer when we moved one thing at a time, it's much easier to review. If you can think of ways to split it in at least 2 PRs that would be preferable and I'd recommend not adding any more changes to this!

Hello @mimaison

If you can think of ways to split it in at least 2 PRs that would be preferable

My plan is the following:

PR to rewrite AdminUtils  - https://github.com/apache/kafka/pull/14096 . It independent from the others and can be reviewed right now. I checked all tests failures and it seems like all of them is just flacky tests from trunk. Can you, please, join the review?

PR to create a copy of POJOs and custom exceptions of ReassignPartitionsCommand.

PR to rewrite command itself and it's tests.

To finish all three I need to rewrite ReassignPartitionsIntegrationTest which I do right now.
I will split PR in three after it.
What do you think? Can you start review of #14096 ?

I'll try to take a look at #14096 this week. Thanks

@ijuma
@tombentley
@mimaison I rewrite ReassignPartitionsCommand and all tests belong to it. All tests regarding ReassignPartitionsCommand.java pass.
The only link to ReassignPartitionsCommand.scala is ReplicationQuotasTestRig which provides some main method and it never used in kafka project.
I'm not sure what is supposed action here. Can you advise me how to unlink ReplicationQuotasTestRig and ReassignPartitionsCommand.scala?

@mimaison Thanks for review and merge of #14096.
I create PR that contains java version of ReassignPartitionsCommand POJOs.
Please, take a look - #14172

@mimaison Thanks for review and merge of #14172
The PR still pretty big but touches only 15 classes.
Are you comfortable with reviewing it as is?
I can try to move tests of scala version of ReassignPartitionCommand to java in separate PR.
It will require some tricks with scala to java collection but changes will become smaller.
What do you think?

@mimaison Is there any change that PR will be reviewed in current shape? Or I should think on how split it?

@mimaison I create #14217 which include ReassignPartitionsCommandArgsTest rewritten in java. It independent from the big PR and can be reviewed separately. Can you, please, take a look?

It seems tests are OK in #14217
Please, review.

I created a #14355 to rewrite ReassignPartitionsUnitTest separately.
This will reduce changed even move.
Please, review.

Tests for #14355 looks OK. Please, review.

Hello @mimaison . Is there any change you review #14355 ?
It's contains ReassignPartitionsUnitTest in java to simplify this PR even more.

@mimaison Tests in #14456 are OK. If you have some time, please, join the review.

@mimaison
@ijuma
It seems we reduced changes as much as possible.
So it's time to do final review of command transfer from scala to java.
Can you, please, take a look.

@tledkov

ReplicationQuotasTestRig no longer needed?

This class not used through current codebase.
But it has dependency on ReassignPartitionCommand.
So, for now, I just removed it.
If there are use-cases for it, we must write them down and cover class with tests, at least :)

@tledkov Great catch. Unused code removed.

Hello @gharris1727
Do you have time to take a look at final patch that transfer ReassignPartitionCommand from scala to java?

Sorry @nizhikov for the delay, this is next in my review queue. Can you rebase on trunk to resolve the conflicts? Thanks

Hello @mimaison
I merged trunk into branch. Conflict resolved.
Tests for command pass locally.

Thanks @nizhikov for the changes. I'm going let the build run. I will also wait a day or so to see if @mimaison has any more comments.

CI looks OK

@jolshan Before merging you probably want to run the ReassignPartitionsTest and ThrottlingTest system tests to verify the command still works as expected.

reassign_partitions_test.py is OK. Will check second in a minute.
$ git rev-parse HEAD
53e767a75f2d48c4e5419fdf83033f881f21771e

docker exec ducker01 bash -c "cd /opt/kafka-dev && ducktape --cluster-file /opt/kafka-dev/tests/docker/build/cluster.json  ./tests/kafkatest/tests/core/reassign_partitions_test.py "
/usr/local/lib/python3.9/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
[INFO:2023-10-20 09:36:39,559]: starting test run with session id 2023-10-20--001...
[INFO:2023-10-20 09:36:39,559]: running 8 tests...
[INFO:2023-10-20 09:36:39,560]: Triggering test 1 of 8...
[INFO:2023-10-20 09:36:39,572]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': False, 'reassign_from_offset_zero': False, 'metadata_quorum': 'ISOLATED_KRAFT'}}
[INFO:2023-10-20 09:36:39,576]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: on run 1/1
[INFO:2023-10-20 09:36:39,578]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Setting up...
[INFO:2023-10-20 09:36:39,578]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Running...
[INFO:2023-10-20 09:39:03,424]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Tearing down...
[INFO:2023-10-20 09:39:27,516]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: PASS
[INFO:2023-10-20 09:39:27,517]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Data: None
[INFO:2023-10-20 09:39:27,534]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:39:27,534]: Triggering test 2 of 8...
[INFO:2023-10-20 09:39:27,545]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': False, 'reassign_from_offset_zero': False, 'metadata_quorum': 'ZK'}}
[INFO:2023-10-20 09:39:27,551]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ZK: on run 1/1
[INFO:2023-10-20 09:39:27,553]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ZK: Setting up...
[INFO:2023-10-20 09:39:31,390]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ZK: Running...
[INFO:2023-10-20 09:41:44,682]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ZK: Tearing down...
[INFO:2023-10-20 09:42:20,942]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ZK: PASS
[INFO:2023-10-20 09:42:20,944]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=False.metadata_quorum=ZK: Data: None
[INFO:2023-10-20 09:42:20,962]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:42:20,963]: Triggering test 3 of 8...
[INFO:2023-10-20 09:42:20,983]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': False, 'reassign_from_offset_zero': True, 'metadata_quorum': 'ISOLATED_KRAFT'}}
[INFO:2023-10-20 09:42:20,987]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: on run 1/1
[INFO:2023-10-20 09:42:20,989]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Setting up...
[INFO:2023-10-20 09:42:20,989]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Running...
[INFO:2023-10-20 09:45:01,375]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Tearing down...
[INFO:2023-10-20 09:45:24,418]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: PASS
[WARNING - 2023-10-20 09:45:24,419 - runner_client - log - lineno:294]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Test requested 8 nodes, used only 7
[WARNING:2023-10-20 09:45:24,419]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Test requested 8 nodes, used only 7
[INFO:2023-10-20 09:45:24,420]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Data: None
[INFO:2023-10-20 09:45:24,441]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:45:24,441]: Triggering test 4 of 8...
[INFO:2023-10-20 09:45:24,456]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': False, 'reassign_from_offset_zero': True, 'metadata_quorum': 'ZK'}}
[INFO:2023-10-20 09:45:24,461]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: on run 1/1
[INFO:2023-10-20 09:45:24,464]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: Setting up...
[INFO:2023-10-20 09:45:28,235]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: Running...
[INFO:2023-10-20 09:48:01,185]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: Tearing down...
[INFO:2023-10-20 09:48:36,870]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: PASS
[WARNING - 2023-10-20 09:48:36,871 - runner_client - log - lineno:294]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: Test requested 8 nodes, used only 7
[WARNING:2023-10-20 09:48:36,871]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: Test requested 8 nodes, used only 7
[INFO:2023-10-20 09:48:36,872]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=False.reassign_from_offset_zero=True.metadata_quorum=ZK: Data: None
[INFO:2023-10-20 09:48:36,887]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:48:36,888]: Triggering test 5 of 8...
[INFO:2023-10-20 09:48:36,902]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': True, 'reassign_from_offset_zero': False, 'metadata_quorum': 'ISOLATED_KRAFT'}}
[INFO:2023-10-20 09:48:36,907]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: on run 1/1
[INFO:2023-10-20 09:48:36,909]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Setting up...
[INFO:2023-10-20 09:48:36,911]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Running...
[INFO:2023-10-20 09:51:20,336]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Tearing down...
[INFO:2023-10-20 09:51:44,207]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: PASS
[INFO:2023-10-20 09:51:44,208]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ISOLATED_KRAFT: Data: None
[INFO:2023-10-20 09:51:44,226]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:51:44,227]: Triggering test 6 of 8...
[INFO:2023-10-20 09:51:44,240]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': True, 'reassign_from_offset_zero': False, 'metadata_quorum': 'ZK'}}
[INFO:2023-10-20 09:51:44,244]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ZK: on run 1/1
[INFO:2023-10-20 09:51:44,247]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ZK: Setting up...
[INFO:2023-10-20 09:51:47,848]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ZK: Running...
[INFO:2023-10-20 09:54:10,056]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ZK: Tearing down...
[INFO:2023-10-20 09:54:46,389]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ZK: PASS
[INFO:2023-10-20 09:54:46,389]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=False.metadata_quorum=ZK: Data: None
[INFO:2023-10-20 09:54:46,412]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:54:46,413]: Triggering test 7 of 8...
[INFO:2023-10-20 09:54:46,429]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': True, 'reassign_from_offset_zero': True, 'metadata_quorum': 'ISOLATED_KRAFT'}}
[INFO:2023-10-20 09:54:46,436]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: on run 1/1
[INFO:2023-10-20 09:54:46,439]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Setting up...
[INFO:2023-10-20 09:54:46,440]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Running...
[INFO:2023-10-20 09:57:44,797]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Tearing down...
[INFO:2023-10-20 09:58:09,838]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: PASS
[WARNING - 2023-10-20 09:58:09,838 - runner_client - log - lineno:294]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Test requested 8 nodes, used only 7
[WARNING:2023-10-20 09:58:09,838]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Test requested 8 nodes, used only 7
[INFO:2023-10-20 09:58:09,839]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ISOLATED_KRAFT: Data: None
[INFO:2023-10-20 09:58:09,853]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 09:58:09,853]: Triggering test 8 of 8...
[INFO:2023-10-20 09:58:09,864]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'reassign_partitions_test.py', 'cls_name': 'ReassignPartitionsTest', 'method_name': 'test_reassign_partitions', 'injected_args': {'bounce_brokers': True, 'reassign_from_offset_zero': True, 'metadata_quorum': 'ZK'}}
[INFO:2023-10-20 09:58:09,867]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ZK: on run 1/1
[INFO:2023-10-20 09:58:09,869]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ZK: Setting up...
[INFO:2023-10-20 09:58:13,587]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ZK: Running...
[INFO:2023-10-20 09:59:58,469]: RunnerClient: kafkatest.tests.core.reassign_partitions_test.ReassignPartitionsTest.test_reassign_partitions.bounce_brokers=True.reassign_from_offset_zero=True.metadata_quorum=ZK: Tearing down...

[INFO:2023-10-20 10:03:55,974]: running 2 tests...
[INFO:2023-10-20 10:03:55,974]: Triggering test 1 of 2...
[INFO:2023-10-20 10:03:55,988]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'throttling_test.py', 'cls_name': 'ThrottlingTest', 'method_name': 'test_throttled_reassignment', 'injected_args': {'bounce_brokers': False}}
[INFO:2023-10-20 10:03:55,991]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=False: on run 1/1
[INFO:2023-10-20 10:03:55,993]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=False: Setting up...
[INFO:2023-10-20 10:03:59,653]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=False: Running...
[INFO:2023-10-20 10:09:48,461]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=False: Tearing down...
[INFO:2023-10-20 10:11:00,903]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=False: PASS
[INFO:2023-10-20 10:11:00,904]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=False: Data: None
[INFO:2023-10-20 10:11:00,932]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO:2023-10-20 10:11:00,933]: Triggering test 2 of 2...
[INFO:2023-10-20 10:11:00,949]: RunnerClient: Loading test {'directory': '/opt/kafka-dev/tests/kafkatest/tests/core', 'file_name': 'throttling_test.py', 'cls_name': 'ThrottlingTest', 'method_name': 'test_throttled_reassignment', 'injected_args': {'bounce_brokers': True}}
[INFO:2023-10-20 10:11:00,952]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=True: on run 1/1
[INFO:2023-10-20 10:11:00,954]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=True: Setting up...
[INFO:2023-10-20 10:11:04,805]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=True: Running...
[INFO:2023-10-20 10:18:04,927]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=True: Tearing down...
[INFO:2023-10-20 10:19:12,329]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=True: PASS
[INFO:2023-10-20 10:19:12,330]: RunnerClient: kafkatest.tests.core.throttling_test.ThrottlingTest.test_throttled_reassignment.bounce_brokers=True: Data: None

Note, this PR and #14588 are mutual exclusive.
After merging one, other must be merged with trunk

@mimaison
@jolshan
Is there anything a have to do to finish this PR?

@jolshan Looks like we good to go. Are you ready to merge this PR?

Hello @mimaison
Can you, please, share your feeback for PR?
Are we ready to merge this?

Thanks all for the help, review and merge!


feat(friends): wire up other friend events

What this PR does 📖

the following friend related events should now work: send, accept, reject, unfriend
block is wired up but needs some more work
fixes a few items from https://github.com/Satellite-im/Uplink/issues/146

Which issue(s) this PR fixes 🔨

Resolve #

Special notes for reviewers 🗒
Additional comments 🎤
sometimes on Linux I get this error: Failed to create shared memory: Too many open files. I'm not sure if it's because of warp or saving state.json but it interferes with Uplink. eventually we probably do want to use a database instead of a json file.
no way to unblock a friend
if side A and B are friends, side A then blocks B, A will disappear from B's friends list but B will still have the option to unfriend A

since the warp update there's something weird going on when i try to log in
https://user-images.githubusercontent.com/8636602/213306106-32b0a61d-4725-47b1-a01e-e016403518fd.mp4

note that the video of me logging in was me entering the correct password, deleting the last character, then typing the same character again

note that the video of me logging in was me entering the correct password, deleting the last character, then typing the same character again

I can write up ticket for it if we want to fix in another PR 👍

That too many files error happens because of the file descriptors are low. On the first version of uplink i put fdlimit in to up the file descriptors (see https://github.com/Satellite-im/Uplink-Depricated/blob/dev/src/main.rs#L76). The same could happen here prior to initializing.

sometimes on Linux I get this error: Failed to create shared memory: Too many open files. I'm not sure if it's because of warp or saving state.json but it interferes with Uplink. eventually we probably do want to use a database instead of a json file.

We could run some performance metrics in the future, but I think for the foreseeable future since it's just loading or saving an object straight from file to memory and not querying or anything it should be fine I would think. Serde is pretty quick.

also @sdwoodbury if I had to hazard a guess about the "deleting a character logs us in" i would assume it's because of the functionality to "automatically" log us in when we enter the correct pin (basically checking on every keypress after the minimum pin length) is probably firing but the state isn't being triggered properly until you delete the character. This can probably be fixed by switching a onkeydown to a onkeyup or something similar

also @sdwoodbury if I had to hazard a guess about the "deleting a character logs us in" i would assume it's because of the functionality to "automatically" log us in when we enter the correct pin (basically checking on every keypress after the minimum pin length) is probably firing but the state isn't being triggered properly until you delete the character. This can probably be fixed by switching a onkeydown to a onkeyup or something similar

multipass wasn't immediately available after decrypting tesseract. adding a delay fixed it.

That too many files error happens because of the file descriptors are low. On the first version of uplink i put fdlimit in to up the file descriptors (see https://github.com/Satellite-im/Uplink-Depricated/blob/dev/src/main.rs#L76). The same could happen here prior to initializing.
Note: That error doesnt always pertains to files itself but really file descriptors. Networking applications open and closes them and some internally would increase the soft limits temporarily for that process

i'm pretty certain that the file descriptor limit is being reached because of network activity. I saw some very weird stuff in my lsof output. i'm hoping it was related to IPFS. it consisted of repeated attempts to connect to a few odd domains (various VPS) but only happened when running Uplink.

That too many files error happens because of the file descriptors are low. On the first version of uplink i put fdlimit in to up the file descriptors (see https://github.com/Satellite-im/Uplink-Depricated/blob/dev/src/main.rs#L76). The same could happen here prior to initializing.
Note: That error doesnt always pertains to files itself but really file descriptors. Networking applications open and closes them and some internally would increase the soft limits temporarily for that process

i'm pretty certain that the file descriptor limit is being reached because of network activity. I saw some very weird stuff in my lsof output. i'm hoping it was related to IPFS. it consisted of repeated attempts to connect to a few odd domains (various VPS) but only happened when running Uplink.

You are correct that its related to network activity from ipfs. Increasing the soft limits will help with the error you are seeing related to too many files opened (using say fdlimit will increase it for the process).

note that the video of me logging in was me entering the correct password, deleting the last character, then typing the same character again

I can write up ticket for it if we want to fix in another PR 👍

No need. I fixed it


Wrong annotation for Tags._fuzzy_search

Description
The current declaration of _fuzzy_search is:
@staticmethod
def _fuzzy_search(search: str, target: str) -> int

while the return value is a float.
return current / len(_search) * 100

Available fixes
We can change the return value from int to float or convert the division mark to floor the result:
def _fuzzy_search(search: str, target: str) -> float

or
return current // len(_search) * 100

If you work on this, consider working on #787

I can fix it when it's approved :+1:

This would probably be best included with the fix for #787

Oh never mind you already said that

@F4zii You can go ahead and work on this but since someone else was assigned to the other issue maybe they should take care of this one too.

Ok, sure thing

This has been addressed in #803


Remove single use testing util

Method is only used once, in a test, and is probably too specific to appear in `AccountTransaction API.

This change is

Codecov Report

Merging #1065 (a2ad392) into main (4403876) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1065      +/-   ##
==========================================
- Coverage   67.70%   67.69%   -0.01%
==========================================
  Files          51       51
  Lines        6370     6365       -5
  Branches     6370     6365       -5
==========================================
- Hits         4313     4309       -4
+ Misses       1674     1673       -1
  Partials      383      383

Files
Coverage Δ

.../blockifier/src/transaction/account_transaction.rs
94.57% <ø> (+0.15%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


ValueError: Used --continue_from_checkpoint but no checkpoint was found in --model_name_or_path.

Good afternoon. I am trying to replicate the task run_seq_clf_script.sh but I get the following error:

The model and dataset paths are as follows:

Do you happen to know what might be wrong with my implementation?
numpy==1.16.1
torch>=1.3
transformers==3.0.2
tokenizers==0.8.0
torchvision==0.5
tensorboardX==2.0
pandas>1.0
loguru==0.5.3
tape_proteins==0.4
seaborn==0.11.0
scikit-learn==0.23.2
scipy==1.5.3
seqeval
-e .
CUDA 11.0

Hi @1treu1, looking at the script I believe that with the MODEL_NAME you set you do not need to pass MODEL_NAME/TASK_NAME to --model_name_or_path, but it's sufficient to pass MODEL_NAME.

I not understand

On the other hand I tried to import the dataset with language_modeling.py but I get the following error:

Searching a little I found that in these cases it is better to call the whole library, that is to say, change the from to import:
from ..processors.lm_utils import split_into_chunks
It would be:
import ..processors.lm_utils
But it does not recognize the ..

I not understand

Simply remove /${TASK_NAME} from the first argument you pass to the command. If you would use code snippets instead of screenshot it would be easier to help you ;)

On the other hand I tried to import the dataset with language_modeling.py but I get the following error:

Searching a little I found that in these cases it is better to call the whole library, that is to say, change the from to import:
from ..processors.lm_utils import split_into_chunks It would be: import ..processors.lm_utils But it does not recognize the ..

This makes me think you did not install the library properly, relative imports (with .) work only inside modules i python.
Did you follow the setup from the README.md? It seems not given this error.
Please create the conda environment as described here: https://github.com/PaccMann/paccmann_proteomics#installation.
Verify the installation by runnig the python interpreter and trying the import:
import paccmann_proteomics

Yes, follow the README configuration. I create the environment as described here https://github.com/PaccMann/paccmann_proteomics#installation .
But it still does not work

ear el environment otra vez pero sigue sin funciona

can you share the output of the conda env creation? The error you shared clearly indicates that paccmann_proteomics is not installed in the environment.

Yes, of course
packages in environment at /home/ubuntu/anaconda3/envs/paccmann_proteomics:

Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
biopython                 1.79                     pypi_0    pypi
boto3                     1.20.44                  pypi_0    pypi
botocore                  1.23.44                  pypi_0    pypi
ca-certificates           2021.10.8            ha878542_0    conda-forge
certifi                   2021.10.8                pypi_0    pypi
charset-normalizer        2.0.10                   pypi_0    pypi
click                     8.0.3                    pypi_0    pypi
cycler                    0.11.0                   pypi_0    pypi
e                         1.4.5                    pypi_0    pypi
filelock                  3.4.2                    pypi_0    pypi
fonttools                 4.29.0                   pypi_0    pypi
idna                      3.3                      pypi_0    pypi
importlib-metadata        4.10.1                   pypi_0    pypi
jmespath                  0.10.0                   pypi_0    pypi
joblib                    1.1.0                    pypi_0    pypi
kiwisolver                1.3.2                    pypi_0    pypi
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 11.2.0              h1d223b6_12    conda-forge
libgomp                   11.2.0              h1d223b6_12    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_12    conda-forge
libzlib                   1.2.11            h36c2ea0_1013    conda-forge
lmdb                      1.3.0                    pypi_0    pypi
loguru                    0.5.3                    pypi_0    pypi
matplotlib                3.5.1                    pypi_0    pypi
ncurses                   6.3                  h9c3ff4c_0    conda-forge
numpy                     1.16.1                   pypi_0    pypi
openssl                   3.0.0                h7f98852_2    conda-forge
paccmann-proteomics       0.0.1                     dev_0
packaging                 21.3                     pypi_0    pypi
pandas                    1.3.5                    pypi_0    pypi
pillow                    9.0.0                    pypi_0    pypi
pip                       20.2.4                     py_0    conda-forge
protobuf                  3.19.3                   pypi_0    pypi
pyparsing                 3.0.7                    pypi_0    pypi
python                    3.7.12          hf930737_100_cpython    conda-forge
python-dateutil           2.8.2                    pypi_0    pypi
python_abi                3.7                     2_cp37m    conda-forge
pytz                      2021.3                   pypi_0    pypi
readline                  8.1                  h46c0cb4_0    conda-forge
regex                     2022.1.18                pypi_0    pypi
requests                  2.27.1                   pypi_0    pypi
s3transfer                0.5.0                    pypi_0    pypi
sacremoses                0.0.47                   pypi_0    pypi
scikit-learn              0.23.2                   pypi_0    pypi
scipy                     1.5.3                    pypi_0    pypi
seaborn                   0.11.0                   pypi_0    pypi
sentencepiece             0.1.96                   pypi_0    pypi
seqeval                   1.2.2                    pypi_0    pypi
setuptools                60.5.0           py37h89c1867_0    conda-forge
six                       1.16.0                   pypi_0    pypi
sqlite                    3.37.0               h9cd32fc_0    conda-forge
tape-proteins             0.4                      pypi_0    pypi
tensorboardx              2.0                      pypi_0    pypi
threadpoolctl             3.0.0                    pypi_0    pypi
tk                        8.6.11               h27826a3_1    conda-forge
tokenizers                0.8.0                    pypi_0    pypi
torch                     1.10.1                   pypi_0    pypi
torchvision               0.5.0                    pypi_0    pypi
tqdm                      4.62.3                   pypi_0    pypi
transformers              3.0.2                    pypi_0    pypi
typing-extensions         4.0.1                    pypi_0    pypi
urllib3                   1.26.8                   pypi_0    pypi
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zipp                      3.7.0                    pypi_0    pypi
zlib                      1.2.11            h36c2ea0_1013    conda-forge

Thanks a lot, could you paste the output you get when doing the following:
which python

Open python running:
python

Run the following in the python shell:
import paccmann_proteomics

Of course.

could you try to repeat the import starting the interpreter from another folder? I'm afraid you are currently importing the module from the path and not from the actual site-packages location

Done, I did it from desktop

ok then I really do not understand what is going wrong with the relative imports error you reported above.
can you try to run from the repo root:
python paccmann_proteomics/run_language_modeling.py --help

Of course.

I solved the problem by changing  "from ..processors.lm_utils import split_into_chunks"  por  "from paccmann_proteomics.data.processors.lm_utils import split_into_chunks" without quotation marks

I solved the problem by changing "from ..processors.lm_utils import split_into_chunks" por "from paccmann_proteomics.data.processors.lm_utils import split_into_chunks" without quotation marks

Hi @1treu1 I'm happy you solved it but the fact that you had to adapt the code means that the installation is somehow off.
As we tested you should be able to run scripts leveraging the relative imports. Anyhow happy you can use our code in your research.


External Links

detection of external links based on simple pattern taken from helper method from asciidoctor helper script

Coverage remained the same at 85.457% when pulling 591b23ad6bd8307a9b334f1509bf99095ac8e4ad on feature/external-links into ce9487deb1ce23b65a7a7b836f46e60f437383aa on master.


Forwarder service won't start due to incorrect permissions

Summary
When using splunkforwarder 8.1.3, configured to start as the root user, it fails to start.  The splunk enable boot-start ... command configures the systemd service to start as splunk, even though the Puppet module is configured to start it as root.
Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 6.19.1
Distribution: RHEL7
Module version: 8.0.0

How to reproduce (e.g Puppet code you use)
Configure the module to run the forwarder as root.  One way to do it is by adding this to Hiera:
splunk::forwarder::splunk_user: 'root'

Run Puppet on a host that doesn't have splunkforwarder installed yet.
The systemd file will be configured to run the service as the splunk user.
What are you seeing
Puppet runs this command to enable the forwarder:
/opt/splunkforwarder/bin/splunk enable boot-start  -systemd-managed 1 --accept-license --answer-yes --no-prompt

When running the command manually, it shows this output:
# /opt/splunkforwarder/bin/splunk enable boot-start  -systemd-managed 1 --accept-license --answer-yes --no-prompt

This appears to be your first time running this version of Splunk.

IMPORTANT: Because an admin password was not provided, the admin user
 will not be created. You will have to set up an admin username/password
 later using user-seed.conf.
Important: splunk will start under systemd as user: splunk
Systemd unit file installed at /etc/systemd/system/SplunkForwarder.service.
Configured as systemd managed service.

Note that by leaving out the -user parameter, it configures systemd to run the service as the splunk user.  This is in contradiction to the Hiera setting where it was designated to run as root.
# grep -E '(User|Group)' /etc/systemd/system/SplunkForwarder.service
User=splunk
Group=splunk

The module correctly sets ownership on some files in /opt/splunkforwarder to root:root, but because the service is running as the splunk user, it cannot read those files and the service fails to start.
What behaviour did you expect instead
I expect the service to run as the root user, because that's what I set via splunk::forwarder::splunk_user.
Any additional information you'd like to impart
I suspect the issue is related to this code:
https://github.com/voxpupuli/puppet-splunk/blob/14fef3618df8faf5003eaf49dd1b5d131cb949d9/manifests/forwarder/service/nix.pp#L22-L26
Notice that if systemd is used and the user is root, it leaves out the -user parameter.  I suspect this worked in the past because without the parameter, the "splunk enable" command used root by default, but in 8.x or some other version they changed it to default to the splunk user instead.
Also see https://github.com/voxpupuli/puppet-splunk/issues/262 for history.
Anyway, I don't see any harm in always including the -user parameter, so the fix may be as easy as getting rid of that conditional.

Saw the same, had to set splunk::forwarder::splunk_user to splunk and the recursively chown /opt/splunkforwarder as var and etc not writeable to update configs or the pid file.

Any news on this one? It does look like a simple fix of removing the 'if' check for user root and just always passing the configured user to "splunk enable boot-start".
I manually fixed on my test system with:
/opt/splunk/bin/splunk disable boot-start
/opt/splunk/bin/splunk enable boot-start -user root -systemd-managed 1 --accept-license --answer-yes --no-prompt


nexus: Close child when destroying all Nexus children

Make Nexus::destroy_children close a child first before destroying it,
making its behaviour match the code comment.
Addresses this panic when creating a Nexus with multiple children
where the 2nd or later child is inaccessible:
thread 'main' panicked at 'assertion failed: (left == right)
left: Init,
right: Closed', mayastor/src/bdev/nexus/nexus_child.rs:218:9
Fixes: 63bd078 ("nexus: add more test cases for adding children")
Resolves: CAS-297

Thanks for the approvals. Given that it's only clippy that's failing with code that wasn't even touched here due to the use of nightly clippy in CI, I'm going to merge this.


Fixed removed null coalescing and Initialized field value

Removed the null coalescing to ensure compatibility with php 5.6 along with initializing $field[value] in order to eliminate multiple conditions.

Hi @gabarba ,
Sorry it took so long to reply. In the meantime, I've discovered some more issues with select2_from_ajax and select2_from_ajax_multiple, so I ended up rewriting all select2 fields, using the latest select2.js.  So I won't merge this, sorry, as it's now fixed in a different way. But I DID take into account what you fixed here - thank you, you're right, I forgot to account for PHP 5.6.
Thanks for the PR. Keep 'em coming.
Cheers!


(chores) tests: reduce default fork timeout

Signed-off-by: Otavio R. Piske<EMAIL_ADDRESS>

This makes it worse. Closing it.


Fix Battery Parameter Migration

Describe problem solved by this pull request
@cmic0 tried to change BAT1_V_EMPTY. Parameter was changed, it differed from BAT_V_EMPTY and after a reboot (starting simulation again) it was back to the old value.
Battery parameter migration from BAT_* to BAT1_* had the following issues:

In simulation the SimulatorBattery broke the chain of ModuleParams parent/child tree which the logic is relying on. Additionally it overwrote the parameters with hardcoded values internally.
The parameter migration prefers to migrate old over new if the values differ on boot but the flag _first_parameter_update was initialized false and hence always false. This didn't have an effect most of the time because the previous_old_val is zero on initialization and if the new parameter isn't zero it went the right path.
Some drivers using the battery class e.g. INA266 didn't clear the parameter_update subscription once they checked it's updated.
Some parts were hard to read.

Describe your solution

Remove SimulatorBattery, it only did harm.
Initialize _first_parameter_update with true.
Copy subscription data to a dummy to reset after it was updated.
Refactoring.

Test data / coverage
SITL testing.

Nice work @MaEtUgR. The battery param migration was a real mess that I'm looking forward to purging once the QGC side is in place.

fixed the include
removed unnecessary parameter_update struct
reworded some things

Diff: https://github.com/PX4/Firmware/compare/e7c302c4c9eb0122864b10b5310257b39ea5e3cd..9770e675c982149e1cf2a79f9a83726e78380e9b

I added a commit to switch to PublicationMulti like suggested in https://github.com/PX4/Firmware/pull/15616#discussion_r476706755 and https://github.com/PX4/Firmware/pull/15616#discussion_r476909180

@julianoes Thanks for the review! I hope I addressed the comments to your liking. If you want to discuss migration cases I'm happy to do so.

Looks good to me. Let's do an extra round of manual testing here because I'm going to cherry-pick this as the last change for v1.11.

@dagar Thanks for reviewing!
Release port like discussed: https://github.com/PX4/Firmware/pull/15654


[FEATURE] Improve Response Format

Description
The search response it is generating is coming in markdown format. I will make some changes in the prompt to make more readable and correctly formatted.
Screenshots
No response

Feel free to go ahaed if you want to work on this issue!

sure I will make pr on it.


Does Docking work?

I have been trying to get docking to work but it doesn't seem to work. From what I can tell we need to enable flags in the context but I don't see how I am supposed to update those flags.

In case anyone else finds this. I was able to enable docking by simply doing:
ImGui.GetIO().ConfigFlags |= ImGuiConfigFlags.DockingEnable;


controller: live upgrade should not continue checking the old replica count while the new replicas are activated

Longhorn/longhorn#3052

Just checking did you test this with live migration? Since I think it uses the same createMatching function.

Just checking did you test this with live migration? Since I think it uses the same createMatching function.

YES. I just have quick live migration tests for degraded & healthy volumes. It works fine. And just in case, I add an additional check in the migration function.


Detect free space on drive before Download

A user reported that the launcher freezes in case there is not enough space left on the drive the game should be downloaded to. This can be prevented by checking the available disk space before the download
see MovingBlocks/Terasology#2656
Definition of 'Done'

the launcher checks the space left on disk before attempting a download
if there is not enough space on the disk, the user is warned and the operation is aborted
[Optionanl] a warning sign is presented in the launcher UI when there is nearly no space left on the drive

Where to start?

getTotalSpace() and getFreeSpace() of Java's File class

Closed by #392


Testing Forms and CSS selector

Hello,
is there a way to use CSS selectors white testing?
currently I can only ->press('Login');
but when I am, for example at Login form, I have somewhere in the menu also the 'Login' button.. so I need to click, for example ->press('form .submit-btn');
any way to achieve this?
Thank you!

Please ask questions on the forums. Our GitHub issues are strictly limited to isolated bug reports.


Nested types do not defer in in package

If a package is declared then some of types with nested types are not deferred till nested types are being resolved. This results in parent types are being listed before children types. Here is an example:
package P;
message A {
  required string a = 1;
  message B {
    optional C c = 1;
  }
  optional B b = 2;
}
message C {
  required string c = 1;
}

Above example will generate a code where type A will be listed before A_B, resulting in a compilation error.  If package is commented then the code is properly generated, A_B before A.

Should be fixed by #43.
Thanks for reporting!


Fixed bad stargate query declaration

Closes: https://github.com/osmosis-labs/osmosis/issues/5048
What is the purpose of the change
The queries for EstimateSinglePoolSwapExactAmountOut and EstimateSwapExactAmountOut were declared as request, not response.
Brief Changelog
Changed response type declaration to the correct one
Testing and Verifying
All tests should pass
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? (yes / no)
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? (yes / no)
How is the feature or change documented? (not applicable   /   specification (x/<module>/spec/)  /  Osmosis docs repo   /   not documented)

This PR closes an issue #5048

thanks @byeongsu-hong ! added it to the description. Also thanks for finding the issue/solution!


Cache node_modules to speed up Heroku deploys

@DerekElkinsOught pointed out that we could speed up deploys by adding cacheDirectories to package.json as described here

Resolved in #721


[extractor/common] Added support for f4m manifest Version 2.0 and Rte.ie IE

Thank you very much! Merged.

Do you want to be credited as one of the authors of youtube-dl? If so, under what name?

Would love that. Please use this name: Dinesh S
Thanks


Updated CONTRIBUTE file and added info about opening issues

@daviesgeek I fixed this up locally and pushed the merge (c17df47a40b172a988e7f49e48fad4135ce9d7fd and c2279c7835499b8690ce13780a708b34edf8d979). So in practice it's merged!


Incorrect variable name

Can one of the admins verify this patch?

I signed it!

@tensorflow-jenkins: test this please
@martinwicke @jendap FYI, not sure what the implications of this was

@tensorflow-jenkins: test this please

Merged


Argument 6/7 to "Transaction" has incompatible type "frozenset[Any]"; expected "set[Any] | None"

This happens when passing the beancount.core.data.EMPTY_SET.
None should not be allowed here, actually, because:
AssertionError: Invalid tags type: <class 'NoneType'>

fixed by https://github.com/jmgilman/beancount-stubs/pull/10


Feature/Redirect-based OAuth

Linear Ticket: SDK-758
Changes:

Adds redirect-based OAuth, utilizing the Manager/Receiver pattern à la the Google-recommended AppAuth-Android library
Re-packages OAuth related code into a new oauth package, due to the size of the OAuth-related functionality. I've created SDK-759 to do this for the other features, for consistency.
Updates demo app with all supported third-party OAuth providers (at least the ones I saw in iOS), and some QOL updates (friendlier display strings, scrolling pages)
Updates tests. Adds new test dependency on Robolectric (for testing functionality that uses Android libs) and removes some unused instrumented test dependencies (we'll probably bring them back when we get started on UI)
Adds biometric registrations to user data responses (saw they were missing)

Notes:

This ends up being a lot larger than initially expected, due not only to having to support non-custom-tabs-enabled browsers, but to an issue with launching browsers for the redirect flow. Specifically, sometimes they don't get removed from the backstack! I saw this intermittently during testing where browser windows were either left on the backstack and had to be user-navigated from, or remained in the app launcher, neither of which is desirable. To negate this, we use a multi-activity model where, instead of launching the browser directly and intercepting the "normal" deeplink, we create an activity to launch the browser and maintain state, and a second activity to receive the deeplink and callback to the state management activity. This allows us to better control the backstack, solving those issues, but comes at added complexity. The biggest issue with this is that it requires a customer app to (potentially, depending on which features are used) maintain two deeplink handlers: one for EML/Password Reset (based on what I see in the existing code; the latter of which is not yet implemented), which is handled directly by the customer's activity, and one that is strictly for OAuth redirects and handled by our receiver activity. So EML/Password Reset deeplinks would have one deeplink handler/intent filter applied (ie: myapp://something) and be caught and passed directly to StytchClient.handle(), while OAuth redirects will have a different deeplink handler (ie: myapp://oauth), respond to an activity result (similar to the GoogleOneTap implementation), have the intent data extracted from it, and then passed to StytchClient.handle().


Running out of CPU inside of containers

When running inside of a container with an input file of 2.5M, I am experiencing that redocly just hangs while running CPU% to 100%. Was wondering if there's any chance that this is because of some node dependencies that are particularly CPU intensive...?
No .redocly.yaml file used for this build.
Redocly version: 1.12.2
Node version: 20.12.2

Hi @ldanielw1, what command are you trying to run? What are the arguments? What is the file type, what's the spec version?  Any logs output?

command and args: redocly build-docs /tmp/swagger_internal.json -o tmp/internal_index.html
The swagger file is generated via the ruby gem rswag-api, version 2.13.0
The only logs that we see are:
Found undefined and using theme.openapi options
Prerendering docs
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping
Non existing security scheme referenced: BearerToken. Skipping

But those logs also appear when the build is successful on other machines (outside of containers)

It's hard to figure out what's wrong without a reproducible sample. The tool does not use any CPU-intensive dependencies. But during the execution of the build-docs command react content is being rendered into an HTML string, so I suppose it's the main reason for the high load.
Potentially this could be related to a Redoc memory issue.


add doctype to index.htm

adding e.g.

as first line of index.htm will help the samples to work on older IE (9+8). preventing compat mode.

Done


Ensure when closing, to explicitly close data blocks

This is to close out references to memory-mapped arrays that,
in the current context, not associated with a file. The Block._memmapped
is False but the .data is a memory-mapped array.
WIP spacetelescope/jwst#2282

A bit of test code can be found in @stscieisenhamer gist asdf_blocks.py.
If run without this patch, the end result is 1 open file handle, which has no direct way of being closed.
With the patch, no file handles are left.


Download functionality to presetWebFonts for offline/local network website

Clear and concise description of the problem
When you add fonts using presetWebFonts, for example:
//uno.config.ts
export default defineConfig({
  presets: [
    //   ...
    presetWebFonts({
      fonts:{
        lobster: 'Lobster',
        vibes: 'Vibes',
      }
    })
  ]
})

this will create @font-face definition for each font, containing the URL from google for example:

@font-face {
  font-family: Vibes;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/vibes/v14/QdVYSTsmIB6tmYd1FJfcuA.woff2) format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F /* .... */
}

For some web application that works offline or inside (local network), we cannot use this as we need the files to those fonts in the assets of our applications to work properly.
Suggested solution
My suggested solution is inspired from a vite plugin https://github.com/feat-agency/vite-plugin-webfont-dl
An option (global or per font) inside presetWebFonts config, to allow downloading fonts locally, thus the generated styles use the relative path to font file from our project.
Example for suggested config:

presetWebFonts({
  downloadLocally: true, //Global setting, unless overridden
  fonts: {
       vibes: 'Vibes',
       lobster: [
           {
                 name: 'Lobster,
                 provider: 'none',
                 downloadLocally: false, // Overridden here
           }
        ],
    ],
  },
})

Generated code will be for example:
@font-face {
  font-family: Vibes;
  src: url(assets/font-vibes-QdVYSTsmIB6tmYd1FJfcuA.woff2) format("woff2");
}

Alternative
No response
Additional context
This vite plugin https://github.com/feat-agency/vite-plugin-webfont-dl unfortunately does not work with font-faces generated by unocss/presetWebFonts (whether inline import is true or false)
Or did I miss a working configuration or workaround?
Validations

[X] Read the Contributing Guidelines.
[X] Read the README.md of using the package.
[X] Already used the Interactive Docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I'd love to have that feature! PR welcome if anyone wants to work on that. Thanks


support mechanical controllers

Thorlabs KDC101
Arduino powered x-y stages

bugs with Arduino controller - timeout before operation completed.


Update Xinyue's personal details in AboutUs

close #4

Codecov Report

Merging #29 (d012be5) into master (a2b7db4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #29   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 a2b7db4...d012be5. Read the comment docs.


Can't access the app with quick install process

Hi there, I'm quite confused on how to run the app.
So I did all the things in the instructions, I did a clean 16.04 Ubuntu, with 8gb of ram.  Ran the install script and created a user. But when I access the app via my IP, I'm only welcome by the nginx page. Tried logging in with ip:5000, not working. Not sure what to do.

This is the status when I run postal status

Found the solution in https://github.com/atech/postal/issues/362.

You will need to edit /etc/nginx/sites-enabled/default and replace .crt with .cert

Indeed, atech need to run a new build of the software unfortunately.

I thought we'd done this :( I'll check!

I've pushed out the new version. Apologies for the delay! This should now be fixed.


Add to_html() method

Data structure needs to_html() method to build HTML entries for fronend
Details TBA

All data structures have now a to_html() method that formats them to a dict compatible with jinja2 templating
Filled static htmls are stored with staticjinja


Would be good if a bit more information is provided for getting started

THink best to indicate that Yes to proceed and No to manually choose storybook project

I’ve just revamped the docs with a much clearer "getting started" section. Hope this helps! https://github.com/torchbox/storybook-django#getting-started


[chore] fix CI

CI now runs again, but fails because the operator fails to install.

Can we disable the operator tests for now so we can fix others?


cloudflare: add more linters

gosec, bidichk, exportloopref, goconst, reassign, usestdlibvars

Codecov Report

Merging #1100 (68841bf) into master (e39278e) will increase coverage by 0.20%.
The diff coverage is 60.32%.

@@            Coverage Diff             @@
##           master    #1100      +/-   ##
==========================================
+ Coverage   49.94%   50.15%   +0.20%
==========================================
  Files         115      117       +2
  Lines       10991    11363     +372
==========================================
+ Hits         5490     5699     +209
- Misses       4338     4443     +105
- Partials     1163     1221      +58

Impacted Files
Coverage Δ

device_posture_rule.go
61.80% <ø> (ø)

errors.go
40.57% <ø> (ø)

pages_project.go
50.81% <ø> (ø)

rulesets.go
35.09% <ø> (ø)

stream.go
64.91% <ø> (ø)

teams_accounts.go
53.84% <ø> (ø)

teams_devices.go
52.63% <ø> (ø)

user_agent.go
0.00% <0.00%> (ø)

split_tunnel.go
40.38% <26.92%> (-13.47%)
:arrow_down:

fallback_domain.go
41.17% <41.17%> (ø)

... and 14 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Application RPDO Callback example needed

First: Brilliant work! Really a gem in the Open Source world.
I want to use your code on STM32 to read out and plot encoder data. I think I understood the most steps how to make the solution. But I still struggle not with the "last mile", but with the "first mile" - how to integrate the stack into a wider application perspective. Links to the docs I found were related to the Linux implementation or to older versions. Whole embedded application examples are hard to find. One V4 example I found is [https://github.com/Jexbat/CANopenSTM32-HAL], where at least there is a button and four LEDs coupled to the OD. The author added:
In CO_storage.h
typedef struct {
    OD_extension_t OD_1010_extension; /**< Extension for OD object */
    OD_extension_t OD_1011_extension; /**< Extension for OD object */
    **OD_extension_t OD_6200_extension; /**< Extension for OD object */**

and
CO_ReturnError_t CO_storage_init(CO_storage_t *storage,
                                 CO_CANmodule_t *CANmodule,
                                 OD_entry_t *OD_1010_StoreParameters,
                                 OD_entry_t *OD_1011_RestoreDefaultParameters,
				 OD_entry_t *OD_6200_LED,

In CO_storage.c:
...
static ODR_t OD_write_6200(OD_stream_t *stream, const void *buf,
                           OD_size_t count, OD_size_t *countWritten)
{
    /* verify arguments */
    if (stream == NULL || stream->subIndex == 0 || buf == NULL
        || countWritten == NULL
    ) {
        return ODR_DEV_INCOMPAT;
    }
    ODR_t returnCode = ODR_OK;
    uint8_t data = *((uint8_t *)buf);
    switch(stream->subIndex){
    case 1:
        (data > 0)?HAL_GPIO_WritePin(D1_GPIO_Port, D1_Pin, GPIO_PIN_RESET):HAL_GPIO_WritePin(D1_GPIO_Port, D1_Pin, GPIO_PIN_SET);
        break;
    case 2:
        (data > 0)?HAL_GPIO_WritePin(D2_GPIO_Port, D2_Pin, GPIO_PIN_RESET):HAL_GPIO_WritePin(D2_GPIO_Port, D2_Pin, GPIO_PIN_SET);
        break;
    case 3:
        (data > 0)?HAL_GPIO_WritePin(D3_GPIO_Port, D3_Pin, GPIO_PIN_RESET):HAL_GPIO_WritePin(D3_GPIO_Port, D3_Pin, GPIO_PIN_SET);
        break;
    case 4:
        (data > 0)?HAL_GPIO_WritePin(D4_GPIO_Port, D4_Pin, GPIO_PIN_RESET):HAL_GPIO_WritePin(D4_GPIO_Port, D4_Pin, GPIO_PIN_SET);
        break;
    }

    if (returnCode == ODR_OK) *countWritten = sizeof(uint8_t);
    return returnCode;
}

...
CO_ReturnError_t CO_storage_init(CO_storage_t *storage,
                                 CO_CANmodule_t *CANmodule,
                                 OD_entry_t *OD_1010_StoreParameters,
                                 OD_entry_t *OD_1011_RestoreDefaultParameters,
				OD_entry_t *OD_6200_LED,

...
    if(OD_6200_LED != NULL){
        storage->OD_6200_extension.object = storage;
        storage->OD_6200_extension.read = OD_readOriginal;
        storage->OD_6200_extension.write = OD_write_6200;
        OD_extension_init(OD_6200_LED,
           storage->OD_6200_extension);
    }

Is this really the way to go ?  I feels wrong to "patch" so many files just to link application code to CAN objects. I have seen the CO_application.c file (no CO_application.h file by the way) -  is this a hint that you propose putting the linking code here ?
What I'd want is a full example with in/out interface from an application, based on Best Practice you have in mind. Probably for you this is a no-brainer, for us as consumers it is pain to find it out by reverse-engineering, especially as things changed a lot over the versions.
A simple "steps to use it in your application" would also help. Besided the obvious steps that you have to prepare OD.c and OD.h via .eds editor, something like:

add the callback code to execute when object changes, to CO_storage.c/h (or CO_application.c/h?)
add blabla to your main.c user code loop
don't change x,y,z files

Coming back to my overall question: Is there an example for an MCU application on V4.0  using callback available ?

There are some example for CANopenNode here: https://github.com/CANopenNode/CANopenPIC . I assume you already found those, they are also not fully working devicves.

Callback should work like this, at least in V1.3. I don't think that has change.

CO_SDO_abortCode_t temperature_callback(CO_ODF_arg_t *p_odf_arg) {};

CO_OD_configure(CO->SDO[0], OD_2108_temperature, temperature_callback, this, NULL, 0);

You can put this anywhere in your code. The same goes for direct OD access, just use the macros provided by OD generator. There are also methods available for accessing OD using entry numbers ("0x1111 12") instead of direct access.

I don't think you need to modify the storage stuff if you're happy with just generic store/restore all variables. You for sure don't need to set LEDs inside that code.

ok, you are confirming at least that the code I found is sub-optimal.
I tried to introduce your proposal and I get  on compile "unknown type name 'CO_ODF_arg_t'"  .  In the CANopenPIC code this type does even not exist - so no help. What I tried:
#include "main.h"
#include "CANopen.h"
#include "OD.h"

CAN_HandleTypeDef hcan;

void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_CAN_Init(void);

CO_SDO_abortCode_t temperature_callback(CO_ODF_arg_t *p_odf_arg)
{
    /* here we will put the code to be executed when a PDO arrived */
};

int main(void)
{
    CO_OD_configure(CO->SDO[0], OD_2108_temperature, temperature_callback, this, NULL, 0);
}

What's wrong ?

As said, this is for v1.3. In that, function comment on CO_OD_configure() explains how to use it and which types you need. This or something similar should exist in v4 also. I have not used v4, so I can't help you there.

Found CO_ODF_arg_t  at https://github.com/hwidvorakinfo/F4_CANopen/blob/5247dd9523cf5a6c1a7bdfab8c2446b7f9bc5ee8/canopennode/stack/CO_SDO.h
Maybe help.

Hi,
is there any possibility to have a callback from stack when a RPDO is processed?

I've just discovered the solution. It's just enough to use OD_extension_init before to call CO_CANopenInitPDO:
static OD_extension_t TempData_extension;
TempData_extension.object = me;
TempData_extension.write = OD_write_temperatureData;
TempData_extension.read = NULL;
OD_extension_init(OD_find(OD, 0x2001), &TempData_extension);

/* Initialize PDO */
err = CO_CANopenInitPDO(me->CO, me->CO->em, OD, activeNodeId, &errInfo);

Yes, it is something like that.
It is not practical to have direct access to PDO, because of PDO mapping. However, when PDO reads or writes OD variable, it uses its read/write function...

Yes, this is the solution. Does it suit your need? Thing is, application doesn't know, how PDOs will be configured. Also application doesn't need to worry about mapping. Just use callback on OD object and it should work.

Could you please elaborate on this?
I'm doing the same as @GiulioDallaVecchia in the solution but my function seems to fail to bind. I use CanOpenLinux example, so I follow the initialization process in the CO_main_basic.
I have in my CO_main_basic.c`
static OD_extension_t OD_2110_1_custom_extension;

Then, I call OD_extension_init before the CO_CANopenInitPDO.
D_2110_1_custom_extension.object = &myObject;
OD_2110_1_custom_extension.read = OD_readOriginal;
OD_2110_1_custom_extension.write = OD_writeOriginalWithCallback;
OD_extension_init(entry, &OD_2110_1_custom_extension);

where OD_writeOriginalWithCallback is declared in the CO_ODinterface.h and defined in .c
ODR_t OD_writeOriginalWithCallback(OD_stream_t *stream, const void *buf,
OD_size_t count, OD_size_t *countWritten)
{
    __log_printf(0, "OD write with callback");
    // Write to object as usual
    ODR_t ret = OD_writeOriginal(stream, buf, count, countWritten);
    // Callback function - todo
    return ret;
}

But when I get PDO message from the bus (from another node I configured), the function OD_writeOriginal is called, I can check it with similar log statement in it, which I added into it.
So, I can't figure out what I mess with extenson_init, could you please help? To add, I checked function pointer of OD_writeOriginalWithCallback before and after CO_CANopenInitPDO and they are different. How to properly bind my function to the OD write function through extension?


knife bootstrap has a race condition between file creation and chmod(1)

The knife bootstrap command in https://github.com/chef/chef/blob/81419cc617091461b8a78c93276e00a7276484df/lib/chef/knife/bootstrap/templates/chef-full.erb creates private files via here-doc cat(1)ing followed by running chmod(1) and setting the permissions.
This is a race condition if the default umask creates files world- or group-readable (as is almost universally the case).
Fix: set 'umask 077' at the beginning of the script instead of chmod(1)ing after creation. (Care must be taken to create all other resources with the appropriate explicit permissions as needed, e.g. 'mkdir -m 0755 -p /whatever' etc.)

The bootstrap script does set umask in a subshell when creating the temp directory
We could probably wrap the three cat commands that we subsequently chmod in a subshell as well with umask 077 first instead of the chmod.
https://github.com/chef/chef/blob/81419cc617091461b8a78c93276e00a7276484df/lib/chef/knife/bootstrap/templates/chef-full.erb#L184-L203

Fixed in #8895


Actually deal with other number formats when parsing goals

Follow up for #302 and this time I swear it's for realsies. 😊
Turns out Strava actually has loads of (well, at least three) different number formats. As @Langlaeufer astutely pointed out in #302, I should just strip all non-numeric characters, instead of trying to be smart. My bad. Also I got rid of the whole trying to deal with decimals. I don't think Strava actually includes them anyway -- although I wish I could be more confident in that assertion.

Thanks man ! Good work 👍
Merging this and release this week ;)
Tom

thanks for repairing this!
An other point:
The calculated monthly and weekly goal is not logical.
Today, it is 22. November, 27 km to reach the yearly goal
As I understand you calculate:
2 Months left --> 27 km / 2 month  = 14 km / month
And then you tell me i have already 23 km this month of the 14 km done, but that is not correct, because the 14 km are based on the fact that i did 23 km already this month.
In fact, at begin of november I had to run 50 km = 23 km (already done) + 27 km (left now)
So my november goal is 50km/2 = 25 km and I have at the moment 23/25 km .

Right, yes, when framed like that, the monthly and weekly goals probably shouldn't be moving targets as you say. It's something I wasn't sure on initially -- I should've asked for comments about it in the first PR really.

@Holiverh Thanks releasing it this week ! And no problems about testing ;) It's opensource project made on free time ! Stravistix is not a company. There is no employee !  So no worries at all ! I saw efforts you made on code, comments, ... just perfect !
I also had to test a bit PRs i received :D
Tom

Hey @Holiverh !
Got a mail from a user about your great feature :) Does the problem below talk to you? Normal? Let me know if you want that i dig & fix the problem. Thanks for all again ! Tom !
Mail content:

It looks like there is a bug in that part of the code. It is showing incorrect number of miles ridden for the month along with incorrect number of miles ridden this week.

According to the training calendar I have ridden 1012 miles, not 430, total miles this week are 43.7 as shown above.


curate clinical trials as drug information for TRPV6

A request from a user via support email.
(At least) two clinical trials are available to investigate a TRPV6 Calcium Channel Inhibitor (SOR-C13):
https://clinicaltrials.gov/ct2/show/NCT01578564?term=trpv6&rank=1
https://clinicaltrials.gov/ct2/show/NCT03784677?term=trpv6&rank=2
But Open Targets Platform has no drug information for this target (either as evidence or just annotation in the target profile page).
Can this be curated by ChEMBL at all? If not, can we have the rationale so that we can go back to the user please?
One of the trails was first reported in 2012, the other trial first reported in 2018 and updated in Jan 2019.
SOR-C13 elsewhere:

https://www.ncbi.nlm.nih.gov/pubmed/28150073
https://www.soricimed.com/sor-c13.htm
https://www.cancer.gov/publications/dictionaries/cancer-drug/def/trpv6-calcium-channel-inhibitor-sor-c13

note the trials are on solid-tumor cancer, which may not be in EFO3. Potentially a new EFO term for this so that we can have for the first time drug evidence for TRPV6: https://www.targetvalidation.org/target/ENSG00000165125/associations

@deniseOme: Requests for ChEMBL curation of clinical trials can be logged here

I will add this to the spreadsheet, so closing this ticket now.


support gcc executable being named something other than "cc"

If I'm reading the code correctly, the gcc crate assumes (on a unix-like environment, at least) that it can find gcc with the executable name cc.  This is not the case on Solaris, at least, and while I've been able to get around this by setting $CC (and by patching the source to force it to look for gcc, in some cases, or creating a special directory to add to $PATH and putting a symlink in there), it seems like it should just work out of the box. I really don't have a good idea what that should look like, though. Two thoughts that come to mind are

simply make it use gcc on all platforms, since that seems to be the default executable name, at least on Linux
new feature or other form of conditional compilation that sets the compiler executable path to something whoever's building the gcc crate can specify

Oh this crate is intended to have reams of platform-specific code, so if you want to send a PR to change the default on Solaris I'd be totally fine with that! There's no guarantee that cc is used everywhere, currently. It's just the current catch-all.