Resolve one-to-many relations in backend applications

1. Why is this change necessary?
Without this fix it was not possible to save extjs models with a one-to-many relation. A specific backend application can extend the changed behaviour to make it work right away but this change had to be done on multiple applications.
2. What does this change do, exactly?
It extends the analysis of referenced models by loading models from arrays for a one-to-many relation.
3. Describe each step to reproduce the issue or behaviour.
Two levels of nested extjs relations is my understanding.
4. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hey @JoshuaBehrens,
thanks for the Contribution :blue_heart:.
Can you please rebase your Branch to the newest changes in the 5.5 Branch, so we can sure that the tests are passing :blush:

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-23209
Please use this issue to track the state of your pull request.

@pascalheidman-bedarf Your comment is justified. I guess I need to simplify my production problem to have a good example for the doc block.

@JoshuaBehrens You're still on it? :-)

I have time for it this evening. I wanted to fresh up all the PRs this week :)

I guess I worked down the application to the problem. I still have to anonymize it.

I have tested your provided Plugin. Your change does not affect anything.
It still continues at owning side condition. https://github.com/shopware/shopware/blob/3d8fe7cfeddc935367eb2550ced7b1eb9e2eb8ce/engine/Shopware/Controllers/Backend/Application.php#L838
Are you sure with your change?

Hey @JoshuaBehrens,
we're still not a hundred percent sure if we really want that.
Can you maybe provide an example plugin including the actual issue?
Like some case of "Here I'd like to save Foo, but that doesn't work at the moment".
This way we could check if this is an actual issue in Shopware or just a weird scenario, that could and should be solved with a different approach.
Doesn't have to be public here, PN in Gitter or anything would be fine as well.
Would that be possible?

I will mail you guys with the original plugin then.

Any chance that this will fixed/merged some day?

To clear things up I've been traveling back in time (code-wise) when the original error happened and recreated it:

Fatal error: Uncaught TypeError: Argument 1 passed to FooBar\Models\ModelWithManyToOneRelationToArticle::setArticle() must be an instance of Shopware\Models\Article\Article, array given, called in /vendor/shopware/shopware/engine/Shopware/Components/Model/ModelEntity.php on line 56 and defined in /custom/plugins/FooBar/Models/ModelWithManyToOneRelationToArticle.php on line 129

It can be hotfixed when you overwrite your controllers resolveExtJsData and unset the passed data at the key of the relation. unset($data['article']); so the relation is ignored. Not a real fix if you want to save it but a fix to stop the error from happening.

I have discussed this PR with @JoshuaBehrens and it can be fixed with an setOneToMany (example) in the model. This method is already used in many places for the same problem.
Would this fix also your problem @pascalheidmann-bedarf ?

As previously discussed, the issue itself has been fixed and there's no more need for the actual PR.
Thus, we're closing this one.


Consider extra spec from() calls when composing assembly CRX package

It would be helpful if composePackage could be passed more than one folder from which to assemble contents.
To achieve this now, I either need to either:

Specify multiple Copy tasks that generate the final jcr_root that is then passed to composePackage. Also I run into #489 doing this.
Or I need to specify multiple ComposePackage tasks, each of which generate a package, which I would then feed to one super-package using fromZip, which seems wasteful because it means packing and unpacking ZIP files, whose intermediate outputs I have no use or need for.

as PackageCompose inherits from Gradle Zip task you could freely use from() into() etc :)
https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html

Sorry, I have to ask for you to re-open this: it’s true that using from allows me to include additional files into a packageCompose task but they’ll be missing from any dependent packageCompose task that uses fromProject or fromPackage that points to this task, e.g.:
tasks {
  register<PackageCompose>("composeOne") {
    from(file('some/other/dir'))
  }
  register<PackageCompose>("composeTwo") {
    fromPackage("composeOne")
  }
}

will result in the files from some/other/dir being included in the package from composeOne but not composeTwo.

it is because fromPackage is not working in that way that you think.
please reference the code:
https://github.com/Cognifide/gradle-aem-plugin/blob/master/src/main/kotlin/com/cognifide/gradle/aem/pkg/tasks/PackageCompose.kt#L314-L366
this method is usually for including content from separate project in case of Gradle multi-project structure as in gradle-aem-mutli https://github.com/Cognifide/gradle-aem-multi/blob/master/aem/assembly/full/build.gradle.kts#L13
methods fromPackage and fromBundle are just more detailed methods of fromProject to be able to build on the fly package with including separately or both OSGi bundle and JCR contents (from contentDir only https://github.com/Cognifide/gradle-aem-plugin/blob/master/src/main/kotlin/com/cognifide/gradle/aem/pkg/tasks/PackageCompose.kt#L320-L328 )
I have never think of also grabbing extra from() spec configurations as you suggested. if it is possible I could / you could consider implementing it here. Of course if Gradle API allows to do that.
Thanks for challenging it ;)

@sabberworm  probably sth like
if (options.composeContent) {
    with(other.mainSpec)
}

but tests needed

hmmm now I think that was intentional to avoid overlapping multiple from(metaDir) that will point to same path in package but from different modules;
@sabberworm wontfix will be best in my opinion. if you think that sth could be done better here, don't hesitate to reopen


Filter retrieves all data within sources when incorrect column names are used to filter on.

We produce a SQL engine with ADO.NET provider which already runs with Power BI on approximately 60 platforms such as an online accountancy product Exact Online, on which we use the XML and REST API. We are happy to be able to create connectors now so we can improve the user experience of our users.
The bug
Reproduction scenario from Power BI:

Get Data
Choose Invantive for Exact Online:

Run a query with a non-existing column in the filter. In the following query, Name doesn't exist (actually there was a typo):

let
    Source = Invantive.Schema(),
    meTable = Source{[Name = "Me", ItemKind="Table"]}[Data]
in
    meTable

Expected result:
I would have expected an error message telling the Key can't be found, just like you get when running the query from Visual Studio in the M Query Output.

It seems that Power BI just ignores the Name filter and retrieves [Data] from all tables in the schema.
PQ code used:
shared Invantive.Database = () as table =>
    let
        ConnectionString = GetConnectionString(),
        AdoDotNetDataSource = AdoDotNet.DataSource("Invantive", ConnectionString, []),
        Database = AdoDotNetDataSource{[CollectionName = "Tables"]}[Data]()
    in
        Database;

[DataSource.Kind="Invantive", Publish="Invantive.UI"]
shared Invantive.Schema = () as table =>
    let
        Source = Invantive.Database(),
        smallSet = Table.SelectColumns(Source,{"table_catalog", "table_schema", "table_name"}),

        rename1 = Table.RenameColumns(smallSet,{"table_catalog", "Catalog"}),
        rename2 = Table.RenameColumns(rename1,{"table_schema", "Schema"}),
        rename3 = Table.RenameColumns(rename2,{"table_name", "TableName"}), // here was the typo! It should have been Name

        addItemKind = Table.AddColumn(rename3, "ItemKind", each "Table"),
        adddItemName = Table.AddColumn(addItemKind, "ItemName", each "Table"),
        addLeaf = Table.AddColumn(adddItemName, "IsLeaf", each true),
        addDataTables = Table.AddColumn(addLeaf, "Data", each GetDataFor([Catalog], [Schema], [Name]), type table),

        NavigationSchema = Table.ToNavigationTable(addDataTables, { "Catalog", "Schema", "TableName" }, "TableName", "Data", "ItemKind", "ItemName", "IsLeaf")
    in
        NavigationSchema
    ;

Hey! My name is Miguel Escobar and I recently joined the Power Query SDK team as a Product Manager. I'm looking through the active issues on this repo and wanted to reach out to see if you could share more information around this particular scenario.

Run a query with a non-existing column in the filter. In the following query, Name doesn't exist (actually there was a typo):
let
Source = Invantive.Schema(),
meTable = Source{[Name = "Me", ItemKind="Table"]}[Data]
in
meTable

From what I'm able to interpret from this code, your connector has a navigator experience where the meTable is effectively the way that your user gets to pick what object from your data source to pick.
I'm guessing that this code was manually created to simulate a particular scenario where the Name column might no longer exist in your Navigator experience.
A couple of questions to you:

Is the Navigator experience something that your data source provides natively? or are you constructing your own Navigator window using some of our samples?
Is this issue still valid today?


"An empty sequence is not allowed" XSLT error [DITA OT 2.2.2 and older]

In my DITA topic I have a CALS table like this:

    <title>Flowers</title>
    <tgroup cols="3">
        <colspec colname="c1" colnum="1" colwidth="171.0pt"/>
        <colspec colname="c2" colnum="2" colwidth="99.0pt"/>
        <colspec colname="c3" colnum="3" colwidth="99.0pt"/>

            <row>
                <entry colname="c2">Flower</entry>
                <entry>Flower</entry>
                <entry colname=" c3 ">Type</entry>
            </row>

            <row>
                <entry>Snowdrop</entry>
                <entry>perennial</entry>
                <entry>perennial</entry>
            </row>

    </tgroup>

and I publish to XHTML. The publishing breaks with:

D:\projects\eXml\frameworks\dita\DITA-OT2.x\plugins\org.dita.xhtml\build_general.xml:182: Fatal error during transformation using D:\projects\eXml\frameworks\dita\DITA-OT2.x\plugins\org.dita.xhtml\xsl\dita2xhtml.xsl: An empty sequence is not allowed as the value of variable $colspec; SystemID: file:/D:/projects/eXml/frameworks/dita/DITA-OT2.x/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl; Line#: 2106; Column#: -1

But probably the problem resides in the code which rewrites the table colspecs, the initial columns named "c1", "c2"... seem to be rewritten as "col1", "col2".. but not everywhere. The table in the example is probably not valid according to the specs but it's very hard to detect the problem from the error message.

For the same sample the PDF generation complains with:
 D:\projects\eXml\frameworks\dita\DITA-OT2.x\plugins\org.dita.pdf2\build.xml:297: Fatal error during transformation using D:\projects\eXml\frameworks\dita\DITA-OT2.x\plugins\org.dita.pdf2.fop\xsl\fo\topic2fo_shell_fop.xsl: An empty sequence is not allowed as the value of variable $entryNumber; SystemID: file:/D:/projects/eXml/frameworks/dita/DITA-OT2.x/plugins/org.dita.pdf2/xsl/fo/tables.xsl; Line#: 426; Column#: -1

Another example of invalid CALS table which breaks the XHTML generation:

            <title>Flowers</title>
            <tgroup cols="1">

                    <row>
                        <entry>Flower1</entry>
                        <entry>Flower2</entry>
                    </row>

                    <row>
                        <entry>Snowdrop</entry>
                        <entry>perennial</entry>
                    </row>

            </tgroup>

but this one works in the PDF output.

Does this occur with develop code?

I can still reproduce the problem with both samples when publishing to XHTML, the error is at an identical location for both cases:
      [xslt] C:\Users\radu_coravu\Documents\dot-develop\src\main\plugins\org.dita.xhtml\xsl\xslhtml\dita2htmlImpl.xsl:2094: Fatal Error! An empty sequence is not allowed as the value of variable $colspec

I can also reproduce the issue.
I guess the problem is really that both of these examples are really content issues. I at least don't really know how the incongruous colspec names in the first tables should be interpreted. The second table has the wrong @cols value.
I suppose the NormalizeTableFilter class could print a warning or throw an error in both of these cases, but I there might be a pretty big number of cases like that to account for. Schematron would probably be a good fit for this sort of "error" checking.
The shortcut is to make DITA-OT ignore errors like these like this (I think this has been proposed as a solution in other related issues, as well):
diff --git a/src/main/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl b/src/main/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl
index d7b47b9..438806e 100644
--- a/src/main/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl
+++ b/src/main/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl
@@ -2091,7 +2091,7 @@
   <xsl:variable name="row" select=".." as="element()"/>
   <xsl:variable name="body" select="../.." as="element()"/>
   <xsl:variable name="group" select="../../.." as="element()"/>
-  <xsl:variable name="colspec" select="../../../*[contains(@class, ' topic/colspec ')][@colname and @colname = $this-colname]" as="element()"/>
+  <xsl:variable name="colspec" select="../../../*[contains(@class, ' topic/colspec ')][@colname and @colname = $this-colname]" as="element()?"/>
   <xsl:variable name="table" select="../../../.." as="element()"/>

   <xsl:variable name="framevalue">

@eerohele I agree with everything, actually in Oxygen XML Editor 18.0 we'll have table layout validation done automatically as the user is editing each topic. Also agree with fixing the XSLT stylesheets to make the publishing succeed. Because XSLT errors like the ones reported now "An empty sequence is not allowed...." don't help anyone and the same samples worked with DITA OT 1.8. Indeed some proper table validation done in a certain stage of the DITA OT processing could be interesting (although it should probably be done on DOM and not SAX) but it's something not very easy to do.

By the way, for the first example the PDF processing also fails at:
 An empty sequence is not allowed as the value of variable $entryNumber; ...........  org.dita.pdf2/xsl/fo/tables.xsl; Line#: 426

Related to this, I'm actually not sure if we want to have the column name normalization code. Since the transtype specific code should not rely on the column names to be the source of which column index the column is part of. Thus, I would prefer to keep the column names the same as before and then just use the custom attributes to provide additional information to make transtype processing easier.

This one's tagged as 2.2.3 but was not fixed there - removing the tag.

(But didn't mean to close it, hit the wrong button.)

The just-closed issue #1715 is another instance of bad CALS markup (@colnum values in the wrong order) that throws off table processing. If we ever update our table processing to add any of the CALS validation mentioned above, this is another thing to check for.

Thanks. Solved the issue after much head scratching. I will propagate out to our team. One small thing, in OT 2.2, line number is 2108.

There is also this problem when two cells overlap on the same row:

      <tgroup cols="7">
        <colspec colnum="1" colname="col1"/>
        <colspec colnum="2" colname="col2"/>
        <colspec colnum="3" colname="col3"/>
        <colspec colnum="4" colname="col4"/>
        <colspec colnum="5" colname="col5"/>
        <colspec colnum="6" colname="col6"/>
        <colspec colnum="7" colname="col7"/>

          <row>
            <entry>

K2

            </entry>
            <entry namest="col2" nameend="col3">K3</entry>
            <entry namest="col3" nameend="col4">K4</entry>
            <entry>

K5

            </entry>
            <entry/>
          </row>

      </tgroup>

and the publishing breaks with an error like:
/Applications/Oxygen XML Editor/frameworks/dita/DITA-OT2.x/plugins/org.dita.xhtml/xsl/xslhtml/tables.xsl:370:2: Fatal Error! An empty sequence is not allowed as the value of variable $colspec

which could either be more precise, have a better message or we could relax the checks.


Symbol completion: revert to showing all symbols (now of correct type) on an empty field

I am closing this because it is now working, at least in some cases. Where it is not working these should be raised as separate, specific, examples.


addon-backgrounds doesn't function with bulma

Describe the bug
Importing bulma and using addon-backgrounds breaks the functionality of backgrounds and no background color is changed stays white all the time.
To Reproduce
See code below.
Bulma CSS File : https://github.com/jgthms/bulma/blob/master/css/bulma.css
Expected behavior
Background color to change
Code
import React from 'react'
import { storiesOf } from '@storybook/react'
import { withBackgrounds } from '@storybook/addon-backgrounds'
import 'bulma/css/bulma.css'

storiesOf('Button', module)
  .addDecorator(
    withBackgrounds([
      { name: 'twitter', value: '#00aced', default: true },
      { name: 'facebook', value: '#3b5998' }
    ])
  )
  .add('with text', () => <button>Click me</button>)

System:

OS: MacOS
Device: Macbook pro
Browser: Chrome
Framework: react
- Addons:

"dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.8",
    "@fortawesome/pro-light-svg-icons": "^5.5.0",
    "@fortawesome/react-fontawesome": "^0.1.3",
    "@sambego/storybook-state": "^1.3.1",
    "@babel/polyfill": "^7.2.5",
    "bulma": "^0.7.2",
    "core-js": "^2.6.2",
    "flow-bin": "^0.85.0",
    "lodash": "^4.17.11",
    "lottie-web": "^5.4.1",
    "react": "^16.6.0",
    "react-bulma-components": "^2.3.0",
    "react-dom": "^16.6.0",
    "react-lottie": "^1.2.3",
    "styled-components": "^4.0.3"
  },
  "devDependencies": {
    "@babel/cli": "^7.1.5",
    "@babel/core": "^7.1.5",
    "@babel/plugin-proposal-class-properties": "^7.1.0",
    "@babel/preset-env": "^7.1.5",
    "@babel/preset-flow": "^7.0.0",
    "@babel/preset-react": "^7.0.0",
    "@babel/register": "^7.0.0",
    "@storybook/addon-a11y": "^4.0.4",
    "@storybook/addon-actions": "^4.0.4",
    "@storybook/addon-backgrounds": "^4.1.11",
    "@storybook/addon-storyshots": "^4.0.4",
    "@storybook/addons": "^4.0.4",
    "@storybook/react": "^4.0.4",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^10.0.1",
    "babel-jest": "^23.6.0",
    "babel-loader": "8.0.4",
    "babel-plugin-styled-components": "^1.8.0",
    "enzyme": "^3.7.0",
    "enzyme-adapter-react-16": "^1.7.0",
    "eslint": "^5.8.0",
    "eslint-config-standard": "^12.0.0",
    "eslint-config-standard-react": "^7.0.2",
    "eslint-plugin-flowtype": "^3.2.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-node": "^8.0.0",
    "eslint-plugin-promise": "^4.0.1",
    "eslint-plugin-react": "^7.11.1",
    "eslint-plugin-standard": "^4.0.0",
    "husky": "^1.3.1",
    "jest": "^23.6.0",
    "jest-canvas-mock": "^1.1.0",
    "lint-staged": "^8.0.4",
    "react-test-renderer": "^16.6.1",
    "regenerator-runtime": "^0.12.1",

@maamounapprise Have you tried with SB5 which was released a few days ago?


Search

Hi,
I would like to know how to enable search in this theme.  Thanks!

Sorry, not yet. But this feature is being developed.

The built-in search has been implemented in the latest version.


Engineers can simulate the kernel circuit of a contract deployment transaction that calls a no-op constructor

Done, I believe.


Ensure medRxiv articles are not included in a PCI feed

Problem: https://staging.sciety.org/articles/10.1101/2<IP_ADDRESS>19925 reviewed by a PCI is on Medrxiv, so the Biorxiv API doesn't provide version information (and it states incorrectly that it was published on Biorxiv). There's some post mortem material in this, because I notice by accident rather than via logs/metrics/observability

[ ] no alerting?

No error message logged as we don't check that the collection from bioRxiv contains an entry, it's an empty list.

https://staging.sciety.org/articles/10.1101/2<IP_ADDRESS>19925 still says 'We couldn't get version information from bioRxiv. Please try refreshing this page.' as it's not a bioRxiv article but we don't check that before displaying it. Not doing anything with it as it's not linked from anywhere, you can only access it with URL hacking.


[WIP] ENH: resampling with annotations

closes #10447
It begins to get a little hairy when one gets into the details, particularly preloaded vs not ... and how to handle concatenated raws

I think it's actually going to be a bit worse than this (ignoring the preload vs not for now, which I think isn't the most annoying part). The result of resampling with and without annotations needs to end up the same number of samples, and the annotation boundaries will likely land in between samples, so we have to handle that properly...
For example, if you have a 1 sec signal at 1000 Hz and the 100-200 ms annotated as bad, in principle you want to resample the samples 0-99 and 200-999, and copy 100-199. But in practice if you are resampling to some non-integer factor like 2/3 the sample rate (e.g., 1666 Hz or something), you have to be very careful about floor/round/ceil-ing the number of samples within each resampled or copied interval... yikes.
Also, I'm realizing now that we might not need to add upfirdn in this PR. Instead we should maybe resample all intervals the same way, including the ones within the BAD sections. If we want to use polyphase/upfirdn to do this rather than freq-domain resampling, we should probably resurrect #5136 to help us first.

I guess we could have a test where the annotation period has a huge artifact (like in my data), and then check that the artifacts don't spread to the non-annotation periods ... that would probably address the rounding issues you are concerned about.
I like the idea of using the same resampling method in annotation vs non-annotation periods ... although I'd be happy if it works even with just fft-based methods.

Hi @larsoner and @jasmainak - I think having a "skip_by_annotation"-like behavior for resampling would be good for eye-tracking data (for example, there can be nan's in the signal during blinks or tracker dropout).
If you still think that this is feasible given the challenges you raised regarding non-integer resampling, let me know, maybe I can help out on this at some point this summer.

The more I think about this the more I think it'll be really difficult to resample segment-by-segment.
A potentially simple way to figure out segment resampling mapping is to take the original signal of length N with K usable segments, we can create an array of shape (N,) and fill each sample with which segment k (starting from 1) the data belong to, leaving the NaN/bad segments as 0. If we interp1d this in nearest mode, we end up with the mapping to new usable segments. For data with 3 usable segments and 12 samples for example we might end up with an array that looks like:
1 1 1 0 2 2 0 0 0 3 3 3

if we do interp1d on it to downsample it by a factor of 2 for example I think we'd get something like:
1 1 2 0 0 3

You get some ugly stuff here like the first three samples end up being resampled to 2 samples in the output, and the last 3 samples get resampled to 1 in the output. These have different downsampling factors (!). This problem goes away asymptotically as samples increase but do not go away completely. So frequencies get remapped differently depending on their offset from the downsampling factor.
So instead, I'm starting to think at least one safe thing to do would be to:

Resurrect https://github.com/mne-tools/mne-python/pull/5136 (i.e., allow upfirdn mode)

Raise an informative error when not in upfirdn in either of these cases:

When skip_by_annotation=True (default False for backward compat)
When not np.isfinite(data).all() (don't know our current behavior actually, might already raise)

Figure out the amount of signal spread from the FIR step

Expand the range of annotations by the signal spread

Step (4) can be optional if people really want it to be, but we can add an option to disable the annotation expansion if desired.

I think i can see your point about why the first simple approach is limited.
I'm not too familiar with polyphase resampling but if I'm understanding correctly, is the idea that when skip_by_annotation=True and upfirnd=True, we resample by block using polyphase resampling? Or is it that in this case we use polyphase resampling on the whole signal (and I'm assuming values like NaN won't propogate across the whole signal, hence steps 3 and 4 in your proposal)

The more I think about this the more I think it'll be really difficult to resample segment-by-segment.
A potentially simple way to figure out segment resampling mapping is to take the original signal of length N with K usable segments, we can create an array of shape (N,) and fill each sample with which segment k (starting from 1) the data belong to, leaving the NaN/bad segments as 0. If we interp1d this in nearest mode, we end up with the mapping to new usable segments. For data with 3 usable segments and 12 samples for example we might end up with an array that looks like:
1 1 1 0 2 2 0 0 0 3 3 3

if we do interp1d on it to downsample it by a factor of 2 for example I think we'd get something like:
1 1 2 0 0 3

You get some ugly stuff here like the first three samples end up being resampled to 2 samples in the output, and the last 3 samples get resampled to 1 in the output. These have different downsampling factors (!). This problem goes away asymptotically as samples increase but do not go away completely. So frequencies get remapped differently depending on their offset from the downsampling factor.

It seems like if you interpolate to replace the 0 values, ahead of downsampling, you at least partly mitigate this issue, because the valid values will bleed into the 0s. So linear interpolation in my scheme would look like
1 1 1 1.5 2 2 2.25 2.5 2.75 3 3 3
On my end, I've been using cubic splines to interpolate across dropped samples and then pre-processing as normal.

It seems like if you interpolate to replace the 0 values, ahead of downsampling, you at least partly mitigate this issue, because the valid values will bleed into the 0s.

But the mapping between original-signal number of samples (three for the first good segment, three for the last good segment) and resampled-signal number of samples (two for the first good segment, one for the last good segment) will always have this wacky ratio problem. So I think the "resample segment by segment" idea is likely still doomed unless you're very careful (somehow) about padding each good segment the same way or something, which would have its own issues.
So I think the polyphase + annotation expansion approach is probably safest, and a pretty straightforward route forward. Maybe someday we could add cubic or linear interpolation in the bad segments but I think that can be a separate function like interpolate_bad_segments(raw, mode='cubic' | ) or similar. And maybe/hopefully it won't even be needed (YAGNI) with the annotations being expanded by the resample function, we'll see!


Cannot pass callback function or Promise to RCTUIManager.dispatchViewManagerCommand

Description
Native Modules can export native methods using RCT_EXPORT_METHOD (or RCT_EXTERN_METHOD). Using this, we can pass functions as arguments so the native method can call back to JS (RCTResponseSenderBlock/RCTResponseErrorBlock). Alternatively, we can also use Promises (RCTPromiseResolveBlock/RCTPromiseRejectBlock).
While this works great for normal methods, this somehow does not work for instance-specific methods (UIManager.dispatchViewManagerCommand).
Normal arguments:
RCT_EXTERN_METHOD(
  someFuncOnMyViewManager:(nonnull NSNumber *)node
  count:(nonnull NSNumber *)count
)

Works ✅
Promises:
RCT_EXTERN_METHOD(
  someFuncOnMyViewManager:(nonnull NSNumber *)node
  resolve:(RCTPromiseResolveBlock)resolve
  reject:(RCTPromiseRejectBlock)reject
)

Doesn't work ❌
(Error: Malformed JS sizes/"JS Field sizes are different")
Callbacks:
RCT_EXTERN_METHOD(
  someFuncOnMyViewManager:(nonnull NSNumber *)node
  onSuccess:(RCTResponseSenderBlock)onSuccess
  onError:(RCTResponseErrorBlock)onError
)

Doesn't work ❌
(Error: [...., [<< Function >>, << Function >>]] cannot be used as a native method argument)
Background
As you probably noticed from the use of RCT_EXTERN_METHOD, I am using Swift. Not sure if that makes a difference though.
Also, this is what I tried from JS:
  updateNative = () => {
    UIManager.dispatchViewManagerCommand(
      findNodeHandle(this.ref),
      UIManager["SomeNativeView"].Commands.someFuncOnMyViewManager,
      [(x) => console.log(x), (e) => console.error(e)]
    );
  }

and
  const onSuccess = (x) => console.log(x)
  const onError = (e) => console.error(e)
  updateNative = () => {
    UIManager.dispatchViewManagerCommand(
      findNodeHandle(this.ref),
      UIManager["SomeNativeView"].Commands.someFuncOnMyViewManager,
      [onSuccess, onError]
    );
  }

and
  return new Promise((resolve, reject) => {
    updateNative = () => {
      UIManager.dispatchViewManagerCommand(
        findNodeHandle(this.ref),
        UIManager["SomeNativeView"].Commands.someFuncOnMyViewManager,
        [resolve, reject]
      );
    }
  });

React Native version:
0.63.4
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Create ViewManager + Native Module
Create functions with syntax above
Call that from JS

Expected Results
I expect methods from the ViewManager to be able to use Callbacks or Promises.

@mrousavy I'm having the same issue, did you ever solve this?

Yes, just don't use UIManager.dispatchViewManagerCommand. Create it as a normal method, pass node ID as argument.

@mrousavy Can you provide the code please?

@mrousavy same question, I used RCTUIManager.dispatchViewManagerCommand to trigger RCT_EXPORT_METHOD，and add @property to RCTDirectEventBlock handle React props

@milesziemer Yes, just don't use UIManager.dispatchViewManagerCommand. Create it as a normal method, pass node ID as argument.

Could you give example please?


README.md. Section "Developer Install". Step "install bower" missed.

Issue Summary
Miss step in README.md. Section "Developer Install". Step "install bower" missed.
Steps to Reproduce

Follow step by step "Developer install" in README.md upon "grunt init" command.
On "grunt init" throws error:

Running "shell:bower-install" (shell) task
Verifying property shell.bower-install exists in config...OK
File: [no files]
Options: stdout, stderr, stdin, failOnError, stdinRawMode=false, preferLocal, execOptions={"env":null}
Command: bower install
"bower" �� ����� ����७��� ��� ���譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� �������� 䠩���.
Warning: Command failed: bower install
"bower" �� ����� ����७��� ��� ���譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� �������� 䠩���.
 Use --force to continue.

Aborted due to warnings.
Warning: Failed running "grunt init --verbose" in "core/client". Use --force to continue.

Aborted due to warnings.

Technical details:

Ghost Version: commit dc605580839162595813d066a2e64b53c462bbef on master branch
Node Version: 6.9.1
Browser/OS: command line in windows 10 x64
Database:

Hi @ringill, thanks for trying out Ghost! master is currently in an alpha state and under heavy development in the run-up to 1.0 and so not fully documented yet. The grunt tasks have actually been deprecated and replaced with gulp tasks in master.
I'm going to close this issue as the grunt tasks aren't supported int the version you are running, if you have the same problem using the stable branch please open a new issue, thanks 😄
If you are looking to run a site or develop themes rather than develop the core software I would recommend checking out the stable branch or downloading the latest release, you'll have a much smoother experience.


getNextMirrorNode returning undefined when used with Angular framework

Description
A user is reporting an error coming from angular app when usingjs-sdk....
it all works good from node app, same hedera pkg version though.
Steps to reproduce
Looks like the function getNextMirrorNode returns undefined.
It even sends the message, but can't subscribe to it
     const cancel = client._mirrorNetwork
            .getNextMirrorNode()
            .getChannel()
            .makeServerStreamRequest(
                "ConsensusService",
                "subscribeTopic",
                request,

See error in screenshot in the next section.
Additional context
The error in the attached image occurs:

Hedera network
testnet, other
Version
v2.11.3
Operating system
No response

Please see https://github.com/hashgraph/hedera-sdk-js/issues/1114. The mirror nodes do not support use in a browser environment.

Got it. Thanks for the quick response. Are we considering adding that in a future release? If so, happy to help find users to help define requirements.

It couldn't be added here. It would need to be added to the mirror nodes themselves. They don't expose a grpc-web endpoint.


Removed _disposed field from OwnedBuffer

After this change, OwnedBuffer has no fields and can be turned into an interface (if we want and perf is right)

LGTM

@KrzysztofCwalina Are these changes to OwnedBuffer part of solving #1437?


Upgrade API VERSION from client.authentication.k8s.io/v1alpha1 to client.authentication.k8s.io/v1beta1

What would you like to be added
Upgrade the API version from client.authentication.k8s.io/v1alpha1 to client.authentication.k8s.io/v1beta1. The API version is referenced here and used by the aws-iam-authenticator version currently used in the AMI - 0.5.0. More details below.
Why is this needed
The alpha API version is no longer supported in Kubernetes version 1.24.
aws-iam-authenticator Note
This change requires upgrading the aws-iam-authenticator to 0.5.9 or any version with this commit. After upgrading the API version, you'll see the following error if the aws-iam-authenticator is not upgraded as well:
getting credentials: exec plugin is configured to use API version client.authentication.k8s.io/v1beta1, plugin returned version client.authentication.k8s.io/v1alpha1

If you're building your own AMI and not vending the aws-iam-authenticator from the EKS buckets, you'll need to update it. As of 9/14/2022, the 0.5.0 authenticator is stored in the binary buckets, but we'll update that as part of resolving this issue.
Future Improvement:
This PR makes a change that would allow us to remove the dependency on the aws-iam-authenticator entirely by using the AWS CLI to call aws eks get-token instead of calling the authenticator. However, as of 9/14/2022, the AmazonLinux yum repos use an older version of the AWS CLI that doesn't include this change, which is required for resolving this issue. Once the CLI is updated, we should be able to remove the dependency altogether.

This was addressed in https://github.com/awslabs/amazon-eks-ami/releases/tag/v20221112.


Media keys not working on Corsair K70

One more issue to the group: https://github.com/tekezo/Karabiner-Elements/issues?utf8=✓&q=is%3Aissue media
I've a Corsair K70 with Nordic layout. For whatever reason, macOS Sierra is unable to it's job properly, and insists it's an ANSI keyboard, and prints they key between shift and z as §, when it should print <.  None of the answers the Internet provided really worked (Keyboard Setup Assistant might help for a while, but it stops working for me), so I created a new Karabiner-Elements profile, and have the following mappings.

This allows me to use the same layout as on the MBP. However, none of the media keys work when Karabiner-Elements is modifying events from my keyboard:

If I uncheck that last line, my media keys start working, but my keyboard starts behaving like it would be an ANSI-keyboard, as in § and < switch places. Being a programmer and doing most of my work in the terminal, these keys are pretty important, as § opens the terminal.
I don't think I've a real need of using Karabiner-Elements with this keyboard (I'm using it with the integrated keyboard as I need to swap ctrl and fn, and macOS doesn't support it) as there's no fn on this keyboard. But without Karabiner-Elements, my keyboard doesn't work properly, and with it, my media keys won't work properly.
Solutions for this?

I eventually ended up with using Karabiner-Elements as these sources suggested using Karabiner, but as it doesn't work on Sierra.
http://apple.stackexchange.com/questions/255082/external-iso-keyboards-treated-as-ansi-since-macbook-pro-upgraded-to-macos-sierr
http://m10lmac.blogspot.fi/2009/12/fixing-keyboard-type-problems.html
I'm using the latest versions of macOS and Karabiner-Elements.

Never mind, complaining about something has yet again fixed the problem.
I had to reboot and macOS prompted me about "unrecognized keyboard", I followed the steps it's working "natively" for now.


push package to test channel

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_867ejauk1r/clone/recipe/meta.yaml:97: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_867ejauk1r/clone/recipe/meta.yaml:111: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_78ytwodcth/clone/recipe/meta.yaml:94: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_78ytwodcth/clone/recipe/meta.yaml:108: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_3ffmil_kwv/clone/recipe/meta.yaml:94: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_3ffmil_kwv/clone/recipe/meta.yaml:108: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c66hi3hv3m/clone/recipe/meta.yaml:90: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_c66hi3hv3m/clone/recipe/meta.yaml:104: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_03p11fi6ez/clone/recipe/meta.yaml:91: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_03p11fi6ez/clone/recipe/meta.yaml:105: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_32qhs9f1hp/clone/recipe/meta.yaml:90: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_32qhs9f1hp/clone/recipe/meta.yaml:104: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_4102si315t/clone/recipe/meta.yaml:91: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_4102si315t/clone/recipe/meta.yaml:105: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_0eqxh6_q01/clone/recipe/meta.yaml:91: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
ERROR: /tmp/abs_0eqxh6_q01/clone/recipe/meta.yaml:105: duplicate_key_in_meta_yaml: The recipe meta.yaml contains a duplicate key
Errors were found


Access is Denied in Internet Explorer 9

Hi,
I am getting an Access is Denied error in IE9 when using unpkg for loading my modules through Systemjs.
It works fine in IE10 and IE11.
Please let me know what can be done

I have no idea.


Developer and debugging experience

Are there any plans to support "Start debugging (F5)" for debugging?

Absolutely! This work is in progress and should be landing in VS soon. We'll post an announcement here when that happens (as well as usual channels like Twitter, announcements repo, etc.)

@faiocav, are there any ETAs on when this feature will be released?

This will be coming out with VS 16.10, which should be released soon.

How about Visual Studio Mac support? Is that also planned?

With VS 16.10.1 it starts the function app but fails to attach a debugger - just loads and never stops.

And in the console you get:
[2021-06-15T11:50:32.618Z] Starting worker process failed
[2021-06-15T11:50:32.620Z] The operation has timed out.

Maybe it is related to debugging failing also from the command line in the latest version. I was running func host start --dotnet-isolated-debug and it worked once and I could attach a debugger. All later calls just didn't show a PID of the process and failed with exception:

We get the same timeout issues when trying to debug a function app using .Net 5 and isolated worker. The IDE hangs and we get the same timeout errors outlined above. It only seems to happen when RunOnStartup=true on a TimerTrigger though. If we remove that, then debugging starts OK and we can issue a post request against the worker to manually fire the function and debug it normally.

Actually, it seems that this issue happens whenever a function attempts to run when the process first starts up, i.e. if RunOnStartup=true or if the timer trigger is past due.

With VS 16.10.1 it starts the function app but fails to attach a debugger - just loads and never stops.

Also seeing the same issue

@fabiocav With VS 16.11.3 & VS 17.0.0 Preview 4.1, debugging (F5) does not work if a TimerTrigger is used and RunOnStartup=true or if the timer trigger is past due. Please fix.

This should be working now.


.watch(context) vs Watch differences

I've been using signals/lite_ref in my project, and part of my implementation relies on overriding a scoped dependency to provide demo data for a "preview" mode of a particular set of widgets.
I ran into an issue where I had to replace my Watch for .watch(context) as it did not work correctly otherwise:
https://github.com/jinyus/lite_ref/issues/24
As I figured that Watch and .watch(context) were interchangeable (and especially considering the docs suggest using Watch over .watch(context)), are there any other/specific scenarios where this is expected?

The biggest difference is that Watch will rebuild for inherited widgets listened instead the callback (theme/media) and is an effect.
.watch calls the subscribe method for a specific signal.
That being said I am very interested and will see if we can get some tests added to make sure they are aligned as much as possible (inherited widgets will rebuild a lot more outside of my control).

Could you share a minimal example for reference?


Owner rights.

Hello @dannycoates , can you grant me owner rights in node-inspector organization.
I will intentionally add new sub projects in organization after releasing of plugin system, so it will be not reasonable to take you each time when I want to add new project.

done :smile:


Adds UNICORE mention

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 99.015%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
12261

Relevant Lines:
12383

💛  - Coveralls


Migration reanimated 3 : makeShareableCloneRecursive crash

Hi, I've tried to migrate reanimated 3 without success:
I got the following error when the graph mounts:
makeShareableCloneRecursive Maximum Call Stack Size Exceeded
It seems to be related to how react-native-graph is using react-native-reanimated and more specifically the PanGesture.
See related here : https://github.com/software-mansion/react-native-reanimated/issues/4177

By migrating from react-native 0.66 to 0.71.4 the issue went away (I did a fresh project then migrated all files & setup)


Add interactive mode for debugging (OSOE-634)

An updated copy of my original post on Teams:
Back when the UI tests started the web app in a separate process, it was possible to just drop a breakpoint in your code and do stuff in the browser window interactively, because the program was still running. So you could still look around on other pages, inspect the current state of the admin dashboard, etc. It was only needed occasionally but then it was incredibly useful in debugging problems that crop up during UI tests.
Right now this is not possible. Currently the only hack where I can approximate this effect is by adding something like await Task.Delay(120000); before the line where I'd like to "break", and then I have 2 minutes to look around in another tab but that's super inconvenient.
I'd like to have the ability to switch into an interactive mode programmatically, similar to how you can switch into debug mode with Debugger.Break(). I envision a separate module that stores a mode state and exposes an MVC action for a UI to leave interactive mode and continue operation. This module would be added to the webapp just like the Shortcuts module now. And an await context.SwitchToInteractiveAsync() extension method that updates the mode, opens this action in a new tab and then waits until the state is restored, e.g. via task cancellation.
Jira issue

We don't really need a separate module for this, it can be part of Shortcuts.
Having a new tab open with a button like "Exit interactive mode" would be beautiful, though I think even having a URL that you open that quits interactive mode would be sufficient.

I'm doing both. Visually it will open the tab like

but you can also directly navigate to ~/Lombiq.Tests.UI.Shortcuts/InteractiveMode/Continue to get the same effect.

Looks awesome!


Track 19

https://eao-dst.atlassian.net/jira/software/c/projects/TRACK/boards/10?selectedIssue=TRACK-19
Fix bad action configurations and add in checks to prevent errors

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

Please upload report for BASE (develop@68de363). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #2402   +/-   ##
==========================================
  Coverage           ?   77.82%
==========================================
  Files              ?      293
  Lines              ?     9809
  Branches           ?        0
==========================================
  Hits               ?     7634
  Misses             ?     2175
  Partials           ?        0

Flag
Coverage Δ

epictrack-api
77.82% <ø> (?)

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

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


Fix failures with LC_ALL=C

When the locale is C, environment variables which cannot represent in US-ASCII have ASCII-8BIT encoding.

Thank you, this looks fine.
I can reproduce the issue with:
$ A=é ruby -e 'p ENV["A"].encoding'
#<Encoding:UTF-8>
$ LANG=C A=é ruby -e 'p ENV["A"].encoding'
#<Encoding:ASCII-8BIT>

and also with:
LC_ALL=C A=é mspec core/env


Bugfix/320 reserve runners

Coverage increased (+0.008%) to 94.718% when pulling 4e173b4b22e01f18dbf8e7703de9b6c702950152 on bugfix/320-reserve-runners into 737e17f8d864c8bfae0a995f69a13b9550f1e78d on master.


Can't downlaod add-ons

Describe the bug
Once I download the add-ons, It shows "Failed to download add-on installation manifest. I reinstall the playnite but it still can't download.
Screenshots

Diagnostics ID
c785c462-f0b5-4d38-b935-e74af3ab4756

https://github.com/JosefNemec/PlayniteExtensions/issues/188

https://github.com/JosefNemec/Playnite/issues/2952


Vectorstore relevance fn fix

Description:

The changes fixes the normalization in the relevance score functions.
Some vector databases use cosine to indicate cosine similarity while some use it to indicate cosine distance.

SemaDB uses cosine metric to indicate cosine distance. https://rapidapi.com/semafind-semadb/api/semadb/details
Elasticsearch uses cosine metric to indicate cosine similarity. https://www.elastic.co/guide/en/elasticsearch/reference/current/dense-vector.html#dense-vector-params
Neo4j uses cosine metric to indicate cosine similarity. https://neo4j.com/docs/cypher-manual/current/indexes-for-vector-search/#indexes-vector-create
Momento uses cosine_similarity metric to indicate cosine similarity. https://github.com/momentohq/client-sdk-python/blob/main/src/momento/requests/vector_index/similarity_metric.py
pgvector uses cosine distance. https://github.com/pgvector/pgvector#pgvector
Pinecone uses cosine metric to indicate cosine similarity. https://docs.pinecone.io/docs/indexes#distance-metrics
FAISS does not directly support cosine similarity nor cosine distance. https://github.com/facebookresearch/faiss/blob/main/faiss/MetricType.h#L44
TimescaleVector is built on top of pgvector, hence uses cosine distance.
Chroma uses cosine metric to indicate cosine distance. https://docs.trychroma.com/usage-guide#changing-the-distance-function
Redis uses cosine metric to indicate cosine distance. https://redis.io/docs/interact/search-and-query/advanced-concepts/vectors/

Issue:
https://github.com/langchain-ai/langchain/issues/11587
https://github.com/langchain-ai/langchain/issues/13437
https://github.com/langchain-ai/langchain/issues/7384
https://github.com/langchain-ai/langchain/issues/11386
https://github.com/langchain-ai/langchain/issues/12697
Twitter handle: dangoldbj
@baskaryan, @eyurtsev, @hwchase17

@dangoldbj : is OpenSearch included in this?

@dangoldbj : is OpenSearch included in this?

@younes-io  I think OpenSearch vector store is correctly implemented.
https://opensearch.org/docs/latest/search-plugins/knn/approximate-knn/#spaces does use cosineSimilarity to indicate cosine distance. However in the implementation, https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/vectorstores/opensearch_vector_search.py#L270C5-L270C5 the score is converted back to cosine similarity

you're right..
btw, i don't see in OpenSearch vector store implementation a way to do hybrid search (RRF).. I want to do keyword search and use the similarity search and combine them in an Ensemble retriever.. Ofc, I wish there was a way to call search pipelines using OpenSearch vector implementation so that OpenSearch takes care of all of the hybrid search directly since it supports since 2.10 but LangChain doesn't seem to support it for now, right ? Have you done sth like this using OpenSeachVectorSearch ?
thank you

this has a lot of merge conflicts so i am going to close. we will revisitng our vectorstore abstractions in ~1 month and will reference this


Update Documentation for Join Condition Query Strings

Issue Description
The documentation for join conditions in query strings was unclear, leading to potential confusion for users.
Changes

Updated documentation to clarify the correct query string format for join conditions
Added example showing the recommended syntax with square brackets
Highlighted the preferred method of using join[] in query strings

Example
Before:
join=facilities||id,status||on[0]=facilities.status||$eq||Archived
After:
join[]=facilities||id,status||on[0]=facilities.status||$eq||Archived
Reasoning
The updated documentation now explicitly shows the recommended way to construct join condition query strings to ensure correct parsing.
Related Issue
Closes #53

@ZaidMaslouhi thanks for the clarification


Enhancement: Show full response of spo navigation node list

Currently we do not return the full response of command spo navigation node list
Current code:
https://github.com/pnp/cli-microsoft365/blob/97d58e0ab2ebff35aad1870901e18702b7ff85aa/src/m365/spo/commands/navigation/navigation-node-list.ts#L79-L86
Let's:

Return the whole API result
Update response in the docs

I can work on this 😄

Great to hear @nicodecleyre! All yours!


donot patch quota selector to ip retained pods

Pull Request Description
Describe what this PR does / why we need it
This fix the problem that if a stateful pod uses the last ip instance in underlay network it will always be Pending after it is deleted and automatically recreated.
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

Codecov Report

Merging #314 (21ac8ad) into main (1ea4ad4) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main     #314   +/-   ##
=======================================
  Coverage   41.30%   41.30%
=======================================
  Files          40       40
  Lines        2685     2685
=======================================
  Hits         1109     1109
  Misses       1459     1459
  Partials      117      117

Flag
Coverage Δ

unittests
41.30% <0.00%> (ø)

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

Impacted Files
Coverage Δ

pkg/controllers/networking/pod_controller.go
52.66% <0.00%> (ø)

pkg/controllers/networking/quota_controller.go
84.00% <0.00%> (ø)

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


Assignable multimedia keyboard controls

Have you checked the GP2040-CE documentation HERE to confirm this feature doesn't already exist?
Yes. Only one extra key is allowed, as of now.
Which problem is this feature request solving?
Control multimedia keyboard functions on button press.
Describe the solution you would like to see
I'd like to be able to map multimedia keys to button functions, especially volume up and volume down while in keyboard mode.
It would be useful in an arcade cabinet running a pc, as there is no interaction with a keyboard in such environment, only sticks an buttons.
Describe alternatives you've considered

Separate board for just multimedia controls (as an Arduino Leonardo with hoodloader https://github.com/NicoHood/HID)
ahk script to intercept gp2040 keypress and remap it into multimedia function // or same solution with xpadder

Can you submit a pull request?
No.
Are you planning on working on this feature yourself?
No.

Just to narrow this down a bit, for the time being this would need to be a HID-Keyboard mode only thing.
I am going to put the base bounty as "add vol up and vol down".

Yes, I second this, only for keyboard mode. It would be a bad idea to mix inputs from different modes.

This was completed and merged into main


derived model json files for LwM2M Bridging

Derived models for LwM2M Bridging (Bugzilla #3399)

I thought that this would be done through oneIOTa.

the latest derived models were uploaded to oneIoTa


Several molecules

Summary
Major revision. Algorithm and molecule is now seperated. Algorithm is not tight to single molecule. Version of algorithm can be tested with different molecules. Comparison can be made only by metrics produced by same molecule.
How to test
Makemigrations and migrate needed.
Insert molecules, algorithms, several version of algorithms, several measurements with different molecules but same versions.
Check that inserted data can be viewed in algorithm details view and comparison work as expected.
Probably there is some issues which must be fixed before merge

Codecov Report

Merging #67 (0b05ec3) into main (2872884) will decrease coverage by 2.89%.
The diff coverage is 84.05%.

@@            Coverage Diff             @@
##             main      #67      +/-   ##
==========================================
- Coverage   97.87%   94.97%   -2.90%
==========================================
  Files           9       11       +2
  Lines         565      637      +72
==========================================
+ Hits          553      605      +52
- Misses         12       32      +20

Impacted Files
Coverage Δ

WebCLI/views.py
87.61% <63.79%> (-7.97%)
:arrow_down:

WebCLI/models.py
92.30% <90.00%> (-1.81%)
:arrow_down:

WebCLI/templatetags/metrics_selector_form.py
100.00% <100.00%> (ø)

WebCLI/templatetags/molecule_selector_form.py
100.00% <100.00%> (ø)

WebCLI/templatetags/version_selector_form.py
100.00% <100.00%> (ø)

WebCLI/tests.py
100.00% <100.00%> (ø)

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 2872884...0b05ec3. Read the comment docs.

Looks good to me.


CSV file generation seemingly not flushing data

The code I use for CSV generation is randomly failing to flush/sync data to disk upon return from csvsave—stating the file immediately after returns size=0 .
It happens when processing a large number of files in quick succession. I'm wondering if anything has changed recently either in RubyVIPS or libvips that could cause this to happen? Maybe some concurrency settings, perhaps? I haven't changed any code. I have upgraded libvips from 8.6.3 to 8.10.2, and ruby vips from 2.0.16 to 2.0.17.
This is a trace from the application logs immediately after calling csvsave.  Writes are buffered and flushed on finalize, which I suppose being triggered from the Ruby GC.
You're right, it should probably flush at the end of the write operation.

Hey @jcupitt,
Aha! OK. Well at least I wasn't going crazy 👍
Does that apply to all the save methods?

I'm just looking now -- I've found 5 or so missing flushes. I'll fix this.

OK, this should be fixed in 8.10.3, I credited you in the ChangeLog.
Thanks for finding this silly thing!

Thank you as always for getting stuff fixed so quickly!
I presume rawsave, dzsave, tiffsave, etc. are ok and it was just those 5 or so you found?

Yes, I looked through all the savers and just those four were missing.

Again, thank you. So good.


Dennis_Batiste_Regression__Part2

Assignment

[ ] Look at the data. Choose a feature, and plot its relationship with the target.

No reason to re-import the data after scrubbing the outliers. Remove that line and the rest of the notebook looks a lot more meaningful, as you aptly predicted :). Now, check out the code in the third cell of the notebook for the answer to your question of how the outlier can be scrubbed.

[ ] Use scikit-learn for linear regression with one feature. You can follow the 5-step process from Jake VanderPlas.

Nice job. Your results will be better with the outliers gone.

[ ] Define a function to make new predictions and explain the model coefficient.

NIce!
How can you make this function more versatile? What if we want to know about bathrooms or some other feature?

[ ] Organize and comment your code.

Can use some work here. Pay close attention to things like importing twice. Slow down and read the code given to you to make sure you know what has been done to the data you're being given. You'll need to do those things on your own on the job.

Stretch Goals

[ ] Do linear regression with two or more features.

Give this a shot!!!

Late and still not done yet

Regression 2
Make sure to get rid of that extra df = pd.read_csv(...) that's negating all the work above it!

[ ] Do train/test split. Use data from April & May 2016 to train. Use data from June 2016 to test.

Look at the dates you have in the dataset. Seems like you can split the data around one data.

[ ] Engineer at least two new features. (See below for explanation & ideas.)

😢

[ ] Fit a linear regression model with at least two features.

Technically done.

[ ] Get the model's coefficients and intercept.

😢

[ ] Get regression metrics RMSE, MAE, and R^2, for both the train and test data.

😢

[ ] What's the best test MAE you can get?

Ridge Regression

[ ] Do train/test split. Use data from January — March 2019 to train. Use data from April 2019 to test.
[ ] Do one-hot encoding of categorical features.

Kinda strange that Land_SQUARE_FEET is in the categorical features.

[ ] Do feature selection with SelectKBest.

k = 'all'. What's the point of using a selection algorithm if we don't select anything?
From the docs :The “all” option bypasses selection.
Make k a number of features to select.

[ ] Do feature scaling.
[ ] Fit a ridge regression model with multiple features.
[ ] Get mean absolute error for the test set.

Getting things done in the fewest lines of code is not a very good goal. Writing code that is readable by others is much more important.

[ ] As always, commit your notebook to your fork of the GitHub repo.

✔


Update README.md

addSource is no longer available in the spectrogram.js API, so I've updated the example.

@ajduberstein thanks!


[Close Window] Is there a method that can close window by its own button

When it comes an alert message or some input situation. The simplest case is that we have two buttons "yes" and "no",  we can click one of them and then the window will close automatically. At the same time, parent widget will get the choice we did.
I tried to change "open" parameter but comes a reference conflict. And I tried to do something like "frame.quit" but failed. Also in the demo app, I could not find a demo to reproduce such a situation.

In my app, I use a VecDeque to hold a list of error messages and closures for what to do when one of the buttons are pressed. Here's the code. And here's where it is currently used for an example of the flexibility this kind of dynamic setup provides. There's also some useful documentation right here.
In short, you don't need to use the open method with an exclusively borrowed bool. You can use any state you want to conditionally create (and hide) a window. Even the obviously naive solution:
if self.show_error {
    egui::Window::new("Error").show(ctx, |ui| {
        if ui.button("Close").clicked() {
            self.show_error = false;
        }
    });
}

In my app, I use a VecDeque to hold a list of error messages and closures for what to do when one of the buttons are pressed. Here's the code. And here's where it is currently used for an example of the flexibility this kind of dynamic setup provides. There's also some useful documentation right here.
In short, you don't need to use the open method with an exclusively borrowed bool. You can use any state you want to conditionally create (and hide) a window. Even the obviously naive solution:
if self.show_error {
    egui::Window::new("Error").show(ctx, |ui| {
        if ui.button("Close").clicked() {
            self.show_error = false;
        }
    });
}

Thank you so much! It works!

Work also for me. The little inconvenience of this method is that the window is no longer closable by the classic cross on the top right corner.

Yeah, this is for sure a limitation of the current design.
You might be able to use a temporary bool for the open() method. It's definitely more convoluted this way. I'm sure any advancements in the design to allow multiple ways to close an egui::Window would be awesome. (Maybe using a channel or something?)
let mut show_error = self.show_error;
if show_error {
    egui::Window::new("Error")
        .open(&mut show_error)
        .show(ctx, |ui| {
            if ui.button("Close").clicked() {
                self.show_error = false;
            }
        });
}
self.show_error &= show_error;


Created bes-drupal-cve-2019-6339-rce-playbook

@asa1997
Please share your comments

@jobyko  Please add the code snippet as a seperate file.
@panickervinod


Not detecting some packages as third-party

I depend on the distribution pymongo, which installs packages pymongo and bson (and gridfs but I don't use that). I have:
from __future__ import absolute_import, division, print_function

import datetime
import logging
import operator
import os
import socket

import bson
import pymongo

I run python setup.py test and get:
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
________________________________________________________________________________________________________________________________________________ [pylint] src/deploy/ddb.py _________________________________________________________________________________________________________________________________________________
C: 10, 0: third party import "import pymongo" should be placed before "import bson" (wrong-import-order)

This does not occur on 4.3.10 but does on 4.3.11. I also checked that it does not occur before 4.3.5 (because I read that too many files were being ignored from that version until 4.3.11).

Same problem here when linting with pylint:
************* Module cli.partial_environment_command
cli/partial_environment_command.py:18 [wrong-import-order] third party import "import requests" should be placed before "import botocore.exceptions"
cli/partial_environment_command.py:19 [wrong-import-order] third party import "import tabulate" should be placed before "import botocore.exceptions"
cli/partial_environment_command.py:20 [wrong-import-order] third party import "import troposphere" should be placed before "import botocore.exceptions"
************* Module cli.overview_command
cli/overview_command.py:11 [wrong-import-order] third party import "import tabulate" should be placed before "import progressbar"

but with a strange twist: it only happens when I do not have my virtualenv activated and call pylint directly:
$ ./.venv/bin/pip install isort==4.3.11
Collecting isort==4.3.11
  Using cached https://files.pythonhosted.org/packages/66/c0/d3c3f902edf8f5f956f26ca0570e59dabfcaee6b75bdd7bdd5a1e8f8f7c9/isort-4.3.11-py2.py3-none-any.whl
Installing collected packages: isort
  Found existing installation: isort 4.3.10
    Uninstalling isort-4.3.10:
      Successfully uninstalled isort-4.3.10
Successfully installed isort-4.3.11

$ ./.venv/bin/pylint cli
************* Module cli.partial_environment_command
cli/partial_environment_command.py:18 [wrong-import-order] third party import "import requests" should be placed before "import botocore.exceptions"
cli/partial_environment_command.py:19 [wrong-import-order] third party import "import tabulate" should be placed before "import botocore.exceptions"
cli/partial_environment_command.py:20 [wrong-import-order] third party import "import troposphere" should be placed before "import botocore.exceptions"
************* Module cli.overview_command
cli/overview_command.py:11 [wrong-import-order] third party import "import tabulate" should be placed before "import progressbar"

-------------------------------------------------------------------
Your code has been rated at 9.99/10 (previous run: 10.00/10, -0.01)

$ ./.venv/bin/pip install isort==4.3.10
Collecting isort==4.3.10
  Using cached https://files.pythonhosted.org/packages/27/ad/b101ff664a1c58589b03291bcaaab2a7df1a1030124f1347fe21b0b94916/isort-4.3.10-py2.py3-none-any.whl
Installing collected packages: isort
  Found existing installation: isort 4.3.11
    Uninstalling isort-4.3.11:
      Successfully uninstalled isort-4.3.11
Successfully installed isort-4.3.10

$ ./.venv/bin/pylint cli

-------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 9.99/10, +0.01)

$ source .venv/bin/activate

$ ./.venv/bin/pip install isort==4.3.11
Collecting isort==4.3.11
  Using cached https://files.pythonhosted.org/packages/66/c0/d3c3f902edf8f5f956f26ca0570e59dabfcaee6b75bdd7bdd5a1e8f8f7c9/isort-4.3.11-py2.py3-none-any.whl
Installing collected packages: isort
  Found existing installation: isort 4.3.10
    Uninstalling isort-4.3.10:
      Successfully uninstalled isort-4.3.10
Successfully installed isort-4.3.11

$ ./.venv/bin/pylint cli

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

$ ./.venv/bin/pip install isort==4.3.10
Collecting isort==4.3.10
  Using cached https://files.pythonhosted.org/packages/27/ad/b101ff664a1c58589b03291bcaaab2a7df1a1030124f1347fe21b0b94916/isort-4.3.10-py2.py3-none-any.whl
Installing collected packages: isort
  Found existing installation: isort 4.3.11
    Uninstalling isort-4.3.11:
      Successfully uninstalled isort-4.3.11
Successfully installed isort-4.3.10

$ ./.venv/bin/pylint cli

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

I think it is related to #881

This should be fixed in 4.3.12: https://github.com/timothycrosley/isort/releases/tag/4.3.12
Thanks!
~Timothy

Works for me!


feat: handle BrokenPipeError from dbus-next via bleak

Codecov Report

Merging #8 (293d734) into main (808e05b) will increase coverage by 0.23%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #8      +/-   ##
==========================================
+ Coverage   98.03%   98.27%   +0.23%
==========================================
  Files           1        1
  Lines          51       58       +7
  Branches        7        9       +2
==========================================
+ Hits           50       57       +7
  Misses          1        1

Impacted Files
Coverage Δ

src/bleak_retry_connector/__init__.py
98.27% <100.00%> (+0.23%)
:arrow_up:

Continue to review full report at Codecov.

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


Update docker-py to 1.2.2

There seems to be no error in the log, just a timeout from Travis

What about updating requests and websocket_client?

@np why are you using different versions of dependencies?

cc @offlinehacker

@np ping? Can we get this rebased/questions answered or closed?

Looking at the requirements file for docker-py https://github.com/docker/docker-py/blob/master/requirements.txt makes explicit requirements for these versions.

Commit message does not match the guidelines

@np are you still interested in this?

I've updated it to 1.5.0, clsoing


Target the .NET 5 framework

Is your feature request related to a problem? Please describe.
The old legacy .NET 4.7.2 Framework is holding the project back and reduces ability of cross-platform, portability, cloud builds.
Describe the solution you'd like
I would like to see the project target a modern version of .NET such as .NET 5 or the upcoming .NET 6.
Describe alternatives you've considered
None.
Additional context
None.

@vanillajonathan Thank you for opening this issue, we are currently held back because there isn't any official support for .NET 5 and UWP applications right now. We will definitely upgrade to newer versions of .NET when it becomes a possibility in the future.

Oh, UWP is coming in .NET 6 in November.


fix: fix wait-for-job and alter its defaults

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/ankorstore/toolbelt?version=dev:064ced488356ca2ecfd4a05da6556fbaa36ebb05

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/ankorstore/toolbelt?version=dev:ed5706d58008766a0c6992c363c43d8b2e779c44

Your orb has been published to the CircleCI Orb Registry.
You can view your published orb on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/ankorstore/toolbelt?version=0.3.1


Added Solutions to Interview Questions

Link to the Markdown : https://github.com/Akshay-jain22/IRIS-RoR-Bootcamp-2020/blob/session_6_akshay_jain/interview_questions.md

Tell if some of the solutions are not correct. It'll be helpful :)

Link to the Markdown : https://github.com/Akshay-jain22/IRIS-RoR-Bootcamp-2020/blob/session_6_akshay_jain/interview_questions.md

Pull from the repository, create a new branch and push again
Style the answers as:

What is meant by frontend and backend

The part of a website that user interacts with directly is termed as front end. It is also referred to as the 'client side' of the application.
Backend is 'server side' of the website. It stores and arranges data, and also makes sure everything on the client-side of the website works fine. It is the part of the website that you cannot see and interact with.

Add external links to resources on the topic the question is based on.

Link to the Markdown : https://github.com/Akshay-jain22/IRIS-RoR-Bootcamp-2020/blob/session_6_akshay_jain/interview_questions.md

Thanks for taking on this issue - it will take a lot of time to carefully review and polish the pull request, so be patient between round of reviews.

Pull from the repository, create a new branch and push again
Style the answers as:

What is meant by frontend and backend

Add external links to resources on the topic the question is based on.

It's on new session 6 branch only.. Should I create a interview questions branch?

Link to the Markdown : https://github.com/Akshay-jain22/IRIS-RoR-Bootcamp-2020/blob/session_6_akshay_jain/interview_questions.md

Thanks for taking on this issue - it will take a lot of time to carefully review and polish the pull request, so be patient between round of reviews.

Pull from the repository, create a new branch and push again
Style the answers as:

What is meant by frontend and backend

Add external links to resources on the topic the question is based on.

It's on new session 6 branch only.. Should I create a interview questions branch?

Yes, session 6 is not the same as interview questions

Closing this PR..Check new PR for any suggestions


feat: query hca to associate dois with projects (#81)

Additional notes:

We want to initialize the DOI-to-project mapping when the server starts, which is why I've enabled Next's "instrumentation" feature, since that allows running a function on server start
Storing the projects info on the global object (as opposed to using a singleton pattern) is what makes the data accessible after the instrumentation runs and between rebuilds done by the dev server


comments

High priority (must-fix)

[x] Add a section called analysis, and explain why exactly you chose that specific method of analysis to answer your questions. Why do you think that method of visualization would help you to answer the questions.

[x] Just graphs alone do not answer your questions. You need to explain how those visualizations answer your questions.

[x] Add a section called conclusion and summarize your findings and analysis method.

Thank you for your feedback. I have tried to address it to the best of my abilities by making the required changes.


done working on the UI for the API Keys

Add loom video

@alexboateng please find below the link to the loom video
https://www.loom.com/share/9dae1f4da166443dac90b12a15d9ef7a?sid=c332d90b-2664-451b-96c3-0a68430771cf

Loom video should show UI in browser as well

@alexboateng please find below loom video
https://www.loom.com/share/63ebf7d8e9e945ea844ba43ec977fd55?sid=50390c90-589c-4305-bae0-d773bd4288e9


Why only one datasource?

Request Type

[ ] Small Fix (wording, errors, typos, etc.)
[X] Explanation Improvement (make a description clearer for the reader of the docs)
[ ] Walkthrough Request (new tutorial for a particular feature or use case)
[ ] Other

Description
In the section regarding datasources I see no mention about the limitation to only having one datasource per project. There is a note about it on the settings page.
Why is an Evidence project limited to one datasource? It´s quite a big limitation. Being able to bring reports together from multiple data sources seems to me to be one of the biggest points of any BI tool. What am I missing?
If improving on existing content, where is that content located?
https://docs.evidence.dev/core-concepts/data-sources/

Hi @andrejohansson, really just for simplicities sake when we were getting started with the project, but we are working on support for multiple data sources.
Most BI tools which offer great support for multiple data sources include their own query engine in addition to connections to other databases, so that you can combine data across multiple sources. The current version of Evidence doesn't have this, but that's what we're building here (powered by duckdb): #768
You can try the pre-release of this version of Evidence here: https://github.com/evidence-dev/template/tree/next
Closing for now!

Thank you for the answer and pointer!

@mcrascal I tried the instructions you told me, but I get an internal server error and the following error message:

[plugin:vite:import-analysis] Missing "./fonts.css" specifier in "@evidence-dev/tailwind" package

D:/lab/evidence-multiple/.evidence/template/src/pages/+layout.svelte

Error: Missing "./fonts.css" specifier in "@evidence-dev/tailwind" package
    at e (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:21420:25)
    at n (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:21420:627)
    at o (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:21420:1297)
    at resolveExportsOrImports (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:28712:20)
    at resolveDeepImport (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:28731:31)
    at tryNodeResolve (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:28419:20)
    at Context.resolveId (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:28180:28)
    at Object.resolveId (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:44207:64)
    at async TransformContext.resolve (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:43923:23)
    at async normalizeUrl (file:///D:/lab/evidence-multiple/node_modules/vite/dist/node/chunks/dep-df561101.js:41793:34

Click outside, press Esc key, or fix the code to dismiss.
You can also disable this overlay by setting server.hmr.overlay to false in vite.config.js.

Could this MR be the cause?

@ItsMeBrianD thoughts? @andrejohansson we also have a slack channel for the prerelease if you're keen.

I think this is due to an issue we had with changesets; it should be fixable by adding this to your package.json:
{
  "overrides": {
    "@evidence-dev/tailwind": "1.0.0-usql.1"
  }
}

Then run npm i and try to run it again


identifier "__cpuid" is undefined at '...\HandleMaster\src\dyn_data.cpp' L21

Any info regarding this? I just downloaded the entire git to my sources directory and started building it when it spit out the error.

I just only had to include the Intrin.h file


Build non cuda variant

Having CUDA in systems with unsupported soft (kernel version) and certain cards can be very risky. Should get our packages like:

nocuda-gpl
cuda-gpl
nocuda-lgpl
cuda-lgpl

Changes are minimal (essentially switch enable with disable in configure and remove the headers from the build section).

For cuda versions, check driver and scream out load in a post-install hook if the nvidia driver exists and is unsupported.

We now have 4 versions (nvidia, nonvidia) x (gpl, lgpl) differentiated by the build string. Can be installed like:
'loopbio::ffmpeg=*=nvidia_gpl*'
'loopbio::ffmpeg=*=nvidia_lgpl*'
'loopbio::ffmpeg=*=nonvidia_gpl*'
'loopbio::ffmpeg=*=nonvidia_lgpl*'

For the record, I tried to understand if the newer "build variants" and/or "multiple outputs" would help to keep all the recipes in the same file, and my conclusion is "no". If selectors could accept arbitrary python statements + if variants could be applied to selectors + forwarding variants via envvar to build.sh or selecting different build.sh + if conda-smithy could autogenerate the 4 branche, it could make for a very simple and elegant recipe. Too many ifs.

Note that the first version with all the 4 variants is 4.0.2.


chore: bdd-spring-1573691490 to 0.0.1

chore: Promote bdd-spring-1573691490 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Check target mismatch for TryCoerceToRecord

Fix issue: https://github.com/microsoft/Power-Fx/issues/1571
and: https://github.com/microsoft/Power-Fx/issues/1570

✅ No public API change.

✅ No public API change.

✅ No public API change.


(WIP) Support extern specs

Current work

[x] Macro to generate dummy functions from stubs (like Prusti's)
[ ] Hack to make macro available in (rustc|cargo)-flux
[x] Replace the DefId of a function marked extern with that of a dummy function with an assumed spec
[x] Address review comments (most notably move the macro to a new crate)

Overview
Here's my understanding of how extern specs are implemented in Prusti, which I am using as a guide for our own implementation.
Invocation stage
Prusti adds the compilation flag --extern prusti_contracts=path/to/libprusti_contracts.rlib so that macros are available whenever you check with it.
Macro stage
The user writes code like
use prusti_contracts::*;

#[extern_spec(std::mem)]
#[ensures(*a == old(*b) && *b == old(*a))]
pub fn swap(a: &mut i32, b: &mut i32);

The extern_spec macro expands it to something like
#[prusti::extern_spec]
#[ensures(*a == old(*b) && *b == old(*a))]
pub fn prusti_extern_spec_swap(a: &mut i32, b: &mut i32) {
    std::mem::swap(a, b)
}

Type checking stage
When Prusti sees the prusti::extern_spec annotation, it traverses the body of its associated function until it finds a function call expression. It then extracts the DefId of the function (in this case std::mem::swap). It then registers this DefId as having the same spec as prusti_extern_spec_swap.
Why does Prusti do this?
This is very janky, but after discussing with Nico and thinking about it myself it unfortunately seems like the easiest solution.
There are several explanations for the jank:

Passing an --extern flag to cargo/rustc makes it so that you can check things without introducing an additional dep, most notably standalone files.
Going through the whole rigamarole of having a macro expand the spec is the best way to get typing information about the external function. There doesn't seem any particularly good way to take a string like std::mem::swap and resolve it to the right DefId without running the whole compiler.*
However, there doesn't seem to be a straightforward way of writing out a path and telling Rust "hey, get the DefId of this but otherwise ignore it." So that's why they make a whole dummy function and traverse it to extract the path.
Finally, there are some advantages to having a dummy function, most notably that they can just pretend as if the external spec was a trusted local definition - this prevents some duplication of logic.

* I'd be interested in seeing if it's possible to generate a new top-level AST node to extend the TyCtx with and run the typechecking/namespace resolution algorithm on it. This essentially would do the macro expansion as part of the flux driver callback. However I don't have high hopes for this method since I'm guessing that flux is operating after these resolutions have finished.
What I've added
See Current work for the checklist.
See the tests for examples of the syntax.
Macro
Our macro is slightly different from Prusti's in that it expects a function instead of a stub. I found that easier to work with.
Here's how it works. We start with an empty function definition.
use flux_macros::extern_spec;

#[extern_spec(std::mem)]
#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]
fn swap(a: &mut i32, b: &mut i32) {
}

The macro parses the std::mem into a module path and then transforms the function into
#[flux::extern_spec]
#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]
#[allow(unused, dead_code)]
fn swap(a: &mut i32, b: &mut i32) {
    std::mem::swap(a, b)
}

Note that extern_spec and flux::extern_spec are not the same - the latter is an "internal" attribute that expects the function to be defined in a particular way.
Type checking
I've added an attribute #[flux::extern_spec]. This attribute requires an associated #[flux::sig] attribute and that the dummy function it's an attribute of is in the exact form of the function Prusti's extern_spec macro generates. The attribute makes the associated dummy function trusted.
I added an extern_fns attribute to the various contexts. It maps the DefId of an external function to the DefId of its local dummy function. Now when we resolve a function DefId during type checking, we first check if it's an external spec, returning the associated dummy function's signature if it is.
The nice thing about having the dummy function is that well-formedness checks and identifier resolution are handled just like they would be for a normal function, so we don't need to do any extra work.
Limitations
When we add support for extern_spec macros, users will have to import the macro from flux_macros unqualified. Perhaps there is a way to change the import so that they can call it flux::extern_spec - I'm not too sure about how name resolution works.
Extern specs are only implemented for functions right now.
Acknowledgements
Prusti's handling of extern specs was instrumental in helping me figure out what code I needed to write. For every line of code I wrote, I probably read 10 lines of their code.

Added the extern_spec as a macro in flux-attrs-proc-macros and tested it locally - testing in our tests would require an overhaul of how we do tests and would be generally annoying so I have not done that yet.


Angular CLI: 6.0.1 - unable to generate JUnit report - Unknown option --reporters

After upgrading Angular and Angular CLI to lastest varsion, it is unable to generate JUnit test report.
With previous Angular version it was possible to create unit tests report correctly.
I would like to ask for fix that issue.
Versions
npm: 6.0.1

Angular CLI: 6.0.1
Node: 8.11.1
OS: linux x64
Angular: 6.0.1
... cli, common, compiler, compiler-cli, core, forms, http
... platform-browser, platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.6.0
@angular-devkit/build-optimizer   0.6.0
@angular-devkit/core              0.6.1
@angular-devkit/schematics        0.6.1 (cli-only)
@ngtools/webpack                  6.0.0
@schematics/angular               0.6.1 (cli-only)
@schematics/update                0.6.1 (cli-only)
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.6.0

Repro steps
run command on
ng test --reporters junit
Observed behavior
Unknown option '--reporters'

Desired behavior
The report with unit tests results should be created.
Mention any other details that might be useful (optional)
I have a karma junit installed in project, taken from here:
https://github.com/karma-runner/karma-junit-reporter
I'm providing below my karma.conf.js file structure:
module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('@angular-devkit/build-angular/plugins/karma'),
      require('karma-junit-reporter')
    ],
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: ['progress', 'junit'],
    junitReporter: {
      outputDir: 'reports', // results will be saved as $outputDir/$browserName.xml
      outputFile: 'junit.xml', // if included, results will be saved as $outputDir/$browserName/$outputFile
      useBrowserName: false // add browser name to report and classes names
    },
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

Hi,
In your Karma configuration file I see that junit is included as one of your reporters. If you run ng test without the --reporters flag does it produce the junit test report as junit.xml?
cheers
Charlie

Hello Charles,
Yes, when I remove --reporters flag from the ng test commnad, the junit report is being produced correctly.

Hi,
It seems that the --reporters option has been removed from the ng test command. Another way to specify which reporters to use is to write a separate karma configuration file and then use the --karma-config option.
You might also have seen issue #10852, where it is asked whether there are other ways to specify the reporters, without the need to write a new configuration file.  I don't see a way to do this in the documentation, however.
cheers
Charlie

Yes, I've seen the equivalent issue about the touched case.
Thank you very much for your clarification.
Best regards,
Rafał

Duplicate of https://github.com/angular/angular-cli/issues/10852


same dimensional feature output for all input videos of different lengths

hi,  I am trying to run the feature extractor for my video pre-processing.
I want to generate the same dimensional feature output for all input videos of different lengths, is there an easy way to do this?
Thank you!

yes. i encounter the same question, and i guess we have to find a min length of the input videos and adjust the code a little bit


Possible to change blob table?

Use case: if users want to crop a video, they may want to start from a table of path to videos, or just start from a table of path to frames. Any easy way to support both in one engine?

@continue-revolution please describe the workflow in more detail and what prevents this from happening at the moment

experiment shows that we can


Cyclops Level Builder 1.0.2 error on Godot 4.2.1

Hi,
I keep on getting those 3 errors everytime I open my project with Cyclops installed, I followed the enabling process on the github page, tried importing from the ZIP AND the source file and it's always the same
res://addons/cyclops_level_builder/snapping/snapping_system_grid_properties_editor.gd:46 - Invalid set index 'value' (on base: 'PanelContainer (NumbericLineEdit)') with value of type 'float'.
res://addons/cyclops_level_builder/snapping/snapping_system_grid_properties_editor.gd:46 - Invalid set index 'value' (on base: 'PanelContainer (NumbericLineEdit)') with value of type 'float'.
res://addons/cyclops_level_builder/tools/tool_block_settings_editor.gd:42 - Invalid set index 'disabled' (on base: 'PanelContainer (NumbericLineEdit)') with value of type 'bool'.
res://addons/cyclops_level_builder/controls/vector3_edit.gd:28 - Invalid set index 'value' (on base: 'PanelContainer (NumbericLineEdit)') with value of type 'float'.
The third error happens every frame so it's kind of annoying and disrupts my workflow, could someone help me on this one please?

That code has changed.  If you check out the development build, does it still happen?

I juste tried to clone the git repo and try the "master" branch version and it seems that the error message is gone. Thank you for the fast answer :)

Glad it's working!


Add nnapi/sl/SupportLibrary.cc to TFLITE_NNAPI_SRCS

nnapi/sl/SupportLibrary.cc is missing from the source when TFLITE_ENABLE_NNAPI option is set.
This patch add it to TFLITE_NNAPI_SRCS.

Any update?

@karimnosseir Can you please review this PR ? Thank you!


Custom field tests

draft until #89 (only the last commit is really part of this PR)
Add simplified test for custom fields.
Fixes #28. See also #67

rebased on main, ready for review


Spelling Mistake

Hi.
There is a spelling mistake in the MemConfig.py file.
The word "memoy" appears to be misspelled in the MemConfig.py (line 43) file.
The correct word should be "memory."
in the stable version.
AM.A

Fixed by #314


[MD][Cred Mgr]PoC delete credentials

Description

PoC delete credentials

Resolve some UI feedbacks in #9

Issue

Add Table route

Can we follow the convention and add title filed to credential saved object mapping?
This can enable some logic and code reusability.  Thanks.

Can we follow the convention and add title filed to credential saved object mapping?
This can enable some logic and code reusability. Thanks.

If I'm not mistaken, the 'title' field is not provided by the SavedObjectsType interface as metadata. Although the management field 'getTitle' is defined in the SavedObjectsTypeManagementDefinition interface, overriding it allowed us to get the specific attribute directly. In stead of using getTitle, we can use getCredentialName function provided here - https://github.com/elastic-analytics/OpenSearch-Dashboards/blob/2.x/src/plugins/credential_management/server/saved_objects/credential_saved_object_type.ts#L21
Willing to know which existing part you'd like to reuse and let's discuss on how to reuse that. Thanks


Spatial reverb bus - Wwise

Hi,
I've added the spatial reverb to our project (UE4.27, WWise 2021.1.7) and ran into some weird problems. When authoring in Wwise it works fine, 12 channels on the spatial reverb and you can hear position when modifying the RTPCs. But when running from in-game it mixes down to two channels on the spatial reverb, and with no audible difference in position. The RTPCs update correctly and the sample project works fine. I wonder if there might be some old Wwise setting in UE that causes this or do you have any other suggestions?

Hi HDalsfelt, thank you for reaching out with your issue! It sounds like this could be related to an out-of-date config file... you can try by temporarily renaming the configs in Config/ and re-initing UE; refreshing those may solve your problem. Let me know if that solves it or if we can help you triage it further. :)

I did some tests but I didn't manage to fix the problem. Have any idea what setting might cause the problem? Seems like the number of channels is limited or something. I will continue searching

Hi HDalsfelt, how are you bussing the spatial reverb output? Is the output set to Audio Objects? And do you see any error logs that pop up on the UE side (search the log for Acoustics)

Yes, I've set it up exactly as the sample-project. Reverb (Audio objects)-> Headphone mix (audio objects) -> Main mix. The weird thing is that it looks/sound fine when authoring in wwise, but when I trigger same event from ingame the spatial reverb outputs stereo.
No error logs in UE, just a message that it down-mix to mono (but I saw that one in the sample project as well). And the actual reverb-effect sounds nice, just missing the "spatial" part.

Seems like I fixed it now. Reinstalled the plugin and redeploying wwise once more to the project did the trick, must have been some mismatch/conflict with the previous install. Anyway, thanks for your help.


how to check subscribed on first View

I want show content or notice subscription on the App's first View, so I need check subscribed first.
but storeHelper.start() is a async function, so the storeHelper.subscriptionProductIds is empty, and can not check subscribed.

Yes, you can't things the way you're attempting it. I would suggest having storeHelper.start() in your @main App struct and then have checks for products being purchased or subscribed in the first view that's displayed.
For example, see SimplePurchaseView() in StoreHelperDemo (https://github.com/russell-archer/StoreHelperDemo). That view could be called directly from your App struct. SimplePurchaseView() shows how to check for a non-consumable product purchase but the same thing would work for a subscription:
@main
struct YourApp: App {
@StateObject var storeHelper = StoreHelper()
var body: some Scene {
    WindowGroup {
        YourFirstView().environmentObject(storeHelper)
            .task { storeHelper.start() }
    }
}

}


Rename docker compose files to include 'docker-compose'

Description
Renamed the various docker compose files to be prefixed with docker-compose. and updated references.
Checklist:

[x] I've made sure that tests are updated accordingly (especially if adding or updating a template option)
[x] I've updated the documentation or confirm that my change doesn't require any updates

Rationale

Fixes #4983 (makes the files' purpose clear, puts them next to each other alphabetically and therefore visually in most editors, and lets VSCode detect them as compose configs)

Thanks!


Command + Up not working on OS X

⌘ + ↓ works as expected in navigating down channels. However, ⌘ + ↑ does nothing.
Can't confirm if it's the same on Linux or Windows

Problem was another program using the keybind