JSDoc support for array destructuring

Currently there is no simple way to annotate destructured array parameters.
I propose a syntax similar to the current destructured objects syntax:
/**
 * @param {[x: number, y: number]} randomName
 * @return number
 */
function add([x, y]) {
    return x + y;
}

Due to the nature of destructured arrays, this issue is closely related to #379.

Duplicate of #1781

It's not really a duplicate, issue #1781 presumes an object.
I'm only commenting because I'm right now trying to find a syntax that works, and ideally one that WebStorm accepts too... I used a JSDoc syntax that ignored that destructuring even takes place which kept the IDE from complaining, but now that I create API docs in HTML I have to find something else - the parameters don't even show up in the output with this workaround...

I think what we need is tuple types, which is on our short list for once the NTI migration is complete.

And destructuring, I can't find a method that actually works. I tried the method in #1781 without success, and all other methods require that I add a named parameter that does not actually exist for the object (since only its properties exist in the code), and that confuses the IDE.

Additionally, destructuring rest assignment is impossible to represent:
function multiplySum([factor, ...numbersToSum]) {
    const sum = numbersToSum.reduce((a, b) => a + b, 0);
    return sum * factor;
}

And would require a tuple types that can represent "rest" like types:
/**
 * @param {[factor: number, ...numbersToSum: number[]]} args
 */

There have been no updates on this despite being an open issue for almost 4 years. It has not even been assigned. Is there any hope this might get implemented any time this year?

Sadly, I don't think adding this feature is on our 2020 roadmap.

This would be great, but is not exactly critical.

The need to annotate tuples comes up constantly when using React hooks (React.useState). This capability would be extremely useful.
ref: https://groups.google.com/g/closure-compiler-discuss/c/MsoqyuVZL1M/m/lOhWU6R8CAAJ

@robfig Agreed. I applaud you for wanting to compile your React project as well, since they are notoriously bloated with dead code.
The truth is that the Closure Compiler is an internal Google tool, and that the people on this team do a great job of keeping it relatively up-to-date and feature-rich for open source use cases, but you're right that this is definitely a good request.
This is on my wish list along with class fields. Truthfully, React's useState pattern is not very intuitive nor very common, so it was always going to be a candidate for poor Closure Compiler accommodation. It can understand Array<type>, but not different types at different indices.
In the meantime, you can use:
const React = {
  /**
   * @param {number} num
   * @return {Array}
   */
  useState: (num) => [ num, (newNum) => console.log(newNum) ],
};

/** @type {Array} */
const stateTuple = React.useState(Math.random());

/** @type {number} */
const num = stateTuple[0];

/** @type {function(number):number} */
const updateNum = stateTuple[1];

And everything will be typed as expected. I know it's sad to not utilize array destructuring natively, but I would be shocked if this has a meaningful impact on the output size or performance. To test the typing and get output, let's log our variables at the end:
...
console.log({
  /** @type {number} */
  num,
  /** @type {function(number):number} */
  updateNum,
});

Produces:
var a=function(b){return[b,function(c){return console.log(c)}]}(Math.random());console.log({a:a[0],b:a[1]});

Behaves as expected:
VM58:1 {a: 0.6578095262052157, b: ƒ}

Test the typing by breaking a type:
...
// oops!
/** @type {function(string):number} */
  updateNum,
...

Compiler throws:
WARNING - [JSC_TYPE_MISMATCH] assignment to property updateNum of {
  num: number,
  updateNum: function(string): number
}
found   : function(number): number
required: function(string): number
  24|   updateNum,
        ^^^^^^^^^

0 error(s), 1 warning(s), 96.4% typed

These compilations were run with two options:

Maximum compression and DCE with -O ADVANCED.
Use typing with --use_types_for_optimization.

I recommend using the Compiler locally with npm i -g google-closure-compiler, and then the command is simply:
google-closure-compiler -O ADVANCED --use_types_for_optimization myfile.js

Thanks for the guidance.
Since calling React.useState is a common thing to do, I was hoping to make it possible to do so with less ceremony. Going through a wrapper seems like it might be able to streamline things while maintaining type checks:
/**
* @template T
* @param {!T} value
* @return {{val: !T, set: function(!T)}}
*/
WrapReact.useState = function(value) {
  const state = React.useState(value)
  const val = /** !T */ (state[0]);
  const set = /** function(!T) */ (state[1]);
  return {val: val, set: set}
}

const num = WrapReact.useState(Math.random());

console.log(num.val);
num.set(Math.random());

It seems to work in the online playground

These works in VS Code:
`
/**

@param {[x: number, y: number]} param
@returns {[x: number, y: number]}
/
function doNothing([x, y]) {
return [x, y];
}
and
/*
@param {[number, number]} param
@returns {[number, number]}
*/
function doNothing([x, y]) {
return [x, y];
}
`

These works in VS Code:
/**
 * @param {[x: number, y: number]} param
 * @returns {[x: number, y: number]}
 */
function doNothing([x, y]) {
    return [x, y];
}

and
/**
 * @param {[number, number]} param
 * @returns {[number, number]}
 */
function doNothing([x, y]) {
    return [x, y];
}

Yes, but the compiler can't handle them as far as I'm aware.

Additionally, destructuring rest assignment is impossible to represent:
function multiplySum([factor, ...numbersToSum]) {
    const sum = numbersToSum.reduce((a, b) => a + b, 0);
    return sum * factor;
}

And would require a tuple type that can represent "rest" like types:
/**
 * @param {[factor: number, ...numbersToSum: number[]]} args
 */

soooo, the destructuring rest assignment has any way to be documented?

@joneldiablo, I would not count on it. I have pitched Google about allocating more resources to the compiler, but it was shot down.
I would not count on new features being added anytime soon, and this tool is maintained largely for the sake of internal Google projects.

@joneldiablo, I would not count on it. I have pitched Google about allocating more resources to the compiler, but it was shot down.
I would not count on new features being added anytime soon, and this tool is maintained largely for the sake of internal Google projects.

oh, sad. =(
thankyou


[ODS-5897] Add approval tests for 5.0 standard

Moved tests to subdirectories based on standard version. All Standard versions run.


Is there any issue when we use the large data input?

Hi, we saved our data to torch senor format 'train.t7' and loaded it using torch-dataset.
local trainingDataset = Dataset('train.t7', {partition = 1, partitions = 1})
If the size of 'train.t7' is 500GB or more, is there any limitation in the memory when using torch-dataset? Is there any issue when we define 'batchSize' or use 'torch-ipc'?
Thank you.

There are a couple limits.

The size of your computer's memory.
The number of open file handles you can have. This is particularly troublesome on OSX where the limit is low. Torch's require system opens tons of files. If you spawn 100s of threads (via ipc.map or a large batch size) then you could run out of file handles.

Thank you :)


Change transaction section

In this section I have added explanation for transaction statuses, and expanded the explanation.
Please check it with ruby and bundle gem installed on your machine:
https://github.com/lord/slate/wiki/Installing-Slate#getting-set-up

Next time I will use grammarly before opening PR, thanks

Maybe add in advance MST_EXPIRED status?

@l4l I think that we should update docs in future as soon as we are merging the change in the repo


UI/Updated logos for Chatmodels, Embeddings and LLMs

Updating icons for chat models, embeddings and LLM categories to keep them consistent with other icons in the UI.

many thanks for the PR! but im just concern that in future when we add more integrations, every icons then will have to follow this pattern, with some that dont have the skill to do that (including me lol), it might add another layer of dependency to that.

I plan on supporting this project well into the future! But I can make a guide for the icon set and how it was built, so if someone feels like they would like to edit the set, they can. It is quite close to the style of the Phosphor icon set as a fallback https://github.com/phosphor-icons/homepage


Release/1.11.x

Checklist
Thank you for this this PR! Please consider the following:

To the Community :heart::

Please link to an issue ticket where your code change has been greenlit, otherwise it's unlikely it can be merged.
Use a descriptive title: {task_name} (closes #{issue_number}), e.g.: Use logger (closes # 41).
If this PR comes from a fork, please Allow edits from maintainers
The PR can not contain changes in localization files, e.g. values-[LANGUAGE-CODE]/strings/* and / or assets/* (see #332 for further information).

To the Maintainers :coffee::

Title structure: Jira ticket name (EXPOSUREAPP-XXXX).
Set labels: maintainers, sprintX.
Update Jira status: In Review.
Fulfill internal Acceptance Criteria.
If mentioned in the Jira ticket link all corresponding GitHub issues in the sidebar.

To everyone :world_map::

Describe your changes in detail, if you changed the UI, screenshots or GIFs would be awesome!
Short step by step instructions help the reviewer test your changes, e.g. how to navigate to a new UI element you added.
The PR won't be reviewed if CircleCi is failing or if there are merge conflicts. If Circle CI is still failing mark the PR as a draft and write a little comment on your status.
Provide at least a few unit and/or instrumentation tests.
Use a meaning full branch name. Use either fix or feature as prefix for your branch, e.g. fix/prevent-npe-on-device-rotation-issue_123
Test your changes thoroughly. Only open PRs which you think is ready to be merged. If you explicitly need feedback mark the PR as DRAFT on Github.
Don't introduce unrelated code reformatting (e.g., on-save hooks in your IDE)
Remove this checklist before creating your pull request.

Description

Steps to reproduce

Closing this PR in favor of #2032 (contains the same change but target the correct branch by PR).

Closing this PR in favor of #2032 (contains the same change but target the correct branch by PR).


[FLINK-26203][Connectors / Pulsar][docs] Introduce Flink Pulsar SQL Connector

What is the purpose of the change
This PR is to introduce the basic Pulsar SQL Connector (both source and sink) and tests.
It is a big PR. Ideally it should be multiple PRs but for some reasons I kept it in one PR:

The code is ready for source and sink, and they are not very very big changes.
Splitting to source and sink is available, but since many tests requires both source and sink, keeping them together would make the testing easier.
Some features make better sense when looking at both the source and sink, such as metadata, upsert, serialization/deserialization.

However such big PR is always hard to review. So to make the review process easier I tried to divided the PR to multiple smaller commits (each containing at most 4 or 5 files) according to their functionality. I wrote some notes in the last section which might be useful.
Brief change log

Added PulsarTableFactory
Adde PulsarTableSink and PulsarTableSource
supports some VIRTUAL and NON VIRTUAL metadata mapping
supports upsert mode code (not enabled by default) (though the upsert-pulsar is not included in this PR)

Verifying this change
This change added tests and can be verified as follows:

Added integration tests for reading and writing to pulsar topics using different schema
Added factory tests for verifying the source and sink sql connector is created as expected
Added config related tests to make sure configs are validated and do not conflict

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): Yes
The public API, i.e., is any changed class annotated with @Public(Evolving): Yes
The runtime per-record code paths (performance sensitive): Yes

Documentation
Yes this PR involves documentation
Some notes
Here are some thought about this PR. any suggestions are greatly welcomed and it would be nice to have your thoughts~

Currently this PR does not involve documentation. we want to create a different PR for SQL Connector documentation. WDYT ?
The e2e test (SQL client e2e test) is not present in this PR as well. This is because we didn't have the SQL Client e2e test in our fork, and since it's new code, we want to create a new PR for e2e
The naming of commits does not  have a JIRA ticket to track. This is because I want to keep each commit as independent as possible during review process. Ideally we will rebase these commits and add JIRA number later.

There are 16 commits numbered from a to p ( I don't know why I didn't use numbers XD, a rush a blood to the head probably). I tried to make the commits as independent as possible.

a to c: SQL Connector code
d to g: Testing code
h: packaging and manifest change. I am not sure if this part is correct because we did some hack on the pom when we were maintaining our own fork. Your input is important here ~
i: doc and doc generation configs
j to o: support SQL Connector involves some changes in the DataStream connector code base as well. I prefixed such commits with "DataStream"

Other commits  are checkstyle or some later changes. For later fixing commits (after review), I'll use number plus the letter to track which commits the fixing points to .

Thanks for your contribution. I'll review this ASAP.

With https://github.com/apache/flink-connector-pulsar/pull/1 getting close to get merged, let's not merge this PR but:

Wait for the mentioned PR to be merged
We'll release the Pulsar connector 3.0.0, which is the equivalent of the release-1.16 version.
We'll update the Pulsar connector with whatever changes that exist in master but haven't been externalised yet.
Move this PR (and other Pulsar PRs) to the external connector repository so we can separately from the Flink release, release a new version of the Flink connector.


Notice card issue #297

Created notice card and integrated it with storybook.

@hari i hope you were referring to background breathing type effect, i missed it earlier.
I fixed the effect, i hope now its same as required. Thank you

@hari i resolved the change requests. have a look, thank you


Ladder While Knitting

Single Player
BTW-CE-1.3.6-client
BetterTerrainAddon-2.0.6-client
Quieter MillStone-client
Seems a little unexpected to be able to go up ladders just as fast with (by nature of knitting) both of your hands already occupied.  I realize this is a bit knit picky.  😏

Implemented for next release.


Fix Python 3.8 compatibliity

Codecov Report

Merging #5 (fa8ebe5) into main (41c2c47) will decrease coverage by 0.55%.
The diff coverage is 96.49%.

@@            Coverage Diff             @@
##             main       #5      +/-   ##
==========================================
- Coverage   97.76%   97.21%   -0.56%
==========================================
  Files          11       11
  Lines         358      395      +37
  Branches       61       69       +8
==========================================
+ Hits          350      384      +34
- Misses          3        5       +2
- Partials        5        6       +1

Impacted Files
Coverage Δ

src/django_upgrade/_token_helpers.py
93.96% <93.93%> (-0.09%)
:arrow_down:

src/django_upgrade/_plugins/email_validator.py
100.00% <100.00%> (ø)

...rc/django_upgrade/_plugins/timezone_fixedoffset.py
100.00% <100.00%> (ø)

src/django_upgrade/_ast_helpers.py
91.66% <0.00%> (-8.34%)
:arrow_down:

Continue to review full report at Codecov.

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


[BUG] Capturing to file adds latency. Move to separate thread

In the MIDI console, capturing incoming messages to a file, as expected, causes a couple hundred microseconds of latency for each message displayed on screen.
Move file writing to a separate thread.

Fixed in https://github.com/microsoft/MIDI/releases/tag/dev-preview-4-daily2


ARROW-6416: [Python] Improve API & documentation regarding chunksizes

The current API and its documentation suggests files written with RecordBatchFileWriter.write_table(..., chunksize) will be written with a fixed chunk size when in fact the chunksize parameter is an upper bound on the size of the chunks to be written.
In my opinion the parameter chunksize should therefore be renamed max_chunksize to avoid confusion and reflect its true purpose.
This would also improve naming consistency in the code base, since in the C++ implementation this parameter is already named max_chunksize in cpp/source/arrow/ipc/writer.cc.
Similarly, the parameter should be renamed in Table.to_batches(chunksize).

Codecov Report

Merging #5254 into master will decrease coverage by 22.17%.
The diff coverage is 60%.

@@             Coverage Diff             @@
##           master    #5254       +/-   ##
===========================================
- Coverage   87.35%   65.18%   -22.18%
===========================================
  Files         920      500      -420
  Lines      124475    68014    -56461
  Branches     1437        0     -1437
===========================================
- Hits       108730    44332    -64398
- Misses      15383    23682     +8299
+ Partials      362        0      -362

Impacted Files
Coverage Δ

python/pyarrow/tests/test_table.py
99.62% <100%> (ø)

python/pyarrow/tests/test_flight.py
72.02% <100%> (ø)

python/pyarrow/tests/test_ipc.py
99.02% <100%> (ø)

python/pyarrow/ipc.pxi
79.42% <50%> (ø)

python/pyarrow/table.pxi
86.71% <50%> (ø)

cpp/src/arrow/util/memory.h
0% <0%> (-100%)
:arrow_down:

cpp/src/gandiva/date_utils.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/util/memory.cc
0% <0%> (-100%)
:arrow_down:

cpp/src/gandiva/decimal_type_util.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/filesystem/util_internal.cc
0% <0%> (-100%)
:arrow_down:

... and 913 more

Continue to review full report at Codecov.

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


Log filenames and incremental conversion

In the future maybe it would be nice to have logs with the date in the filename. This would benefit incremental conversion (not implemented yet).

maybe this is unnecessary as logs are appended... So the date of the information is in the log itself.


com

This PR

adds this new feature

Related Issues

Fixes #1234523
Notes

Follow-up Tasks

How to test

😕


Automated signature creation by QIITA on bugsigdb.org

https://bugsigdb.org is a Semantic MediaWiki of published microbial signatures from differential abundance studies of host-associated microorganisms. It records various study and experimental details using a controlled vocabulary, including the UBERON anatomy ontology, Experimental Factor Ontology, and NCBI taxonomy. Its contents can be searched on the website by taxon, condition, host species, country, and body site, and downloaded in bulk from the website or through the bugsigdbr Bioconductor package. Authors posting a study on BugSigDB will be able to compare their differential abundance results to all other signatures in BugSigDB, and see annotations of the taxa they find for whether they are typical of certain body sites, common contaminants, or not host-associated.  See About BugSigDB for more information.
BugSigDB has an API (documented here, on issue tracker here). Could QIITA support automatic publishing of differential abundance results on BugSigDB for studies that provide sufficient, controlled metadata?

Hi @lwaldron; good to hear back from you and keep this idea rolling!
Anyway, I think publishing the results in Qiita would be duplication of data/effort. However, displaying the Qiita study id in BugSigDB would be a good start (this will allow you to make sure that the given study actually exists in Qiita), once you have linked your pages/results to Qiita we could reciprocate. What do you think? Happy to discuss via email, if you prefer.
Best,

Just for the record: @lwaldron, continued the conversation via email.

@lwaldron, thank you for opening this issue and the email discussion.
As a summary: After some discussion via email, we realized that the best way forward is for bugsigdb.org to add to their reports if a study exists in Qiita or not. This decision was made based on the current goals/results-reports of the two systems, as Qiita is mainly focus on the analysis and reporting, as accurately as possible, all the methodological steps.
As a reminder, you can search for public studies using https://github.com/biocore/redbiom or the website directly. Additionally, you can download data from Qiita using these instructions: https://qiita.ucsd.edu/static/doc/html/downloading.html.
Please reopen, if the bugsigdb.org goals change to fully incorporate other results (like beta/alpha) or have fully detailed analytical steps.


Add extra fields to anomaly result index

Description
ThresholdedRandomCutForest has exposed useful fields such as attribution and expected values when an anomaly is found.  This PR adds those fields to the result index.  if there is an anomaly, we write everything to result; otherwise, we only record score, grade, confidence, and threshold to save space.
Also, this PR did refactoring.
First, we have used a telescoping constructor pattern to write a lot of constructors in AnomalyResult for different combinations of parameters.  It is hard to write client code when there are many parameters (this PR adds 8 new parameters), and harder still to read it.  Instead, I reduce the number of constructors to 2: one for the exception/empty result case and another one for the normal case.
Second, I removed RcfResult and solely relied on ThresholdingResult since we don't differentiate rcf and thresholding models any more (related changes were made in the previous PRs).
Testing done:

Manually run preview API, historical and real time detectors.
Bwc tests.

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Another high-level thought - has there been discussion with UX about how to show expected values? I'd imagine it could be helpful to see those results for non-anomalous results as well, which would allow for showing an additional time series on the feature breakdown charts.
Simpler / short-term solution can just be showing it paired with anomalous results. And, I guess it could be added to non-anomalous results later on. Just curious

There are no expected values for non-anomalous results as we don't expect otherwise :)

Another high-level thought - has there been discussion with UX about how to show expected values? I'd imagine it could be helpful to see those results for non-anomalous results as well, which would allow for showing an additional time series on the feature breakdown charts.
Simpler / short-term solution can just be showing it paired with anomalous results. And, I guess it could be added to non-anomalous results later on. Just curious

There are no expected values for non-anomalous results as we don't expect otherwise :)

Is this because the model can't calculate the expected values for non-anomalous result or some other consideration like performance?

There can be 2 reasons:
First, if it is not an anomaly, input value is expected.  It would be strange if we provide an expected value but say this is not an anomaly.
Second, it is costly to compute expected value.

The code looks good to me, but have some concerns:

We may need some BWC effort if some field/model not stabilized, like Kaituo said relevant_attribution may add likehood dimension. We can’t update this field after release, may need to add a new field to support likehood in future, then user/AD frontend need to query two fields.
The field in_high_score_region indicates the anomaly score is high enough or not, not sure if we will add more score level like medium score region. If it’s possible, add a keyword/int filed score_region may be more flexible, otherwise, we. need to add more new fields in future.
The field approx_anomaly_start_time is confusing. It’s estimated time as TRCF doesn’t store time info. As we discussed offline, if the data is sparse, the data pints in one shingle won't be consecutive on time. For example if shingle size is 4, and interval t3 and t4 have no data, the shingle will be [t1, t2, t5, t6], if anomaly found for t2, anomaly then relative index is -3. We will calculate the approx_anomaly_start_time based on t6 -3*interval, it will be t3, not t2. It looks confusing. Maybe add more details in doc

The code looks good to me, but have some concerns:
1. We may need some BWC effort if some field/model not stabilized, like Kaituo said `relevant_attribution` may add likehood dimension. We can’t update this field after release, may need to add a new field to support likehood in future, then user/AD frontend need to query two fields.

relevant_attribution won't add likelihood dimension.  Expected value has the likelihood dimension.  Current mapping has already considered the possibility that we may have different sets of expected values with different likelihoods.

2. The field `in_high_score_region` indicates the anomaly score is high enough or not, not sure if we will add more score level like medium score region. If it’s possible, add a keyword/int filed `score_region` may be more flexible, otherwise, we need to add more new fields in future.

@sudiptoguha Can you help answer the question?

3. The field `approx_anomaly_start_time` is confusing. It’s estimated time as TRCF doesn’t store time info. As we discussed offline, if the data is sparse, the data pints in one shingle won't be consecutive on time. For example if shingle size is 4, and interval t3 and t4 have no data, the shingle will be [t1, t2, t5, t6], if anomaly found for t2, anomaly then relative index is -3. We will calculate the `approx_anomaly_start_time` based on `t6 -3*interval`, it will be t3, not t2. It looks confusing. Maybe add more details in doc.

Yeah, will do.

2. The field `in_high_score_region` indicates the anomaly score is high enough or not, not sure if we will add more score level like medium score region. If it’s possible, add a keyword/int filed `score_region` may be more flexible, otherwise, we need to add more new fields in future.

Discussed with Sudipto.  I am gonna remove the field in_high_score_region.

have to push again to merge from mainline.

start_of_anomaly

You are right.  I removed start_of_anomaly and in_high_score_region from the commit message.


Inaccuracy in exponential of matrix with high norm value

First of all, I have to say that this package is amazing!
However, I've encountered an example where the matrix exponential methods don't work correctly (except graph_exp_native_jl).
The matrix is 7x7:
A = [  -3512.0           8.4694e5     0.0      600.0             0.0           0.0    0.0     -8.4694e5  -3512.0       6283.19       0.0           600.0           0.0    0.0      0.0       -6283.19       -26.0        0.0             0.0         600.0   14.0     12.0           0.0          0.0   -40600.0             3.58321e5     0.0    0.0      0.0          12.0          0.0       -3.58321e5  -40600.0        6283.19   0.0      0.0           0.0         12.0        0.0         -6283.19       -602.0    0.04      0.0           0.0          0.0        0.0             0.0           0.0    0.0 ]
where norm(A) = 1.3e6.
Using the native Julia implementation:
exp(A) = [  3.7026e-11   -1.51691e-13  4.99098e-9   8.64083e-11  -9.72518e-12  4.99055e-9   0.0071976  1.51691e-13  -6.21457e-16  2.04474e-11  3.54004e-13  -3.98428e-14  2.04456e-11  2.96129e-5  4.99098e-9   -2.04474e-11  6.72767e-7   1.16475e-8   -1.31092e-9   6.72708e-7   0.970212  1.72817e-12  -7.08007e-15  2.32951e-10  4.03306e-12  -4.53917e-13  2.32931e-10  0.000329305  1.94504e-13  -7.96856e-16  2.62184e-11  4.53917e-13  -5.10879e-14  2.62161e-11  3.70713e-5  9.98109e-11  -4.08912e-13  1.34542e-8   2.32931e-10  -2.62161e-11  1.3453e-8    0.0190193  0.0           0.0          0.0          0.0           0.0          0.0          1.0 ]
Using https://github.com/matrixfunctions/GraphMatFunData/blob/main/data/generated/exp/exp_sid_m6.jl
exp_sid_m6(A) = [   2.97826e118   2.97286e117  -2.21034e116   6.38955e114  -3.60893e115  -6.09244e112  -3.34333e110  -2.97286e117   2.97842e118   2.11449e115   3.60877e115   6.39016e114  -4.24532e113  -3.65511e111  -2.21034e116  -2.11449e115   1.6404e114   -4.62994e112   2.67926e113   4.39009e110   2.36867e108   1.27791e113  -7.21753e113  -9.25988e110  -9.03641e110  -2.06996e110   1.08165e109   8.86299e106   7.21786e113   1.27803e113  -5.35851e111   2.06996e110  -9.03776e110  -1.93249e108  -1.49392e106  -1.21849e111   8.49065e111   8.78019e108   1.08165e109   1.93249e108  -1.29889e107  -1.04235e105   0.0           0.0           0.0           0.0           0.0           0.0           1.0 ]
which is obviously wrong...
Honestly I have no idea what caused this. I've also reproduced the error in MATLAB using the expm and https://github.com/matrixfunctions/GraphMatFunData/blob/main/data/generated/exp/exp_sid_m6.jl

This is not a bug, but rather a restriction in applicability (as explained in the manuscript https://arxiv.org/pdf/2107.12198.pdf). The function exp_sid_m6 is only valid for matrices where all eigenvalues are smaller than 2.219 in modulus. You can see these values in this table

You can get around it by doing scaling-and-squaring. For your matrix it seems one needs 20 squarings.
julia> p=20; norm(A/2^p)
1.241566521788209

and squaring phase
julia> B=exp_sid_m6(A/(2^p)); for j=1:p; B=B*B; end; E=B
7×7 Matrix{Float64}:
 3.70261e-11  -1.51691e-13  4.99098e-9   8.64084e-11  -9.72519e-12  4.99055e-9   0.00719761
 1.51691e-13  -6.21459e-16  2.04474e-11  3.54004e-13  -3.98428e-14  2.04456e-11  2.9613e-5
 4.99098e-9   -2.04474e-11  6.72766e-7   1.16475e-8   -1.31092e-9   6.72708e-7   0.970212
 1.72817e-12  -7.08008e-15  2.32951e-10  4.03306e-12  -4.53917e-13  2.32931e-10  0.000329305
 1.94504e-13  -7.96857e-16  2.62184e-11  4.53917e-13  -5.10879e-14  2.62161e-11  3.70713e-5
 9.9811e-11   -4.08913e-13  1.34542e-8   2.32931e-10  -2.62161e-11  1.3453e-8    0.0190193
 0.0           0.0          0.0          0.0           0.0          0.0          1.0


[TechDocs] clicking on an anchor of TechDocs page result in full page reload

Expected Behavior
Scroll to the section and not do a full page reload (not needed as the page is not changing)
Actual Behavior
Clicking on an anchor result in a full page reload
Steps to Reproduce

Go to https://demo.backstage.io/docs/default/component/backstage/getting-started
Click on for example "Create your Backstage App" in the table of contents.
See the full page reload.

Your Environment
Demo site https://demo.backstage.io/docs/default/component/backstage/getting-started

For what it's worth: I'm no longer able to reproduce this on the latest master branch (the demo site may be a couple of versions behind, at this point)

@garyniemen @iamEAP I can't seem to reproduce on latest master now either. This was reported internally which could have been the case that were a version behind or so. But I can't reproduce there now either, so I think we can close this issue and re-open if needed!


Virtual wallet support + Metamask integration

Virtual wallet is a wallet instance that has no implementation, which will be loaded upon calling to enable method.
Virtual wallet include two important methods:

hasSupport() - async, return true whether this wallet is supported
loadWallet() - async, download and return the actual wallet instance
Wallet vendors that requires additional code will be supported in get-starknet via virtual wallet.

For example, in Metamask integration, hasSupport() returns true if MetaMask extension exists and if there is a snap support. In such case, MetaMask will be an option for the available wallets. Once the user will choose Metamask and will enable it, the actual wallet implementation will be downloaded and return to the user.

The URL : https://s3.eu-central-1.amazonaws.com/dev.snaps.consensys.io/get-starknet/remoteEntry.js is developed base on current master/main branch of get-starknet
hence it will not work to the get-starknet:develop branch

@stanleyyconsensys
Let me know which url to use.


how to display every test name and result

Thanks for @svanoort create this tool. It is very useful for me.
Now run result:
Test Group gecs SUCCEEDED: : 7/7 Tests Passed!
Test Group xp FAILED: : 0/1 Tests Passed!

I think It is too simple, how to display every test name and result. like this:
Test Group gecs SUCCEEDED: : 7/7 Tests Passed!
    test case a: Passed
    test case b: Passed
    ......
Test Group xp FAILED: : 0/1 Tests Passed!
    test case c: FAILED

This would be extremely useful. Especially for those failed tests.

Open this link and try to replace code on resttest.py. You will see the output as you mentioned above.
Let me know If you want any further change.

see pull request #222

Hey @iyaozhen, we need to change/ modify resttest.py to get customized output. first my request is same to get the output as you said after i modified resttest,py script as i need. please find the attached python file and place in the same folder (pyresttest/pyresttest/) and execute below command from the pyresttest folder
resttest.zip
sudo pytho setup.py install

And output will parse to html file as well. Please let me know if any concerns
Thanks,
Ravi Teja


Add test case for require_file with a usertype

I was having problems with usertypes and require_file, so I figured I should work in a less complicated testbed than mine, and worked here. There as not a test case, so I wrote this one.
Additionally, adjusted bootstrap.py to allow for --lua-version lua53 syntax since most older linux systems use lua52, its useful to override.

Thanks for this. I should probably write some require_script and require_file examples at some point...

I also found out while doing this that you can not return anything other than a table from a modules.
I'm so used to Javascript modules that I wasn't used to the Lua version.


Add Observable DuckDB notebook examples to the Guides section in docs

Suggested new docs section: Observable or Observable Notebooks under https://duckdb.org/docs/guides/index
Would be nice to have this Observable JS notebooks collection listed there. It was created for DuckDB dev community to explore in a browser:
https://observablehq.com/collection/@randomfractals/duckdb
Also, maybe include links to other DuckDB Observable notebooks:
https://observablehq.com/search?query=duckdb&onlyOwner=false

Hi, according to our current Contributor's Guide, the DuckDB documentation should focus on core DuckDB feature. However, these notebooks would make an excellent addition to the awesome-duckdb repository, so I opened a PR for them: https://github.com/davidgasquez/awesome-duckdb/pull/40


Add shape backward inference

@piiswrong

Is this for inferencing the node entries in backward propagation? I actually have a change that output a mapping from GradientPass and use it in the InferPass. This solves the problem I mentioned in #43 . I don't know whether this is the same problem here. Shall I PR my change right now?

The related codes are here:
GradientPass code change: https://github.com/jermainewang/nnvm/blob/partition/src/pass/gradient.cc#L152
InferPass code change:
https://github.com/jermainewang/nnvm/blob/partition/src/pass/infer_shape_type.cc#L114

We discussed this alternative with @piiswrong , because such mapping requires the gradient graph to remain unchanged (or change the mapping along during rewriting) we end up deciding to go with this alternative approach for now

This is an slightly different approach, that documents the backward operators's correspondence with forward operators, so shape inference will work when these information are registered. However, if the graph attribute transformation problem is solved, we would prefer to use the additional link attribute approach since that is simpler

I actually have this TODO in the code. This is related to the liveness of graph attributes. Another thing is my PartitionPass actually requires this information. Can I keep the information in the GradientPass in the future while using your code in the InferPass?

I think so. We need to have more discussion on interface on how to make these information transformation easy. It is good to see these usecases surface up

@piiswrong If you can do a review tonight, let us merge this and make changes upstream in mxnet

lgtm


Add pod labels in helm chart

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description
Add pod labels in helm chart
Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #447 (a394926) into main (1b12a34) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #447      +/-   ##
==========================================
- Coverage   36.39%   36.33%   -0.06%
==========================================
  Files          85       85
  Lines        6724     6724
==========================================
- Hits         2447     2443       -4
- Misses       3925     3930       +5
+ Partials      352      351       -1

Flag
Coverage Δ

unittests
36.33% <ø> (-0.06%)
:arrow_down:

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

Impacted Files
Coverage Δ

client/daemon/peer/peertask_base.go
32.93% <0.00%> (-0.96%)
:arrow_down:

LGTM


ImportError: No module named AdminLTE.widgets.sidebar

I get this error when I run this project with python manage.py runserver

Check, pip list

django-adminlte is not working for me

Same with  issue #6 .
Not a bug.
Maybe need a installation guide.
This project have not been upload to PyPI.
So you can not install this module with pip command.
Install this project with setup.py script:

Clone project to your disk.(git clone https://github.com/StephenPCG/django-adminlte-templates)
Make sure python and django have been installed.
Open your terminal application.
Change your working directory into django-adminlte-templates.
Run command python setup.py install.

Good luck.


Webservice fails to load in offline mode

I am working on a machine that does not have internet access.
When I load open the web address in a browser, it fails to load js packages from unpkg.com and code.jquery.com
Is there a way to configure it to load assets from a local location?

Hello,
Thanks for reporting the issue. Unfortunately offline development is not a use case Dara was developed in mind with.
Longer term we do have plans to do away with reliance on CDNs for the default run mode (which is aiming to not require Node) which will in turn make it easier to develop without internet access.
For the short term I can provide a few workarounds for the time being:

If using Node (v16 at the minimum) is an option, you can run your Dara app with dara start --production. This will install (you will need internet access at this point) and bundle all the JS/CSS assets. Subsequent runs will not require internet access as the bundle will already be stored in your output folder (i.e. ./dist). Dara will only attempt to re-install the packages if a new package is picked up.
Alternatively - I appreciate this is not a pretty or simple solution -  you can change the paths in dara's source code to point to a local bundle rather than a CDN. The location of the file will likely be (/path/to/your/venv/lib/python3.x/site-packages/)dara/core/jinja/index_autojs.html. This is the index.html file served when running in the default mode.
The change you'd have to make there would be:

a) replace the <script> tags from pointing to remote CDNs to point to a local file:
<!-- before -->
<script crossorigin<EMAIL_ADDRESS><!-- after -->
<script src="react.development.js"></script>

b) download those files and place them in your output folder (default ./dist)
In either case there will be limitations, e.g. the bokeh component always uses a CDN bundle which is loaded when you first load it, so you'd have to use other plotting libraries.
I would recommend the first solution if installing Node is an option as it should be pretty straightforward.
I hope this helps :)

Much appreciated. The situation is a bit more complex as I did have to install everything in docker container, but I suspect I can build the container on a different network, and allow it to get the assets at build time.
I did consider editing the source files, but I'd have to automate that too when the container is built.
This will definitely help.

I see, yeah if you're building a container it makes sense to go with the Node approach and build assets ahead of time. FYI the dara start command also has a --docker flag, which assumes assets are already present and ensures it won't attempt to reinstall/rebuild them again - it might be helpful in this scenario.
You can build assets ahead of time by either running the dara start --production once (probably easiest) or manually calling into the internals in dara.core.js_tooling.js_utils in a script.
The js_utils module provides all the utilities to achieve that, check out the code there if that's something that solves your needs - it should be heavily commented and self-explanatory.
I'll close the issue for now, thanks for checking out Dara.


Model Dowload Buttons

Description
This gives the functionality of providing download URIs that are taken from the model, converts them to URLs, and then feeds it back to the model view in the form of a clickable button.
Interesting edge cases to note here:
A way needs to be found to clear the model links on the front end so when you switch from model to model the unused links will disappear. More will be explained in an issue that I will link.
Special Thanks to @ebamberg for the help/insight. #694
Fixes:#633

Codecov Report

Merging #719 (9d55e6e) into master (82fb1ab) will increase coverage by 0.33%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #719      +/-   ##
============================================
+ Coverage     68.83%   69.17%   +0.33%
- Complexity     3975     3992      +17
============================================
  Files           463      462       -1
  Lines         18501    18636     +135
  Branches       1992     1998       +6
============================================
+ Hits          12736    12892     +156
+ Misses         4733     4725       -8
+ Partials       1032     1019      -13

Impacted Files
Coverage Δ
Complexity Δ

...in/java/ai/djl/training/DefaultTrainingConfig.java
86.20% <0.00%> (-13.80%)
13.00% <0.00%> (ø%)

...a/ai/djl/nn/transformer/BertNextSentenceBlock.java
80.00% <0.00%> (-10.00%)
2.00% <0.00%> (-1.00%)

api/src/main/java/ai/djl/modality/nlp/Decoder.java
63.63% <0.00%> (-9.10%)
3.00% <0.00%> (-1.00%)

...va/ai/djl/nn/transformer/BertPretrainingBlock.java
41.46% <0.00%> (-8.54%)
2.00% <0.00%> (-1.00%)

api/src/main/java/ai/djl/modality/nlp/Encoder.java
66.66% <0.00%> (-8.34%)
4.00% <0.00%> (-1.00%)

...ai/djl/training/initializer/XavierInitializer.java
65.78% <0.00%> (-7.90%)
4.00% <0.00%> (-2.00%)

...ai/djl/nn/transformer/TransformerEncoderBlock.java
61.76% <0.00%> (-2.95%)
2.00% <0.00%> (-1.00%)

...l/nn/transformer/BertMaskedLanguageModelBlock.java
36.66% <0.00%> (-2.62%)
2.00% <0.00%> (-1.00%)

...main/java/ai/djl/paddlepaddle/engine/PpEngine.java
60.71% <0.00%> (-2.25%)
11.00% <0.00%> (ø%)

...nn/transformer/ScaledDotProductAttentionBlock.java
79.79% <0.00%> (-2.03%)
11.00% <0.00%> (-2.00%)

... and 40 more

Continue to review full report at Codecov.

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


Broken

Seems broke. Used to load the pictures after flashing but now it just goes white.
Was cool while it worked :(

Probably related to: https://github.com/tajnymag/tinder-deblur/issues/27


*: fix licenserc.yml

What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

ref: https://github.com/PingCAP-QE/ci/issues/2364

/hold the CI  job "build" should fail.

close, fixed by #7962


LeanEditor: interactive links

external
to other documents
to other document blocks
internal in the same document
preview for links to blocks

https://github.com/ianstormtaylor/slate/blob/6bc57583587d88b26fb03e054511b6d7ac23ef7c/site/examples/ts/inlines.tsx#L129

https://github.com/nfrasser/linkifyjs


WIP: Add Numba to rolling.apply

[x] closes #25
[ ] tests added / passed
[x] passes black pandas
[ ] passes git diff upstream/master -u -- "*.py" | flake8 --diff

Here's the performance comparison so far. Unfortunately cython is still faster for the ndarray case.
# This branch
In [1]: s = pd.Series(range(10000))

In [2]: f = lambda x: np.sum(x) + 5

# row is unused; row is always an ndarray
In [4]: %timeit s.rolling(10).apply(f, raw=False)
219 ms ± 29.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [5]: %timeit s.rolling(10).apply(f, raw=True)
226 ms ± 26.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

# Master
In [1]: s = pd.Series(range(10000))

In [2]: f = lambda x: np.sum(x) + 5

# row passed as a Series
In [4]: %timeit s.rolling(10).apply(f, raw=False)
1.19 s ± 5.81 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

# row passed as a ndarray
In [5]: %timeit s.rolling(10).apply(f, raw=True)
32.3 ms ± 366 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

Additionally, apply currently supports passing *args and **kwargs into the function per row. When njitting the passed function from the user, passing kwargs is currently unsupported. https://github.com/numba/numba/issues/2916. And binding these kwargs with functools.partial beforehand is unsupported, https://github.com/numba/numba/issues/4587

I was able to solve the performance problem in https://github.com/twosigma/pandas/pull/29/commits/aa9644c3b1e5e1cc39a62d4fc47a5c6a7c04bf4a. The biggest issue was compiling the njit rolling_apply function every time. If we dynamically create the rolling apply function with the passed argument, cache the function, and call it again, performance beats cython.
In [1]: s = pd.Series(range(10000))

# r, a Rolling object, will cache the apply functions
In [2]: r = s.rolling(10)

In [3]: f = lambda x: np.sum(x) + 5

In [4]: %timeit r.apply(f, raw=False)
2.16 ms ± 204 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)

Here are the ASV benchmarks:
       before           after         ratio
     [68a663be]       [3c49d034]
     <master>         <feature/rolling_apply_numba>
+         289±2ms        350±0.9ms     1.21  rolling.Apply.time_rolling('Series', 1000, 'float', <function sum at 0x105754620>, True)
+         290±7ms          350±1ms     1.20  rolling.Apply.time_rolling('Series', 1000, 'int', <function sum at 0x105754620>, True)
+         297±8ms          353±2ms     1.19  rolling.Apply.time_rolling('DataFrame', 1000, 'int', <function sum at 0x105754620>, True)
-         250±3ms        215±0.6ms     0.86  rolling.Apply.time_rolling('Series', 10, 'float', <function sum at 0x105754620>, True)
-         255±1ms        215±0.8ms     0.84  rolling.Apply.time_rolling('Series', 10, 'int', <function sum at 0x105754620>, True)
-         308±5ms        246±0.9ms     0.80  rolling.Apply.time_rolling('Series', 10, 'float', <function Apply.<lambda> at 0x11b8c6730>, True)
-        310±20ms          241±4ms     0.78  rolling.Apply.time_rolling('DataFrame', 10, 'float', <function Apply.<lambda> at 0x11b8c6730>, True)
-        340±40ms        245±0.6ms     0.72  rolling.Apply.time_rolling('Series', 10, 'int', <function Apply.<lambda> at 0x11b8c6730>, True)
-      13.9±0.06s          380±1ms     0.03  rolling.Apply.time_rolling('Series', 1000, 'int', <function Apply.<lambda> at 0x11b8c6730>, False)
-       14.0±0.1s        380±0.8ms     0.03  rolling.Apply.time_rolling('Series', 1000, 'float', <function Apply.<lambda> at 0x11b8c6730>, False)
-         14.1±0s          380±1ms     0.03  rolling.Apply.time_rolling('DataFrame', 1000, 'float', <function Apply.<lambda> at 0x11b8c6730>, False)
-      13.7±0.01s        349±0.8ms     0.03  rolling.Apply.time_rolling('Series', 1000, 'int', <function sum at 0x105754620>, False)
-      13.9±0.06s        350±0.6ms     0.03  rolling.Apply.time_rolling('Series', 1000, 'float', <function sum at 0x105754620>, False)
-      13.7±0.07s        245±0.8ms     0.02  rolling.Apply.time_rolling('Series', 10, 'float', <function Apply.<lambda> at 0x11b8c6730>, False)
-       14.0±0.1s        246±0.5ms     0.02  rolling.Apply.time_rolling('Series', 10, 'int', <function Apply.<lambda> at 0x11b8c6730>, False)
-      13.5±0.01s        215±0.3ms     0.02  rolling.Apply.time_rolling('Series', 10, 'float', <function sum at 0x105754620>, False)

The raw=False benchmarks are partially misleading since it means cython is handling pandas objects while numba is always handling numpy arrays (numba cannot operate in nopython mode with pandas objects).

Additional notes:

I had to xfail a couple of tests. To operate rolling.apply in nopython mode for max performance, apply cannot accept arbitrary functions.
the passed function to apply cannot accept *args and **kwargs because it's unsupported in numba.


Debug optimization step

Example of correct output for iteration 1:
                                                        First-order
 Iteration  Func-count       f(x)        Step-size       optimality
     0           1          1244.28                          3.08
     1           3          1243.81      0.0945997            8.5
     2           5          1243.71        0.22861         0.0074
     3           6          1243.71              1       0.000108
     4           7          1243.71              1       1.88e-08

Local minimum found.

Optimization completed because the size of the gradient is less than
the value of the optimality tolerance.

<stopping criteria details>
K>> hold_betas

hold_betas =

    0.0996    0.6545

It's done!


Add mac address as device_id to the GCM registration request to the API

Now a device_id is sent along with the request.

:+1:


Print better error message when Gradle wrapper does have access to core libraries after wrapper download

Expected Behavior
nsjail is a tool that creates a cloned namespace on Linux, in our case to be 100% sure no plugins are using the host system's network.  When gradle is run under nsjail with what seem to us to be the right set of options (details below), it should produce the same build results as it would on a computer that has been disconnected from the network at the hardware level.
Current Behavior
More details in steps to reproduce below, but when any gradle build is run under nsjail, it throws this stacktrace:
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
	at org.gradle.internal.concurrent.CompositeStoppable.<clinit>(CompositeStoppable.java:37)
	at org.gradle.internal.classloader.ClassLoaderUtils.tryClose(ClassLoaderUtils.java:51)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:64)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
	at org.gradle.launcher.GradleMain.main(GradleMain.java:31)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:35)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:590)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:523)
	... 12 more

Context
We need to run our CI builds with 0 network activity, for reproducibility and security reasons, among others.  The --offline flag helps with this, but it is not enforced (for example, kotlin-native will download dependencies ignoring --offline ).  So we'd like to use OS-level tools, like nsjail, to guarantee offline building.
Steps to Reproduce

Checkout and build nsjail
export NSJAIL=path/to/bin/nsjail
unpack the attached tarball project gradle-minimal.tar.gz
./nsjail.sh ./gradlew tasks

Your Environment
uname -a = 5.10.46-4rodete4-amd64 #1 SMP Debian 5.10.46-4rodete4 (2021-09-06) x86_64 GNU/Linux
I can't think of much else that's relevant, but happy to add more.

Could you pls. send us a Docker based reproducer to make investigating this a bit easier?

Sorry for the late reply; I meant ~/.gradle.

FWIW, I discovered that the problem is not permissions.  It's file descriptors.  If I add --rlimit_nofile=soft to the shell script, then the build continues.  I think that gradle's classloader is using more than 32 file descriptors (the nsjail default), and this is leading classloading to fail.  Then, when classloading fails, the exception handling logic tries to load a logging class, which then throws a new error obscuring the original error.
Would a proposed fix for this classloader error reporting issue be of interest?


feature(dspy): dspy-integration-with-langfuse

As mentioned in issue #1179 , I wrote some code to integrate langfuse.
when configured correctly, It will support the display of data from OpenAI, AzureOpenAI and Ollama on the Langfuse dashboard

嘿@xucailiang我留下了一些评论。我也在学习 DSPy，只是想知道是否可以以更优雅的方式完成所提议的集成

Hey @xucailiang I have left some comments. I am learning DSPy too and just wondering whether the proposed integration could be done in a more elegant way

I have rewritten the code, the new calling method is more elegant, I realize that all LLM reasoning can be collected to langfuse, but it is difficult for me to test all the code. I have already tested my submission, I don't know if I can get some help

@xucailiang hey! I will check it out this weekend

@xucailiang hey! I will check it out this weekend

Thanks for your time, I'm not sure if we'll wrap up this pull request over the weekend. If you have any suggestions or ideas to improve this, please feel free to share them with me at your earliest convenience. I'd really appreciate it!

@xucailiang hey! I will check it out this weekend

hi，I wonder if this discussion is still ongoing?

+1, also interested in this!

@xucailiang hey! I will check it out this weekend

hi，I wonder if this discussion is still ongoing?

Hi! Unfortunately I have not had time to run it locally yet. I will do it. However, I am not a DSPy maintainer, just another user, so all my comments are just my comments :) I wonder whether it would make sense to ping one of the contributers so that they can take a look as well

@arnavsinghvi11 hi,I was wondering if you could review this PR so I can continue integrating langfuse on other modules.Thank you.

Hi @xucailiang , thanks for opening this PR! Exciting to see the Langfuse integration with DSPy.
The PR looks on track so far, but I agree with your point that it's difficult to add this for all LM providers. I would suggest exploring ways to wrap the Langfuse logic not to each provider class but rather with the base lm.py class  so any user using any LM provider can declare the langfuse tracker as an arg and then have it popped before the LM request is made.
Let me know if that makes sense and if you have any additional questions. Feel free to mention me here again when the PR is ready to review as well!

Hi @xucailiang , thanks for opening this PR! Exciting to see the Langfuse integration with DSPy.
The PR looks on track so far, but I agree with your point that it's difficult to add this for all LM providers. I would suggest exploring ways to wrap the Langfuse logic not to each provider class but rather with the base lm.py class  so any user using any LM provider can declare the langfuse tracker as an arg and then have it popped before the LM request is made.
Let me know if that makes sense and if you have any additional questions. Feel free to mention me here again when the PR is ready to review as well!

Indeed, I have modified some of the code for this, I am glad you pointed out this oversight.

hi,I noticed that dspy has been updated recently. Will the integration of langfuse appear in the next update? @arnavsinghvi11

hi @xucailiang , i think the latest changes look good. the only thing i'd call out is currently this integration is only supported for openai, azure-openai and ollama. would it be possible to keep the self.tracker = tracker within the LM class, and the tracker decorator on the base LM call method?
This is what I meant by keeping it generalized to all LM providers, and if it is not a necessary arg in the LM request payload (which it likely won't be for any provider), it can be popped before the request is made.
lmk if that makes sense and when the PR is ready to merge!

hi @xucailiang , i think the latest changes look good. the only thing i'd call out is currently this integration is only supported for openai, azure-openai and ollama. would it be possible to keep the self.tracker = tracker within the LM class, and the tracker decorator on the base LM call method?
This is what I meant by keeping it generalized to all LM providers, and if it is not a necessary arg in the LM request payload (which it likely won't be for any provider), it can be popped before the request is made.
lmk if that makes sense and when the PR is ready to merge!
(there are also a couple of merge conflicts)

Of course, self.tracker = tracker is already in base lm, I also added sample documentation to let users know that they can manually call the tracker when using any module.

hi @xucailiang , i think the latest changes look good. the only thing i'd call out is currently this integration is only supported for openai, azure-openai and ollama. would it be possible to keep the self.tracker = tracker within the LM class, and the tracker decorator on the base LM call method?
This is what I meant by keeping it generalized to all LM providers, and if it is not a necessary arg in the LM request payload (which it likely won't be for any provider), it can be popped before the request is made.
lmk if that makes sense and when the PR is ready to merge!
(there are also a couple of merge conflicts)

Great advice，I re-optimized the code and made the following changes:

Keep self.tracker in base LM and retain the tracker decorator to facilitate new module integration
Add a method to call tracker in base LM.all modules except openai and azure-openai can also call the tracker
supplementary document

Thanks for the additions @xucailiang ! left some minor comments for finishing touches before its ready to merge. mainly, let's add the documentation and examples for Langfuse in its separate doc, not in the README. lgtm after changes!

Thanks for the additions @xucailiang ! left some minor comments for finishing touches before its ready to merge. mainly, let's add the documentation and examples for Langfuse in its separate doc, not in the README. lgtm after changes!

Yes, I have made some changes according to your suggestions. Please review it again. Thank you for your valuable time.

made a couple edits to the docs. Merged now! Thanks @xucailiang this integration!


parser: implement Restore for TraceStmt

implement Restore for TraceStmt

pingcap/tidb#8532

Added test cases, the tasked is finished now.
@leoppro

Ping @GunaYX

@kennytm suggestions implemented


Fixed ExampleScrape README Sample

Changed the README ExampleScrape()  example slightly which now works with metalsucks.net. Below is the output.

Awesome, thanks!


[ENH] Forecasting tests

forecasting test reductions taken from the bad place

well maybe not!

and of course they fail all tests!

some of these could still be good potentially?

yes will reopen after the testing overhaul

closing this because its too many confusing things at once


results.multi_hand_landmarks looks like have no landmark attribute

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
None
OS Platform and Distribution
Windows11
Mobile device if the issue happens on mobile device
LG gram style
Browser and version if the issue happens on browser
No response
Programming Language and version
Python
MediaPipe version
<IP_ADDRESS>
Bazel version
No response
Solution
HandTrack
Android Studio, NDK, SDK versions (if issue is related to building in Android environment)
No response
Xcode & Tulsi version (if issue is related to building for iOS)
No response
Describe the actual behavior
detect the handpose
Describe the expected behaviour
to change the media's volume
Standalone code/steps you may have used to try to get what you need
I define a function in a HandTrackModule.py:
##############################################
def findPosition(self,img,handNo=0,draw=True):
        xList = []
        yList = []
        bbox = []
        self.lmList = []
        myHand = []
        # myHand = self.results.multi_hand_landmarks[0]

        if self.results and self.results.multi_hand_landmarks:
            myHand = self.results.multi_hand_landmarks[handNo]
        for id, lm in enumerate(myHand.landmark):
            # print(id, lm)
            h, w, c = img.shape
            cx, cy = int(lm.x * w), int(lm.y * h)
            xList.append(cx)
            yList.append(cy)
            # print(id, cx, cy)
            self.lmList.append([id, cx, cy])
            if draw:
                cv2.circle(img, (cx, cy), 5, (255, 0, 255), cv2.FILLED)
        xmin, xmax = min(xList), max(xList)
        ymin, ymax = min(yList), max(yList)
        bbox = xmin, ymin, xmax, ymax

        if draw:
            cv2.rectangle(img, (bbox[0] - 20, bbox[1] - 20),
            (bbox[2] + 20, bbox[3] + 20), (0, 255, 0), 2)

        return self.lmList, bbox
###############################################
then i use the functhion in VolumeHandControl.py just like:
##############################################
detector = htm.handDetector(detectionCon=0.7)
while True:
    success,img = cap.read()
    img = detector.findHands(img)
    lmList = detector.findPosition(img,draw=False)
##################################
But something went wrong,
In prompt,it occurs File "d:\handTrackProject\HandTrackingModule.py", line 40, in findPosition
    for id,lm in enumerate(myHand.landmark):
AttributeError: 'list' object has no attribute 'landmark'

Other info / Complete Logs
No response

I also use opencv<IP_ADDRESS>

HandTrack.zip
There are two python files in the zip file.One is the HandTrackingModule.py and the other one is the VolumeHandControl.py

Hi @an1ya1,
From the code snippet you provided, it appears you are using the legacy hands solution. Please note that this solution has been upgraded and is now integrated into the Hand Landmarker Task API, as explained in the documentation(We have discontinued support for upgraded legacy solutions, and we are no longer maintaining them).
The upgraded Task API's are designed to offer better performance compared to the legacy solutions and are easier to adopt for your use case. We encourage you to explore our new Hand Task API following the guidelines provided here. You can find the Python guide here, along with a Python notebook example. Additionally, Please let us know if you observe similar behaviour in the new Task API as well.
Thank you!!

Hi @an1ya1,
From the code snippet you provided, it appears you are using the legacy hands solution. Please note that this solution has been upgraded and is now integrated into the Hand Landmarker Task API, as explained in the documentation(We have discontinued support for upgraded legacy solutions, and we are no longer maintaining them).
The upgraded Task API's are designed to offer better performance compared to the legacy solutions and are easier to adopt for your use case. We encourage you to explore our new Hand Task API following the guidelines provided here. You can find the Python guide here, along with a Python notebook example. Additionally, Please let us know if you observe similar behaviour in the new Task API as well.
Thank you!!

I have read the guideline ,If should i use a model to make the performance better ,do you mean the api is the model 🤔 ?

Hi @an1ya1,
I did not quite get your recent question. Can you explain what you mean by "do you mean the API is the model" so I can understand it better?
Thank you

Hi @an1ya1,
I did not quite get your recent question. Can you explain what you mean by "do you mean the API is the model" so I can understand it better?
Thank you

Do I need to download a new model to detect the posture of the hand？Because I haven't downloaded the model file before this

Hi @an1ya1,
Yes, Please download the task file from the provided link here(Click HandLandmarker (full)), input the path of file to model, and execute the example to identify hand landmarks.
Thank you!

Hi @an1ya1,
Yes, Please download the task file from the provided link here(Click HandLandmarker (full)), input the path of file to model, and execute the example to identify hand landmarks.
Thank you!

OK,I understand it

Hi @an1ya1,
Could you kindly inform me if the issue is now resolved on your end? If so, may we proceed to mark it as resolved and close the matter?
Thank you

Hi @an1ya1,
Could you kindly inform me if the issue is now resolved on your end? If so, may we proceed to mark it as resolved and close the matter?
Thank you

Yes,I have solved it.thank you 😊


Is source for the web chromium-ray-tracing-demo available?

The README links this demo. The source for it appears to be here, however, that demo uses your pure-Node version of webgpu.
Is source for the HTML-embed version of WebGPU-Path-Tracer available? If the HTML embed uses WebGPU-Path-Tracer, are there instructions or a script somewhere for doing the web build? Is it as simple as feeding WebGPU-Path-Tracer's index.js into a web bundler?
Thanks. (I'm interested in trying out the WebGPU path tracer, I'm starting with the node-only version but if I could get the HTML-embed version working that would enable easy simple test interfaces using eg React.)

( Tried the node-only version of the WebGPU-Path-Tracer demo and got this error: https://github.com/maierfelix/WebGPU-Path-Tracer/issues/3 So as of right now the prebuilt Chromium works on my machine but node-webgpu does not obviously appear to. )

The html demo is indeed a web port of the node webgpu path tracer. Unfortunately I don't have the source of the port available anymore. Porting the code didn't take too long, but there are some small differences between the node webgpu bindings and the chromium/blink bindings that are tricky to spot. Instead, porting the RT triangle example should be a better introduction to the API.
The chromium RT build is the only option that still works up to today, since it uses DirectX instead of Vulkan for ray tracing. The Vulkan RT implementation was built with the VK_KHR_ray_tracing beta extension and so no longer works with the latest drivers, since the API has changed.
I wouldn't recommend using this project for anything else than experimenting. I never managed to complete it and when I started this project, Dawn's API and implementation was in heavy fluctuation. Dawn is in a much better and solid shape today, and it makes much more sense to start a RT proposal, specification and implementation today than it was a year ago.

Understood, thanks.


[FEATURE] Add missing files and workflows

Is your feature request related to a problem?
The following files are missing:

ADMINS.md
COMPATIBILITY.md
Whitesource configuration
RELEASING.md
SECURITY.md
Mend for Github (CVEs)
CODEOWNERS
CHANGELOG and changelog verifier
Other necessary client workflows listed here

Sure, please go ahead. I'm assigning this issue to you then. Thanks.

Closing this issue as all the tasks mentioned here are done.


Bug in example.  POST /foo doesn't return request body

I'm trying to get access to the parsed request body (JSON) in my project, but the req.body property was never populated.  When I ran the example that came with flatiron I experienced the same problem.
https://github.com/flatiron/director/blob/master/examples/http.js
node: v0.10.25
director: 1.2.7

I couldn't recreate this with the latest.  I noticed that the request Content-Type has to be application/json for director to automatically parse req.body.


Using collection from web service in separate service

So I am currently working through converting much of the auxiliary code base into microservices after completing the architecture lesson in BulletProof Meteor and I was wondering how I could get data from a collection in the web service on a separate service? I am currently able to get the data only inside of a connection.subscribe callback like so:
Cluster.connect("mongodb://localhost/service-discovery");
Cluster.register("logging");
var webConn = Cluster.discoverConnection('web');
Companies = new Mongo.Collection('companies', webConn);
webConn.subscribe('exhibitors', function(){
    console.log("inside subscription");
    console.log(Companies.find().count());
});

What I am having trouble figuring out, is how can I always have access to the Companies data without having to resubscribe to the data? I envision a scenario where I can do Companies.find({}) on the server in the logging service without needing to wrap each call in a subscribe.
As an example of what I am talking about I would have something like this in the logging service:
Cluster.connect("mongodb://localhost/service-discovery");
Cluster.register("logging");
var webConn = Cluster.discoverConnection('web');
Companies = new Mongo.Collection('companies', webConn);
webConn.subscribe('exhibitors', function(){
    console.log("inside subscription");
    console.log(Companies.find().count());
});
Meteor.methods({
    findByName:function(name){
        return Companies.find({name:name});
    },
    findById:function(id){
        return Companies.findOne({_id:id});
    }
});

Then I would call it from the 'web' service using the connection.call method like normal. It seems that if I had to wrap each db access in a subscription there would be significant overhead in the subscription that could possibly be less efficient.
My actual situation is using a microservice to process invoices for orders on a scheduled basis which requires having quite a few methods available on the "accounting" service that can be called from a scheduler on the "web" or "accounting" service. In the future the invoices will be processed in real time so it is important to make this as efficient as possible.
Any help would be greatly appreciated.

Here is what I am using (a server connects to another server) without making use of cluster but this should change soon by discovering the connection instead of explicitly writing it here:
// This code is run on a slave server running on port 3000
var server = 'http://localhost:5000'; // address of the master server
var backendConnection = DDP.connect(server); // init a connection
var BackendCollection = new Mongo.Collection('backendcollection', backendConnection); // we have a local collection of the remote content.

var subscription = backendConnection.subscribe('subscriptionName'); // subscribing on the server will fill the BackendCollection collection

I can then use BackendCollection the traditional way. Now in order to cache all the stuff on the slave server, I simply create a local collection, observe the remote one and fill the local one along the events I do receive.
It gives something like:
// Somewhere in both the client and server code
var LocalCollection = new Mongo.Collection('localcollection');
// Server code
LocalCollection.update({}, {$set:{"available": false}},{multi: true});

    var handle;
    var subscription = backendConnection.subscribe('videos', options,
            {
                onReady: function ()
                {
                    console.log("Subscribed on server:"+server);
                    var addedCount = 0;
                    handle = BackendVideos.find().observe({
                        added: function (document)
                        {
                            var id = document._id;
                            var model = {
                                data:document,
                                available:true
                            };

                            var upsert = LocalCollection.upsert(id, {$set: model});
                            var wasInsert = _.has(upsert,"insertedId");
                            if (wasInsert)
                            {
                                console.log("Item added", document._id);
                                addedCount++;
                            }
                        },
                        changed: function (newDocument, oldDocument)
                        {
                            LocalCollection.update(oldDocument._id, {$set:{"data":newDocument}});
                            console.log("Item changed", newDocument._id);
                        },
                        removed: function (oldDocument)
                        {
                            var id = oldDocument._id;
                            LocalCollection.remove(id);
                            console.log("Item removed", oldDocument._id);
                        }
                    });

                    var removedCount = LocalCollection.remove({"available": false});
                    console.log("Added "+addedCount+" documents, removed "+removedCount+" documents into the collection");

                },
                onStop: function ()
                {
                    console.log("Subscription stopped");
                    if (handle)
                    {
                    console.log("Stopped observing");
                        handle.stop();
                    }
                }
            });

Note that you could have done something much simpler, I have chosen this way of doing to avoid removing documents from the localCollection right before adding them again. Here I flag them as unavailable, wait for the whole subscription to be ready (which through the observer will validate the existing documents) and then only I do remove the unavailable documents (which without being validated by the observer are simply not existing on the master server anymore)


Is it possible to create a slider like partially visible on both sides?

Hello,
I loved you plugin, I didn't find an option to create a plugin with center-mode. I mean both the side should partially show the slide.
You can see this in this url : https://w3js.com/react-multi-carousel
It would be great, if you implement this too.
Thank you

Hello @JomolJohn this is a feature request. Please use the feature request Issue template.
However, to save you some time before opening the request, it would probably be best if you would open a pull request with the feature you are requesting. We are open to pull requests.

@JomolJohn did you find a solution for this?
If not, @tim-steele can you provide some suggestions on how you would do it? I can write the code for the pull request, I'm just now sure what the recommended route would be.

@JomolJohn did you find a solution for this?
If not, @tim-steele can you provide some suggestions on how you would do it? I can write the code for the pull request, I'm just now sure what the recommended route would be.

This may be a duplicate of this: https://github.com/express-labs/pure-react-carousel/issues/242
I'll try that and see if it works.

This may be a duplicate of this: https://github.com/express-labs/pure-react-carousel/issues/242
I'll try that and see if it works.

For any one finding this from a search, all you need to do is add:
padding-left: 25%;
padding-right: 25%;

To the  component

For any one finding this from a search, all you need to do is add:
padding-left: 25%;
padding-right: 25%;

To the  component


cmd/compile: miscompilation of value switch involving generic interface types

https://go.dev/play/p/03EsH4Y3wv3
The above program should terminate quietly with success. However, in Go 1.18, it instead silently miscompiles into code that at runtime panics:
panic: interface conversion: main.X is not interface { M(go.shape.int_0) }: missing method M

Since this is a silent miscompilation, I think a fix and backport are appropriate. Ideally fix it to compile correctly, but even changing it to ICE would be preferable IMO.
/cc @randall77 @dr2chase @cuonglm

@randall77 did you see this yet?

Do we think this needs a backport to 1.18?

@dr2chase I think so.
@gopherbot Please backport to Go 1.18. This is a silent miscompilation of valid Go code.


Make references to scikit-learn examples more visible

Currently we have links to the scikit-learn example gallery inside the "Main take-away" notebook at the end of each module (see for instance here) and possibly they are being overlooked.
For the sake of visibility, we can consider moving such links to a "To go further" section at the end of some notebooks whenever relevant.

Maybe doing both would be good, but then there is a bit of copying and pasting that can go out of sync ... unless we want to add yet another hacky script to our setup ...


Adjust the how to apply footer

Adjusted text and added a link to the supplier guide

Hey @smellems could you have a look at this PR if you have a sec?  I can't get the link to the supplier guide in the footer to work. I'm getting a liquid exception/Jekyll error message.


NETOBSERV-760 Add ascidoc doc

I generated this file by using the same tool used in openshift-docs: https://github.com/jboxman-rh/openshift-apidocs-gen
However this is a manual process currently; it requires having a running cluster to pull openapi info from, it does not work from our static CRD definition.
We might investigate how to automate this in our builds

FTR, steps to generate:
Setup docsgen repo

Clone https://github.com/jboxman-rh/openshift-apidocs-gen
run npm install

Run it
Follow steps at https://github.com/jboxman-rh/openshift-apidocs-gen#typical-usage
But using this as config.yaml:
version: 2
outputDir: build
apisToHide: []
apiMap:
- name: flows.netobserv.io
  resources:
  - kind: FlowCollector
    group: flows.netobserv.io
    version: v1alpha1

After the asciidoc is generated, edit it to remove the HTTP api doc and the autoscaler details (like done in 236beb0)

FTR / automation:
I'm currently running this script, that produces exactly what we want without any manual edit:
(downside: it would need to be updated if the docgen output format changes)
#!/bin/sh

jq '.definitions |= ({"io.netobserv.flows.v1alpha1.FlowCollector"})
  | del(.definitions."io.netobserv.flows.v1alpha1.FlowCollector".properties.metadata."$ref")
  | .definitions."io.netobserv.flows.v1alpha1.FlowCollector".properties.metadata += {type:"object"}
  | del(.definitions."io.netobserv.flows.v1alpha1.FlowCollector".properties.spec.properties.consolePlugin.properties.autoscaler.properties)
  | del(.definitions."io.netobserv.flows.v1alpha1.FlowCollector".properties.spec.properties.processor.properties.kafkaConsumerAutoscaler.properties)
  | .definitions."io.netobserv.flows.v1alpha1.FlowCollector".properties.spec.properties.consolePlugin.properties.autoscaler.description |= . + " Please refer to HorizontalPodAutoscaler documentation (autoscaling/v2)."
  | .definitions."io.netobserv.flows.v1alpha1.FlowCollector".properties.spec.properties.processor.properties.kafkaConsumerAutoscaler.description |= . + " Please refer to HorizontalPodAutoscaler documentation (autoscaling/v2)."' \
  openapi.json > openapi-test.json

node openshift-apidocs-gen build -c config.yaml openapi-test.json

ADOC=build/flows_netobserv_io/flowcollector-flows-netobserv-io-v1alpha1.adoc

sed -i -r 's/^:_content-type: ASSEMBLY$/:_content-type: REFERENCE/' $ADOC
sed -i -r 's/^\[id="flowcollector-flows-netobserv-io-v.+"\]$/[id="network-observability-flowcollector-api-specifications_{context}"]/' $ADOC
sed -i -r 's/= FlowCollector \[flows.netobserv.io.*/= FlowCollector API specifications/' $ADOC
sed -i -r '/^:toc: macro$/d ' $ADOC
sed -i -r '/^:toc-title:$/d ' $ADOC
sed -i -r '/^toc::\[\]$/d ' $ADOC
sed -i -r '/^== Specification$/d ' $ADOC
sed -i -r 's/^==/=/g' $ADOC

sed -i -r '/^= API endpoints/Q' $ADOC

Thanks Sara,
I'm currently reviewing the upstream CRD to make some of these changes.
The "config map" one annoys me because it makes it less explicit that we are referring to a very specific resource kind.
E.g:

certFile defines the path to the certificate file name within the config map or secret

versus

certFile defines the path to the certificate file name within the ConfigMap or Secret

I find the latter more helpful as it makes it 100% sure what we are referring about as "ConfigMap" and "Secret": these are not just natural language words.

@skrthomas I've updated both the upstream CRD, and the asciidoc generation script to replace OpenShift with {product-title}
Also I'm removing the "Status" part from the generated doc, it was not super interesting for users, and I see that the same is done for in-payload API doc (like here) : status field is not included. It's also more convenient because for the most part, the generated doc doesn't come from our codebase but it comes from the upstream kubernetes (including what you said about deconflict versus deescalate)

by the way @skrthomas / @aireilly : do you know if we can integrate the TOC on the side, like it's done for in-payload api doc? e.g. https://docs.openshift.com/container-platform/4.11/rest_api/console_apis/consoleplugin-console-openshift-io-v1alpha1.html#spec
Not necessarily for this release, if it needs investigation, but perhaps the next one ?

I'm merging this PR but we can reopen another if there is more feedback
/approve


Plugin error message with latest AdiIRC 3.8 beta build 2020/2/17

Greetings
Using latest version 4 of the plugin.
With today's beta version of AdiIRC, 3.8 build 2020/2/17,
whenever closing a server via rightlicking in the treebar (or just while being idle to a channel)
I'm getting the following error:
(no matter how many times I click OK, the error window keeps on displaying)
Plugin Join-Part Filter.dll caused an error

 System.NullReferenceException: Object reference not set to an instance of an object.
   at JoinPartFilter.Filter.OnChannelNormalMessage(ChannelNormalMessageArgs argument)

A similar error is displayed when I connect to a channel:
Plugin Join-Part Filter.dll caused an error

 System.NullReferenceException: Object reference not set to an instance of an object.
   at JoinPartFilter.Filter.OnChannelJoin(ChannelJoinArgs argument)

P.S. Thank you for this very useful plugin

The issue was caused by a bug in that AdiIRC beta build. Fixed in new beta 2020/2/23:
| Fixed closing a server window sometimes doesn't close the channel windows.


Community : Modified doc strings and example notebook for Clarifai

Community : Modified doc strings and example notebook for Clarifai
Description:

Modified doc strings inside clarifai vectorstore class and embeddings.
Modified notebook examples.

@mogith-pn looks good, could you fix up linting issues and we can merge


Lack of image for nem-toolchain

Added lightweight image based on AlpineOS
Related to #152

[x] I have read the CONTRIBUTING.md and make ci passes on my machine.
[ ] I have updated the user manual accordingly.
[x] I have added tests to cover my changes.

Codecov Report

Merging #157 into master will increase coverage by 0.88%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #157      +/-   ##
=========================================
+ Coverage   75.51%   76.4%   +0.88%
=========================================
  Files          14      14
  Lines         486     428      -58
=========================================
- Hits          367     327      -40
+ Misses        105      87      -18
  Partials       14      14

Impacted Files
Coverage Δ

pkg/wallet/account/encrypt.go
71.73% <0%> (-2.27%)
:arrow_down:

pkg/keypair/keypair.go
77.77% <0%> (-0.28%)
:arrow_down:

pkg/util/util.go
100% <0%> (ø)
:arrow_up:

pkg/vanity/selector.go
100% <0%> (ø)
:arrow_up:

pkg/vanity/selector_combi.go
100% <0%> (ø)
:arrow_up:

pkg/vanity/search_rule.go
100% <0%> (ø)
:arrow_up:

pkg/keypair/address.go
100% <0%> (ø)
:arrow_up:

pkg/vanity/probability.go
100% <0%> (ø)
:arrow_up:

pkg/wallet/account/account_serialize.go
0% <0%> (ø)
:arrow_up:

pkg/wallet/wallet.go
57.14% <0%> (+1.58%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


Add 'open_on_load' property to finder

What
https://trello.com/c/p6FCqlHs/2042-expand-filter-and-location-facets-by-default-on-mobile
Add open_on_load property to open filters, on page load, on mobile. Configured for Find a licence (specialist finder) only.
Why
During user research, a common observation has emerged that mobile users do not interact with the 'Filter' button.
Anything else
https://github.com/alphagov/finder-frontend/pull/3131
https://github.com/alphagov/publishing-api/pull/2471

It appears that open_on_load is only being used to open the mobile filters modal on page load, is it worth updating this to something like open_mobile_filter_on_load?

Ah yeah good idea. I've renamed to open_filter_on_load.


Clarified language

Clarified remaining language and fixed some minor punctuation, grammar and spelling issues.

Coverage remained the same at 95.031% when pulling dce9730f624656198c69ac8574019f3e960b6198 on SavenR:patch-2 into a6e5e9af9a7a32f54dcbd83aa8c66ae89d49dc1c on hMatoba:master.


How do I manage client connections?

The scenario is like this, I need to automatically stop the RTMP stream when there is no client watching, but I can't seem to get the full RTMP connection information and client information

Hi @wosledon
I have released v0.14.2, which exposes IRtmpStreamManager to facilitate a similar use case.
Before v0.14.2, you may have needed to implement IRtmpServerStreamEventHandler to listen for the publishing and subscribing events in order to know which clients were publishing and subscribing to streams. Now, you can use IRtmpStreamManager to get this information.
I have also updated the LiveStreamingServerNet.EventsDemo to show the usage of IRtmpStreamManager.

okey, thanks!

Hi @wosledon
I have released v0.14.2, which exposes IRtmpStreamManager to facilitate a similar use case.
Before v0.14.2, you may need to implement IRtmpServerStreamEventHandler to listen for the publishing and subscribing events in order to know which clients were publishing and subscribing to streams. Now, you can use IRtmpStreamManager to get this information.
I have also updated the LiveStreamingServerNet.EventsDemo to show the usage of IRtmpStreamManager.

Hey, for my testing, I couldn't get if the player was connected to the server.

Can IRtmpStream.Subsribers help?

Can IRtmpStream.Subsribers help?

I connected using the VLC player and the Subsribers is not receiving the connection event

The Subscribers list will not get updated in realtime.
Please refer to RTMP Server Events in order to listen the OnRtmpStreamSubscribedAsync event, and call IStreamManager.GetStream again.

I have tested with the following code, which works for me
using LiveStreamingServerNet;
using LiveStreamingServerNet.Rtmp.Contracts;
using LiveStreamingServerNet.Utilities.Contracts;
using System.Net;

var liveStreamingServer = LiveStreamingServerBuilder.Create()
    .ConfigureRtmpServer(options =>
        options.AddStreamEventHandler<RtmpMediaServerStreamService>())
    .Build();

await liveStreamingServer.RunAsync(new IPEndPoint(IPAddress.Any, 1935));

public class RtmpMediaServerStreamService : IRtmpServerStreamEventHandler
{
    public ValueTask OnRtmpStreamMetaDataReceivedAsync(IEventContext context, uint clientId, string streamPath, IReadOnlyDictionary<string, object> metaData)
    {
        Console.WriteLine($"A-{clientId}, {streamPath}");

        return ValueTask.CompletedTask;
    }

    public ValueTask OnRtmpStreamPublishedAsync(IEventContext context, uint clientId, string streamPath, IReadOnlyDictionary<string, string> streamArguments)
    {
        Console.WriteLine($"B-{clientId}, {streamPath}");
        return ValueTask.CompletedTask;
    }

    public ValueTask OnRtmpStreamSubscribedAsync(IEventContext context, uint clientId, string streamPath, IReadOnlyDictionary<string, string> streamArguments)
    {
        Console.WriteLine($"C-{clientId}, {streamPath}");
        return ValueTask.CompletedTask;
    }

    public ValueTask OnRtmpStreamUnpublishedAsync(IEventContext context, uint clientId, string streamPath)
    {
        Console.WriteLine($"D-{clientId}, {streamPath}");
        return ValueTask.CompletedTask;
    }

    public ValueTask OnRtmpStreamUnsubscribedAsync(IEventContext context, uint clientId, string streamPath)
    {
        Console.WriteLine($"E-{clientId}, {streamPath}");
        return ValueTask.CompletedTask;
    }
}

OnRtmpStreamSubscribedAsync is invoked when a watcher subscribe the stream, and OnRtmpStreamUnsubscribedAsync is invoked when the watch leaves.


Reduce bundle size

This takes the ext bundle size from 20mb+ to 70kb. Main changes:

Remove webpack as a dependency as AFAIK it is not used (and it should have been under dev deps)
Remove vsce as a dep
Remove the top level tasks and launch files as these should be under ./vscode instead
Move images out of source into top level file (so that we can then exclude the entire src directory)
Delete dist because this also seems unused
Pass images through optimizer
Remove extra copy of LICENSE under src
Remove quickstart.md
Remove yarn.lock since there's also a package.json

@meganrogge Could you release a new version? This still taxes all current and future installations.


⚠ SceneTime has degraded performance

In 448a18a, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1442 ms

Resolved: SceneTime performance has improved in 8ff70aa after 10 minutes.


Replace  with

Hi there!
Is your feature request related to a problem? Please describe.
We are currently adapting a package approval workflow, where packages are approved or blocked based on certain criteria. One very important criterion is the package's license. There is a list of approved licenses (like MIT, Apache, BSD, ...) and a list of licenses that can not be used (like GPL).
Although the TorchSharp Nuget packages are under MIT license, it's hard to auto-approve them, because they use an embedded license file instead of an SPDX tag (https://spdx.github.io/spdx-spec/v2-draft/SPDX-license-list/). As a result, the license does not show up in the package's metadata (compare e.g. the "About" page of https://www.nuget.org/packages/TorchSharp with https://www.nuget.org/packages/Microsoft.Data.SqlClient, where the latter clearly states the package's license, while TorchSharp does not).
Describe the solution you'd like
Would you consider using an SPDX license expression? Basically, all that is needed is replacing the line
<PackageLicenseFile>LICENSE-LIBTORCH.txt</PackageLicenseFile>
with
<PackageLicenseExpression>MIT</PackageLicenseExpression>
in all *.csproj or *.props files (or whatever mechanism generates the corresponding *.nuspec file). The LICENSE-LIBTORCH.txt file can still remain in the package, just the metadata would change. The corresponding .nuspec file should then change the line
<license type="file">LICENSE-LIBTORCH.txt</license>
to
<license type="expression">MIT</license>
This would be a huge help for us, because with embedded license files we have to manually check and approve every single version of every package.
Describe alternatives you've considered
The alternative would be for us to download every package, manually check the context of each embedded LICENSE file, make sure that it is in fact an approved license, and then manually allow the package. This would have to be done for every release of every package without an SPDX license tags.
Additional context
The dotnet / runtime repo seems to use already use license expressions (and apparently use a an additional ).
The microsoft / MSBuildSdks repo switched to license expressions about two years ago, following the recommendations provided in Microsoft's .nuspec reference.

@szimmer-dap -- thanks for the suggestion! We'll look into doing that for the next release.

@tarekgh, @michaelgsharp -- your thoughts?

@richlander may advise better here.

@NiklasGustafsson we decided to do this on the ML.NET side. License stays the same, same file is still added to the nuget package, it just adds metadata that its an MIT license instead of just that we include a license file.

PackageLicenseExpression is the best practice. It's basically "declarative license".

Fantastic, then that's what we'll do! Thanks for the suggestion, @szimmer-dap. We'll get this into the next release.

This was addressed by PR #990

@szimmer-dap -- TorchSharp/Audio/Vision v0.100.0 and libtorch-* v<IP_ADDRESS> now has this functionality, with the license in an expression rather than a file.


add sodra lib into a separate dir (sodra_lib) and add it to classpath for sodra daemon class

add soda dependencies and custom lib to a separate folder so that, they get loaded/used only when using sodra scripts (like sodra daemon to start etc.).
For instance, using "./bin/cassandra" to start cassandra should not use add sodra libraries to classpath, thereby, people can't build secondary indexes using sodra jars


On August 1st after the monthly backup and report, ask Wasef to run the tool that checks all links. Highlight in yellow. Email Dr. Cleo afterwards.

Have a meeting with Peter and then provide a KT to a member from Linh's team to take over the issue.

Find out the links and save the entire object along with the file name where the links break. @shaikwasef

Sent the file link to Dr.Cleo
Failed link Objects.docx


zti configuration needs documentation

I got zti running after an hour of searching the code and guessing. It'd be nice not to do that. It raised points such as

what is the syntax of .ztirc? (seems to be set some_property_here some_value_here)
some of zti is configured by things that can be specified in .ztirc, but others must be set as environment variables, despite all the values looking like they could be environment variables.

I was going to take a shot at submitting a PR but... python is its own barrier to entry. As much as I love the project idea and am starting to be a happy user I'd sooner rewrite it in a language with ordinary syntax than try and figure out what python is up to.

The syntax of .ztirc is one zti command per line. On zti command line, enter help to see what those commands are.


0ad crashes at startup

I installed  nixos.zeroad  0ad-0.0.17  (n3qkw6y4hs4zzc666npswz3w0imayqxq-0ad-0.0.17) and i get a backtrace at startup :
[joris@nix:~]$ pyrogenesis
Paths.cpp(169): Function call failed: return value was -110301 (Error during IO)
Function call failed: return value was -110301 (Error during IO)
Location: Paths.cpp:169 (Root)

Call stack:

(0x8b988b) pyrogenesis() [0x8b988b]
(0x8680e1) pyrogenesis() [0x8680e1]
(0x8683f4) pyrogenesis() [0x8683f4]
(0x5f1acb) pyrogenesis() [0x5f1acb]
(0x5f38c8) pyrogenesis() [0x5f38c8]
(0x5e85c2) pyrogenesis() [0x5e85c2]
(0x42ceeb) pyrogenesis() [0x42ceeb]
(0x4210c7) pyrogenesis() [0x4210c7]
(0x7f4b64f61995) /nix/store/qlxp7vb63fp8kx5vk9a0y3rj8svbvl27-glibc-2.21/lib/libc.so.6(__libc_start_main+0xf5) [0x7f4b64f61995]
(0x42be89) pyrogenesis() [0x42be89]

 errno = 0 (Error during IO)
 OS error = ?

(C)ontinue, (S)uppress, (B)reak, Launch (D)ebugger, or (E)xit?

could you try version 18? It's in the unstable channel

Forgot to comment on this issue, it's fixed indeed.