[BUG]: OpenRouter response always cut off it's response

How are you running AnythingLLM?
AnythingLLM desktop app
What happened?
OpenRouter response always cut off it's response

Are there known steps to reproduce?
No response

https://discord.com/channels/1114740394715004990/1266674095286784051
https://discord.com/channels/1114740394715004990/1248000016786919546

What models are you using on OpenRouter so we can replicate - latency matters a lot because OR does normally return done finish responses :/

What models are you using on OpenRouter so we can replicate - latency matters a lot because OR does normally return done finish responses :/

I used Claude and ChatGPT but I think it will be on all models.

Using meta-llama/llama-3-8b-instruct

Using meta-llama/llama-3.1-8b-instruct:free

Using GPT/Anthropic and other random models I get responses as well.
I think the issue here is the whole issue with OpenRouter we have to work around for here:
https://github.com/Mintplex-Labs/anything-llm/blob/296f04156455346a35cec4440239325523265d33/server/utils/AiProviders/openRouter/index.js#L164
Your internet connection to the model may be just slow enough per token response that you exceed the 500ms timeout which leads to the response being cut off. I have 5GB download, so my internet speeds are quite fast and that may not be the case on your and others ends.
We can make this timeout a config?

Can you check this

Not sure how we can fix this issue.

That is not the issue.

That is not the issue.

Okay then he was wrong.

Unless you are sending massive prompts the max_tokens response would not impact your output, which is not what the examples showed how you replicated the issue

@timothycarambat

it's still cutting of but it works better since the last update

@timothycarambat I set it to 1000 and I still get this


Update creating-a-personal-access-token.md

Why:
The screenshot image for Step 6 'Give your token a descriptive name' is incorrect. This can cause confusion for developers who are new to GiHub, especially since all the other steps have correct screenshots. Issue #851
What's being changed:
Line 29: Replaced the current incorrect screenshot's url with a url for the correct screenshot.
(I'm resubmitting this pull request. This is my first time submitting a pull request, so I'm still making novice mistakes. Also, please let me know  if there's any thing that I need to improve for future pull requests. Thanks so much!)

Check off the following:

[x] All of the tests are passing.
[x] I have reviewed my changes in staging.
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

@MeetYourCreator Thank you so much for opening a PR! This is a great first pull request and we're excited that you've joined our community 💖 Updating this image is going to be a bit more complicated than it seems. This article covers multiple versions, so we need to track down when the change was made and possibly backport the image to older versions of GitHub Enterprise Server.
I'm going to close this PR and use the information from here (and your super helpful issue!) to create an internal issue for a writer to look at.
Thanks again for letting us know about this update!


Single literal regexp value test case for querier

It's common to see queries like bar=~"foo" from machine generated queries in the fronted.
These are not evaluated as regexps, but are a single-value-set, i.e. and equality matchings instead.
This is just a test case for a single-value case.
Signed-off-by: Oleg Zaytsev<EMAIL_ADDRESS>

Thanks!


Fix cri-dockerd CI runs

What type of PR is this?
/kind bug

What this PR does / why we need it:
github.com/Mirantis/cri-dockerd has changed a couple things that were affecting the CI. The code has moved to a src/ subdirectory so running 'go install .' at the root of the repo fails on finding anything. The default addresses have also changed from /var/run/dockershim.sock (and //./pipe/dockershim) to /var/run/cri-dockerd.sock. A couple of flags also don't seem to exist anymore, namely --logtostderr and --v. All in all this change cds to the src subdirectory before trying to build/install anything, makes cri-dockerd launch with the old dockershim address, and gets rid of the now nonexistent flags.
Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

Ok this looks like it's ready after testing this locally @feiskyer

We could go either way in this PR also for the address. Pass the new default address to critest under the -runtime-endpoint and -image-endpoint flags or do what we have currently and launch cri-dockerd with the old default address. Or change these https://github.com/kubernetes-sigs/cri-tools/blob/master/pkg/framework/test_context.go#L74-L78 but I'm not sure if this makes sense at the moment.


Improve server-side event search

Is your feature request related to a problem? Please describe.
Currently, there is no way to perform server-side event search with filters such as date.
Describe the solution you'd like
Add more filters. This is a list of all filters, the ones that are already implemented are checked.

[x] limit
[x] not_senders
[x] not_types
[x] senders
[x] types
[x] lazy_load_members
[x] include_redundant_members
[x] not_rooms
[x] rooms
[x] contains_url
[ ] not_date
[ ] date
[ ] after
[ ] before
[ ] mentions
[ ] contains_image
[ ] contains_file

Additional context
Discord has this:

How do contains_image and contains_file vary from types=[m.image] types=[m.file] respectively?

How do contains_image and contains_file vary from types=[m.image] types=[m.file] respectively?

@t3chguy I am not that familiar with the spec... The issue is updated now

@t3chguy I am not that familiar with the spec... The issue is updated now


Monitor is accessing the data only from ZeeQS

This is a part of #178. See this: https://github.com/zeebe-io/zeebe-simple-monitor/issues/178#issuecomment-724573831
So, needs to remove access to DB, exporters, and use only GraphQL API of ZeeQS.

@saig0 Hi! I have a question: if I understand correctly there is no prepared Java client for Zeeqs now? So what option suits better:

I will create a Java client lib in the ZeeQS project
I will generate it from ZeeQS's GraphQL files in this project (for example, grapqhl-java-codegen-maven-plugin)
I will use a Nodes client and create models myself

I actually prefer the first option (maybe someone will need it in the future), but what do you think?

The first option would be possible. But I don't know how generic this ZeeQS client would be. In GraphQL, you can specify the structure (i.e. the fields) of the response when sending the request. So, every consumer may send a different query.
For the simple monitor, it is more an interim solution that the backend to a request to ZeeQS.
I recommend to make it easy and implement a basic client here that does exactly what you need. Like this one here: https://github.com/zeebe-io/bpmn-spec/blob/master/zeebe-test-runner/src/main/kotlin/io/zeebe/bpmnspec/runner/zeebe/zeeqs/ZeeqsClient.kt


Update Help command in User Guide

@lzan98 Leon! Since it's linked to an issue, remember to Closes/Fixes #INDEX 🚀

LGTM. Closes #12


Error when using RNSerialport.getDeviceList

To replicate just run the example at:
https://github.com/melihyarikkaya/react-native-serialport/wiki/Manual-Connection
the error occurs as soon as you connect a serial device

as mentioned here:  https://github.com/melihyarikkaya/react-native-serialport/issues/18
the documentation is wrong, using getDevices as fallows soved the issue for me:
RNSerialport.getDeviceList().then((response) => { console.log(response) });

as mentioned here:  https://github.com/melihyarikkaya/react-native-serialport/issues/18
the documentation is wrong, using getDevices as fallows soved the issue for me:
RNSerialport.getDeviceList().then((response) => { console.log(response) });


how to model conceptual types?

The goal of this proposal is to make it easier for a UI or other tooling built on top of Atlas to reliably detect and work with types.
Background
Internally Atlas really only has two core types rates and gauges that are associated with tags. Those types impact the normalization behavior that takes effect for that data, but for the most part the end user viewing the data does not need to care about this distinction. The end user mostly cares about the conceptual type like counter, timer, etc from a reporting library.
The backend itself is unaware of these conceptual types and that is desirable as we want to keep the backend simple and general. Early on this was also useful as we were learning more about what types were useful and how to encode them in a reasonable way. However, it is important for usability for tools to be able to reason about some of these types so they can be presented to the user effectively. There are ways to partially do this now, but it is a bit cumbersome and has many corner cases.
The conceptual types map to one or more time series and use tags to differentiate between various parts. The most common example of this is the timer type that in the basic form sends four time series per timer differentiated by the statistic:

totalTime: counter incremented by the amount recorded, unit of seconds/second
count: counter incremented for each recorded value, unit of events recorded/second
totalOfSquares: counter incremented by the square of the recorded amounts, unit of seconds^2/second
max: gauge showing the maximum recorded value for the interval, unit of seconds.

Timers can be extended, for example bucket timer and percentile timer which provide additional tags. The bucket timer will add a bucket tag to all stats of the timer. The percentile timer will create a separate set of counters with the same base id, but no statistic tag and a percentile tag that is used to estimate the percentile value.
Raw counters and gauges are just reported with the user tags.
Goals

Simple way to select or restrict to time series of a given type. This is not currently doable for all conceptual types supported by spectator.
Simple way to determine the type or set of types that match a given query. This can partially be done, in particular for timers and distribution summaries.

Proposal 1
Use the statistic tag to indicate the type. This has the benefit that it is already in place for timers and distribution summaries. Spectator would always add a statistic tag to all time series. The statistic tag could then be used to satisfy the two goals.
Restrict to Type
To query for time series of a given type the restriction queries below can be used:

Type
Query to restrict

Counter
statistic,count,:eq

Gauge
statistic,gauge,:eq

DistributionSummary
statistic,totalAmount,:eq

Timer
statistic,totalTime,:eq

LongTaskTimer
statistic,duration,:eq OR statistic,activeTasks,:eq

IntervalCounter
statistic,interval,;eq

BucketCounter
statistic,count,:eq,bucket,:has,:and

BucketDistributionSummary
statistic,totalAmount,:eq,bucket,:has,:and

BucketTimer
statistic,totalTime,:eq,bucket,:has,:and

PercentileDistributionSummary
statistic,percentile,:eq,percentile,D,:re,:and

PercentileTimer
statisitc,percentile,:eq,percentile,T,:re,:and

Note, that some queries can mix types and this is considered desirable. For example, all timers have a counter that can be used to see the number of recorded events. This means a timer measuring request latency could also be used to see the RPS by restricting to the count statistic. With this proposal if selecting the set of counters the counter aspects of timers will also show up. Similarly, supersets of timers like percentile timers and bucket timer would show up when querying for a basic timer. However fundamentally different timers like long task timer would not.
Determine Types for Query
To determine the set of types that are present for a given query, we can simply project the statistic. That is:
/api/v1/tags/statistic?q=...

The table below shows the types present based on values in the response:

Statistic
Type

count
Counter

gauge
Gauge

totalAmount
DistributionSummary

totalTime
Timer

totalOfSquares
Timer/DistributionSummary

activeTasks
LongTaskTimer

duration
LongTaskTimer

interval
IntervalCounter

percentile
Percentile{Timer/DistributionSummary}

There are a number of gaps/questions here:

Bucket types cannot be distinguished because it is an additional tag that modifies all the parts of the underlying type. Since they are designed to be used by simply grouping by the bucket tag that is not considered a big shortcoming. The bucket can be considered a dimensional aspect of the type rather than a namespacing aspect.
The percentile type would need the presence of totalTime or totalAmount to figure understand what type it is extending. Alternatively we could make the statistic something like percentileTimer and percentileDistSummary.
Should duration and interval be merged? Though it has been used for a while in various forms by users, the IntervalCounter is a new pattern addition to spectator, so interval could change. From a user perspective they are used in the same way similar to the counter aspect of a timer. The only real benefit of keeping them separate is it gives a way to identify conceptual type the user was working with was the IntervalCounter.

Compatibility Issues
Most are fairly minor, statistic has been used for a long time and not recommended for use by users. We would likely need to lock it down a bit so it is only used by the tools and longer term we could update validation to restrict to known values. We would also likely need to move statistic to a reserved tag so it does not count toward the user tag limit.
Servo is messy, in particular, with respect to timer units. This means that if servo data is being sent in, then you cannot rely on the timer units being seconds. One could counter that by excluding legacy data from servo by looking for the type tag that it adds which is close to the Atlas dstype concept than it is to the conceptual types. However, this would require a change to servo to drop the type tag for things that conform to the spec here.
Extensions
Future extensions would either need to use a set of the existing stats or use a new statistic value that gets setup. How this is done would likely depend on whether the set of operations available depends on the type. For example, the bucket timer can be used with a simple group by, there are no additional operators needed. The percentile timer needs the :percentile operator to compute the estimate so it is a separate statistic. Similarly things like totalOfSquares advertise a capability for a timer in that if you have count, totalTime, and totalOfSquares, then  :dist-stddev can be used to compute the standard deviation. You could still have a basic timer with just count and totalTime but you could only compute the average.
As an example, consider adding support for HyperLogLog. The registers would need to get encoded using a tag value similar to how we do percentiles. Since we would need a specific operator to compute the final estimate, this would need to be a new statistic value.
Proposal 2
Does anyone have a better proposal?
/cc @dmuino @copperlight @svachalek @tregoning @nathfisher

Regardless the decision made out of this, i really think @brharrington  that most of this article, especially the Background and the Proposal 1 sections, should find its way into the documentation. We have been struggling for months about how to interpret this discrepancy between how the server and the latest version of the Spectator client realise metric types. This article provides valuable insight about how you think about metric types and also clears things up for users. I really do not understand why you are trying to keep the Statistic tag a secret from users. I think that, it should be a first class citizen, if only for the exact reason to help us understand more about the metric types.

@pparth thanks for the feedback. Will try to get some of this incorporated back into the docs.

I really do not understand why you are trying to keep the Statistic tag a secret from users.

We're not trying to keep it a secret. I'm guessing that impression comes from "Most are fairly minor, statistic has been used for a long time and not recommended for use by users". The wording on that now that I re-read it is misleading. When creating metrics it is recommended that users do not use the statistic tag key because it is used internally for modeling the types for timers and distribution summaries (and possibly on everything depending on the outcome here). When doing changes like this we have to be careful about how it will change or break existing use-cases. For example, if a user used a tag key of statistic for something else and then it gets overwritten.
For queries it is expected to be used and is quite heavily now by the internal UI. This is basically looking at taking something the team supporting our internal UI are already doing and making it more robust and well supported from the client all the way down.

Ok, got it now.

@brharrington  The Counter and Gauge implementation in the Spectator Atlas Registry, do not support any statistic Tag:
https://github.com/Netflix/spectator/blob/master/spectator-reg-atlas/src/main/java/com/netflix/spectator/atlas/AtlasCounter.java
https://github.com/Netflix/spectator/blob/master/spectator-reg-atlas/src/main/java/com/netflix/spectator/atlas/AtlasGauge.java
DistributionSummary and Timer seem to be ok.
However, the BucketXXX and PercentileXXX are also not properly defined in the Spectator Atlas Registry.

Correct. If the proposal is agreed to, then we would add those in.

I may understand the Counter and Gauge but i do not see the correlation with the BucketXXX and PercentileXXX ones. They are supposed to derive from the relevant DistributionSummary and Timer ones, where the proper statistic tags are already there. So, they now have the extra bucket tag and do not have the underlying ones, which is very confusing...

The Bucket and Percentile variants are extensions to existing types. For this reply I'll just focus on the timer.
BucketTimer
BucketTimer basically just maintains one timer per bucket. So when a value is recorded it will get mapped to a bucket and then that time will get updated. So for a given baseId we end up with:

baseId.withTag("bucket", bucket).withTag("statistic", "max")
baseId.withTag("bucket", bucket).withTag("statistic", "count")
baseId.withTag("bucket", bucket).withTag("statistic", "totalTime")
baseId.withTag("bucket", bucket).withTag("statistic", "totalOfSquares")

If it wasn't already this way, then we might rethink how they were modeled. Right now we don't want to break compatibility by changing the representation. Also, for a BucketTimer the most common operation is just a group by or query restriction. So it doesn't really need a custom operator and can just be thought of as another dimension in terms of how it is used. At least that is my current thinking.
PercentileTimer
The PercentileTimer is just a regular timer plus a set of counters that can be used to estimate the percentile.

baseId.withTag("statistic", "max")
baseId.withTag("statistic", "count")
baseId.withTag("statistic", "totalTime")
baseId.withTag("statistic", "totalOfSquares")
baseId.withTag("percentile", percentile)

Since it is additive and needs a custom operator this proposal is to change the last one to:

baseId.withTag("statistic", "percentile").withTag("percentile", percentile)

That way the percentile capability could be detected on the type when querying the set of available statistics.

So, they now have the extra bucket tag and do not have the underlying ones, which is very confusing...

I'm not sure what you mean by "do not have the underlying ones". Can you given an example?

i just see https://github.com/Netflix/spectator/blob/master/spectator-api/src/main/java/com/netflix/spectator/api/histogram/BucketTimer.java. I cannot find any other BucketTimer implementation; maybe i am missing something. This implementation just adds the bucket tag.

@pparth It adds the bucket tag to the id it uses to look up a normal timer:
return registry.timer(id.withTag("bucket", bucket));

The regular timer will have the statistic tags on it.

Ah yes. It will take the timer from the registry. Got it.

I like the first proposal for the following two reasons:

It makes an unofficial type identification technique formal and it adds coverage for conceptual types that did not have it.
It is efficient, because it does not add new tags and it makes few changes to an existing tag, which means that there will be minimal change management to implement this internally.

There are two things that I don't like about the proposal:

You need to have or remember a mapping of the statistic to the conceptual types.  This will be handled for the typical case by our internal UI tools, but this does not help people working with the raw APIs.  To the extent that we can make the statistic tag values be closer to the names of the conceptual types, then this will be mitigated somewhat.
It does not provide the user with the ability to annotate metrics.  One of the more common complaints we get about Atlas metrics is that users do not know what they are supposed to represent.  We have been solving this internally by creating metrics glossaries, which is a reasonable starting point, but it requires cross-referencing your current work in the UI tools. Exposing the conceptual types means that you can at least know that a metric is a rate-per-second versus a gauge, but this still will not tell you what the metrics represent.

As an alternate proposal, what if we add two tags to the reserved namespace, that are explicitly used to identify the conceptual type and provide a metric unit annotation?

nf.metricType = (,Counter, Gauge, DistributionSummary, ...,),:in
nf.units = (,"requests per second", "queue depth", "seconds since last success", ...,),:in

The advantages of this approach are:

The conceptual metric type becomes easily searchable with the Tags API - you don't need to maintain a mapping.
There is a means to describe what a metric represents.  If we allow this, then some additional thought would have to go into how we validate these strings and how we allow users to modify them.  For example, counter units should be "X per second" or "X per millisecond", depending on whether or not we allow people to change the units.  Gauge units could be more flexible.
These tags are used for presentation of information, which means that they can be easily added to graph axes, and the addition of these tags would not break existing queries.

The disadvantages of this approach are:

There is duplication of information between the nf.metricType and statistic tags, and it does not address the inconsistent use of the statistic tag.
There are likely to be some inefficiencies in indexing these new tags, with the allowance of a variety of values for the nf.units tags.
Opening up the nf.units tag to users for annotation purposes may result in data quality issues.

The units stuff is a quagmire in its own right and I think it is out of scope here. I would suggest filing a separate issue to discuss that if you want to follow up.

As an alternate proposal, what if we add two tags to the reserved namespace, that are explicitly used to identify the conceptual type and provide a metric unit annotation?

nf.metricType = (,Counter, Gauge, DistributionSummary, ...,),:in

Minor note, the nf. prefix is meant for Netflix infrastructure type tags. The typing is probably more appropriate for the atlas. namespace.
The problem with this approach is that it gets messy to identify the type and maintain it accurately across various operations. The simplest example, is that Timer is a composite type and also has a Counter. It is often useful to see the counter aspect when listing counters available for an app which works using the statistic model. The statistic model gives us both the type information as well as the set of capabilities that you have available.
As another example, consider a source like cloudwatch where we may only be able to produce totalTime and count when mapping it in. Would that be a metricType of Timer? So the UI or other tooling knows that it has a timer and can perform :dist-avg. With the statistic model we know what is available. If a max statistic comes back, then :dist-max is now supported. If totalOfSquares is available, then :dist-stddev can be used.
Further, the metricType can potentially break due to rollups if you are more specific and have types like PercentileTimer or BucketTimer. Lets say I rollup the bucket dimension or drop the percentile counters, the metricType for those is now wrong. With the statistic approach that capability is just dropped from the list.

[hello OSS community, I am one of the primary engineers for the Atlas UI we use internally]
I like that the UI would get additional information from a tag it already checks extensively. Knowing counters from gauges is a useful thing as it gives a unit (rate per second) and indicates the advisability of :per-step (practically mandatory with :integral of counters, meaningful on counters anyway, probably silly on gauges).
Querying for specific types of metrics is probably also useful too, although I'm not sure of the demand. I can see searching for a name, finding too many matches, and then thinking "I want the one that has percentiles". Starting from the outset with "I want to find a distribution summary" seems less likely, although perhaps "I want to compare a couple of distributions" and then searching the narrowed-down list makes sense.
I would tend to agree that unit is best handled as a separate problem, although things get a little murky in that the only difference between some of these (totalAmount/totalTime) is the implicit unit involved.  Knowing units opens up other checks (different units should likely not be aggregated,  probably should default to separate axes). The implicit "seconds" unit of many of these allows for that, and could be augmented with a separate unit tag for gauges and other types.
As for combining duration/interval, seems reasonable to do and I like keeping the system simple but I'm not sure it's worth breaking queries for the sake of that.

@svachalek replies inline:

Querying for specific types of metrics is probably also useful too, although I'm not sure of the demand.

It is used in some of the UIs. For one supported by our team see the metrics page on the base server admin. It has one tab per type.

As for combining duration/interval, seems reasonable to do and I like keeping the system simple but I'm not sure it's worth breaking queries for the sake of that.

IntervalCounter has little usage at this point, so it can be done with minimal pain. @dmuino also mentioned when I talked with him merging makes sense. So I'll assume that is the general direction we are planning to go for that question.

The percentile type would need the presence of totalTime or totalAmount to figure understand what type it is extending. Alternatively we could make the statistic something like percentileTimer and percentileDistSummary.

Regarding this point, do you have a strong opinion one way or the other?

Using totalAmount and totalTime would be ideal as that particular time series is equivalent to the one coming out of any timer or distribution.

Changes discussed here will go out with spectator 0.57.0.

@brharrington  so, can we have a final description/documentation of the final set of changes?

@pparth I'll add a page to the wiki.


Can't download the database on ADP website

Hello,
I want to retrain the model of Patch-level Classification CNN, so I searched in the ADP project for the database. And I found the ADP website.
I noticed that the database on ADP Website is TO BE released and under Ethics Board Review. May I ask when I can download the database? I've already activated my account on the website. But I can't download the database for the reasons stated before. Or, there is any other way to get the database?
With many thanks

I got the database from email! Thank you!
I noticed your comment in #4. That is to say, the pre-trained model of histonet is not trained in the way of ADP. Instead, you trained the classifier with the network in this paper (the architecture with GMP). Is it right?
But I find the database input size inADP training code is not actually 224224, it's 272272. What method do you use to down-sample the image?

If I remember correctly, I used the same training code as in the ADP repo but with the modifications mentioned in the HistoSegNet paper (including the GMP as you mentioned).
As for resizing, I just used the default OpenCV resizing function with cv2.INTER_LINEAR interpolation.

Thanks! I really appreciate your help!


Specimen ID

** Discussed on 4/25: More clarity needed, especially related to adjacent story **
Story
As a public health lab, to make use of the demographic data provided for a specimen (and thus reduce delays caused by incorrect newborn screening order data), I need a way to link ETOR data with a specimen.
Pre-conditions
Acceptance Criteria

The hospital is able to communicate a specimen ID and that is also sent to the lab.

Tasks
Research

[ ] Research work needed to complete the story

Engineering

[ ] Engineering work needed to complete the story

Definition of Done

[ ] Threat model updated
[ ] Code refactored for clarity and no design/technical debt
[ ] Adhere to separation of concerns; code is not tightly coupled, especially to 3rd party dependencies.
[ ] Source code is merged to the main branch.
[ ] Unit test coverage of our code >= 90%
[ ] Code is reviewed or developed by pair; 1 approval is needed but consider requiring an outside-the-pair reviewer.
[ ] Build process updated
[ ] Feature toggles created and/or deleted.  Document the feature toggle.
[ ] Source code documentation created when the code is not self-documenting.
[ ] API documentation generated
[ ] Code quality checks passed
[ ] Security & privacy gates passed
[ ] Load tests passed
[ ] Documentation and diagrams created or updated
[ ] API(s) are versioned
[ ] Debug logging

Research Questions

Optional: Any initial questions for research

Decisions

Optional: Any decisions we've made while working on this story

Notes

Optional: Any reference material or thoughts we may need for later reference

Discussed on 4/25: More clarity needed, especially related to adjacent story FHIR Orders story

closing.  will be part of #494

This Story helps complete the requirement:
MVP-REQ-08 - Each intermediary will support at least one format for outbound orders

This Story helps complete the requirement:
MVP-REQ-19 - Each intermediary system should be able to link physical samples to an electronic order and integrate outgoing data with previously stored order data to satisfy hospital requirements


Major compaction lcs

As discussed here, major compaction doesn't such for tables using LCS before 2.2.
This PR skips tests in compaction_test.py that use nodetool compact when the version is less than 2.2 and the strategy being tested is LCS.
This PR also includes some whitespace fixes. The changes are in separate commits for easier review.

Do these tests definitely RELY on major compaction working for LCS, or do they just use it?

I left out a word above: s/doesn't as such/doesn't exist as such/.

Do these tests definitely RELY on major compaction working for LCS, or do they just use it?

They use it, but don't seem to rely on it -- they pass on 2.0 and 2.1, with the exception of sstable_deletion_test, which flaps on 2.0.
If these tests have some purpose other than to fail when compaction is performed incorrectly, I think they should be renamed. Maybe they're just compaction strategy tests that make sure tables created with the different compaction strategies behave correctly.
If the purpose is to test the correctness of compactions, then I would shore up these tests so they check that compaction was actually performed -- maybe by watching logs or something similar.

I'd rather first investigate which of these can be rewritten to work around the lack of major compactions. compaction_throughput_test definitely can. data_size_test can as well. Only sstable_deletion_test sticks out to me as possibly an outlier.

Should we close this in favor of #330?

Yes.


Does the initial check in the key in obj loop actual do anything?

Inside the main loop there is a simple if statement:
for (key in obj) {
  if ( ! (key in obj)) continue;
  ...
}

This if statement was introduced as a response to issue #5:
https://github.com/unclechu/node-deep-extend/commit/3f794748f95f86928dfb7bba40beee8a9ec1349f#diff-168726dbe96b3ce427e7fedce31bb0bcR53
Previously the code looked like this:
for (key in obj) {
  if (obj[key] !== void 0) {
    ...
  }
}

Ok, so previously undefined (here written as void 0) was ignored, where as the new code treats it just as any other value. But I cannot understand what the new if-statement actually does? What edge case will trigger it?

That if check makes no sense. If something is enumerable, there's no way it isn't there.

This checks that key exists in obj.
deepExtend({ a: 1, g: 123 }, { g:  (void 0)}); // returns { a: 1, g: undefined }

But with !== void 0 condition:
deepExtend({ a: 1, g: 123 }, { g:  (void 0)}); // returns { a: 1 }

Unless I'm reading the code wrong, the obj whose key is checked is the same one iterated over one line above. There it makes no sense. I could understand if it were some other object.

@unclechu I get why you wanted to get rid of the obj[key] !== void 0 guard as that would leave out undefined values. But the thing I don't understand is the new !(key in obj) statement. Is there ever a situation where that would evaluate to true?

@watson
(key in obj) check that obj has key even if obj[key] is undefined, but exists it returns true. obj[key] can be undefined and exists in the same time.
See this issue: #5

No, that test is useless in the code @watson quoted. There is no way it can ever be false.
Just delete it and convince yourself by seeing all tests still pass.

@unclechu Doesn't the outer for (key in obj) loop guarantee that the key always exist in the obj??

@unclechu what you are writing is not wrong and I totally agree that obj[key] will evaluate falsy which is why I agree that it should be removed as you correctly did - but at the same time you added the if ( ! (key in obj)) continue; part - it's that part that I think should be removed - that doesn't have anything to do with checking if it's undefined or not.

@watson Sorry, u was right, it's just useless condition. Removed.

Removed in v0.3.3.


Feature/organisations form

ORC-231 - Upload new organisations (without projects)
ORC-280- Update styles of button to access the form
ORC-281 - Implement the organisations form
including:

Errors
Thank you page

The associated projects part will be added in a new PR.
Also:

Add color border tops to the nav on the HOME page
Update the network list to include filter for the published_status so that we only display the accepted or null networks

Don't we need to save changes to the repository to allow public users to create new organisations (Strapi's “User & permissions” plugin)?
It seems this is already active

Ready again! Thank you so much for the review!


AWS GetAllSecrets: Trimming root path when a dataFrom.find.path is provided.

Fixes #915.
Signed-off-by: Gustavo Carvalho<EMAIL_ADDRESS>

To check if we actually want to do this or not later on after we consolidate a rewrite strategy for secrets.


Updating image version in documentation

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

Project coverage is 62.06%. Comparing base (b61e5c7) to head (dd8b561).

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #866       +/-   ##
===========================================
- Coverage   79.86%   62.06%   -17.80%
===========================================
  Files         117      117
  Lines        8054     8054
===========================================
- Hits         6432     4999     -1433
- Misses       1217     2693     +1476
+ Partials      405      362       -43

Flag
Coverage Δ

integration-test
?

k8s-integration-test
?

oats-test
35.89% <ø> (ø)

unittests
46.25% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Exposure Notification in Nearby framework not working on HTC One A9

German 'Corona-Warn-App' don't work.
Device: HTC One A9, LineageOS 14.1, Android 7.1.2, microG Services Core <IP_ADDRESS>315
The One A9 uses Bluetooth 4.1 and should support BT LE.
In the microG-Settings the Exposure Notifications are listet but are reported as off. The message is "To enable Exposure Notifications, open any app supporting it." See picture 'ExposureNotification01.png'. Enabling it manually is not possible.
In the Corona-Warn-App the error message is "Your Corona-Warn-App is correctly installed, but the COVID-19 exposure notifications service is not available...". See picture 'ExposureNotification02.png' and 'ExposureNotification03.png'
In the logcat's in pictures 'logcat01.png' and 'logcat02.png' you can find the corresponding error messages.

What does the Self-Check in microG Settings say?

Same issue with a LineageOS 17.1 device here. This is the (German) self check...

All the rest looking good in the self check too


Unexpected behavior with behavior with binary operators and fill_value

From https://github.com/dask/dask/issues/1063. fill_value doesn't seem to apply if the argument to a binary operator is a constant, but works fine for other arguments:
In [1]: import pandas as pd

In [2]: df = pd.DataFrame(range(10), columns=['foo'])

In [3]: df2 = df.copy()

In [4]: df2.iloc[0] = None

In [5]: df2.add(2, fill_value=0)
Out[5]:
    foo
0   NaN
1   3.0
2   4.0
3   5.0
4   6.0
5   7.0
6   8.0
7   9.0
8  10.0
9  11.0

In [6]: df2.add(df, fill_value=0)
Out[6]:
    foo
0   0.0
1   2.0
2   4.0
3   6.0
4   8.0
5  10.0
6  12.0
7  14.0
8  16.0
9  18.0

In [7]: pd.__version__
Out[7]: u'0.18.0rc2+2.g19e40a0'

From the docstring I'd expect it to be equivalent to df2.fillna(0).add(2). If this is intended behavior, then the docstring should be updated to clarify this.

I'd like to take a try.

It breaks here.
return self._combine_const(other, na_op) miss fill_value parameter.
So, we can fix it before the method or in the method of DataFrame/Series...,
which method is better? I prefer to use the first one.

The fix is not complete, I find that the unexpected behavior exists also in Series.


[ENH] Add reqeust metadata to query and get vectors

Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

...

New functionality

...

Test plan
How are these changes tested?

[ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

#2069  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Ishiihara and the rest of your teammates on  Graphite

Closing this in favor of the stack
https://github.com/chroma-core/chroma/pull/2843
https://github.com/chroma-core/chroma/pull/2842
https://github.com/chroma-core/chroma/pull/2839
https://github.com/chroma-core/chroma/pull/2831
https://github.com/chroma-core/chroma/pull/2827
https://github.com/chroma-core/chroma/pull/2826
This implementation was improved in several ways:

No testing
No custom error type for maintainability
Did not put the version context everywhere it was needed
Implemented deferred critical work (log offset passed in is used to pull)
Don't make non-optional arguments optional.


Idea Collector for 24/12

Description
Please add ideas for features to work on until 24/12 as list to the item, the item should have the following information:

Title
Proposer
Short Description
Kind (Concept, Implementation, ...)
Dependencies to others

Wrong approach, Follow up replaced by https://github.com/eclipse-tractusx/tractusx-edc/discussions/1392


[cli] convert project generation to use yeoman

have one parent generator for index.ios.js, .flowconfig and .gitignore
have one child generator for ios/**
add tests for both

Note: I had to remove the chalk mock as it was interfering with yeoman in the test environment. I added manual setMock() calls in the tests that made use of it.

This looks good to me! Can you get @frantic to review this?
Tests look good! I assume you've also tried react-native init and ran the iOS app and reloaded JS?

Overall looks good and e2e tests pass! I'll do another pass tomorrow. My main concern is that now maintaining the template files is going to be a pain.
FYI there is also .watchmanconfig that needs to be copied, see #2263

@mkonicek yep, everything works.
@frantic I had to update scripts/e2e-test.sh a bit but yes, they pass :). I also added .watchmanconfig now.

Ping. @frantic @vjeux

Sorry don't have the time to review it but i'm happy with the change


Create package.json

I am working on a new module list, which you can see here. If you search for your module in it, you will see that it looks a bit bland at the moment, as a screenshot and tags are missing.
You can change that by adding a package.json file and uploading the screenshot directly into the repository. The information that is currently used from the package.json is the license information (the screenshot can only be displayed if the license is free) and the keywords (these are then displayed as tags).
Here is an example of a package.json.
It would be nice if you would add one to your repository :slightly_smiling_face:

I have added the package.json, a screenshot, and a LICENCE file :) Please let me know if that is sufficient.

Thanks! Your module now looks nice on the new list :rocket: :smiley:  I've just opened a PR (#4) for other details :slightly_smiling_face:


Change Chado loader to handle new style extensions

The free text extension strings are gone in the new Canto, replaced with a structured version.
See here for an example:
https://github.com/pombase/canto/blob/86e643fdf9845d3783628ddee93ea9aba7a957b9/t/70_serialise.t#L146

I think this is done now, but needs more testing.
I'm going to do a before and after test:

I'll take the existing Canto data and load it into a copy of Chado v57 (after deleting the annotation in the DB)
then upgrade the Canto data to use the new structure for extensions and load that into a different copy of Chado v57
then compare the two DBs for missing data

I've done a test load using the old code and the new code it is was almost perfect.  All but one annotation is identical in Chado before and after.  I'm looking at the one problem annotation now.

It's all good.  The one annotation that was different was the upgrade warning that Midori fixed last week:
"can't parse 'assayed_using(PomBase:SPBC1711.01c', in:assayed_using(PomBase:SPMTR.01) | assayed_using(PomBase:SPBC1711.01c"
The current Chado loader was keeping the annotation and the "assayed_using(PomBase:SPMTR.01)" part of the extension.  The upgrade script was keeping the annotation, but dropping the whole extension.
So we had a term "increased RNA level during nitrogen starvation [assayed_using] SPMTR.01" in one case and "increased RNA level during nitrogen starvation" in the other.


_rgbtoHex needs to check strlen like _hslToHex does

First found this via mix using basic red #FF0000 and blue #0000FF and a mixture of values, and end up with a bunch of hex values with fewer than six digits, some of which simply don't work at all.
Reading through the twig extensions, the _hslToHex() function works to prevent this right before the return value. I ended up rewriting it to work with _rgbToHex().
I think this works as the result seems correct.
// Make sure we get 2 digits for decimals
$hex[0] = (strlen("".$hex[0])===1) ? "0".$hex[0]:$hex[0];
$hex[1] = (strlen("".$hex[1])===1) ? "0".$hex[1]:$hex[1];
$hex[2] = (strlen("".$hex[2])===1) ? "0".$hex[2]:$hex[2];

@matthisamoto Looks good to me. Thanks. Merging it.


Nanoscale Fabricator JEI preview cannot display available crucibles

GregTech CEu Version
v2.4.0
Gregicality Multiblocks Version
v1.1.4
Gregicality Science Version
v0.0.1
Modpack Used
No response
Addons Installed
No response
Environment
SP
New Worlds
Yes
Cross-Mod Interaction
No
Expected Behavior
When you right click Quartz Crucible in Nanoscale Fabricator JEI preview, you can see all available crucibles for Nanoscale Fabricator
Actual Behavior

Steps to Reproduce
install GCYS
Additional Information
No response

Fixed in fd76233.


fix(web-components): deprecate charactersUntilSuggestions prop for select and remove stories/tests

Summary of the changes
Deprecate charactersUntilSuggestions prop for select and remove stories/tests with references to charactersUntilSuggestions
Related issue
#522
Checklist

[x] I have added relevant unit and visual regression tests.
[x] I have manually accessibility tested any changes, if relevant.
[x] I have ensured any changes match the Figma component library.

Looks good! Just one question: the searchable external filtering stories (web comps & react) have a check that only fetches the list after the second character is typed. Should we leave this in there, or remove it now?

Looks good! Just one question: the searchable external filtering stories (web comps & react) have a check that only fetches the list after the second character is typed. Should we leave this in there, or remove it now?

I'll remove it as otherwise it looks like there are no results and that could be misleading


Support client certs when accessing remote repos

The "helm repo add" command already supports the cert-file and key-file values, so we just have to pass them through. Everything works the same if you don't provide values for them. This is important for deployments where the chart repo is protected by client cert validation.

@gburton1 LGTM. Thanks again for your contribution 👍


Build of http client fails if CONFIG_POSIX_API=y

Describe the bug
It is not possible to use CONFIG_POSIX_API together with the http client library.
To Reproduce
Steps to reproduce the behavior:

Activate for instance for samples/net/sockets/http_client CONFIG_POSIX_API
Build the example for a non-posix board, e.g.: west build -p auto -d build samples/net/sockets/http_client/ --board=stm32h735g_disco
zephyr/samples/net/sockets/http_client/src/main.c:110: undefined reference to `send'

Expected behavior
It should be possible to use the http client library together with CONFIG_POSIX_API
Impact
Hinders me from using the already existing http-library in zephyr as I need CONFIG_POSIX_API for a different reason.

PR: #38415

@rlubos - could you please assign a priority to this?


Modularized pruning and the addition of Weight Threshold Pruning method

This work aims to do the following:

Create a BaseIterativePruner which can serve as the base class for all iterative pruning implementations.
Any new pruning technique can be added by extending the BaseIterativePruner class and implementing the prune_model method. The prune_model method should zero the parameters of the model that need to be pruned.
Re-implement Lottery Tickets Pruning by extending the new base class.
Add a new pruning method: Weight Threshold Pruning that prunes all weights in the model whose magnitudes are lesser than a given threshold.

@Het-Shah
I am not sure if the tests will run properly or not. Will definitely take a look at that tomorrow. Please let me know if the structure and implementation looks good.
Thanks!

Codecov Report

Merging #118 (6324d27) into master (eca9657) will increase coverage by 2.18%.
The diff coverage is 71.20%.

:exclamation: Current head 6324d27 differs from pull request most recent head e95710c. Consider uploading reports for the commit e95710c to get more accurate results

@@            Coverage Diff             @@
##           master     #118      +/-   ##
==========================================
+ Coverage   58.23%   60.41%   +2.18%
==========================================
  Files          60       64       +4
  Lines        2112     2097      -15
==========================================
+ Hits         1230     1267      +37
+ Misses        882      830      -52

Impacted Files
Coverage Δ

KD_Lib/Pruning/common/iterative_base_class.py
64.00% <64.00%> (ø)

KD_Lib/Pruning/__init__.py
100.00% <100.00%> (ø)

KD_Lib/Pruning/common/__init__.py
100.00% <100.00%> (ø)

KD_Lib/Pruning/lottery_tickets/__init__.py
100.00% <100.00%> (ø)

KD_Lib/Pruning/lottery_tickets/lottery_tickets.py
100.00% <100.00%> (+58.66%)
:arrow_up:

KD_Lib/Pruning/weight_threshold/__init__.py
100.00% <100.00%> (ø)

...uning/weight_threshold/weight_threshold_pruning.py
100.00% <100.00%> (ø)

... and 1 more

Also can you do one thing for now, comment out mean teacher and BANN's test since they are the ones that are failing. We can then go ahead and merge this pr after fixing these issues


Design and implement a Virtual Filesystem

Need some internal path representation, which is unique to each unique file in the filesystem, while also allowing for path to files that do not exist on disk. Intended to be used with data/object pools, so the representation has to be consistent (for hashing).
Take a deeper look at facilities of std::filesystem maybe.
Difficulty level: kinda hard

This has been open for a while now. We need a VFS layer on top of basic file IO operations to potentially enable:

Better resource introspection for resource management;
Combining multiple root filesystem paths to share the same VFS space;
Compressed resource storage (?)

and possibly more.
It's not immediate, and I will probably not going to be focusing on this for a while, but a simple abstraction layer that can hook up multiple resource trees would be nice for testing.
The need for this will most likely become apparent once I actually go through with implementing the so-called "ResouceManager".


Drop back to use IsAnInteractiveSession for SVC

There is an apparent permission change problem when using
IsWindowsService to determine if the SVC manager should be
used.
This PR simply drops back to using IsAnInteractiveSession as
this does not change behaviour.
Fix #15454
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

.


Update using.rst

Added data format for the tracks.csv file in order to help other people using that file

Why is merge failing I only added some text description in the using.rst and did not change any code anywhere. Does the description need to have a specific format or is there something else I did wrong
@fabianschenk can you provide some

Hi @AfaqSaeed ,
Merging is always blocked. I have to import the PR, let it be reviewed internally (at Meta) and then I can merge it. After that it will also be published to github and the PR is closed.
One test is failing because there's a random component that very rarely fails.
Best


Add support for require.context

This uses nodes vm to run the .storybook/config.js file inside a context which provides require.context. require.context will still break if used outside the .storybook/config.js file.

FYI I'm pretty sure this introduced a regression. The directory context in config.js seems to be wrong now. The config.js file that getstorybook creates, which includes the line require('../src/stories'); is broken after updating to 1.1.2. The module is not found because the path is not being interpreted relative to __dirname but relative to something deep in node_modules i believe.

@brentshields yep it is.
I'm going to revert this.

Published a new version as v1.1.3 reverting this PR. @roonyh We need to find the root cause and fix it.

@roonyh I've a much simpler solution for this problem.
Let's use this babel plugin and replace require.context to a custom function we provide.
With that, we could implement this for any file without introducing any module system hijacks.

This was a nasty regression. I published v1.1.4 which support require.context in the config module and the existing require is not broken.


Typo in Nikau Henderson's introductory remarks

When you board Deimos Staryard and speak to Nikau Henderson for the first time, he says "What do we have here? A civilian in my staryard?" In the subtitles, the word "civilian" is spelled "civlian" which is incorrect.

Details
N/A
Game Version
<IP_ADDRESS>
New Game
Yes
Reproduction Steps

Board Deimos Staryard
Walk over to Nikau Henderson and speak to him for the first time.

https://github.com/Starfield-Community-Patch/Starfield-Community-Patch/commit/a51cf6dbb83968aa19b2ab8b3bb16811260bd46d


don't send messages

OS: Debain 10
Web application available at http://<IP_ADDRESS>:9005
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
[2022-05-26 10:24:15.16598] [4170504] [error] [Fp8ieq0XguwP] [Convos::Controller::Events] Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
[2022-05-26 10:26:53.40246] [4170504] [error] [rtnM_gQB1E8N] [Convos::Controller::Events] Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
[2022-05-26 10:27:59.44293] [4170504] [error] [rtnM_gQB1E8N] [Convos::Controller::Events] Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
[2022-05-26 10:28:57.53624] [4170504] [error] [I6fjPRGs9WdM] [Convos::Controller::Events] Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
Use of uninitialized value $str in substitution (s///) at /home/mimi/convos/convos/local/lib/perl5/Mojo/Util.pm line 387.
[2022-05-26 10:38:49.39875] [4170504] [error] [tZ4aGtnfn15y] [Convos::Controller::Events] Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
Unhandled rejected promise: Promise timeout at /home/mimi/convos/convos/local/lib/perl5/Mojo/Promise.pm line 23.
at /home/mimi/convos/convos/local/lib/perl5/Mojo/Reactor/Poll.pm line 129.

This issue does not include a description of what the problem really is. Neither does it include a way to reproduce the issue.
I’m sorry, but I don’t know where to start.

Still no information about how to reproduce the issue. Convos works fine for plenty of users, so I need more information to have anything to work with.

I just connected to irc.keneshin.ru:6666

I managed to connect to that server without a problem.

I'm going to close this, since it's most likely a badly configured instance. Please use our support channel for further assistance. (#convos on irc.)


Player Talk

Ditto Map Talk but for Players

Stuff I need:
I'm not that familiar with how you implement piece actions, so you should probably handle that bit in parseMove
Pieces need a color (int color = 0/1/2/3) to check legality of moves and captures
Also: are we implementing actually messing with the map in players, pieces, or map?

The player related part of the config isn't implemented yet, though it will be quick to add (Like 20 lines that can be copy-pasted from elsewhere). I also haven't begun on  parseMove, but it'll be mostly a question of being extremely careful to take into account all the actions.
pieces should definitely not mess with the map since it has no reason to depend on any map-related files (and does not currently) as pieces do not know what piece/node they are on. I don't really know between map or players, though.


Q: Combine --qvalue with bdgpeakcall

Use case
I used cmbreps to combine replicates and now i want to call peaks on this, however I don't see how I can change the qvalue.
Describe the problem
I want to change the qvalue

Currently, there is no subcommand that supports pvalue-qvalue conversion. I think I can implement one under bdgopt subcommand...

Is it possible to use bdgpeakcall  with a pvalue cutoff

Of course, yes! bdgpeakcall applies cutoff on any type of score that the 4th column of the bedGraph file contains. If you used cmbreps -m fisher, then the 4th column of the output bedGraph file should be in '-log10 pvalue' format. So if you bdgpeakcall -c 5 will apply pvalue 1e-5 as the cutoff.

Great thanks!


Yet more TSDoc

This is basically all of the rest of the reachable entities. After this, I can send a followup to rework tsdoc_progress.ts as a unittest that enforces that all reachable entities have documentation.
This isn't quite the end of it though, all of the entities that typedoc is currently throwing warnings about will need to be exported and documented too. I'll work on those next.
PTAL @ekoleda-codaio @coda/packs

Mind if I merge this and make followups? I'm working on the final cleanup and trying to avoid major rebase conflicts before I get too far.

Mind if I merge this and make followups? I'm working on the final cleanup and trying to avoid major rebase conflicts before I get too far.

Looks like the links are still broken, but once those are fixed feel free to merge.

Mind if I merge this and make followups? I'm working on the final cleanup and trying to avoid major rebase conflicts before I get too far.

Looks like the links are still broken, but once those are fixed feel free to merge.

Cool, will look into these, but mind approving so I can try to merge if you've already signed off for the night?

Mind if I merge this and make followups? I'm working on the final cleanup and trying to avoid major rebase conflicts before I get too far.

Looks like the links are still broken, but once those are fixed feel free to merge.

Cool, will look into these, but mind approving so I can try to merge if you've already signed off for the night?

Ok these are fixed. Required adding more exports, which in turn required adding more tsdoc, which was pulling on the thread that I was trying to address in my follow-on PR to start dealing with typedoc warnings by adding new exports and entrypoints. Each new import brings in a bunch of new identifiers with it so fixing any single one of these can be deep rabbithole, now that we have doc comment enforcement turned on.


Terastitcher integration

Create a GUI interface for stitching groups of images into one large image using Terastitcher or similar.
Spatial Transcriptomics pipeline

Select the files to process*
Copy and/or Move and rename files to required location for deconvolution (optional)
Deconvolve the images using the parameters read by the metadata scraper (optional)
Save images in required format and file naming/folder structure for Stitching
Stitch the Images using metadata obtained from the scraper and user input using CPU or GPU on 1 or more nodes
Save the images to a QuPath readable format and file naming/folder structure
Analyse the images using QuPath scripts
Save the output

*Interactive filebrowser (may require the ability for the user to specify the dimension naming format of the files) to select single or multiple files (may be in a complex folder structure or a single folder) and move them into the file/folder structure required for deconvolution.  May need to additionally rename the moved files so Batch Deconvolution can process them.  Standard instrument output files could be automatically detected using the metadata scraper, or from a dropdown list the user navigates to determine the naming convention and file/folder structure of the input files.  Process the input files using the metadata scraper read required parameters and any other parameters entered by the user

Begin by integrating Terastitcher as a separate tool into the IPP with a GUI

Select File/Folder
read the selected file/folder metadata and display to the user the fields required for terastitcher

this will require a new metadata parsing script

Allow the user to modify the expected image dimension naming of files, ie: *C# = Channel, *F# = Field, *Z# = Slice etc
Tickbox to search subdirectories for related files
Show the user the expected filename per Channel, Slice and Field etc
Let the user enter in any other Terastitcher required information that's not scraped from the metadata
Let the user select between CPU/GPU and number of nodes/GPUs to use
Let user set the output filename and/or folder structure with filenames for each file and file format ie: .tif, ome-tif, ims etc
Submit job

JS, NC, DG, ND, ME zoom call on 12-Mar-2024:
Include in 2H2024 work


Check package management system integration

Check package manager for Cairo or document alternatives in readme

https://github.com/software-mansion/scarb was introduced


PythonREPLTool._run() missing 1 required positional argument: 'query'

Hi,
I tried to use Python REPL tool with new Structured Tools Agent. (Langchain version 0.0.157)
Code:
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(temperature=0)
tools = load_tools(["serpapi", "llm-math", "python_repl"], llm=llm)
agent = initialize_agent(tools, llm, agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION, verbose=True)

prompt = """
Act as a Bank Analysts.
You have to analyze data of a customer with following features:
- man
- age: 40-50
- income: 5000 GBP
- lives in London

Monthly Spending in CSV format in GBP.
First row (header) have category names, next there is one row per month
####
Food and Dining,Shopping,Transportation,Travel,Bills and Utilities,Entertainment,Health and Wellness,Personal Care,Education,Children
200,150,100,500,300,100,75,50,250,200
250,175,125,0,300,100,75,50,250,200
300,200,150,0,300,125,100,50,250,200
275,225,175,0,300,150,100,75,0,200
225,250,200,0,300,175,125,100,0,200
250,225,225,0,300,200,150,125,0,200
300,200,250,500,300,225,175,125,0,200
275,175,225,0,300,200,200,100,0,200
225,150,200,0,300,175,200,75,250,200
250,225,175,0,300,150,175,75,250,200
300,250,150,0,300,125,125,50,250,200
275,200,125,0,300,100,100,50,0,200
####

Save this data to CSV file. Then analyze it and provide as many insights for this customer as possible.
Create bank recommendation for the customer. Also include some diagrams.
For reference average monthly spendings for customer with similar income is:
Food and Dining - 400
Shopping - 200
Transportation - 200,
Travel - 100
Bills and Utilities - 400
Entertainment - 100
Health and Wellness - 50
Personal Care - 25
Education - 100
Children - 200

"""
agent.run(prompt)

Debug:
Thought: I can use Python to analyze the CSV file and calculate the customer's average monthly spending for each category. Then, I can compare it to the average monthly spending for customers with similar income and provide recommendations based on the difference.

Action:
{
  "action": "Python REPL",
  "query": "import csv\n\nwith open('customer_spending.csv', 'r') as file:\n    reader = csv.reader(file)\n    headers = next(reader)\n    spending = {header: [] for header in headers}\n    for row in reader:\n        for i, value in enumerate(row):\n            spending[headers[i]].append(int(value))\n\naverage_spending = {}\nfor category, values in spending.items():\n    average_spending[category] = sum(values) / len(values)\n\nprint(average_spending)"
}

Exception:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[12], line 44
      1 prompt = """
      2 Act as a Bank Analysts.
      3 You have to analyze data of a customer with following features:
   (...)
     42
     43 """
---> 44 agent.run(prompt)

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/chains/base.py:238, in Chain.run(self, callbacks, *args, **kwargs)
    236     if len(args) != 1:
    237         raise ValueError("`run` supports only one positional argument.")
--> 238     return self(args[0], callbacks=callbacks)[self.output_keys[0]]
    240 if kwargs and not args:
    241     return self(kwargs, callbacks=callbacks)[self.output_keys[0]]

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/chains/base.py:142, in Chain.__call__(self, inputs, return_only_outputs, callbacks)
    140 except (KeyboardInterrupt, Exception) as e:
    141     run_manager.on_chain_error(e)
--> 142     raise e
    143 run_manager.on_chain_end(outputs)
    144 return self.prep_outputs(inputs, outputs, return_only_outputs)

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/chains/base.py:136, in Chain.__call__(self, inputs, return_only_outputs, callbacks)
    130 run_manager = callback_manager.on_chain_start(
    131     {"name": self.__class__.__name__},
    132     inputs,
    133 )
    134 try:
    135     outputs = (
--> 136         self._call(inputs, run_manager=run_manager)
    137         if new_arg_supported
    138         else self._call(inputs)
    139     )
    140 except (KeyboardInterrupt, Exception) as e:
    141     run_manager.on_chain_error(e)

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/agents/agent.py:905, in AgentExecutor._call(self, inputs, run_manager)
    903 # We now enter the agent loop (until it returns something).
    904 while self._should_continue(iterations, time_elapsed):
--> 905     next_step_output = self._take_next_step(
    906         name_to_tool_map,
    907         color_mapping,
    908         inputs,
    909         intermediate_steps,
    910         run_manager=run_manager,
    911     )
    912     if isinstance(next_step_output, AgentFinish):
    913         return self._return(
    914             next_step_output, intermediate_steps, run_manager=run_manager
    915         )

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/agents/agent.py:783, in AgentExecutor._take_next_step(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)
    781         tool_run_kwargs["llm_prefix"] = ""
    782     # We then call the tool on the tool input to get an observation
--> 783     observation = tool.run(
    784         agent_action.tool_input,
    785         verbose=self.verbose,
    786         color=color,
    787         callbacks=run_manager.get_child() if run_manager else None,
    788         **tool_run_kwargs,
    789     )
    790 else:
    791     tool_run_kwargs = self.agent.tool_run_logging_kwargs()

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/tools/base.py:253, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, **kwargs)
    251 except (Exception, KeyboardInterrupt) as e:
    252     run_manager.on_tool_error(e)
--> 253     raise e
    254 run_manager.on_tool_end(str(observation), color=color, name=self.name, **kwargs)
    255 return observation

File ~/.virtualenvs/langchain-playground-zonf/lib/python3.10/site-packages/langchain/tools/base.py:247, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, **kwargs)
    244 try:
    245     tool_args, tool_kwargs = self._to_args_and_kwargs(tool_input)
    246     observation = (
--> 247         self._run(*tool_args, run_manager=run_manager, **tool_kwargs)
    248         if new_arg_supported
    249         else self._run(*tool_args, **tool_kwargs)
    250     )
    251 except (Exception, KeyboardInterrupt) as e:
    252     run_manager.on_tool_error(e)

TypeError: PythonREPLTool._run() missing 1 required positional argument: 'query'

Looks like no action input was directly provided:
Action:
{
  "action": "Python REPL",
  "query": "import csv\n\nwith open('customer_spending.csv', 'r') as file:\n    reader = csv.reader(file)\n    headers = next(reader)\n    spending = {header: [] for header in headers}\n    for row in reader:\n        for i, value in enumerate(row):\n            spending[headers[i]].append(int(value))\n\naverage_spending = {}\nfor category, values in spending.items():\n    average_spending[category] = sum(values) / len(values)\n\nprint(average_spending)"
}

May need some prompt engineering. This should look like
Action:
{
  "action": "Python REPL",
  "action_input": {"query": "import csv\n\nwith open('customer_spending.csv', 'r') as file:\n    reader = csv.reader(file)\n    headers = next(reader)\n    spending = {header: [] for header in headers}\n    for row in reader:\n        for i, value in enumerate(row):\n            spending[headers[i]].append(int(value))\n\naverage_spending = {}\nfor category, values in spending.items():\n    average_spending[category] = sum(values) / len(values)\n\nprint(average_spending)"
}
}

Seeing this too - any fix?

@raihaan123 I came across with this problem, but in doing my own custom agent, and found a solution given in that issue. But, I'm not sure if that helps your situation.


Hannesb enable windows authentication

A few changes enable the Serene template to work in an intranet environment where users should be authenticated by windows security.
Of course, you have to switch to windows authentication on the web server too.

Thanks for sharing @hannesb. I'm afraid i can't merge this one as is, because it should be an optional feature. But leaving this open, i'll try to convert it into a how-to guide.

Windows authentication worked for me ( LDAP) and added to users table.

Closing as this was for a very old version.


Jenkins permission requirements

Hello all,
I've been trying to get a shields badge of my Jenkins build status for this job. However, it always displays inaccessible. The job has project-based security, with anonymous users being able to discover and read, but nothing else.
Things I've tried:

Adding/removing SSL
Giving anonymous workspace permission

Any help is appreciated, thanks in advance!

Update, I've solved the issue by using https://img.shields.io/jenkins/s/http/ci.gamerking195.com:8080/job/AutoUpdaterAPI.svg
seems to be working. (I removed SSL and specified the port)


chore(build): fix version check in gulpfile

Previously, the version check would say that 5.2 was less than 4.3.
Fix by using semver.

Also, this task used to fail silently, and just not continue the gulp run. This change makes it actually error out.


Error while running

Hey I got this error , in addition I got a Warning about the weights being generated in in64 when tensor rt supports natively only INT32

Which model are you passing - Is it an ONNX model exported from the yolov5s model?
Could you also please share your command for running this?

Which model are you passing - Is it an ONNX model exported from the yolov5s model?

Yes.
my Command was :
python export.py --weights yolov5s.pt --include torchscript onnx
and I've downloaded the model from the last release
Maybe its possible you can share your ONNX file?

Hi there, I'm also getting the same error. I originally tried the same ONNX export.py command as @eladpar, as well as the following which uses half precision
python export.py --weights yolov5s.pt --half --device 0 --include onnx

Could you please try the following:

Export to ONNX: python export.py --weights yolov5s.pt --include onnx
Build and source the isaac_ros_dnn_inference package inside the container
Generate the TensorRT engine file first using the isaac_ros_tensor_rt node: ros2 launch isaac_ros_tensor_rt isaac_ros_tensor_rt.launch.py model_file_path:=<absolute-path-to-onnx-file> engine_file_path:=<absolute-path-where-you-want-to-save-engine> input_binding_names:=['images'] output_binding_names:=['output0']
Allow this step ~15 minutes as engine generation takes time.
Pass the generated engine file to the yolov5_isaac_ros node

Hey !
I got the same error:

Can you please share your .plan file?

Could you please try the following:

Export to ONNX: python export.py --weights yolov5s.pt --include onnx
Build and source the isaac_ros_dnn_inference package inside the container
Generate the TensorRT engine file first using the isaac_ros_tensor_rt node: ros2 launch isaac_ros_tensor_rt isaac_ros_tensor_rt.launch.py model_file_path:=<absolute-path-to-onnx-file> engine_file_path:=<absolute-path-where-you-want-to-save-engine> input_binding_names:=['images'] output_binding_names:=['output0']
Allow this step ~15 minutes as engine generation takes time.
Pass the generated engine file to the yolov5_isaac_ros node

Thanks alot !
This solution worked :)


update plugin verson in documentation

The documentation contains the following line:

    classpath 'org.owasp:dependency-check-gradle:3.3.4'

The newest version is <IP_ADDRESS>

This has been fixed - thanks for the report and PR.


Authentication backend's authenticate() method is called 3 times during a successful authentication

Current Behavior

I am using this package with a custom authentication backend and logging the calls to the authenticate() method. It seems there are 3 calls to authenticate() during a successful authentication (instead of 1).
Possible Cause

The formtools wizard post() method called from IdempotentSessionWizardView's post() contains 3 direct or indirect calls to form.is_valid():

if form.is_valid(): here

self.steps.last here

return self.render_done(form, **kwargs) here

Each of these 3 calls is triggering a form.is_valid() call, and as a consequence, an authentication backend authenticate() call.
I am a bit unsure if this issue is better addressed in this project, in formtools or in contrib.auth's AuthenticationForm. I think the root cause is the use of contrib.auth's AuthenticationForm within the formtools wizard.
Steps to Reproduce (for bugs)

Create a custom authentication backend based on the default ModelBackend https://github.com/django/django/blob/master/django/contrib/auth/backends.py#L7-L103
Log calls to authenticate()
Login successfully (even with a non-2FA user) and check the log for 3 calls to authenticate()

Context

In the context of a remote user authentication backend, 3 external API calls to a remote server can add significantly to the time needed for logging in - it degrades performance and scalability.
Your Environment

Python version: 3.4
Django version: 1.11.1
django-two-factor-auth version: 1.6.2

There have been talks about replacing the LoginView with a custom design, dropping the Wizard from formtools. For normal use-cases the additional calls to authenticate should not be a problem, but for certain use-cases (like yours) I can see that the current situation is not ideal. However replacing the form isn't something that is actively being worked on (as far as I know), but two proposals have been made: #193 and #194.

I believe this has been fixed in 1.12.0.


[bug] Error when setting location in init hook

Call to undefined function
Invocation
My invocation was from the plugin, like this, without a hook:
PLUGINS\WPDocsify::adminRegister(array(
  'domain' => 'Documentation',
  'name' => 'Documentation',
  'slug' => 'documentation',
  'icon' => 'dashicons-editor-help',
  'location' => get_stylesheet_directory_uri() . '/documentation/',
));

or within the `init' hook:
add_action('init', function () {

  PLUGINS\WPDocsify::adminRegister(array(
    ...
  ));

});

Fatal Error
But when I call it like this, I get an error:
Uncaught error: Call to undefined function get_home_path()

It wasn't obvious to find and fix a problem, but I got the solution from this discussion here.
Using get_home_path() inside the admin_init hook is fine, but using it inside init or even earlier is not fine. So get_home_path() has to be called where wp-admin/includes/file.php is already included.
Possible fixes

The best fix is to introduce a new class method instead of the global get_home_path(). Just copy and paste from the original.
An alternative solution would be to use the ABSPATH constant instead of the get_home_path() function, but note that these two values will not be the same if WordPress is installed in a subfolder. The ABSPATH constant is initialised very early and has no restrictions on where it can be used.

Strange Behaviour
When I try to call everything from admin_init like this, there is no error, but name and slug are not set:
add_action('admin_init', function () {
  PLUGINS\WPDocsify::adminRegister(array(
    'domain' => 'Documentation',
    'name' => 'Documentation',
    'slug' => 'documentation',
    'icon' => 'dashicons-editor-help',
    'location' => get_stylesheet_directory_uri() . '/documentation/',
  ));
});

Code that Works, but it's Ugly
So the only correct, error-free solution at the moment is this, which seems ugly to me:
use MBC\inc as PLUGINS;

PLUGINS\WPDocsify::adminRegister(array(
  'domain' => 'Documentation',
  'name' => 'Documentation',
  'slug' => 'documentation',
  'icon' => 'dashicons-editor-help',
));

add_action('admin_init', function () {
  PLUGINS\WPDocsify::adminRegister(array(
    'location' => get_stylesheet_directory_uri() . '/documentation/',
  ));
});

Hi there, i think i understand the issue, and you are right its because the get_home_path is not available till later in the WordPress Lifecyle.
I think i can improve apon this by replacing that function as there is global variables set by WordPress that could replace it.
https://developer.wordpress.org/reference/functions/get_home_path/
there is also additional registration method you could use that does work with init callback.
however its only available in the v2 build
https://github.com/mitchell-b-chelin/WPDocsify/tree/v2
A working example of the registration is here.
https://github.com/mitchell-b-chelin/Bricks/blob/main/inc/documentation.php
Perhaps v2 would be better suited for you as it is designed to work with the Lifecyle of WordPress.
Hopefully this helps.

Sadly, I can't make it work on v2

I will review this issue in the new version of the plugin as i wish to merge v2 into main.
Would it be easier if added support for in the theme to have a
documentation.json
file which would offer the same as using the php overides?
And would it be useful to have a settings menu to allow changing the name rather then having to write any code?


Release testing: Python word count demo fails to autoscale properly

Running the demo in docker (with updated script paths) does not currently work. Running the receiver, then worker1 & worker2, and then starting the sender will cause things to hang. If worker to is shutdown using the shrink script, worker1 will crash. I've included some output below.
The last bit of the initializer output looks like this:
Connecting OutgoingBoundary to <IP_ADDRESS>:42651
BoundaryNotify: attempting to connect...

Connecting OutgoingBoundary to <IP_ADDRESS>:42651
BoundaryNotify: attempting to connect...

Connecting OutgoingBoundary to <IP_ADDRESS>:42651
BoundaryNotify: attempting to connect...

Connecting OutgoingBoundary to <IP_ADDRESS>:42651
BoundaryNotify: attempting to connect...

Connecting OutgoingBoundary to <IP_ADDRESS>:42651
BoundaryNotify: attempting to connect...

Connecting OutgoingBoundary to <IP_ADDRESS>:42651
BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

BoundaryNotify: connected

Migrating partitions to worker2
Migrating steps for word totals partition to worker2
^^Migrating 0 keys to 1 workers
--Sending migration batch complete msg to new workers
AUTOSCALE: Waiting for join migration acks.
--Processing migration batch complete ack from worker2
--All new workers have acked migration batch complete
AUTOSCALE: Waiting for resume the world.
Sent control message to worker2
Attempting to resume in flight messages.
worker_ack_barrier_start from PendingBarrierHandler
Sent control message to worker2
Split and Count source: accepted a connection
TCPSink connection closed
RE-Connecting TCPSink to <IP_ADDRESS>:7002
Reconnection asio event
TCPSink connected
Saving topology!
Saving worker names to file: /tmp/word_count-initializer.workers
LocalTopology._save_worker_names: initializer
AUTOSCALE: Stopping the world and injecting shrink autoscale barrier.
~~~Stopping message processing for leaving workers.~~~
Sent control message to worker2
Checking there are no in flight messages.
This should never happen: failure in /root/wallaroo-tutorial/wallaroo-release-0.5.4/lib/wallaroo/ent/autoscale/autoscale_initiator.pony at line 55

The second worker gives me this:
RE-Connecting OutgoingBoundary to <IP_ADDRESS>:6001
Reconnection asio event
BoundaryNotify: connect_failed

RE-Connecting OutgoingBoundary to <IP_ADDRESS>:6001
BoundaryNotify: attempting to connect...

RE-Connecting OutgoingBoundary to <IP_ADDRESS>:6001
Reconnection asio event
BoundaryNotify: connect_failed

[repeated]

I've also reproduced this issue on the dynamic keys example word count application. In addition to the autoscale case, there is an issue with --worker-count 2:
(python-virtualenv) machida3 --application-module word_count_with_dynamic_keys   --in <IP_ADDRESS>:7010 --out <IP_ADDRESS>:7002   --metrics <IP_ADDRESS>:5001 --control <IP_ADDRESS>:6000 --data <IP_ADDRESS>:6001   --name worker-name --external <IP_ADDRESS>:5050 --cluster-initializer --worker-count 2  --ponythreads=1 --ponynoblock
****CLUSTERING MODE is active****
****AUTOSCALE MODE is active****
||| Resilience directory: /tmp|||
Set up external channel listener on <IP_ADDRESS>:5050
Running as Initializer...
AUTOSCALE: Waiting for new autoscale event.
initializer external: listening on <IP_ADDRESS>:5050
metrics outgoing connected
initializer control: listening on :0
This should never happen: failure in /root/wallaroo-tutorial/wallaroo-release-0.5.4/lib/wallaroo/core/initialization/local_topology.pony at line 2213

@jtfmumm I know this code works on 0.5.2. I'll see if 0.5.3 works or not. Perhaps this will narrow down where we look.

I've reproduced an error on 0.5.3. It sometimes works at first but will fail with this error on the initializer if worker2 is shrunk:
shall => 308

soldier => 19

shall => 309

house => 19

consent => 19

Saving topology!
Saving worker names to file: /tmp/word_count-initializer.workers
LocalTopology._save_worker_names: initializer
AUTOSCALE: Stopping the world and injecting shrink autoscale barrier.
~~~Stopping message processing for leaving workers.~~~
Sent control message to worker2
Checking there are no in flight messages.
This should never happen: failure in /root/wallaroo-tutorial/wallaroo-0.5.3/lib/wallaroo/ent/autoscale/autoscale_initiator.pony at line 55

@strmpnk The cause of the crash on shrink is because the grow did not complete successfully (we expect to see ~Resume message processing~ before ~Stopping...~ in this case.  When trying the demo locally, I find that grow does not complete.  So the shrink crash is a red herring.  I'll investigate why grow is not succeeding in this scenario.
By the way, this kind of crash is itself a symptom of a bug.  I opened this separate issue: #2600


Question on contrast augmentation

Hi there, I was reading through the paper and noticed it was mentioned that the initial attention maps from the cross-image attention attended to too many keys, and the contrasting served to fix this. I was wondering if it was tried to alternatively reduce the temperature of the softmax as to avoid negative values/ risking probabilities not summing to 1. But equally I could imagine a case for needing to increase overall weighting > 1 to increase effect. Curious if these were experimented with and any thoughts :)

This is an interesting question. We did play with the exact contrasting operation (e.g., re-normalizing the outputs to make them sum to 1), but we didn't see any noticeable effect. Therefore, we decided to go with our simplest solution and simply use the contrast operation as is.


Remaining trait-insertion API issues (separated out of issue #124)

[ ] 1. Add GitBook documentation of JSON and XML format POST requests
[x] 2. Consider making key optional (can use curl -u option instead)
[ ] 3. Check error response to SQL validation errors
[ ] 4. Add more testing
[x] 5. Check that CSV API accepts various kinds of line endings
[ ] 6. Check that POST APIs handle character encodings properly
[x] 7. Update documentation example for posting data to specify adding the -H option to curl.
[x] 8. Add support for an "entity" column in uploaded CSV files. (This is issue https://github.com/PecanProject/bety/issues/437.)
[x] 9. Ensure treatments are consistent with citation.
[x] 10. Address issue https://github.com/PecanProject/bety/issues/430.
[ ] 11. Address issue https://github.com/PecanProject/bety/issues/449.

@dlebauer - is this a priority for the V0 release?

From @gsrohde in https://github.com/terraref/computing-pipeline/issues/147:

I think that the API rolls everything back if there is a row it can't insert. I have to double-check this. In other words, if you tried to do the API call without all the metadata being there, no harm would be done.

I still have to deploy some last few changes to the insertion API having to do with the traits issue we discussed yesterday. I plan to do a release today (unlikely), tomorrow (possibly) or early next week, after which we should be good to go.

The PlantCV extractor is running - when these changes are released, I will update the PlantCV extractor to point to
terraref.ncsa.illinois.edu/bety

...with an API key I generate, and we are good to go.

@max-zilla I think I'm done with all the high-priority items in this issue (except for updating the documentation, which isn't quite done), but I won't do a new release until sometime next week.  (Precisely when depends on how much else I want to try to include.)  In the meantime, you are welcome to pull the updates to your own BETYdb copy and re-test (if that's useful and feasible).
The main changes in how things work are as follows.  If your CSV files always will have an entity column which is not blank in any row, then probably only points 1 and 3 will be of interest.

The treatment (if any) has to be consistent with the citation.  That is, there must be a row in the citations_treatments table associating the treatment you name with the citation you select.  (The treatment selected from the treatements table will be the one whose name not only matches the value in the CSV-file treatment column but is also associated with the citation matching the CSV-file citation column(s).  A fortiori, the CSV file can't have a treatment column unless it has (a) citation column(s).
It used to be that even if the CSV file didn't have an entity column, an anonymous entity (one having the empty string in the name column) would be created for each CSV-file row, and each trait-table row created from the data in the CSV-file row would be associated with that newly-created anonymous entity.  Now this only happens if there are at least two traits created per CSV file row.  (I didn't see any use in creating an anonymous entity connected to only a single trait.  It doesn't add any information.)
Entities are re-used if the value of the entity column in the CSV file matches the value in the name column of an entity in the entities table.  The exception is that entities with blank names are never re-used.  (Eventually the entities table will be constrained to require non-blank names to be unique (I hope).)
If your CSV file has an entity column but there is only one trait created per CSV row, then the entity column must be non-blank for each row of the CSV file.  (I could change this so that the column value
could sometimes be blank and either (i) no entity would be created for rows with blank entity column values, or (ii) an anonymous entity would be created if the entity column value were blank.  Again, I don't see much use for option (ii) since I don't see any point to an anonymous entity connected to a single trait.)

I have updated the PlantCV extractor config with the terraref.ncsa.illinois.edu/bety instance and my API key there (account mburnet2). The Clowder upload process is into the first 2 weeks of September so we should start seeing some PlantCV extractions trigger over the weekend or very early next week.

@gsrohde - please update this issue

@gsrohde will you be able to finish this up by the end of May? If so, please change the milestone, if not, please convert to an epic and break into smaller pieces that you can complete. (same for #124)


Add Drools

Name with link
Drools
https://www.drools.org/
Description
Drools is a Business Rules Management System (BRMS) solution.
As java developer, I used Drools since several years.
Link to the vector file, preferably from an official source
icon : https://design.jboss.org/jbossrules/logo/final/drools_icon.svg
logo : https://design.jboss.org/jbossrules/logo/final/drools_logo.svg

This is a duplicate of your own rejected request #419

I thought it was rejected because I had opened a lot of issues
is it drools that is the problem?

Added in 11f54bac1b6dfad2cbd1c6da9f2245ec8b5ea22b
Thanks


Consider supporting old pickles

I.e. be able to open pickles of parameterized objects from previous versions of param.

I think this is very important, and doesn't seem like a big job.


Update StoryRouter.js

when there is some exception during initialization of my story, componentWillMount is called without componentWillMount being called first, which leads to the case when unlisten is not defined. This change allows me to see real exception, not 'this.unlisten is not a function' which says nothing about my exception. I am not sure if it is valid that willUnmount is called before componentDidMount, but this change just fixes the issue.

What do you mean with "during initialization of my story"? Trying with the examples I cannot reproduce an error which triggers the exception this.unlisten is not a function you mention. Can you provide more info?

for example exception in componentDidMount hook.

Nice catch, thanks!


Mii does not work  after sourcing conda environment

Describe the bug
Conda
To Reproduce
Steps to reproduce the behavior:

source activate <conda_env>
The Path changes and mii does not work

Expected behavior
Mii should work in conda environment
OS : Rocky Linux 8.9

This issue has been fixed by PR issu1


[Vue warn]: Property undefined was accessed during render but is not defined on instance.

  test('layout full page layout', () => {
    const Layout = {
      template: `

            <slot name="header" />

            <slot name="main" />

            <slot name="footer" />

      `,
    }
    const wrapper = mount(Layout, {
      slots: {
        header: '
Header
',
        main: '
Main Content
',
        footer: '
Footer
',
      },
    })

    expect(wrapper.html()).toContain('
Header
')
    expect(wrapper.html()).toContain('
Main Content
')
    expect(wrapper.html()).toContain('
Footer
')
  })

This should definitely work, I don't see any obvious problem. Will need to add this test to this code base and see what's going on.

I tried adding this to this code base - there is no problem, it's working fine. I'll need a full reproduction to investigate. Do you have other code in your code base?
I will close this for now since there is no problem, as far as I can tell. I can re-open if you provide more information with a reproduction.

@lmiller1990 hi, this warning appeared after I upgraded to the latest version today.
minimal reproduction: https://github.com/danranVm/vue-test-utils-warn

This happened for me too. A workaround is to use the h function instead of an html string:
        const wrapper = mount(Layout, {
            slots: {
                header: h('div', {}, 'Header'),
                main: h('div', {}, 'Main Content'),
                footer: h('div', {}, 'Footer'),
            },
        })

Sounds like a regression. I will look at your repo. You should not need h.

I don't think the issue is related to test utils. I'm experiencing a similar issue with a custom render function:
import { compile } from 'vue';

export default (name, props = {}) => ({
  inheritAttrs: false,
  name,
  props,
  setup() {
    // ... logic that builds the template string goes here
    const templateString = '
<slot></slot>
';
    return compile(templateString);
  },
});

In the console I'm getting:
[Vue warn]: Property undefined was accessed during render but is not defined on instance.
  at <Container>
  at <App>

It has something to do with slots, because as soon as I remove the slot from the template (const templateString = '
I'm a div
';) the warning goes away.

What do compile return? You generally need to return a function from setup, for example return () => compile(templateString).
We have a test around the use case described in this issue, see here: https://github.com/vuejs/vue-test-utils-next/blob/279aa832a05191e113874a31cadff8a4cb424274/tests/mountingOptions/slots.spec.ts#L24.
I think this is an issue relating to configuration. This  code base uses ts-jest for the Jest preset, the OP reproduction uses babel-jest. I'm thinking this might be an issue in vue-jest.

I'm also seeing this issue, but with regular SFC's.
Example component:
<template>
  <form data-form-wrapper-root>
    <slot />
  </form>
</template>

Test:
/* eslint-disable @typescript-eslint/no-explicit-any */
import { mount, VueWrapper } from '@vue/test-utils'
import ClFormWrapper from '#components/form/form-wrapper'

let wrapper: VueWrapper<any>

beforeEach(() => {
  wrapper = mount(ClFormWrapper, {
    slots: {
      default: '
Sample Content
',
    },
  })
})

afterEach(() => {
  wrapper.unmount()
})

describe('ClFormWrapper', () => {
  describe('defaults', () => {
    it('renders a FormWrapper', async () => {
      expect(wrapper.find('[data-form-wrapper-root]').exists()).toBe(true)
    })
  })
})

The tests pass, but there's a warning in the console:
    console.warn
      [Vue warn]: Property undefined was accessed during render but is not defined on instance.
        at <Anonymous >
        at <ClFormWrapper ref="VTU_COMPONENT" >
        at <VTUROOT>

@TheDutchCoder I copy pasted that exact code into the repo for this code base and I am not seeing the warning. Can you provide the version(s) and configuration you are using? Are you using babel-jest?

Fixed here: https://github.com/vuejs/vue-test-utils-next/pull/661


feat(client): Add trusted types support

With this change, Karma tests can be run with an enforced Trusted Types policy.
This change consists of using safer APIs (appendChild and textContent instead of innerHTML), as well as creating a policy for client/karma.js which a test's Trusted Types CSP policy can then explicitly allow. This policy is used internally where karma does potentially dangerous operations like loading scripts.
More info about the proposed Trusted Types standard at https://github.com/WICG/trusted-types

I'll try to restart appveyor

For what it's worth, I've run this across all affected tests inside of google3, and all passed

I cannot find this in the documentation anywhere. How do I enable this feature?
I've tried using
customHeaders: [
    {
        match: 'context\\.html',
        name: 'Content-Security-Policy',
        value: `require-trusted-types-for 'script';`,
    },
],

and written the following test
it('assigning a string to innerHTML violates the CSP', function() {
            let cspViolated = false;
            window.addEventListener('securitypolicyviolation', () => cspViolated = true);
            document.body.innerHTML = 'foo';
            expect(cspViolated).to.be.true;
            expect(document.body.innerHTML).to.not.equal('foo');
        });

Unfortunately, the test fails.


"aeron-mdc" sample's dockerfile maybe have some problem

hello! When I try to run your ‘aeron-mdc’ sample code, I found that there may be some problems. Your code is compiled with JDK17, but the image in the dockerfile is jdk16, which causes the following problems at runtime.

here is the JDK version in aeron-mdc-publiser/Dockerfile:

When I changed the JDK version of the code to 16, the image can run normally.

Hi - I have pushed an update to both the base docker image on docker.io and the code to use the correct JDK. The code samples are running fine with JDK17 now. Many thanks for the report.


Kitematic fails to assign a port

Kitematic seems to fail to assign a port in some cases; sometimes rebooting the app works, sometimes not.
I'm on OS X 10.10.

Note: I'm spawning these from the command line.

Running it with -P fixed it, sorry.

No worries! Thanks for the issue @iangcarroll :smiley: