[sui-bcs-json] add a library for converting between bcs and json (and vice-versa) for transaction data

Description
This PR adds support for a Rust implementation that exposes a C interface for supporting conversions between BCS and JSON formats for TransactionData type and its subtypes. More details are available in this issue: #13483.
Currently this is work in progress.
Test Plan
Several tests are included. Plan to include also C tests.

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes
This PR adds support for a Rust implementation that exposes a C interface for supporting conversions between BCS and JSON formats. More details are available in this issue: #13483.

@bmwill Lots of updates here

got rid of safer_ffi
added more tests
finished the vector implementation
added more docs

Still needs to be decided: which types to support directly, and how to support custom structs?

@bmwill - would love to hear your feedback on the changes here.
Some updates

got rid of safer_ffi
added vector implementation (thanks @amnn for helping here)
added some docs + tests

Still to be decided:

which types to support (now we have a few that I will remove) or how to support custom structs
how to package this for external consumption

@amnn - this is ready for re-review. A few things changed since last time:

support for vector through this TypeLayout pattern that we discussed
added types that are used in the BCS TS SDK: MultiSig / MultiSigPublicKey / SuiAddress / String.
primitive types are usually lowercase, Sui / Move specific types are uppercase.

Will add these days some tests that are shared between this library and the BCS TS SDK.

I decided to do a clean room implementation of the core serialisation/deserialisation logic, using serde's Serialize and DeserializeSeed.  Here it is:
https://gist.github.com/amnn/cb02dfd0a6cd53fd64fe108669d1bbee
It's very similar to what you have here, but here are the main differences -- I think they largely boil down to your current implementation mixing some of the patterns from your old implementation with the new:

The Value type that acts as the intermediary needs to contain a variant for every type (not just the primitives, but also TransactionKind, etc).
We are missing the address primitive.
We don't need a tree-like type for TypeLayout -- just the string representation of the type suffices.
There is a generic pattern (of recursively calling serialize or deserialize) that can be applied naturally no matter what types you want to support.

Another important difference:  The gist uses DeserializeSeed to go in both directions (from BCS to JSON and from JSON to BCS), while I think your current implementation does not use it for the latter.
One issue that writing the example highlighted though is consistently stringifying numbers: serde_json expects to see a number literal when parsing a numeric type (it will complain with a type error if it sees a string instead), so even if you special case how primitives are serialized and deserialized (which can be done) you will still face a problem when trying to deserialize a type like TransactionKind -- all its internal integers will still come out as JSON number literals.

even if you special case how primitives are serialized and deserialized (which can be done) you will still face a problem when trying to deserialize a type like TransactionKind -- all its internal integers will still come out as JSON number literals.

That's a good catch!

Another important difference: The gist uses DeserializeSeed to go in both directions (from BCS to JSON and from JSON to BCS), while I think your current implementation does not use it for the latter.
One issue that writing the example highlighted though is consistently stringifying numbers: serde_json expects to see a number literal when parsing a numeric type (it will complain with a type error if it sees a string instead), so even if you special case how primitives are serialized and deserialized (which can be done) you will still face a problem when trying to deserialize a type like TransactionKind -- all its internal integers will still come out as JSON number literals.

So then, do we want to keep parity with TS BCS, where u64, u128, u256 are serialized as strings?

So then, do we want to keep parity with TS BCS, where u64, u128, u256 are serialized as strings?

I'd like to hear your thoughts on this, and @hayes-mysten as well, but here are the things that I tried (none of which panned out):

Annotating the integer values in more complex types using serde_as(as = "DisplayFromStr").  The problem with this approach is that it also affects BCS serde, which we don't want.
Deserializing the BCS into a JSON Value, and then replacing all the integers with strings in that before converting it into a string.  This also affects u8, u16 and u32, and it means then when we convert from JSON to BCS, we can no longer distinguish between a stringified number and a string that happens to contain a number.
Creating a custom Serializer/Deserializer pair that redirects serialization of u64, u128, etc to first stringify, and vice versa on the way back.  This plan almost has legs, but (a) it's a lot of work (Looking at the implementations of Serializer and Deserializer from serde_json), and (b) there's an open question of how it would interpret u256 (although maybe this isn't an issue in practice, and that's already serialised and deserialised as a string).

My thoughts on this are more long-term thinking in terms of risk having to deal with unforeseen problems.
What if we do not serialize them as strings, and someone somehow uses it together with the TS BCS, then we might encounter incompatibilities and errors.
From another point of view, as we discussed, I think both the TS BCS and this library should share a test suite, and thus, their design choices with regards on how to serialize/deserialize u64, u128, and u256 should match.

I'm not a rust expert, but I did find this snippet which seems to handle differentiating specific Number types.

The trouble with this approach is that it's deciding whether to convert to a string or not based on the value, rather than the type in the schema (i.e. if the type is u64 but the value is 42, then it will stay as a numeric literal), and as you mentioned:

This doesn't cover the second half of the issue of converting from JSON to BCS. I don't have a good grasp of how this currently works, but my you need the BCS schema to do this conversion, which should mean that we know the target bcs types, and just need the parser to know how to Go from Value:Number | Value:String to u64

This is where the pain really starts, because these schemas are all defined in the core codebase, by deriving functions to serialize and deserialize them, using codegen.  My last bullet point suggests the way around this -- a JSON deserializer that sees that we're looking for a u64 or u128 and looks instead for a string.  This will 10x the implementation size of this project though, which is why I was not keen to go down that road.
A question for you both: We know that JavaScript's JSON parser will not handle large numeric literals, but how likely is it that someone would generate JSON from this library and feed it into a JS application?  This is intended as a tool for languages that don't have native BCS support, and JS/TS is not one of those.
If the answer to this is "unlikely", then should we revaluate the goal that the TS implementation and this implementation have parity?  For me the answer seems to be based on whether other languages' JSON parsers treat big numbers appropriately or not (for example serde_json with the arbitrary_precision feature will store numbers as strings to avoid this issue, similarly Python has big ints).

@stefan-mysten is it time? Are we reviving this effort?

@bmwill yes, I think we should start looking at it again.
I basically migrated to the types in the sui-rust-sdk repo. I have a few question, but need to poke a bit more to understand a few things: previous MultiSig type - there's now MultiSigCommittee, and a few others, so I need to understand the differences and what it's needed.
Also, we used to have TransactionData and V1 of that but that seems to be different now in the sui-rust-sdk. Need to read the code a bit to see what's new there.
One thing I observed is that u256 is private. Let me know when you think we could make it public.
Hopefully I can poke a bit more today and then I can ask some questions!
Let me know if you have other thoughts or suggestions on reviving this.

Hello @stefan-mysten, I'm making a SUI SDK for PHP and BCS has been slowing me down the most 🥲
I'm tempted to make a Rust lib wrapper directly, but C would def be better supported. Is this PR something you or the project are still actively pursuing?

Hi @mitsosf, yes are still planning to get this finished but we don't have an exact date yet!
What's your timeline?

@stefan-mysten
No hard timeline/deadline really on my end, it's more of a hobby project for now. I've implemented wallets and most of the read functionality for the SDK and wanted to move on to sending transactions.
Are you aware of any other way I can input JSON - or sth similar - and get back the serialized payload using Rust or any other SKDs I could wrap?

You might be able to do so with the pySui SDK for Python: https://pysui.readthedocs.io/en/latest/index.html
but I am not 100% sure.

I'll see if I can make some time to look again into this project, but can't make any promises yet. Please feel free to ping again in this thread in a few weeks if nothing seems to be moving 😅

@mitsosf have a look at this community project: https://github.com/VAR-META-Tech/Rust2C-Sui-SDK
Maybe it can help you in the meantime.


Reading compile_commands.json misreads includes

I am having problems reading the compile_commands.json file. The compile command includes -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-istl which is read as -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dunestl (note the missing dune-istl has been read as dunestl near the end).
For example:
[
{
  "directory": "/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/build-clang/dune-evolving-domains/src",
  "command": "/home/csunix/scstr/Software/anaconda/bin/clang++   -DENABLE_MPI=1 -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX -DMPIPP_H -O3 -Wall -Wno-unused-parameter -std=c++11  -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/build-clang/dune-evolving-domains -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-evolving-domains -I/usr/include/openmpi-x86_64 -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-common -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-geometry -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-grid -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-localfunctions -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-istl -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-alugrid -I/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-fem    -o CMakeFiles/dune_evolving_domains.dir/dune_evolving_domains.cc.o -c /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-evolving-domains/src/dune_evolving_domains.cc",
  "file": "/home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-evolving-domains/src/dune_evolving_domains.cc"
}
]

is read to give so that the output of flycheck-compile on dune_evolving_domains.cc as
clang -fsyntax-only -fno-color-diagnostics -fno-caret-diagnostics -fno-diagnostics-show-option -iquote /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-evolving-domains/src/ -std\=c\+\+11 -Wall -Wextra -DENABLE_MPI\=1 -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX -DMPIPP_H -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/build-clang/dune-evolving-domains -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-evolving-domains -I /usr/include/openmpi-x86_64 -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-common -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-geometry -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-grid -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-localfunctions -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dunestl -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-alugrid -I /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-fem -O3 -Wall -Wno-unused-parameter -o CMakeFiles/dune_evolving_domains.dir/dune_evolving_domains.cc.o -c -x c\+\+ - < /home/cserv1_a/soc_staff/scstr/Software/DUNE/dune-2.4/dune-evolving-domains/src/dune_evolving_domains.cc

This is with GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.14.13) of 2016-01-04 on CentOS Linux release 7.2.1511 (Core).
Any help is appreciated.

Will look into it.

Thanks for the swift resolution :+1: .


VS Code Server: Can't Install on Proxmox

Please verify that you have read and understood the guidelines.
yes
A clear and concise description of the issue.
I get this error when trying to run the install script for VSCode Server: "Can't Install on Proxmox"
Proxmox 8.2.7 - latest updates
What settings are you currently utilizing?
Default Settings
Which Linux distribution are you employing?
Debian 12
If relevant, including screenshots or a code block can be helpful in clarifying the issue.
No response
Please provide detailed steps to reproduce the issue.
Running this command in shell: bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/code-server.sh)"

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/code-server.sh)"
=> Works fine for me.
You need to enter this in an existing LXC, not in the Proxmox Node.
If this failure like this:

Installing Dependencies...‼ ERROR 100@72 Unknown failure occured.

You have an problem with apt-get update or dpkg-
Here an example at my test lxc:
This will Install Code Server on cloudflared. Proceed(y/n)?y
✓ Installed Dependencies
✓ Installed Code-Server v4.93.1 on cloudflared
Code Server should be reachable by going to the following URL.
http://<IP_ADDRESS>:8680

oh... I feel stupid... just saw it: "Execute within an existing LXC Console".🤦♂


[Feature]: Ability to Stop or Remove Redirects Set on Page Load

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
If a user creates a function that redirects to another page and accidentally sets this function to run on page load, they will not be able to access the page to edit the function as it automatically redirects to another page.
The workaround is to modify the exported JSON app manually and reimport, but there should be a way to prevent such scenarios.
Why should this be worked on?
The ability to stop or remove redirects set on page load would improve the user experience as if the user accidentally does this, it is quite cumbersome to edit the exported JSON for a complex app.

Conversation here: https://theappsmith.slack.com/archives/C02K0SZQ7V3/p1654013335926609?thread_ts=1654013335.926609&cid=C02K0SZQ7V3

Shall we move to In Analysis Pipeline? @rohan-arthur @parth-appsmith

@Rishabh-Rathod @rohan-arthur this feels like a fairly edge case. Aren't there more impactful issues right now on our plate?

@Nikhil-Nandagopal i was in an understanding that in-analysis is the pipeline where we analyse the issue and use the RACI metrics to add number to the issue.
Doesn't mean we will prioritize this.
cc: @rohan-arthur

related to #15308


Add ULL and CCR terms and links

Add information to Excel file.

Huh, all the CCR urls 404.
Maybe the terms should be standardized for case (all lower?) and use of spaces (wit space?)? (e.g. prepositional Complement, OrdinalNumeral).
Nit: ull term positive without corresponding URL (remove I guess).

Hmm, strange that the URIs don't work. They are still referred to:
https://vocabularies.clarin.eu/clavas/ccr/en/page/?uri=http%3A%2F%2Fhdl.handle.net%2F11459%2FCCR_C-1232_2b532c10-f973-e6aa-bba5-2e752fcec1d2
It seems that the URIs are correct but that there is a problem with the Clarin pages.

The terms should be standardized indeed, either to what is in skos:notation (camelcase) or skos:prefLabel (with spaces). Since we already include the URIs, I would suggest we go for the skos:prefLabel here.

I would suggest we go for the skos:prefLabel here.

Sounds good

Apparently skos:prefLabel has been applied consistently, but the labels are not consistent. So we don't make any further changes here.


I managed to hot detach in portal?

This documentation claims that you need to deallocate the VM before detaching a data disk through Azure Portal??
I just a minute ago tested detaching a data disk from a running VM through Azure portal. No problems, the disk was detached just fine. Maybe this document needs to be updated? or is the detaching dependent of OS version. My VM was running Windows 2019 datacenter.
Br,
Antti

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

ID: bc8c8392-0eb4-cda5-c282-0656869b7a6b
Version Independent ID: 5d4d2a61-9d83-a09e-2c33-36465a04e5c5
Content: Detach a data disk from a Windows VM - Azure - Azure Windows Virtual Machines
Content Source: articles/virtual-machines/windows/detach-disk.md
Service: virtual-machines-windows
Sub-service: disks
GitHub Login: @cynthn
Microsoft Alias: cynthn

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

From my understanding, data disks can be attached or detached even while the VM is running.
Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@AnttiKiiski Thank you for the feedback! I've updated the docs and they should be live now.
#please-close


Deploy SQL Container doesn't save the credential

Issue Type: Bug
Prior to this version, the "Click here to connect to SQL Server" would open the dialog box with the connection details prefilled. Now it doesn't save the connection details when you click on it.
This is interesting because the Python code actually is supposed to provide this info to the dialog box.
from IPython.display import *
connectionParameter = '{"serverName":"localhost,' + sql_port + '","providerName":"MSSQL","authenticationType":"SqlLogin","userName":"sa","password":' + json.dumps(sql_password) + '}'
display(HTML('
Click here to connect to SQL Server
'))

I can repro this issue also in 1.15.1.
Azure Data Studio version: azuredatastudio-insiders 1.16.0-insider (7eef23f2321a8f95220c974209561593f802d918, 2020-02-20T05:49:05.139Z)
OS version: Windows_NT x64 10.0.18363
To repro:

Ctrl + Shift + P - choose "Deployment: New Deployment"
Choose "SQL Server container image"
Choose version, i.e. 2017 or 2019.
Click Select and then enter the credential details.
A python Notebook should be generated.
Click Run All and then go to the "Connect to SQL Server in Azure Data Studio" section.
Click on "Click here to connect to SQL Server"
You'll see un-filled Connection Details:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz (12 x 3696)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.78GB (43.30GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

I can't repro this, @MsSQLGirl. The manage dashboard opened as it's supposed to on my local machine:

Moving out to April.


Create an ABAP Database Table and Relevant ABAP Dictionary Objects

Tutorials: https://developers.sap.com/tutorials/abap-dev-create-table.html
The task to create an ABAP database table etc doesn's allow using F8 to preview the table contents, at least with my version of ADT. It looks like the dataMaintenance: #NOT_ALLOWED causes an ADT error about not using standard tools for previewing. Changing to #RESTRICTED allows the preview to work OK.

Duplicate

Hi Michael,
You're right - my apologies.
This is fixed and should appear soon.
Best wishes,
Julie Plummer.


prevent multiple html-ids in product-variation-select-component

PR Type

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] CI-related changes
[ ] Documentation content changes
[ ] application / infrastructure changes
[ ] Other... Please describe:

What Is the Current Behavior?

Issue Number: https://github.com/intershop/intershop-pwa/issues/74
What Is the New Behavior?
no multiple html-ids
Does this PR Introduce a Breaking Change?

[ ] Yes
[x] No

was not the right solution. label-for must work


Switch component incorrectly matching routes

Hi there, I don't think the <Switch> component is matching correctly, or at least I'm not using it correctly.
<Switch>
  <Route exact path="/" component={Home} />
  <About />
  <Route component={Splat} />
</Switch>

The <About /> component contains its own routes:

  <Route path="/foo/one" component={One} />
  <Route path="/bar/two" component={Two} />

With this setup, I'm never able to render the Splat route since it thinks About is a match.
This codepen should illustrate my issue - https://codepen.io/justinpincar/pen/xrqQEZ

https://stackoverflow.com/questions/44642711/react-router-v4-catch-all-route

The answer on StackOverflow is pretty much correct (and I added a comment to clear up where it is incorrect).

Thanks Paul, I appreciate it. I understand the behavior now, but my issue still remains. This app has literally over a hundred routes, split into a few containers with common behavior but not shared url paths. Is this setup not possible with react-router v4?

If I had a number of routes that shared some parent container, I would probably write them like this:
class About extends React.Component {
  render() {
    return (

        {this.props.children}

    )
  }
}

const One = (props) => (
  <About>

Page One

  </About>
)

const Two = (props) => (
  <About>

Page Two

  </About>
)

const App = () => (
  <Switch>
    <Route exact path='/' component={Home} />
    <Route exact path='/foo/one' component={One} />
    <Route exact path='/bar/two' component={Two} />
    <Route component={Splat} />
  </Switch>
)

There are other approaches that you could also take, such as writing a custom <Route> that automatically wraps its component in an <About>. I hesitate to bring this up because custom <Route>s can be tricky, but this one should be fairly straightforward.
// you have to use component, not render or children
const AboutRoute = ({ component:Component, ...rest }) => (
  <Route {...rest} render={(props) => (
    <About>
      <Component {...props} />
    </About>
  )} />
)

const One = (props) => (

Page One

);

const Two = (props) => (

Page Two

);

const App = () => (
  <Switch>
    <Route exact path='/' component={Home} />
    <AboutRoute exact path='/foo/one' component={One} />
    <AboutRoute exact path='/bar/two' component={Two} />
    <Route component={Splat} />
  </Switch>
)

Makes sense, and thanks for taking the time to explain how the wrapper would work!

I'm having trouble with this, if I extend the Route into a AboutRoute does <Switch /> treat it the same? I've found my custom <AboutRoute />'s are always rendered.


Train on the irises set

This is kind of not working, though, in the sense that the resulting network is… not very good. See e.g. https://github.com/Smaug123/little_learner/actions/runs/5305990312/jobs/9603299039 which produed the following:
First layer weights: [[-0.8832479428212707,0.9175954121692997,-0.3204274353566796,0.2654661296721583,],[-0.06020709806010653,-0.6304234414039742,0.5021093602555518,-0.5829406508707825,],[-0.21969528664471655,0.40099408058372527,0.5124727964374195,0.17439187363345984,],[-0.6416586556124012,0.7837712267099869,0.19369956043360229,-0.8864400236400671,],[-0.8612363178881417,-0.8074121335174806,0.9409215572663272,-0.7451991027364095,],[0.48333273183126346,-0.47041297776122953,0.3681915745243165,0.4185050177121343,],]
First layer biases: [0,-0.02425398162020503,-0.1780151700008898,-0.013171869195098447,0,0.07793089287638263,]
Second layer weights: [[0.9842999056385157,0.6376423315211718,-0.9666038673738998,0.5703078377375627,0.6522891712762041,-0.7853946288329546,],[0.4566927692598616,0.47564291585900287,-0.9641268566151181,-0.5072626834225693,-0.9872089983679829,0.6332411034367534,],[0.19143736070380205,-0.5201146969760824,0.5705067438730488,1.0555275501146932,-1.2959950012568746,-0.6264020394766912,],]
Second layer biases: [0,0.01086377344136969,-0.18929823635541027,]

In practice this only ever predicted anything to be the middle option:
Test: [NotNan(4.7), NotNan(3.2), NotNan(1.3), NotNan(0.2)]. Actual: [[0,0.1556591142356708,0,],]
Bad prediction! Actual: [0,0.1556591142356708,0,]; expected: [1,0,0,]
Test: [NotNan(5.4), NotNan(3.9), NotNan(1.7), NotNan(0.4)]. Actual: [[0,0,0,],]
Bad prediction! Actual: [0,0,0,]; expected: [1,0,0,]
Test: [NotNan(5.7), NotNan(3.8), NotNan(1.7), NotNan(0.3)]. Actual: [[0,0.168156965533371,0,],]
Bad prediction! Actual: [0,0.168156965533371,0,]; expected: [1,0,0,]
Test: [NotNan(5.4), NotNan(3.4), NotNan(1.7), NotNan(0.2)]. Actual: [[0,0.2769026111567524,0,],]
Bad prediction! Actual: [0,0.2769026111567524,0,]; expected: [1,0,0,]
Test: [NotNan(5.1), NotNan(3.3), NotNan(1.7), NotNan(0.5)]. Actual: [[0,0.21905153422301005,0,],]
Bad prediction! Actual: [0,0.21905153422301005,0,]; expected: [1,0,0,]
Test: [NotNan(5.4), NotNan(3.4), NotNan(1.5), NotNan(0.4)]. Actual: [[0,0.3484652986900476,0,],]
Bad prediction! Actual: [0,0.3484652986900476,0,]; expected: [1,0,0,]
Test: [NotNan(4.9), NotNan(3.1), NotNan(1.5), NotNan(0.1)]. Actual: [[0,0.2658097509946822,0,],]
Bad prediction! Actual: [0,0.2658097509946822,0,]; expected: [1,0,0,]
Test: [NotNan(5.5), NotNan(2.3), NotNan(4.0), NotNan(1.3)]. Actual: [[0,0.5880506743758491,0,],]
Good prediction! Actual: [0,0.5880506743758491,0,]; expected: [0,1,0,]
Test: [NotNan(6.3), NotNan(3.3), NotNan(4.7), NotNan(1.6)]. Actual: [[0,0.16427018557705564,0,],]
Good prediction! Actual: [0,0.16427018557705564,0,]; expected: [0,1,0,]
Test: [NotNan(5.8), NotNan(2.7), NotNan(3.9), NotNan(1.2)]. Actual: [[0,0.48602276543979417,0,],]
Good prediction! Actual: [0,0.48602276543979417,0,]; expected: [0,1,0,]
Test: [NotNan(7.3), NotNan(2.9), NotNan(6.3), NotNan(1.8)]. Actual: [[0,0.5578282045616527,0,],]
Bad prediction! Actual: [0,0.5578282045616527,0,]; expected: [0,0,1,]
Test: [NotNan(6.9), NotNan(3.2), NotNan(5.7), NotNan(2.3)]. Actual: [[0,0.35032808804907223,0,],]
Bad prediction! Actual: [0,0.35032808804907223,0,]; expected: [0,0,1,]
Test: [NotNan(6.4), NotNan(2.8), NotNan(5.6), NotNan(2.2)]. Actual: [[0,0.38159115270109023,0,],]
Bad prediction! Actual: [0,0.38159115270109023,0,]; expected: [0,0,1,]
Test: [NotNan(6.0), NotNan(3.0), NotNan(4.8), NotNan(1.8)]. Actual: [[0,0.207536563985256,0,],]
Bad prediction! Actual: [0,0.207536563985256,0,]; expected: [0,0,1,]
Test: [NotNan(5.9), NotNan(3.0), NotNan(5.1), NotNan(1.8)]. Actual: [[0,0.07746811190884761,0,],]
Bad prediction! Actual: [0,0.07746811190884761,0,]; expected: [0,0,1,]
Bad: 12; good: 3

The book is sadly very unclear on how to get the loss of an output vector rather than an output scalar, and that is why it was so painful to try and apply types - because the book's types don't line up at all!


fix(host): find same vendor iommu_group devices

What this PR does / why we need it:

[x] Smoke testing completed

Does this PR need to be backport to the previous release branch?:

release/3.7
release/3.6

/area host
/cc @swordqiu

/lgtm
/approve


fix for relative cimport from utility in libcpp pxd files. .utility --> ...

fix for relative cimport of utility in libcpp pxd files

This is the wrong place to "fix" this. instead, the warning should properly respond to relative imports (in Cython.Build.Dependencies, I guess).


My web app needs the external provider's access tokens obtained via IdentityServer4, what is the best practice?

Question
My project has a main web app (the relying party client), which relies on a standalone instance of IdentityServer4 for user authentication/authorization.
The IdentityServer is integrated with external identity providers (Microsoft, Google etc).
Normally, the IdentityServer would only use the external provider for authentication, then discard their tokens and ultimately issues its own tokens to the relying party.
But in my case, my web app actually needs these external provider's access and refresh tokens in order to periodically access these social providers on behalf of the user, without the user's presence.
So my question is:

Where should these tokens be stored? In IdentityServer's own database, or at the client?

If they're stored with IdentityServer, how should the web app client access them? Give the client direct access to IdentityServer's underlying database if their connection can be secured?
If they should be stored in the client's own database, what's the best way to deliver these tokens to the client during the initial authorization flow?

If the answer to #1 is that IdentityServer stores these tokens, then who should be responsible for refreshing them periodically so that my web app never loses access to those external providers?

Your advice will be greatly appreciated!

If the web app needs those tokens, I would transfer them back. From that point on it is the web apps responsibility to manage them.

If the web app needs those tokens, I would transfer them back. From that point on it is the web apps responsibility to manage them.


namedtuple class not found error in info_to_nt

Hi I'm trying out this library on Windows10.
There is a weird bug that I encounter when trying to launch a training with the following trianing code.
python launch.py -alg ppo -curiosity_alg icm -env DeepmindMaze-v0 -iterations 100000000 -lstm -num_envs 4 -sample_mode cpu -num_gpus 0 -num_cpus 1 -eval_envs 0 -eval_max_steps 51000 -eval_max_traj 50 -timestep_limit 20 -log_interval 10000 -record_freq 0 -pretrain None -log_dir results/ppo_DeepmindMaze-v0/run_0 -discount 0.99 -lr 0.0001 -v_loss_coeff 1.0 -entropy_loss_coeff 0.001 -grad_norm_bound 1.0 -gae_lambda 0.95 -minibatches 1 -epochs 3 -ratio_clip 0.1 -kernel_mu 0.0 -kernel_sigma 0.001 -obs_type mask -max_episode_steps 500 -feature_encoding idf_burda -forward_loss_wt 0.2 -prediction_beta 1.0 -prediction_lr_scale 10.0 -launch_tmux no

The core error happens within info_to_nt
2022-04-03 21:31:26.371369  | ppo_DeepmindMaze-v0_0 Runner  master CPU affinity: [0, 1, 2, 3, 4, 5, 6, 7].
2022-04-03 21:31:26.372369  | ppo_DeepmindMaze-v0_0 Runner  master Torch threads: 4.
using seed 5338
<__array_function__ internals>:5: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
<__array_function__ internals>:5: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
Process Process-2:
Traceback (most recent call last):
  File "C:\Users\binxu\.conda\envs\rl\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\Users\binxu\.conda\envs\rl\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "E:\DL_Projects\RL\curiosity_baselines\rlpyt\samplers\buffer.py", line 76, in get_example_outputs
    o, r, d, env_info = env.step(action)
  File "E:\DL_Projects\RL\curiosity_baselines\rlpyt\envs\gym.py", line 75, in step
    info = info_to_nt(info)
  File "E:\DL_Projects\RL\curiosity_baselines\rlpyt\envs\gym.py", line 115, in info_to_nt
    ntc = globals()[name]
KeyError: 'info'

My understanding is that there shall be a namedtuple  class called info defined before in globals() with build_info_tuples function .
However, there is no such class defined .... I'm not sure what could have gone wrong.
Something related to subprocessing in windows? or something else?
Is there ways to circumvent the info_to_nt
My python version is 3.8.5
torch.version== '1.10.2'
Thanks in advance!

One hypothesis is that the rlpyt.envs.gym.info class is defined in the main thread however it's not accessible in the subprocess.
Similarly the info class defined in subprocess is not accessible in the main process...

I think this problem is related to the known issue in the rlpyt library...
One suggestion they made is to substitute dynamically generated namedtuple type with NamedTupleSchema ..
https://github.com/astooke/rlpyt/issues/99#issue-553094063
https://github.com/astooke/rlpyt/issues/168#issue-641535867


Drink comments

It would be a lot of fun if we could heckle people through comments on individual drinks (the comments could appear in the timeline).

Closing old/obsolete issues: Not planning on adding comments any time soon.


Remove owner_id from Groups and remove Connections DB

Remove the owner_id field from Groups.

Instead of creating a connection between Profile and Thing and storing it in the Connections database, add a field profile_id in Things and remove the Connections database.

Owner removal from Groups is done here: #548
Connections removal and adding profile_id in Things is done here: #552


UK Layout on MasterKeys Pro S, ISO Keys don't light up

What are you experiencing an issue with?

[ ] Aurora
[ ] Aurora supported game, (Fill in the game)
[ ] Aurora Wrapper
[ ] Aurora Profile
[ ] Aurora supported device, (Fill in problematic devices)
[ ] Aurora Scripts
[ ] Aurora Updater
[x] Aurora Lighting issue
[ ] Other, (Fill in another issue here)

What kind of an issue is it?

[ ] Crash
[ ] Performance problems
[ ] Visual bug
[ ] Localization issue
[ ] Enhancement suggestion
[x] Device issue
[ ] Other, (Fill in another type of issue here)

Expected behavior:
All configured keys should light up
Actual behavior:
The ISO specific keys (Enter, backslash, hash key) never light up, regardless of profile settings, all other keys behave as expected. The preview keyboard in the app shows the keys correctly.
How often does this problem occur?
This problem always occurs.
Please describe the steps to reproduce this issue:
The issue can be reproduced by doing following steps:

Use a UK Layout Keyboard
Configure a ISO-Specific key to light up

What is the version of Aurora you are experiencing this issue with?
My version is... v0.6.0b
Does the previous version of Aurora have this issue?
This is the only version of Aurora i've used.

Try to use the latest release and check if the issues persists https://github.com/antonpup/Aurora/releases/tag/v0.6.1-dev3

Tried using v0.6.1-dev3. In this version my whole keyboard does not light up at all.

@BohemianGeek Could you post your log file?


Added TLS support for Nats webhook provider

This PR provides support for TLS for NATs webhooks.
Use the tls=1 and the assign the tlscert and tlskey query string params.
nats://<IP_ADDRESS>:4222/fleet?tls=1&tlscert=cert.crt&tlskey=cert.key

The cert and key files must be on the tile38 server and the Nats server must be started using the same files.

Oh this is really useful for our project too.
We use NATS as the common PUSH system
https://getcouragenow.org/
We are using flutter and so can also help contribute a flutter plugin for tile38
https://github.com/winwisely99

@winwisely99 I’m unfamiliar with flutter. Could you provide some details about it? Is it related to NATS?

@winwisely99 I’m unfamiliar with flutter. Could you provide some details about it? Is it related to NATS?

Ok here is my opinionated explanation of FLutter.
Its a GUI framework that is programmed using Dart.
It runs on Web, Desktop and mobiles from the same code base.
There are so many articles about it i could not decide what to give you.
https://flutter.dev/
But architecturally its basically like QT in that its GPU accelerated and independent of the OS in that it does not use any native controls. Hence its portable.
You can use plugins to access native OS things like notifications, location.
Google next OS and Huwai is using it.

How we use it.
We use go-flutter: https://github.com/go-flutter-desktop/go-flutter
It allows use to embed golang client inside flutter desktop.
We also use gomobile to compile our golang clients inside FLutter for mobile and desktop.
SO again the client code doing networkng security and anything else we want is pure golang.

When you update the flutter data types the Views automatically update. This is because we use the Hie flutter KV store.
https://pub.dev/packages/hive
https://github.com/hivedb/hive
There are a huge number of packages.
https://pub.dev/packages?sort=updated
Redis for dart 👍 https://redis.io/clients#dart
We are planning to integrate tile38 with leaflet for a real time mapping solution.
https://github.com/johnpryan/flutter_map

Embed golang inside Flutter example:
https://github.com/DimitarPetrov

golang lib: https://github.com/DimitarPetrov/stegify
flutter plugin that uses the golang lib: https://github.com/DimitarPetrov/stegify-flutter-plugin
flutter app that uses the flutter plugin: https://github.com/DimitarPetrov/stegify-mobile

Signing
You can sign the apps for mobile and desktop pretty easily.
You can also do CI reasonably easily.


Added line breaks

Since of late, the hover functions add a line break in the browser text.
Demo: https://www.screenpresso.com/=Knzlb

Oh wow that's bad, thanks for alerting me. I think I know what's causing this should be fixed real soon :)

Hey @eroock just published an update that should fix this, let me know if it works for you.
And thanks again for reporting this, can't believe I missed it 🤦♂

Fix works. Thanks.


Move to Ubuntu 2204 and Rocky Linux 9

This is not passing tests for the moment, and is trickier than the previous ones
I simplified molecule.yml for now, mostly because I don't understand the need for some of the options.

Ubuntu with systemd image fails with a write error to .ansible/tmp (though the option
setting tmpfs does not seem to change anything).

With the official ubuntu:22.04 image, the ome.nginx role fails due to a gnupg dependency because the role uses a PPA repository to install nginx, any reason not to use the official deb package?

There is kind of the same issue for Ubunutu 22.04 and Rockylinux 9, as both try to install nginx from the ome.nginx role, which uses version specific archives (or ppa in the case of Ubuntu).
Should I:

first fix ome.nginx and then proceed to port this role, or
"include" a fixed ome.nginx role here?

During a meeting @sbesson mentioned building a Galaxy collection for all the role repos, under a unique GH repository, I can see how this would help in this instance :)

During a meeting @sbesson mentioned building a Galaxy collection for all the role repos, under a unique GH repository, I can see how this would help in this instance :)

More specifically, adding a few links

https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html
https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_structure.html
https://docs.ansible.com/ansible/latest/dev_guide/migrating_roles.html

In the context of a cohesive body of work like this platform upgrade, it feels like a monolithic structure like a collection would have advantages in terms of distribution & testing. That being said, I would not expect a collection will magically address all problems and the decision to change framework should not be taken lightly.

Discussed during last week weekly catch-up, @pwalczysko and @khaledk2 looked at collections and this will introduce more work than required at this stage

Should I:
* first fix ome.nginx and then proceed to port this role, or

* "include" a fixed `ome.nginx` role here?

@glyg To answer specifically your question, we went in https://github.com/ome/ansible-role-omero-server/pull/69 for the former, see the logic inside the requirements.yml.

all right, thanks for the solution, trying it out quickly :)

all right, thanks for the solution, trying it out quickly :)

Using https://github.com/ome/ansible-role-omero-web/pull/48 and the PRs opened in particular roles repos on which this role is dependent by @glyg and others, we now have OMERO.web running on a RHEL 9 VM. Thanks a lot !

Closing as #48 does the job :)


Update CONTRIBUTING.md to reflect git hooks requirements

When branching off current develop and performing a trivial documentation update I get the following error on a pre-commit hook:
git commit -m "Tiny little documentation update"
INFO Not using Docker
cd src;  dune exec --profile=dev app/reformat/reformat.exe -- -path . -check
File: ./lib/coda_graphql/coda_graphql.ml has needs to be ocamlformat-ed
make: *** [Makefile:96: check-format] Error 1
** REFUSING TO COMMIT: "$ make check-format" failed

The CONTRIBUTING.md should detail any git hooks system requirements.

Git hooks were removed in https://github.com/MinaProtocol/mina/pull/12612. Closing.


As a forgetful NUS student, I would like to be able to note the deadline of my tasks

so that I know to complete my tasks on time

Label added


Searching for apps takes a long time

Dev Home version
No response
Windows build number
No response
Other software
No response
Steps to reproduce the bug
Navigate to install applications
Search for something
Expected result
This should be fairly instant, winget search comes back with results rather quickly within Terminal
Actual result
Takes a few seconds before anything shows up

Included System Information
No response
Included Extensions Information
No response

@cinnamon-msft, I made a PR to accelerate the package search. On my machine, I got x1.44 perf improvement (more details in PR description). Unfortunately, we will unlikely be able to match the perf of WinGet-CLI. The main reason here is that WinGet has all the code and APIs in-process and does not have to pay the cost for transferring data between processes, whereas in Dev Home we exchange data out-of-proc with WindowsPackageManagerServer.exe which comes at a cost. We can further improve the performance by possibly reducing the communication with the COM server, but that also implies potentially showing less data on the UI or possibly updating the UI experience to incrementally surface ready packages as they are fully obtained from the out-of-proc processor. There may also be some minor enhancements here and there in the code, but I don't expect that to move the needle too much on perf as the main issue here is that we need to communicate with WinGet process a lot to render packages on the UI.


GOOS=android GOARCH=arm doesn't compile on amd64

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.7.3 linux/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/gocode"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build431324223=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
Just compile a simple program:
package main
import "fmt"
func main() {
   fmt.Printf("Hello")
}

$ env GOOS=android GOARCH=arm go build -o g1 g.go
# command-line-arguments
warning: unable to find runtime/cgo.a
/usr/lib/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
gcc: error: unrecognized command line option ‘-marm’; did you mean ‘-mabm’?

What did you expect to see?
The same as if I change GOOS to linux
$ env GOOS=linux GOARCH=arm go build -o g1 g.go
$

What did you see instead?
See error above.

In order to cross-compile for Android, you need to set the CC environment variable to a C cross-compiler.
For details on building for Android, please use a forum.  See https://golang.org/wiki/Questions.


RELATED: WEB-3539 Template fixes

Build succeeded (check pipeline).

Build succeeded (check pipeline).


Added Chief Delphi

@C-MacD Hey, thank you for the contribution.
Would you be able to generate the details for this forum by running:
./bin/pull-data.sh src/content/communities/chiefdelphi.md

from the root of this repo? I think the only dependency needed is the jq command.

My apologies @felicianotech but I am not entirely sure how to do that.  Would you be able to walk me through it?  I am on Windows by the way.  I cloned the project to my computer.  When I tried to run the command in the root it wouldn't work.  Googling around told me that "./" and forward slashes are for Linux, not Windows.  I tried changing everything to backslashes but I couldn't get the command to run.

I think the only dependency needed is the jq command.

I also don't understand what this means.

Oh okay. No worries, the pull-data script can't be run on Windows anyway. I'll run it for you.
Thank you for submitting a forum!

It's now live! https://www.discoursehub.com/communities/

Thank you!


Cannot convert value of type 'Container.Controller' (aka 'UIViewController') to closure result type 'Any'

Hello,
I am just starting a new project today and have been having an issue with this error:
Cannot convert value of type 'Container.Controller' (aka 'UIViewController') to closure result type 'Any'
It's at line 108 in SwinjectStoryboard.swift.
Is this a known issue?
Thanks.
Xcode 9.2
Swift 4
pod 'SwinjectStoryboard', '1.1.2'

Hi, yes, i have the same problem when Swinject v2.3.0 and SwinjectStoryboard v1.1.2, but when i use Swinject v2.2.0everything is fine.

Golden!  That combination worked.  Thank you for the quick response!

Yes, it works! The problem has just appeared after pod update, with SwinjectStoryboard 2.3.0. If you change for 2.2.0 it's all goes fine. Thanks a lot! Saved my day

Resolved by #88.
Indeed, 1.1.2 is not compatible with Swinject 2.3.0. 1.2.0 fixes the issue, and has already been released.

Still not work in Swinject 2.3.0. SwinjectStoryboard 1.2.0

@jakubvano Oops, the problem has remained.

I see, the issue remained due to the Swift3 / Swift4 differences: 1.2.x is intended to be fully compatible with Swift3 and unfortunately build was not tested with Swift4 compilation.
Should be resolved by #91

@jakubvano Good job! Thanks you!

1.2.1 has been released, as well as 2.0.0-beta.1 which includes Swift4 compatibility for OSX


ref(cmd/cli): isolate install validation logic

I was reviewing this code with the new folks on the team and realized it could use a little re-organization to make it easier to understand what is happening.

No functional code changes
Adds comments in line

Please mark with X for applicable areas.

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [ ]
CLI Tool               [X]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests / CI System      [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution? No

Codecov Report

Merging #1621 into main will increase coverage by 0.07%.
The diff coverage is 87.50%.

@@            Coverage Diff             @@
##             main    #1621      +/-   ##
==========================================
+ Coverage   55.05%   55.13%   +0.07%
==========================================
  Files         117      117
  Lines        4922     4933      +11
==========================================
+ Hits         2710     2720      +10
- Misses       2210     2211       +1
  Partials        2        2

Impacted Files
Coverage Δ

cmd/cli/install.go
66.20% <87.50%> (+2.02%)
: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 9c55c40...57e32e9. Read the comment docs.


API needs to be reviewed

Responses are JSON values, not JSON objects
Documentation is lacking, for example to create a bin the doc first says to make a request to /bin/create/view and then the example makes a request to /bin/create.
The response headers are taking over:

Date: Thu, 18 Jun 2015 01:13:32 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 38
Connection: keep-alive
Set-Cookie: __cfduid=dcb1d29558529df081a2c4c362473dd4a1434590012; expires=Fri, 17-Jun-16 01:13:32 GMT; path=/; domain=.mockbin.org; HttpOnly
Vary: X-HTTP-Method-Override, Accept, Accept-Encoding
Location: /bin/923ab34b-b556-4364-8781-fe57082756e5
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST
Access-Control-Allow-Headers: host,connection,accept-encoding,x-forwarded-for,cf-ray,x-forwarded-proto,cf-visitor,user-agent,accept,content-type,cf-connecting-ip,x-request-id,x-forwarded-port,via,connect-time,x-request-start,total-route-time,content-length
Access-Control-Allow-Credentials: true
Etag: W/"26-f46d0bba"
Via: 1.1 vegur
Server: cloudflare-nginx
CF-RAY: 1f8321d9d0a31fee-DFW
```

Might be a Clouflare problem too.

@ahmadnassri is losing karma points...


Cámara

It looks like no description was provided. Please reopen this with a description and I will look into it. Thanks!


Release Google.Cloud.Scheduler.V1 version 3.1.0-beta01

Changes in this release:
New features

Enable REST transport in selected APIs. Set GrpcAdapter=RestGrpcAdapter.Default in the client builder to use this transport (commit 5008946)

Created release for Google.Cloud.Scheduler.V1-3.1.0-beta01


When's the next release?

Hi, I would like to know when the next release is scheduled?
Also, what still needs to be done? I might be able to help with what needs to be done (currently busy with school work, though).

Hi @techscientist thinking of releasing the next version with custom layout support and adding the library as Gradle dependency. Once they are added, will release with other bug fixes as well (the current open issues).
I would really love your support. Please take up any open issue and send a pull request. (Do let all of us know the issues that are being fixed.)


resolves #16 and #31

see different commits (as most of the changed files are related to dist folder that is updated in separate commits).
This merge request

resolves #16: handle escape function (working TypeScript code included)
fixes #31: build Error: Cannot find module 'object.assign'

I'm cancelling(closing) this pull request, as i created 2 new pull requests instead of this one (and one more related to another issue):
https://github.com/PWKad/aurelia-bs-modal/pull/34
https://github.com/PWKad/aurelia-bs-modal/pull/35


Attempting to pass data to the KaldiRecognizer results in an odd internal error

I'm trying to integrate vosk-browser into my Rust-based WASM project.
First of, I'd like to note that the API documentation linked in the README could be more precise: I only learned that model.KaldiRecognizer() requires sampleRate as an argument by looking at the source code.
I'm using the AudioRecorder web API to record a MediaStream, converting that to a Float32Array and copying that array into an AudioBuffer, which I then pass to acceptWaveform().
Apparently, the microphone records at a rate of 48 kHz, which seems reasonable to me. But when I actually pass the data to acceptWaveform(), I receive the following error:
ASSERTION_FAILED (VoskAPI:Compute():mel-computations.cc:242) Assertion failed: (!KALDI_ISNAN((*mel_energies_out)(i)))

, followed by another log of undefined.
I'm not sure what this is about, honestly. Any pointers would be appreciated.

@ccoreilly The Rust bindings are for a non-WASM context, though. Since I'm compiling the Rust project to WASM, the bindings wouldn't be particularly helpful, I believe.
I'm dynamically checking for the sample rate provided by the user's media device (via the settings of the MediaStream). In my case, that's a value of 48000, which I pass to the recognizer.
As for the models, I downloaded the models intended for mobile devices from this website, excluding those models that did not comply to the file structure specified in the lib README.
The same error occured with the small models for German and English.

I would assume there is an issue with the inputs you're passing to the acceptWaveform method.
Could you share the snippet of code you use to record up to when you feed it to the recognizer?


Make screenshot protection optional

Current Implementation
Due to #9 screenshots are completely disabled in the app.
Suggested Enhancement
Implement a setting that gives the user the possibility to allow screenshots.
Expected Benefits
Sometimes it is desirable to share the screen (not only the main screen) with others, e.g. for discussion about the functionality or displayed documentation. This is only feasible with a screenshot.
On top of this, the risk of "malicious apps" stealing "sensitive information" as portrayed in #9 is IMHO largely exaggerated: The probability of sensitive information being displayed (red status? TAN for covid test?) multiplied with the probability of having a malicious app on the phone whose purpose it is to steal medical information (instead of banking information as most apps of this kind are after) is so low that it is disproportionate to the restriction placed upon the user.

Additional benefit: screenshots can also be very useful when reporting bugs. In fact, the bug report template contains this part:
## Steps to reproduce the issue

<!-- include screenshots, logs, code or other info to help explain your problem -->

Additionally, you may want to read @Bengt's valuable insights into the possibility of workarounds: https://github.com/corona-warn-app/cwa-app-android/pull/620

Thanks for this proposal. Since #516 has bee turned also into a feature request, we'll close this issue to focus on a single issue for any further discussions


New website submission

Website Name/Title
TShirtExpert
Website URL
https://tshirtexpert.co.uk/
Website Screenshot

Why should we include it?
We've just launched this website after a year in the making. It has a nice, clean design and features a robust custom t-shirt ordering process and checkout.
Thanks for your consideration :)

Thanks for the contribution!

Thanks for featuring, really appreciate it. :)


Error XMLParseError: not well-formed (invalid token): line 9, column 26 occurred in method async_update for Denon AVR receiver

I'm getting failures from Home Assistant that I'm pretty sure trace back to a parsing error occurring in async_get_sources_deviceinfo. This issue is sporadic and sometimes goes away when I power cycle my receiver.
Here's the relevant info from the Home Assistant log file:
2023-11-06 14:21:09.740 ERROR (MainThread) [homeassistant.components.denonavr.media_player] Error XMLParseError: not well-formed (invalid token): line 9, column 26 occurred in method async_update for Denon AVR receiver
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/asyncstdlib/_lrucache.py", line 407, in __call__
    result = self.__cache[key]
             ~~~~~~~~~~~~^^^^^
KeyError: <asyncstdlib._lrucache.CallKey object at 0x7f5ebcefb0>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/xml/etree/ElementTree.py", line 1709, in feed
    self.parser.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 9, column 26

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/denonavr/decorators.py", line 46, in wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/api.py", line 193, in async_get_xml
    xml_root = fromstring(res.text)
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/defusedxml/common.py", line 126, in fromstring
    parser.feed(text)
  File "/usr/local/lib/python3.11/xml/etree/ElementTree.py", line 1711, in feed
    self._raiseerror(v)
  File "/usr/local/lib/python3.11/xml/etree/ElementTree.py", line 1618, in _raiseerror
    raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 9, column 26

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/denonavr/media_player.py", line 181, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/denonavr/media_player.py", line 323, in async_update
    await receiver.async_update()
  File "/usr/local/lib/python3.11/site-packages/denonavr/denonavr.py", line 183, in async_update
    await self.input.async_update(global_update=True, cache_id=cache_id)
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 409, in async_update
    await self.async_update_inputfuncs(
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 603, in async_update_inputfuncs
    await self._async_update_inputfuncs_avr_x(
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 623, in _async_update_inputfuncs_avr_x
    receiver_sources = await self.async_get_sources_deviceinfo()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 421, in async_get_sources_deviceinfo
    xml = await self._device.api.async_get_xml(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/decorators.py", line 100, in wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/asyncstdlib/_lrucache.py", line 410, in __call__
    result = await self.__wrapped__(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/decorators.py", line 81, in wrapper
    raise AvrInvalidResponseError(
denonavr.exceptions.AvrInvalidResponseError: XMLParseError: not well-formed (invalid token): line 9, column 26
2023-11-06 14:25:49.838 ERROR (MainThread) [homeassistant.components.denonavr.media_player] Error XMLParseError: not well-formed (invalid token): line 9, column 30 occurred in method async_update for Denon AVR receiver
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/asyncstdlib/_lrucache.py", line 407, in __call__
    result = self.__cache[key]
             ~~~~~~~~~~~~^^^^^
KeyError: <asyncstdlib._lrucache.CallKey object at 0x7f5af3c490>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/xml/etree/ElementTree.py", line 1709, in feed
    self.parser.Parse(data, False)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 9, column 30

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/denonavr/decorators.py", line 46, in wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/api.py", line 193, in async_get_xml
    xml_root = fromstring(res.text)
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/defusedxml/common.py", line 126, in fromstring
    parser.feed(text)
  File "/usr/local/lib/python3.11/xml/etree/ElementTree.py", line 1711, in feed
    self._raiseerror(v)
  File "/usr/local/lib/python3.11/xml/etree/ElementTree.py", line 1618, in _raiseerror
    raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 9, column 30

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/denonavr/media_player.py", line 181, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/denonavr/media_player.py", line 323, in async_update
    await receiver.async_update()
  File "/usr/local/lib/python3.11/site-packages/denonavr/denonavr.py", line 183, in async_update
    await self.input.async_update(global_update=True, cache_id=cache_id)
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 409, in async_update
    await self.async_update_inputfuncs(
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 603, in async_update_inputfuncs
    await self._async_update_inputfuncs_avr_x(
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 623, in _async_update_inputfuncs_avr_x
    receiver_sources = await self.async_get_sources_deviceinfo()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/input.py", line 421, in async_get_sources_deviceinfo
    xml = await self._device.api.async_get_xml(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/decorators.py", line 100, in wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/asyncstdlib/_lrucache.py", line 410, in __call__
    result = await self.__wrapped__(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/denonavr/decorators.py", line 81, in wrapper
    raise AvrInvalidResponseError(
denonavr.exceptions.AvrInvalidResponseError: XMLParseError: not well-formed (invalid token): line 9, column 30
2023-11-06 14:50:28.688 ERROR (MainThread) [frontend.js.latest.202307051]

Here's what happens if I try to use the library:
>>> import asyncio
>>> import denonavr
>>> d = denonavr.DenonAVR("<IP_ADDRESS>")
>>> await d.async_setup()
Traceback (most recent call last):
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/anyio/_core/_tasks.py", line 115, in fail_after
    yield cancel_scope
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 114, in connect_tcp
    stream: anyio.abc.ByteStream = await anyio.connect_tcp(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/anyio/_core/_sockets.py", line 217, in connect_tcp
    async with create_task_group() as tg:
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 674, in __aexit__
    raise cancelled_exc_while_waiting_tasks
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 654, in __aexit__
    await asyncio.wait(self.cancel_scope._tasks)
  File "/usr/lib/python3.11/asyncio/tasks.py", line 418, in wait
    return await _wait(fs, timeout, return_when, loop)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/tasks.py", line 525, in _wait
    await waiter
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f7e86b09b10

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions
    yield
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 113, in connect_tcp
    with anyio.fail_after(timeout):
  File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/anyio/_core/_tasks.py", line 118, in fail_after
    raise TimeoutError
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_transports/default.py", line 66, in map_httpcore_exceptions
    yield
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_transports/default.py", line 366, in handle_async_request
    resp = await self._pool.handle_async_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 268, in handle_async_request
    raise exc
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 251, in handle_async_request
    response = await connection.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_async/connection.py", line 99, in handle_async_request
    raise exc
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_async/connection.py", line 76, in handle_async_request
    stream = await self._connect(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_async/connection.py", line 124, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_backends/auto.py", line 30, in connect_tcp
    return await self._backend.connect_tcp(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 112, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/denonavr/decorators.py", line 46, in wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/denonavr/api.py", line 138, in async_get
    res = await client.get(endpoint, timeout=self.timeout)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_client.py", line 1757, in get
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_client.py", line 1530, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_client.py", line 1617, in send
    response = await self._send_handling_auth(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
    response = await self._send_handling_redirects(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
    response = await self._send_single_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_client.py", line 1719, in _send_single_request
    response = await transport.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_transports/default.py", line 365, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/httpx/_transports/default.py", line 83, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "<console>", line 1, in <module>
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/denonavr/denonavr.py", line 142, in async_setup
    await self._device.async_setup()
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/denonavr/foundation.py", line 152, in async_setup
    await self.async_get_device_info()
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/denonavr/foundation.py", line 378, in async_get_device_info
    res = await self.api.async_get(command, port=port)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mstjohn/denonavr/lib/python3.11/site-packages/denonavr/decorators.py", line 57, in wrapper
    raise AvrTimoutError(f"TimeoutException: {err}", err.request) from err
denonavr.exceptions.AvrTimoutError: TimeoutException:

I've confirmed that these steps work fine on a different AVR-3312CI that I have in my house.

Interestingly enough, the problem just went away in Home Assistant, and I can now successfully run the following commands:
>>> import asyncio
>>> import denonavr
>>> d = denonavr.DenonAVR("<IP_ADDRESS>")
>>> await d.async_setup()
>>> await d.async_update()
>>> print(d.volume)
-13.5

However, this problem has been coming and going pretty much since I started using Home Assistant, and it really causes a lot of instability for me.

This is a firmware bug of your receiver. Some receivers stop serving certains endpoints every now and then. The only thing which seems to help is unplugging your receiver for a couple of seconds.


Inputs are being entered from right to left instead of left to right on input fields of type NUMBER

Say for example I want to enter an amount of 1,293 as principal amount but it is accepted as 3,921. Also, the BKSP is not working. I already tried adding css style "direction: ltr" but to no avail. Anyone's help will be much appreciated. Thank you.

I am not 100% sure, but I think it has to do with the support of selectionStart (see https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange, especially browser compatibility note [1]). In Chrome I detected that type email is not supported. Although I am not sure, I suspect Chrome of changing the default setting of selectionStart and selectionEnd into null. Together with the buggy implementation of the following function, the effect will be an inverse of input.
function hasSelectionStartEnd(elem) {
var hasSelection = false;
try {
hasSelection = !isNaN(elem.selectionStart) && !isNaN(elem.selectionEnd);
} catch(e) {};
return hasSelection;
}
isNaN(null) is false, isNaN(undefined) is true (of course -:)).

Hi, using the unminify version works, the number are showing on right. But there another problem, the decimals numbers not save.

Hi, I solve this problema changing this function, just add one line:
	function hasSelectionStartEnd(elem) {
		//return true;
		var hasSelection = false;
		try {
			hasSelection = !isNaN(elem.selectionStart) && !isNaN(elem.selectionEnd);
		} catch (e) {
		};
		if (elem.type == 'number') hasSelection = false; //change here
		return hasSelection;
	}


Execute release process on macos

Run the release steps on macos-latest because the speed of macos-latest hosts is much slower than that of `ubuntu-latest.

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

Comparison is base (3e33d1e) 87.82% compared to head (9c27cc3) 87.82%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #45   +/-   ##
=======================================
  Coverage   87.82%   87.82%
=======================================
  Files          65       65
  Lines        2925     2925
  Branches      291      291
=======================================
  Hits         2569     2569
  Misses        354      354
  Partials        2        2

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


Create empty Angular project

Project creation
Create a new Angular project with enforced style guidelines and front end testing capabilities.
Project set-up
Style guidelines
Use Prettier to automatically format code upon saving to keep the codebase uniform in style. Use ESLint to help fix mistakes in the JS/TS code more quickly. Add the necessary editor configurations or autogenerate them by installing the relevant extensions.
Testing
Angular testing
Angular Testing is possible through *.spec.ts files which contain tests that can be run using the ng test CLI command. For this project, let's run the tests on Google Chrome and Mozilla Firefox.

Install Chrome and Firefox
Inside the Angular project, run ng g config karma to generate the test configuration file
Run npm install karma-firefox-launcher to allow running Angular tests on Firefox
Make the following edits to the karma.conf.js file generated in step 2

// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
+     require('karma-firefox-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      jasmine: {
        // you can add configuration options for Jasmine here
        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
        // for example, you can disable the random execution with `random: false`
        // or set a specific seed with `seed: 4321`
      },
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    jasmineHtmlReporter: {
      suppressAll: true // removes the duplicated traces
    },
    coverageReporter: {
      dir: require('path').join(__dirname, './coverage/recipes-app'),
      subdir: '.',
      reporters: [
        { type: 'html' },
        { type: 'text-summary' }
      ]
    },
    reporters: ['progress', 'kjhtml'],
-   browsers: ['Chrome']
+   browsers: ['Chrome', 'Firefox'],
    restartOnFileChange: true
  });
};

After following these steps, run ng test to confirm that the existing tests automatically run inside both installed browsers.
UI testing with Playwright
Playwright is an end-to-end (e2e) UI testing framework that lets you create tests for user interactions, such as tracking UI changes when the user clicks a button, for example. Agree on best practices when writing code to make UI testing easier.

Run npm init playwright@latest to install Playwright
Select TypeScript
Accept the default tests directory name
Don't add a GitHub Actions workflow
Agree to install Playwright Browsers

After following these steps, run npx playwright test to run the sample tests generated by Playwright using headless browsers, or run npx playwright test --ui to run the tests in interactive mode inside a browser.

Closed with #3


File path format in require Error messages

The require errors point absolute paths in Error messages generated by a failed require.
If the paths points to location inside the applicationPath it sound reasonable to cut the leading directories and print the original file and the computed paths in the error message like:
file:///app/tns_modules/ui/builder/component-builder.js

This will:

Make them easier to read
Display links in the WebInspector that open the source file when clicked
Be possible to generate the same error messages for iOS and Android
Be possible to assert in tests by error messages

Display links in the WebInspector that open the source file when clicked

It seems that the Web Inspector isn't available to navigate from paths in the error message of a thrown JavaScript error.

We have to double check this, since in works on my machine with paths to XMLs.


Invalid operations: power of a string

This will happen with --limit 1
Upon evaluating a benchmark, I realized that the test case did not permit using only one test case.
that will cause the stderr to return a string 'N/A' if the benchmark is using accuracy.
https://github.com/EleutherAI/lm-evaluation-harness/blob/7411947112117e0339fe207fb620a70bcec22690/lm_eval/evaluator.py#L512-L515
Is that supposed to be a 0, or should it return N/A instead?
There could be an unsupported operation to calculate the power of a string.
https://github.com/EleutherAI/lm-evaluation-harness/blob/7411947112117e0339fe207fb620a70bcec22690/lm_eval/evaluator.py#L537-L543

Returning "N/A" is correct, but it seems like we didn't catch all of the issues that that recent change caused. Please open a PR with the improved logic.

Closing as we've handled all such edge cases that I am aware of.


CV3 variable is not taken into account in PSD_FIESTA3D sequence

Hello
First many thanks for this nice sofware, it is quite an amazing work. I do not know if it is the right place to ask. but in case :
I notice that if I change the CV3 value in the graphical interface click on update, and then scan the new value is not taken into account.
I compare it to the case where I change the CV3 value in the .xml config file of the sequence, before loading it in the gui
Is there a quick fix, or can you tel me where to have a look ?
Many thanks
Romain

Any modification made to CVs requires to save by pressing 'Save' push-button prior to being effective.

yes indeed,
thanks
On 04/07/2017 05:23 PM, Fang Liu wrote:

Any modification made to CVs requires to save by pressing 'Save'
push-button prior to being effective.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/leoliuf/MRiLab/issues/2#issuecomment-292567055,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFWhusoQ-_O61iE20zEq7WFms8c4_BiDks5rtlTigaJpZM4M3B-C.


I can't run the examples on Alma Linux 9 OS.

I can't run the examples on Alma Linux 9 OS. When running examples with visualization, the script does not work. The phantomjs process loads one core at 100% and the script freezes.
I check the same script on ArchLinux and it is successful.
I tried updating versions of tesseract, opencv, php in Alma Linux 9, but the result is the same. The phantomjs process loads one CPU core and the script script freezes.
Have you checked the operation of your module on RPM-based operating systems? Maybe there is a solution to the problem?

Hi @debugger1979, I have not tested or designed the package and its underlying TagUI engine to work for Alma Linux.
Does it hangs if you do not use visual automation? The issue might be with just the SikuliX interactions with the computer vision libraries on Alma Linux, or a conflict between the PhantomJS engine and those libraries on Alma Linux.
Some possible next steps could be -

try installing the libraries using this guide - https://sikulix-2014.readthedocs.io/en/latest/newslinux.html
print(r.tagui_location()) and see the tagui or .tagui folder under it. There is a src/tagui.sikuli folder with the SikulIX logs that are related to the computer vision and visual automation libraries

If the issue is outside of PhantomJS which I suspect, it might be resolved by finding out more using step 2 above. If it is a conflict with PhantomJS with the computer vision libraries then it is likely hard to solve because PhantomJS project is a stable mature project and it is no longer being maintained --> archived status.

Hello!
I have solved this problem. The problem was on the surface - in the logs ~/.tagui/src/taguig.sikuli/taguig.log
java couldn't find the opencv_java library (in my case, opencv_java 460.jar ).
Solution (rpm-based Linux):
dnf install opencv opencv-devel opencv-java
It was necessary to install the opencv-java package
Thank you so much for your application! We use it for load testing of applications inside VDI sessions.

Hi @debugger1979 thanks for sharing back your findings and solution!!
I'm glad you solve it, and I'm pleasantly surprised on your use case. The package wasn't designed for test automation or load testing, more for making it easy to automate digital workflows. Am happy to hear that it is useful on professional level for load testing!!


Add new maintainers to the MAINTAINERS.MD

Expected action
Adding the following users to the MAINTAINERS.MD as per latest aggreement with @hdamker:

@maxl2287

We propose here to replace @NoelWirzius with @maxl2287. Max is an active contributor from our side and committed to maintain the API going forward.


Windows Command Prompt not being colored

Windows 10 Enterprise
Version 1709
OS Build 16299.665
Python 3.7.1
Six 1.11.0
The console isn't colored properly, just the following output is displayed.
[34;1mY

This seems to be a problem with the windows terminal as other consoles, such as ConEmu work as expected.


Move from actions/upload-release-asset  as it is no longer maintained.

Description
As per: https://github.com/actions/upload-release-asset/issues/78
This action is no longer maintained - we should substitute it for another action which is actually still maintained...
Completely open mind on what the answer is here - provided it can add assets to an existing release, and potentially overwrite those assets is changes are specified.

Can use softprops/action-gh-release@v2 for this.


Support for multiple searches of the same index in Multi Search

Description
Presently, the feature restricts users to a single search operation per index. However, in scenarios involving a Single Table Inheritance model within Rails, there arises a need to execute multiple searches within the same index, each with distinct filter criteria.
The crux of the matter lies in the structure of our input data, which revolves around objects. As such, attempting to define the same key more than once becomes an issue. For example:
multi_search_results = MeiliSearch::Rails.multi_search(
  Book => { q: 'Harry', filter: ['type = "fiction"'] },
  Book => { q: 'Harry', filter: ['type = "documentary"'] }
)

In this instance the first query would be overwritten by the second and result in only one query.
In the ideal world we'd want to emulate what Algolia's rails implementation for multiple_queries
res = client.multiple_queries([
  { indexName: 'categories', query: my_query_string, hitsPerPage: 3 },
  { indexName: 'products', query: my_query_string, filters: '_tags:promotion' },
  { indexName: 'products', query: my_query_string, hitsPerPage: 10 }
])

puts res['results']

It makes sense to me, wdyt @ellnix?
In any case @bdesouza feel free to open a PR ❤

I'm not opposed to it. As it stands, I still think I prefer having a hash so each search has something that can identify it. Using that algolia example I would prefer:
res = client.multiple_queries({
  'categories' => { indexName: 'categories', query: my_query_string, hitsPerPage: 3 },
  'sponsored' => { indexName: 'products', query: my_query_string, filters: '_tags:promotion' },
  'results' => { indexName: 'products', query: my_query_string, hitsPerPage: 10 }
})

And then allow for hash-like access of individual searches:
res[:categories].each do; end # ... render categories
res[:sponsored].each do; end # et cetera

If you have any other requests or ideas, please let me know. I'll be ready to implement this @bdesouza


[CTX-470] feat: update allowlist for iam attachements res

What this does
update allowlist for iam attachements resources
More information

Jira ticket CTX-470

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


minor changes for JOSS paper

Summary
Details and comments

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


AdminLTE boostrap less doesn't not "compile"

Error:
{ [Error: '../bootstrap-less/mixins.less' wasn't found. Tried - /home/sergi/Code/AdminLTE/acacha/adminlte-laravel-test/resources/assets/less/bootstrap-less/mixins.less,../bootstrap-less/mixins.less in file /home/sergi/Code/AdminLTE/acacha/adminlte-laravel-test/resources/assets/less/admin-lte/AdminLTE.less line no. 13]

Solved https://github.com/acacha/adminlte-laravel/commit/edaa61c491c5278c0e4ab40f31a5ce617a0860c5


Update tutorial with a real-world data example

Sample data is 🙊 , so it must be changed. We will use real world open dataset with a product sessions to demonstrate package capabilities.

Tutorial updated with a data from RecSys 2015, add info to README and to tutorial itself


Update 2289-associated-type-bounds.md

2071-impl-trait-type-alias.md has been moved to another file;
Use relative path to make it works better on https://rust-lang.github.io/rfcs/.

Rendered

@rustbot label: +not-rfc


Always include npm shrinkwrap data in pack

Packages which have a files property in their package.json file and want to publish a dependency-frozen package with npm-shrinkwrap need to explicitly state that npm-shrinkwrap.json file is to be included in the tarball.
NPM metadata is to be automatically included in the tarball, like package.json is.
Packages used to require an npm-specific file in their declaration:
{
  "name": "foobar",
  "version": "0.0.1",
  "files": ["build.js", "npm-shrinkwrap.json"],
}

Now just need to specify their own file:
{
  "name": "foobar",
  "version": "0.0.1",
  "files": ["build.js"],
}

This will need a test before we land it. fstream releated tests are hard to work with, so I'll write one at some point, but that work isn't scheduled yet. (If you were to add one, we could land this immediately.)


External Tokenizers/Pre-tokenized text

It'd be nice to have a easy way to load pre-tokenized text with (optional?) offset data.
e.g. solr has PreAnalyzedField.
Would also be nice if it was accessible from the python API, since it's easy to get really good tokenization in python.
EDIT: the problem with this is queries.
solr let's you specify an analyzer chain or (determined at query time) give it a token stream for queries: https://github.com/apache/lucene-solr/blob/master/solr/core/src/test/org/apache/solr/schema/PreAnalyzedFieldTest.java
But that's pretty unsatisfying, since you either can't use the solr query parsers as well (you need to implement your own query parser to determine what parts of the query to analyze) or get sub-optimal results.
Maybe this is a bad idea, and the right thing is just to register tokenizers from python?

This seems like a good request.
Ideally we would like to handle the structured version of it too, so that people can handle proper synonyms, and keep track of the original offsets.
Also assuming you (or someone else) are facing  today a use case and want a  workaround:

if you do not care about positions, tantivy handles multi valued fields. Using a raw tokenizer, and passing a list of tokens ["hello","happy", "tax", "payer" ] should work.
You could create your own DSL to represent your token list, and implement a custom tokenizer to parse it.

@petr-tik Would you like to mentor someone on that one?

Would be happy to. To clarify 2 things:

We need to add a rust tantivy API, which another PR to tantivy-py will then expose to users?
What is a typical use case for pre-tokenising outside the main search/indexing library? Would be great to either see some code or read a description of such a pipeline

The use case I have in mind is using a python linguistics library for lemmatization & tokenization, e.g. spacy (https://spacy.io/api/token / https://spacy.io/usage/linguistic-features#tokenization). Simple use of spacy might look like
nlp = spacy.load("en_core_web_sm")
def tokenize(text):
  return [(x.lemma_, x.offset, len(x)) for x in nlp(text)]


Capture identifiers in culture_collection and/or strain fields

From email correspondence with Kessy Abarenkov:
Sometimes strain (https://www.ncbi.nlm.nih.gov/nuccore/GQ503643) or culture_collection (https://www.ncbi.nlm.nih.gov/nuccore/EU427289) field is filled, sometimes they are both filled, either containing the same (https://www.ncbi.nlm.nih.gov/nuccore/GU256745) or different identifier (https://www.ncbi.nlm.nih.gov/nuccore/KX950433).
There might be identifiers in these fields that could support clustering

How about storing these in materialSampleID?
@ManonGros opinions?

I think that could work: strain or culture_collection in materialSampleID.
What about the bio_material field, any idea if we should store it and where? @thomasstjerne


[GEODE-1122] Fixed Dependency on environment variable GEMFIRE needs to be removed

All Test Passing.

Thanks for Review @metatype

Is this PR now good for merge to develop now

@metatype Thanks for the review,
I think I messed up in my local git repo. I am always getting
~/source/open/incubator-geode (feature/GEODE-1122) $ git flow feature finish -rF GEODE-1122
Branches 'develop' and 'origin/develop' have diverged.
Fatal: Branches need merging first.

I tried rebase and other solutions, but nothing is working.
Could you please help this time to merge this change to develop.

@davinash I think you merged master into your feature branch.  I suggest closing this PR and starting a new one.


Added coments on chain parameters for regtest

Make it a little bit more easy to read for people who are looking for those constants for development.

A more effective way to give this information would be in a doc or a wiki ? Any place on the world wide web where we could give this information ? So far I can find for Bitcoin easily but always have to look in the code or Dogecoin.

There's a Dogecoin wiki on reddit, perhaps there? https://www.reddit.com/r/dogecoin/wiki/index

I've rebased this against the 1.14-branding branch we'd normally apply changes to, as https://github.com/dogecoin/dogecoin/pull/1599 - presume that gets merged I'll then close both.

The wiki on reddit is not really technical but as some useful links. I could certainly write a gist and linked it there. But do you think it could be more practical to have a wiki on the github ?

Ok I just find out that there is already a wiki but also that everyone can modify it ???
I started a page : https://github.com/dogecoin/dogecoin/wiki/Dogecoin-special-parameters

Hmmm... edit controls on Github wikis are a nightmare, they're either public or people with push permission on the repo, nothing finer grain it seems. That's not ideal. Let me ponder

I have manually merged the commits into 1.14-maint. Thx!


Issue with setting CarouselView position

Hello Team,
I am currently setting the position of CarouselView in page constructor. The value for position is determined from parameter which is passed in the page constructor.
Whenever the position value is set to 0 for first time in page init, the PositionChanged event does not get triggered. If the position value is set to any value greater than 0 in the page init, PositionChanged event gets triggered.
Note: The PositionChanged event does get triggered when user is swiping/interacting with CarouselView and reaches to first item (i.e. Index 0)
XAML Code
<CarouselView x:Name="ImagesCarouselView" IndicatorView="indicatorView"
                                          PositionChanged="ImagesCarouselView_PositionChanged"

Codebehind
public PageConstructor(ObservableCollection<ClassA> classAList, ClassA classAObject)
{
int itemIndex = ViewModel.ObservableCollnList
                .IndexOf(ViewModel.ObservableCollnList
                .First(x => x.Name.Equals(classAObject.ID.Name)));

            ImagesCarouselView.Position = itemIndex; //When itemIdex is 0, ImagesCarouselView_PositionChanged does not get triggered
}

/* where: ObservableCollnList = ObservableCollection<T> */

 private void ImagesCarouselView_PositionChanged(object sender, PositionChangedEventArgs e)
{
            Debug.WriteLine("Position " + e.CurrentPosition + " selected.");
}

Can you please have a look at this and let me know further inputs?

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

ID: 1d26c0a4-c31c-7e19-ee61-ad100c64d270
Version Independent ID: 6cc6b815-7b99-4ae6-2972-26ed90ae3f2a
Content: Xamarin.Forms CarouselView Interaction - Xamarin
Content Source: docs/xamarin-forms/user-interface/carouselview/interaction.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

instead of position changing use
carouselView.CurrentItemChanged += OnCurrentItemChanged;
or
position changed event use like
void OnPositionChanged(object sender, PositionChangedEventArgs e)
{
    int previousItemPosition = e.PreviousPosition;
    int currentItemPosition = e.CurrentPosition;
}

@logeshpalani98 i have to set Position for CarouselView on page init, so the above solution is not applicable. This looks like a platform issue.

Hi @mehul19851
I wouldn't be surprised if what you've described is a feature, rather than a bug. Regardless, it's something for the engineering repo.


merge from arlac77/template-arlac77-github,arlac77/template-esm-only

.github/workflows/update_readme_api.yml

chore(deps): add 14.5.0 remove 14.4.0 (jobs.update_readme_api.steps.with.node-version)

:tada: This PR is included in version 9.9.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: