AN-261: Add authenticated coinmarketcap example

https://api3dao.atlassian.net/browse/AN-261
> yarn make-request
yarn run v1.22.11
$ ts-node scripts/make-request.ts
Making request...
Waiting for fulfillment...
Request fulfilled
ETH price is 4237.325301 USD

As an aside, for the local flow, is there any reason not to have the option to use an existing docker client image rather than having to build the artifacts container and Airnode? I tested this and v0.2.2 worked just fine.

One last thing to fix is the yarn build, but otherwise this is good to go :)

The user is actually already instructed to executed yarn run build as part of the Setup in the examples README:

Setup

Follow the repository instructions. Also, make sure you have yarn
installed. If you want to run Airnode as a docker container, you'll also need to have docker installed.

In that case feel free to merge.


Add initial version of compatiblity scenario text objects

Dumped using a script: readParkStrings.py

ZehMatt has written one specifically for this repo. I can run it on the files once they have been generated.

Note to self:

There are 163 added files in this PR
There are 137 STEX files in RCTC
A difference of 26
18 of these are UCES scenarios, leaving 8
Tycoon Park and Panda World are present in RCTC, but have no STEX, leaving 6
Mega Park, Urban Jungle, Fort Anachronism, Alton Tower, Heide-Park and BPB  are not present in RCTC, leaving 0.


rival 310 can't set dpi

I mentioned this in the comments to #683, that the failure to set the LEDs in that release also set both DPI settings to 100, and couldn't change them to something worthwhile.
The new release can now set the LEDs, but it's still incapable of changing the DPI settings away from 100.

If you need more information to be able to fix this, let me know.

Please confirm this is fixed in https://github.com/libratbag/libratbag/pull/709.

Yes, seems to have been fixed by 709. Thanks.


Add project structure diagram

As discussed here, this adds a file ARCHITECTURE.md to the repo root.
Closes #23.

@cisaacstern just pinging you to see what you think about the last commit. No rush, though!

@NoraLoose thanks for the reminder, and sorry for the delay.
Yes, basically I think that looks good, my only question is can we get a GitHub link in the top nav of the website? Like:

My concern with the code repo link being pushed deeper into the docs is that there is not am easily discoverable link back from the website to the GitHub repo.

The repo button at the top is a good idea. (I am just realizing how much I am missing such a button on another project website that I'm managing!) Added via the latest commit.

Awesome then IMO this is good to go! Thanks @NoraLoose !!


Query fails due to "Tried to encode an invalid date."

Query fails when an array column contains objects with dates. I have been able to isolate the data that generates the problem (see below). The problem does not occur with hosted-parse. The problem seems to be due to node modules based on the log information (see below).
The date formatting seems to be the issue:

Does not work: iso: ISODate("2014-11-15T07:35:03Z")
Works: iso: "2014-11-15T07:35:03Z"

The following is a closed issue which seems related but there was no resolution.
https://github.com/ParsePlatform/parse-server/issues/1077
Steps to reproduce

Run query find or get locally or via cloud code.

var Obj = Parse.Object.extend("Clock");
var query = new Parse.Query(Obj);
query.equalTo("objectId","2iVREi5Kiu");
query.find().then(function(result) {
res.success(result);
}, function(error) {
res.error(error);
});
OR
query.get("2iVREi5Kiu").then(function(result) {
console.log(result);
}, function(error) {
console.log(error);
});
Expected Results
I expect the result field "history" to contain an array with an object that contains 2 dates. Instead the query fails.
[{ date: [should be a valid date],
event: 'Clock In - Sick Leave',
from: 'None',
to:  [should be a valid date],
type: 'date',
who: 'Brian Login' }]
Actual Outcome
Console Log - Cloud
{code: 141, message: {}}
Console Log - Local
{className: "Error", _objCount: 8}
Console Log - Server
[{ date: Invalid Date,
event: 'Clock In - Sick Leave',
from: 'None',
to: Invalid Date,
type: 'date',
who: 'Brian Login' }]
CURL Results
curl -X GET
-H "X-Parse-Application-Id: xxx"
-H "X-Parse-Master-Key: xxx"
-G
--data-urlencode "where={"objectId":"2iVREi5Kiu"}"
https://xxx.nodechef.com/parse/classes/Clock
[{
"date": {
"__type": "Date",
"iso": {
"__type": "Date",
"iso": "2014-11-15T07:35:03.000Z"
}
},
"event": "Clock In - Sick Leave",
"from": "None",
"to": {
"__type": "Date",
"iso": {
"__type": "Date",
"iso": "2014-11-14T21:00:00.000Z"
}
},
"type": "date",
"who": "Brian Login"
}]
Stored Data - That Does Not Work
[{
date: {
__type: "Date",
iso: ISODate("2014-11-15T07:35:03Z")
},
event: "Clock In - Sick Leave",
from: "None",
to: {
iso: ISODate("2014-11-14T21:00:00Z"),
__type: "Date"
},
type: "date",
who: "Brian Login"
}]
Stored Data - That Will Work
[{
who: "Brian Login",
date: {
__type: "Date",
iso: "2014-11-15T02:35:03.026Z"
},
event: "Clock In - Sick Leave",
from: "None",
to: {
__type: "Date",
iso: "2014-11-14T16:00:00.000Z"
},
type: "date"
}]
Environment Setup

Server

parse-server version: 2.3.2
Node: Tried with 4.3.0, 4.3.2 and 6.9.4. The logs are from 6.9.4.
Parse JS SDK: 1.9.2
Operating System: OSX 10.11.6
Hardware: MacBook Pro
Localhost or remote server? Localhost

Database

MongoDB version: Unknown
Storage engine: RocksDb
Hardware: Unknown
Localhost or remote server? NodeChef

Logs/Trace
Error generating response. ParseError {
code: 141,
message:
Error: Tried to encode an invalid date.
at encode (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/encode.js:81:13)
at encode (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/encode.js:98:19)
at /Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/encode.js:91:14
at Array.map (native)
at encode (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/encode.js:90:18)
at exports.default (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/encode.js:16:10)
at Object.commitServerChanges (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/ObjectStateMutations.js:161:39)
at Object.commitServerChanges (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/UniqueInstanceStateController.js:162:24)
at ParseObjectSubclass.value (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/ParseObject.js:394:23)
at Function.value (/Users/brianmcgrath/parse-server-example/node_modules/parse-server/node_modules/parse/lib/node/ParseObject.js:1554:9) } code=141,
[object Object]

I created a fix but I am not sure if it is the best solution. If you run Nodechef Parse Server version 2.2.25 this will not be a cloud code issue. Not sure what their fix is. However, you will have to make edits to your local server build and JS SDK.

Parse Server - edit decode.js module
Parse JS SDK Pre-compiled - edit version 1.9.2 (I do not use the npm module, assume you would also need to edit the decode.js module)

Old
if (value.__type === 'Date') {
return new Date(value.iso);
}
New Hack
if (value.__type === 'Date') {
if (value.iso.__type === 'Date') { // HACK // NESTED DATE OBJECT ISSUE
value.iso = value.iso.iso;
}
return new Date(value.iso);
}
Data Issue
Within an array I have objects that contain date objects. The problem is that the iso value is another date object, not an iso value. I am unclear if the data problem was something I did incorrectly or was a parse bug or ...
Bad Date
{
"date": {
"__type": "Date",
"iso": { // Iso value holds a date object
"__type": "Date",
"iso": "2014-11-15T07:35:03.000Z"
}
Good Date
{
"date": {
"__type": "Date",
"iso": "2014-11-15T07:35:03.000Z"
}
Data Fix
I am unclear what the best method is to repair the the "damaged data". I have 3 classes with this problem. I will most likely do a query in which I check if the offending fields have data (exists), select only those fields and re-save the returned arrays.

@designunion thanks for reporting the issue!

@designunion Matt here, I just submitted a pull request for this.
https://github.com/ParsePlatform/parse-server/pull/3389


Same issue, any idea on how to solve this so far?

I have a working miner that uses the current "getworktemplate" in python 3. It is a code from (https://github.com/vsergeev) that I changed to check for a new block every 20 sc or so and start mining again every time a new block is detected. Currently getting 1.01KH/s on a Dell.


Failed in Deployment

i tried to import the bcrypt like import * as bcrypt from "https://deno.land/x/bcrypt/mod.ts"; instead of giving me functions like genSalt and hash it gave me hashpw and gensalt , however it worked passwords are hashed but when i tried to upload project on heroku with all permissions it paniced.
Error:
error: Uncaught Error: Cannot find module<EMAIL_ADDRESS>in cache, --cached-only is specified
which caused abnormal termination of whole project

Hi,
Thanks for raising the issue. Are you sure you're using functions exported from the mod.ts file? It looks like one of your imports could be wrong if you're using the functions in src/bcrypt/bcrypt.ts
Also, regarding your deployment, it might be because you're using the --cached-only flag and the server running it might not have the module cached?
I'd suggest double checking the imports and also removing the flag when you run the code on your deployment (or figuring a way of getting the dependencies cached?)
Let me know how it goes!
Thanks,
James

i'm using import * as bcrypt from "https://deno.land/x/bcrypt/mod.ts"; as import statement
it gives functions like hashpw,gensalt
Although in Development mode hashpw and gensalt are given in suggestions , and in production mode i typed genSalt and hash (not the suggested functions in intellisense) with --cached-only flag and it seems to work fine
curios to know how it's happening?

Got it, The cache was old so i have to use --reload flag while running file for once only now it's working like a charm
Thanks For Help,
Adarsh

Ah yeah, that'll do it 😁
Glad you got it sorted!
Thanks,
James


Login flow behaves unexpectedly, requiring login button to be clicked twice.

Describe the bug
The login behaviour of Netlify CMS could defy certain user expectations when compared to other systems requiring authentication, and requires the log in button to be clicked twice.
To Reproduce

Click Login with Netlify Identity on CMS login page

Expected behavior
To be successfully authenticated and redirected into the main page of Netlify CMS.
Actual behaviour

Instead of the login modal dismissing, it tells me I've successfully authenticated (good) and then sits there waiting to be dismissed (not so good).
Instead of the successful login redirecting me to the main page of the CMS, I have to manually dismiss the modal window and then - counterintuitively, because I'm apparently now authenticated - click the login button again.

Screenshots
Video demo with user details redacted at https://www.dropbox.com/s/0rmuw5eb7crzcxq/Double-login.mp4?dl=0
Applicable Versions:
netlify-cms-app 2.15.72
netlify-cms-core 2.55.2
netlify-cms 2.10.192
Github
macOS
Chrome 108.0.5359.94 && Firefox 107.0.1
Additional context
I'm onboarding clients into a site built with Netlify CMS. The login flow behaves differently to every other CMS I've used in my career with regard to number of clicks needed. My opinion, maybe - but these things are definite sources of friction and perception-altering moments for client users.

@benseven please share your backend config. I don't see this issue with Github / Netlify Identity. And please test with Decap 3


Created solution2.java

Description of Change
Added java solution of 290. Word Pattern

Checklist

[x ] Added detailed description of changes.
[ x] Relevant documentation/comments is changed or added.
[ x] Added file name matches File name guidelines.
[ x] PR title follows semantic commit guidelines.

Notes:

Ok got it Sahil!


[Mention The Feature]:  upgrate version of light mode

Is your feature request related to a problem? Please describe.

Describe the solution you'd like.
The light mode is not working properly, and I want to fix it. Please grant me permission to do so.
Describe alternatives you've considered.

Additional context.
No response
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

this issue has been solved, so we are closing this issue.


How can I get variables without decorating them with @Variable

May I use VarCache.getVariable()?
My goal is to be able to read variables and send them to our backend without needing to do an app release.

Hi @maykov,
Could you explain your use case a bit more?
Thanks


feat: CRM Metadata APIs for custom objects and associations

This is a re-skin of what albert already implemented elsewhere, with a few changes / simplifications:

Remove cardinality as we were not actually using it
Migrate away from entities and use object names instead
remove id from custom object schemas and use name instead everywhere

This also adds the open API spec for dealing with association + custom object records, which is unimplemented.
TODO:

figure out field type semantics -- right now it only supports integers + basic string
implement endpoints for CRUD custom object records and associations

Listing out some feedback:

We discussed naming the two types of APIs something like: Custom Object Schemas a Custom Objects (for records)
There'

s a bit of inconsistency between the casing and spacing of the Custom Object Schemas and Custom Objects APIs


[BC API 2.0 | salesQuotes] Remove countryRegion from Navigation

DO NOT MERGE! as this PR edits the lines between the DO_NOT_EDIT section.
When calling /countryRegion I get the following error:
{
    "error": {
        "code": "BadRequest_NotFound",
        "message": "No HTTP resource was found that matches the request URI 'http://bcserver:7048/BC/api/v2.0/companies(f0bb10fd-583f-ee11-be74-6045bdc8c285)/salesQuotes(a6389694-bd49-ee11-ad0b-a1422c0f7f1f)/countryRegion?tenant=default'."
    }
}

Thanks for your contribution, much appreciated. We just refreshed the API and this is indeed removed from the API now. Closing this PR. Thanks.


Missing instance of Index for ListMap

This adds a missing instance of Index for ListMap and should fix compilation errors like the one below.
[error] ...: ambiguous implicit values:
[error]  both method mapIndex in object Index of type [K, V]=> monocle.function.Index[Map[K,V],K,V]
[error]  and method sortedMapIndex in object Index of type [K, V]=> monocle.function.Index[scala.collection.immutable.SortedMap[K,V],K,V]
[error]  match expected type monocle.function.Index[S,String,A]

Thanks @jan0sch


Allow void for destructuring forms and parameters

This proposals adds using const void =  to avoid creating a declaration. However other declaration forms such as destructuring would benefit from having an explicit "I'm ignoring this" variable.
i.e. With array destructuring we currently have to either add dummy variables or use "holes", in both cases this can be confusing (in the former names can be fairly arbitrary or meaningless, and holes are often indicative of mistakes).
The forms I think that would be benefit from allowing void to indicate that we are intentionally discarding are:

Array destructuring

e.g. const [void, dat] = someArray;

Object destructuring

e.g. const { x: void, y } = point;

Parameters

e.g. array.filter((void, idx) => idx % 2 === 0);

The other declaration forms let/class/function/catch either don't make sense to emit or can already be emitted.

I agree that if we're introducing void in this context, while it may be more self-consistent, it's deviating in consistency with the rest of the language.  Allowing void elsewhere would recover that consistency.

I'm not sure delete makes sense in this context, since the normal delete operation will not trigger disposal. While this seems like an interesting idea to allow destructuring, it does result in significant repetition when declaring multiple disposable resources in the same declaration. Plus it seems like it would be hard to reason over something like:
const [{ x: { z } } delete, y delete] = ...

Just knowing where to put the deletes could become arbitrarily complex.

I am not too attached to delete in particular; though if it has to be a keyword, it better be an existing one, as a new soft keyword will necessitate bringing back void (I thought about finally as an alternative).  Punctuation may work just as well as a disposal marker.  In fact, I think ~ would be pretty fitting, as it is evocative of C++ destructors (which this feature resembles to an extent) and since it is only one character, it will be very convenient to use, and therefore encourage adoption.

Current syntax
Alternative syntax (~ variant)

using const x = expr;
const x~ = expr;

using const void = expr;
const ~ = expr;

using await const x = expr;
const x await~ = expr;

using await const void = expr;
const await~ = expr;

using const $temp$ = expr; const [a, b] = $temp$;
const [a, b]~ = expr;

const [a, b] = expr; using const void = a; using const void = b;†
const [a~, b~] = expr;

Just knowing where to put the deletes could become arbitrarily complex.

That sounds like a documentation problem.  I would expect an API reference to say things like ‘this call returns an object which should be disposed’ or ‘this call returns a wrapper object containing properties X, Y and Z, which should be disposed’.  Which they probably should do anyway: as #69 points out, handing out a reference to an object does not always confer ownership transfer, so (in the absence of language mechanisms preventing access to the disposal method) programmers will have to rely on documentation to know of which objects they should dispose, and of which they should not.  I suppose a type checker might be able to validate disposal as well.

† not equivalent if destructuring throws

I like this idea. ~ is a pretty open part of syntax space, and the limited syntax expansion makes it still mostly available. The C++ analogue is a nice perk, and getting anonymous closers for free is also great.
FWIW, nearly any non-identifier symbol could go here, though for the reasons above I agree that ~ is a particularly good choice.

I'd prefer a keyword to a token like ~, as we have a very limited budget for non-keyword tokens in the language due to ASI hazards.  There's also the issue that await is a legal identifier in the Script module goal outside of strict mode, so const await would be potentially ambiguous.
Also, the value of using a token like using is improving its discoverability in documentations, search engines, StackOverflow, etc. Reusing an existing keyword like delete would conflate the existing term and like result in confusion or difficulty in finding relevant learning materials.
As for allowing void in other destructuring forms, many of the initial examples already have a legal form:

Array destructuring

Proposed: const [void, dat] = someArray;
Existing: const [, dat] = someArray;

Object destructuring

Proposed: const { x: void, y } = point;
Existing: const { y } = point; or const { x: {}, y } = point;

For parameters, indicating a void parameter is interesting, but out of scope for this proposal.

I'd prefer a keyword to a token like ~, as we have a very limited budget for non-keyword tokens in the language due to ASI hazards.

Seems a non-issue in this particular case. Since disposal is only allowed for const declarations, a semicolon inserted between the binding pattern and ~ is a guaranteed syntax error, because a const declaration requires an initializer. The same would be the case with a postfix keyword; it makes no difference what the postfix token is.
It is the current syntax which is more prone to ASI hazards, as a semicolon inserted between using and const will change the semantics of the code while keeping its validity.

Also, the value of using a token like using is improving its discoverability in documentations, search engines, StackOverflow, etc.

The tilde character has a name, which can be searched for in those search engines that ignore punctuation marks (which is not all of them). Failing that, the reader may look up the construct by searching for material about const declarations in general. The impact of picking a punctuation mark on searchability seems a bit overstated: it’s not like disambiguating the use of a common English word as a programming language keyword from its natural-language use (i.e. ‘declare a variable using const’ versus ‘declare a variable using const’) is all that trivial either.


Is there a generic constant strided tensor view type available?

This might be related to #1271 (but I'm looking for a slightly different solution) and possibly #994 (here, I'm not fully up to speed what it exactly does, or if it is available)
I'm looking for a generic view type to use in API's that only need read-access to the expression contents, for use-cases similar to a std::span<const float,std::dynamic_extent>, but for n-dimensional arrays with runtime strides. For my case, only fixed number of dimensions matter. Such a type should be quite efficient to construct from quite a wide number of xexpressions, such as xt::xtensor, xt::pytensor and a number of other views and adaptors (though obviously not for computed/lazy expressions). By restricting an API to such a generic type, code-bloat through differing template instantiations for essentially the same algorithm can be reduced at the cost of an initial adaption (constant, amortizes for large arrays) and possibly slightly reduced performance due to converting to runtime strides even when they could be known at compile-time.
Does such a type exist? xtensor_view looks close, but I wouldn't know how to select the Tag template parameter. Alternatively, maybe the type I'm looking for is something like decltype(xt::adapt(...))? If such a type exists (i.e. with all template parameters specified), would it automatically accept suitable views and containers, or is there an adaptation function for that task? I'm a bit lost in the many types and concepts xtensor offers, so I'm thankful for any guidance!

can you post some pseudo code?
xtensor<double, 3, layout_type::dynamic> a(data, shape, strides);
accepts completely dynamic strides.
However, as it is right now, it will be slower.

From my understanding, xtensor<double,3,layout_type::dynamic> does not qualify; as xcontainer, they manage the storage for the array and thus necessarily need to copy the data in your example (or do they?).
I'm looking for a hypothetical template type:
template <typename T, std::size_t N, ...>
class xtensor_view_adaptor;

which implements some of the x* concepts that makes it usable at least as an argument in an xexpression. (From my understanding, that could be the concepts xsemantic_base / maybe xview_semantic, and possibly xiterable or xcontiguous_iterable?)
Furthermore, a function such as
void compute(const xtensor_view_adaptor<const? float,3> &input);

(e.g. in an interface of an API where we would like to avoid templates),
should be able to operate with reasonable efficiency on as many of the variables a to e in the following:
xt::xtensor<float, 3, xt::layout_type::row_major> a;
xt::xtensor<float, 3, xt::layout_type::dynamic> b;
xt::pytensor<float 3, xt::layout_type::column_major> c;
xt::xtensor<float, 4> tmp1; // not this one obviously, but...
auto d = xt::strided_view(tmp1, {xt::ellipsis, 3});
auto e = xt::adapt(data, size, xt::no_ownership(), shape);

where reasonable efficiency shall mean as efficient as for variable b if the function were defined as template <E> void compute(E&& e) (e.g. as one recommended approach in the doc on API design), up to a constant (size independent) overhead for shape computation.
The intuition is that all of the above variables can be faithfully (for the purpose of algorithm input) represented by a const float *, three shape integers and three stride integers. The implementation classes differ in where/how those integers are stored and how the underlying storage of the data is managed. The constant overhead is to allow computing shape and strides in the internal format of xtensor_view_adaptor.
My question is, does such an xtensor_view_adaptor already exist? xtensor_adaptor? xtensor_view? What template arguments (besides T and N) would I need? Could I build such a type by implementing a derived type based from suitable x* concepts?
xtensor<...> as mentioned initially would't qualify because of the unnecessary copy...

Essentially, I'm looking for the xtensor equivalent of the mdspan proposed in P0009. Once it lands, mdspan might be a suitable type for the use in API's, and we just need to create suitable explicit or implicit convenience wrappers to adapt between mdspan and x*.

xtensor_adaptor and xtensor_view are indeed quite close to the mdspan feature, with a difference regarding assignment:

xtensor_adaptor implements the container semantics: it tries to resize the underlying buffer upon assignment (if that is required)
xtensor_view implements the view semantics, which tries to broadcast the right-hand side if its shape differs from the one of the left-hand side.

xtensor_view has default values for the layout_type and the Tag parameters, so you can omit them. For information, the Tag is used to plug the containers in different expression systems (for instance the "optional_expression", which performs two assignments, one for the vlaue, one for the boolean mask).
Anyway, none of these classes would allow you to write a non-template API function that accepts any kind of "tensor" container, like in your example. This requires the implementation of a new class, which should actually be quite straightforward. However, reaching same performance (or comparable performance) as tensor containers will require some refactoring in the assign mechanism (especially to enable SIMD based on dynamic information).
We definitely want to have such a feature in xtensor, this would simplify the API design of language bindings (among other things), but we might not have the time to implement it right now.
If you want to tackle this, I would be happy to provide some guidance / review.

Thanks for the clarification! I will give the implementation of such a class a try in the next days. I assume most of the xexpression functionality will come from the base-classes, and the implementation class will mainly have to deal with adaption of suitable containers and views in it's constructor? I would assume that it's performance would be on par automatically with other fully runtime strided containers/views. I'm not well versed in the requirements for SIMD, but I presume SIMD particularly profits from specialisation for contiguous storage? So assign would want to dynamically select the best specialisation at runtime? I imagine that the necessary refactoring could span wider areas of xtensor, so these optimisations might be beyond my capabilities.

I assume most of the xexpression functionality will come from the base-classes, and the implementation class will mainly have to deal with adaption of suitable containers and views in it's constructor?

Indeed, much of the work should be to gather the correct base classes, erase most of the template parameters, and design constructors that accepts any class "wrapping" an underlying contiguous (or strided) buffer.  Notice that xtensor already provides a buffer adaptor class used in the xtensor_adaptor / xarray_adaptor classes and that you could reuse.

I presume SIMD particularly profits from specialisation for contiguous storage?

Yes, most of the assignment logic is located in xassign_traits. It relies on the exitence of static properties in all the expression classes.

I imagine that the necessary refactoring could span wider areas of xtensor, so these optimisations might be beyond my capabilities.

The mechanism would be very similar to the existing one; it would require adding a dynamic contiguous method to all classes so vectorization can be enabled at runtime. Anyway, I think this should be done in a dedicated PR.

I will give the implementation of such a class a try in the next days

Thanks! Do not hesitate if you have any additional question


Errors on "run current command"

CTRL+enter don't work, I have to select from commands list:

CTRL+ENTER or Select command in the palette is the same thing.
The difference can be what you select or where the active cursor is located (if no selection).
Don't use character ; (oracledb don't support it)
Don't select character / (oracledb don't support it)


Paging on FHIR search results sometimes does not deliver all possible results

When I query the public HAPI FHIR server for the count of available conditions:
http://hapi.fhir.org/baseR4/Condition?_summary=count&_total=accurate
I currently get a total of 64271.
When I query those coditions directly:
http://hapi.fhir.org/baseR4/Condition?_count=500
I get the first page of results and can browse through the pages of this result via the next links.
After 14 times of paging (_getpagesoffset=12000) there is no new next link.
No more further result pages can be retrieved from the query, so the rest of the result cannot be retrieved.

The public hapi server has a maximum fetch size of 10,000 resources. This means that it is not possible to fetch more than 10,000 resources in any single query. We do this to limit the load on the server, which people really like to try and abuse with large queries. This is set here: https://github.com/hapifhir/hapi-fhir/blob/cfc8b02b937e9516cc78b89f97fb4ce47b9a86c1/hapi-fhir-jpaserver-uhnfhirtest/src/main/java/ca/uhn/fhirtest/config/TestR4Config.java#L75
This can be configured on your own server using JpaStorageSettings#setFetchSizeDefaultMaximum


Added alejandrox1 as reviewer

Signed-off-by: alejandrox1<EMAIL_ADDRESS>Hi everyone,
I originally asked about helping maintain this project on Slack.
As a follow up to that conversation I want to volunteer as a reviewer to get fully acquainted with the project.

/assign @M00nF1sh @bigkraig

/assign @bigkraig

/lgtm
/approve


v0.5.5

Changes:

Security updates and performance improvements
NEW: Display an "Add All to Queue" button when everyone in the Interested queue can be added to the Playing queue
Fix: Display "Priority Seat" styling to users added via !adduser command
Fix: Prevent Ko-fi cookies from loading until menu button is clicked
Migrated additional components to use Redux stores
Updated and increased unit-test coverage

Codecov Report
Attention: Patch coverage is 91.61905% with 44 lines in your changes are missing coverage. Please review.

Project coverage is 93.11%. Comparing base (e2a92a5) to head (6344917).

Files
Patch %
Lines

src/utils/queue.js
61.44%
32 Missing :warning:

src/features/twitch/channel-slice.js
50.00%
8 Missing :warning:

src/components/main-screen/index.jsx
96.11%
3 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   84.38%   93.11%   +8.72%
==========================================
  Files          31       26       -5
  Lines        5252     5026     -226
  Branches      122      180      +58
==========================================
+ Hits         4432     4680     +248
+ Misses        819      344     -475
- Partials        1        2       +1

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


Question about fetchUrl

hi there !, In Linux and Windows fetchUrl works as an asynchronous function
Is this the expected outcome?
if so , all cyberscript functions are asynchronous ?
I know you mention that asynchronous management is on the road , but what is the native nature of the language ?
thanks!

fetchUrl is currently synchronous. If you're getting no response, then it's probably a bug with the builtin http client; you should post what url you're using if that's the case. You can also use os.execCmd if you have an installed http client like curl.
There will be an equivalent of await in the language, although the design hasn't been finalized. I don't think there would be a builtin async io library though. Instead, Cyber would provide the ability to create one by exposing an api for Promises.

pls , try this sample
while true:
resp = fetchUrl('http://httpstat.us/200?sleep=10000')
print resp
no delay of 10s between calls
what is wrong with this expectations ?
by the way , thanks for fixing sleep on Windows!

No problem!
This looks like the query parameter isn't sent. So it's actually doing this: GET /200 HTTP/1.1 instead of this GET /200?sleep=10000 HTTP/1.1 That's why you're getting a response so quickly. I'll make the fix now, one moment...

now working fine!


Badge 2022

@aarongustafson could you please approve this PR. It doesn't change the website but updates Cloudinary badge generation data for 2022, incl. this new badge background:


audit our examples

a user on our discord has pointed out that our examples need a cleanup to match recent changes. We should do an audit of examples & make sure they're up to date by confirming each example works as described.

[ ] /iroh/examples/client.rs
[ ] /iroh/examples/collection.rs
[ ] /iroh/examples/dump-blob-fsm.rs
[ ] /iroh/examples/hello-world.rs
[ ] /iroh/examples/stream.rs
[ ] /iroh-net/examples/magic.rs
[ ] /iroh-gossip/examples/chat.rs

/iroh/iroh/examples/collections has hardcoded
// print the ticket, containing all the above information     println!("in another terminal, run:");     println!("\t$ cargo run -- get --ticket {}", ticket);     // wait for the node to finish, this will block indefinitely     // stop with SIGINT (ctrl+c)     node.await?;
where i today need use console and there issue  blob get <ticket> produced from example.

Stated in the README.md
"At the top of each example file is a comment describing how to run the example."
more then often outdated ...

for /iroh-net/examples/magic.rs specifically:
I believe when a user looks at an example called "magic" they believe that it's meant to magically connect via just node_id, but I'm pretty sure the intention here is to just show how to use MagicEndpoint
we should:

[ ] write docs that talk about the intention of the example
[ ] mention that if you supply a direct addr only on connect, you may not be able to connect if you require any hole-punching

for the listen command:

[ ] print out all of our known addrs
[ ] print out all of our derp urls
[ ] print out what command should be run in another terminal to connect correctly
[ ] allow overrides for bind-port and derp-url are "global", but should really be moved to listen (since the connect command has a derp-url parameter that isn't global as well)

for the connect command:

[ ] don't allow the command to run if you don't have one of addr or derp_url

However, if we are supposed to show that we can magically connect via just node id, we need to add default derp_urls to the connect command.

if no derp_url use default_derp_url
besides node-id , addr , maybe a ticket with derp_urlembeded = calling-card

if no derp_url use default_derp_url

besides node-id , addr , maybe a ticket with derp_urlembeded = calling-card

if the examples are there to educate someone about what MagicEndpoint does and how to start understanding/coding with it, then adding a default_derp_url and wrapping everything in a ticket is depriving the dev of learning how to use MagicEndpoint
so I'm not sure I would want to hide these here. For any example in the github.com/n0-computer/iroh-examples repo, I think we should definitely use tickets and defaults.
just an opinion ¯_(ツ)_/¯ not married to it

i am in favor of dynamic derps in calling-cards and tickets
find for my use-cases need own derp in open but closed for the wild p2p's
having default hardcoded derps is fine but if --derp-url is provided should take precedence ?
so its like if You don't need it You have it ...

@b5 i can not find /iroh/examples/stream.rs mentioned above

@b5 but there is a `/iroh/examples/rpc.rs
that i can not get to work ...
"
//! An example that runs an iroh node that can be controlled via RPC.
//!
//! Run this example with
//!   $ cargo run --example rpc
//! Then in another terminal, run any of the normal iroh CLI commands, which you can run from
//! cargo as well:
//!   $ cargo run node stats
//! The node stats command will reach out over RPC to the node constructed in the example
"
after run --example rpc
and then issue run node stats i get
Error: rpc connect

Caused by:
    iroh is not running, please start it

https://iroh.computer/docs/quickstart
when try start node B per documentation
$ export IROH_DATA_DIR=./
$ iroh start --rpc-port 1111
no joy
configuration option flag --rpc-port do not exist in
[package]
name = "iroh"
version = "0.12.0"
maybe reference version in documentation´s

TODO:

[ ] write the simplest provide_blob and fetch_blob example, using the iroh api
[ ] /iroh/examples/dump-blob-fsm.rs should remove references to iroh-net (& use direct quic connections instead), and be moved to iroh-bytes
[ ] /iroh/examples/dump-blob-stream.rs should do the same
[ ] /iroh-net/examples/magic.rs should be largely simplified, taking out any CLI / clap, and expecting the direct addrs and derp URL as arguments (not supplied by flags)


Running in headless mode

Is is possible to run LMStudio in headless mode when running the API? Use case is running it in a Linux instance without a UI.

Unfortunately, we currently do not officially support running LM Studio in headless mode. It is something we are currently investigating, but if you have some insights, we are all ears.
That said, there was some discussion on the topic yesterday on our discord's #dev-chat channel, and someone was able to run it flawlessly. You might be interested to take a look there.
https://discord.gg/pwQWNhmQTY

Headless mode is essentially running without the GUI, right? I was about to make a separate post but I think this is my same concern. I was discouraged that there was no way to run LM Studio without keeping the window open at all times. So, I figured LMS was made specifically for that reason -- to run without the GUI. However, every command I am trying requires it to open the GUI.
Is there a least a way to hide the GUI to the toolbar? Having a program window required to be opened seems like a rare thing nowadays.

@POD319 Enabling running LM Studio without GUI is definitely our goal. However, we are still investigating on how to do it.
If your are curious, more specifically:
We already support running in tray on Mac OS (without window).
For Windows, we are still investigating how to make sure the user is aware that LM Studio is still running when it is only in tray, especially when Windows might decide to hide it in the secondary menu.
For Linux, we need to figure out how to run the application in "true" headless mode, that is to start the application at all when there is no display. As you can see, there are some magical incantation on that discord channel, that we are not sure how stable they are.
In any case, we are very interested to hear your specific use cases that you would need headless mode for.

@POD319 Enabling running LM Studio without GUI is definitely our goal. However, we are still investigating on how to do it.

For Windows, we are still investigating how to make sure the user is aware that LM Studio is still running when it is only in tray, especially when Windows might decide to hide it in the secondary menu.

In any case, we are very interested to hear your specific use cases that you would need headless mode for.

Appreciate the quick reply! Windows hiding those icons is quite annoying. I have that setting disabled, so I can always see what is running, but I know that is not the default.
For me, it's really just the minimalist approach. I like to be able to glance over to my toolbar and see what is running there. Open windows are typically something that I am actively working with. Often times I would leave LMStudio running and be working with the server running a model through AnythingLLM or a similar API call. Having the GUI window open just kind of made my taskbar 'messy' for me, and I found myself closing out the window often, accidentally killing the server in the process.
Looking forward to when this is implemented, thanks!

+1 waiting for headless implementation, thanks!

+1 would be great


Change postgres column types to use less space

Following on from the work in https://github.com/LukePrior/nbn-upgrade-map/issues/255
and related to (but maybe obsoleted by?) the work in https://github.com/LukePrior/nbn-upgrade-map/issues/268
we might be able to save a little space by using shorter columns, and/or a numeric.
Current schema is
  gnaf_pid text NOT NULL,
  address text NOT NULL,
  locality_name text NOT NULL,
  postcode text NULL,
  state text NOT NULL,
  latitude numeric(10,8) NOT NULL,
  longitude numeric(11,8) NOT NULL

However:

gnaf_pid is always 14 characters
the longest address is 61 characters
the longest locality_name is 37 characters
postcode 4 digits
state is 2-3 characters (from small set)
the index (locality_name + state) is >100MB

I think postgres is fairly efficient - the storage of a text field is only the number of characters+1.  So we'd save 1 byte per row by changing gnaf_pid, and 3 bytes per row changing postcode to a shortint.

Postgres doesn't have a one-byte integer (to use for a State enum) so changing the state to an int would only save 1-2 bytes.  Probably not worth the hassle and extra code.  Changing it to a CHAR(3) would do the same.

Updating gnaf_pid to CHAR(14) and postcode to SMALLINT:
❯ docker images
REPOSITORY                     TAG       IMAGE ID       CREATED          SIZE
<none>                         <none>    86ed372521d9   39 minutes ago   2.97GB
lukeprior/nbn-upgrade-map-db   latest    8a2b859be4ba   4 days ago       3.01GB

FWIW it seems (experimentally) that using CHAR(n) columns types actually consumes n+1 bytes of storage, which is the same as TEXT, so no point in changing gnaf_pid to CHAR(14). Ditto for state as CHAR(3).

We could save a couple of bytes per row using a CHAR for state and mapping it to/from client side, but this doesn't seem worth the bother.


Allow setting of item range without activation cost

There are a number of passive features such as auras that need a range defined but are still classified as "Passive". Right now the only way to set their ranges is to set them to have an activation cost, set their range, and then remove the cost. The range field should be available regardless of whether and activation cost is selected.

'Limited Uses' would also benefit from this, since a number of features simply act as a passive resource for other features (Channel Divinity, Sorcery Points).


Restirct user's access to the data

Implement a security feature that restricts access to data based on the security privileges assigned to users. Users should only be able to view information pertaining to processes they are authorized to access. The user privileges, indicating allowed processes, will be stored in the main database.
For example, privileges might be stored in a table with columns:

user id
BPMN process id
type of privileges.
And the user will be able to see or to manage (based on privilege type) all data related to the allowed process.
User identifier should be taken from the JWT token.

What are the best tools to restrict access to the process? I know that you can do it using PostFilter, but this method works only with collections of items and I don't think that the best solution would be to pull the whole collection and then filter it only. So far I have started to request from the database the id of the processes available to the client, and work on the basis of this data.

Yes, I think the simplest solution is to add user id to sql requests and filter data at the DB layer

What about creating resources? We need to get information from the token that the user has admin rights to create resources. I'm talking about these enpoints.

As I understand, those resources are related to the concrete process. And if user has access to this process, he is allowed to create resources for it.
The only question is about uploading new models. If it's impossible to define the process definition key there, lets prohibit this endpoint for now. There are another tools for publishing models.


Some minor cleanups.

Sorry, I have not posted any issue yet. These are some minor changes that I made. I wanted to be sure some C# 6.0 coding conventions are accepted in this repo. So, I made the changes to learn from the feedback and open issues and PRs accordingly.
Work done is mainly in the SLinkedList:
mostly replaced some variables to var.
also, replaced some properties to expression bodied properties. I want to be sure, everyone is ok with using C# 6.0, before I go and change in various other places of the code.

Hello @sandeshgum,
Thanks for this initiative. C# 6.0 is more than welcome, the changes are fine but I am pining @ivandrofly to make sure he is on the same page since he is porting the tests to use the NUnit library.
Are you willing to port the source code to the Microsoft C# Style Guide as well? I will be more than happy to accept such changes.
Cheers,
Ahmad

Hi @aalhour
Yes, I do plan to port the existing code base to Microsoft C# Style Guide as and when I get a chance.  Once, @ivandrofly confirms if his tests support C# 6.0, I will work on enhancing the codebase with C# 6.0.

Hello @ivandrofly,
Did you get the chance to review this thread and get back to @sandeshgum with an answer?
Cheers,
Ahmad

Hello guys, sorry for late reply.
@sandeshgum Go for it, actually the project seems to be configured to use the latest version of c# I don't think that would cause any problem.

 Can you please resolve the conflicts in this PR?
Cheers,
Ahmad

@aalhour I have resolved the conflicts. CI build failure looks to be a separate issue. I can see that builds have failed for the previous commits as well for the same reason. Obviously I believe it's been noticed.

Hello @sandeshgum,
I have resolved the build failure, can you please fetch the latest changes from master and try to rebuild your branch?
Cheers,
Ahmad

Closing due to inactivity.


fix(rules): allow Styled.div component names in React JSX

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


ADR 0004: Runtime Governance

See #2515

Hi, I would like to request a feature of the runtime governance.
Is it possible to limit the number of compute nodes per entity?
As a ParaTime developer, we will encounter the following issues if the number of compute nodes per entity is not limited:

Someone can create as many as possible compute nodes with malicious modification. When the number of compute nodes per entity is not limited, all of the active compute nodes can be taken by this maliciously modified version in one epoch time.
If we want to provide rewards for the active compute nodes, an entity which creates more compute nodes may increase its possibility to join the active group.


Corrected imports for debug convenience globals

When debugging, I wondered why Posts.find().fetch() returned the same as Users.find().fetch() (with both console.table() on the client and meteor shell)
It's because the imports for the Comments, Users and Posts globals were all importing from nova:posts which exports Posts as default.. so they were equal

Oh wow I can't believe I never noticed that! Thanks!


Adaptive cards height

Platform
What platform is your issue or question related to? (Delete other platforms).

JavaScript

Author or host
Me
If you're an author, who are you sending cards to?
Directline webchat using BotFramework-Webchate
Version of SDK
Adaptive Cards 1.0.0
Issue
Since BotFramework-Webchate is using Adaptive Cards 1.0.0 I had an issue with the display of PromptChoice dialogs.
The single choice had a height of 100% (see below).

I managed to fix it by setting
.ac-pushButton {
        flex: 0 1 auto !important;
}

Another user reported a similar issue and mentioned it only happened in Çhrome for him.
See https://github.com/Microsoft/BotFramework-WebChat/issues/933#issuecomment-408525094

@dclaux any thoughts on this?

I posted my thoughts yesterday here: https://github.com/Microsoft/BotFramework-WebChat/issues/933
Let me paste them here.
I am not able to repro this problem in the visualizer, which uses the same rendering logic as WebChat. It seems to me that there is either a problem with how WebChat vertically sizes cards, or maybe some conflicting styling being applied.
As a side note, an Image can't have "height": "stretch", it should be "size": "stretch"

I think we have a solution for this, assuming the problem is caused by the height property of some element being set to stretch. See this PR: https://github.com/Microsoft/AdaptiveCards/pull/1795

It might also related to #1794. The user was rendering AC using HTML4 layout (i.e. pages without <!DOCTYPE html>).

Closed as the bug is related to doctypes in IE11, which is unsupported


Thursday 02-05-2024 roll call

Roll Call!
Leave a comment with these two things:

A summary of your study using only emojis
Something you'd like to share, anything goes! (within respect)

emoji cheat sheet

Good morning

Good morning

salut

Good morning!

Good Morning!

Hello

Good morning!

morning

Good morning

good morning

hello ......

hello

🙃

Good morning


used slot uses non-monotonic ranges

I suspect that this is an exemplar of a broad pattern

non-monotonic means that something deeper into inheritance has a rule that is more liberal than it's ancestors.
will provide examples

I think the OWL representation of the schema in the triple-store doesn't do a good job of illustrating this. Maybe the RDF representation would
But for now, Schema View traversals or linkml2sheets will be most helpful

Globally, the range of https://microbiomedata.github.io/nmdc-schema/used/ is string
from linkml_runtime import SchemaView

schema_file = "../src/schema/nmdc.yaml"

schema_view = SchemaView(schema_file)

schema_classes = schema_view.all_classes()

for ck, _ in schema_classes.items():
    induced_slots = schema_view.class_induced_slots(ck)
    for induced_slot in induced_slots:
        if induced_slot.name == 'used':
            print(f"In class {ck}, slot used has range  {induced_slot.range}")

In class MetaproteomicsAnalysisActivity, slot used has range  Instrument
In class Activity, slot used has range  string
In class MagsAnalysisActivity, slot used has range  string
In class MetabolomicsAnalysisActivity, slot used has range  string
In class MetagenomeAnnotationActivity, slot used has range  string
In class MetagenomeAssembly, slot used has range  string
In class MetagenomeSequencingActivity, slot used has range  string
In class MetatranscriptomeActivity, slot used has range  string
In class MetatranscriptomeAnnotationActivity, slot used has range  string
In class MetatranscriptomeAssembly, slot used has range  string
In class NomAnalysisActivity, slot used has range  string
In class ReadBasedTaxonomyAnalysisActivity, slot used has range  string
In class ReadQcAnalysisActivity, slot used has range  string
In class WorkflowExecutionActivity, slot used has range  string

Only NomAnalysisActivity and MetabolomicsAnalysisActivity have used used in the data so far, and they have adhered to the string range.
PREFIX nmdc: <https://w3id.org/nmdc/>
select
?t (count(?s) as ?scount)
where {
    ?s a ?t ;
       nmdc:used ?o
}
group by ?t

@SamuelPurvine the "Instrument name" filter on the DataPortal is populated from the values of instrument_name, so that functionality won't be effected by the suggested retirement of class Instrument or the normalization of slot used

Purrfect :) Yeah, I actually have no idea even where "used" is being used in the MetaproteomicsAnalysisActivity. I can't find it in our json files, so I'm not sure how it's creeping into the system, let alone having been set to instrument instead of string. I see that NOMAnalysisActivity uses "used", and it is set to what would resolve as a string (example: "21T_Agilent"), which is of course an instrument_name, but Metaproteomics isn't currently doing that... I don't think? Are there examples where Metaproteomics has a value for "used"?


https://github.com/stahnma/puppet-module-epel/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

Getting the following error on yum install epel-release. The epel.repo is pointing to the correct GitHub repo. I also added the repo-gpgcheck=0 to epel.repo so it does not worry about checking the gpg keys. but I still get the same error. Seems the repo is having incorrect "repomd.xml".
https://github.com/stahnma/puppet-module-epel/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Here is the complete output.
yum install epel-release
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
https://github.com/stahnma/puppet-module-epel/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.
One of the configured repositories failed (Puppet EPEL Repo),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
1. Contact the upstream for the repository and get them to fix the problem.
 2. Reconfigure the baseurl/etc. for the repository, to point to a working
    upstream. This is most often useful if you are using a newer
    distribution release than is supported by the repository (and the
    packages for the previous distribution release still work).

 3. Run the command with the repository temporarily disabled
        yum --disablerepo=epel ...

 4. Disable the repository permanently, so yum won't use it by default. Yum
    will then just ignore the repository until you permanently enable it
    again or use --enablerepo for temporary usage:

        yum-config-manager --disable epel
    or
       subscription-manager repos --disable=epel

 5. Configure the failing repository to be skipped, if it is unavailable.
    Note that yum will try to contact the repo. when it runs most commands,
    so will have to try and fail each time (and thus. yum will be be much
    slower). If it is a very temporary problem though, this is often a nice
    compromise:

        yum-config-manager --save --setopt=epel.skip_if_unavailable=true

failure: repodata/repomd.xml from epel: [Errno 256] No more mirrors to try.
https://github.com/stahnma/puppet-module-epel/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

Can you share what code you are using? You seem to be pointed at github for the repo and this module does not do that.

Thanks Rob. You are right. Here is the epel.repo file from the yum.repos.d and it is pointing to the github repo. I copied the code from one of our customer codes and trying to run it on AWS setup through Puppet.
[epel]
name=Puppet EPEL Repo
baseurl=https://github.com/stahnma/puppet-module-epel
enabled=1
repo_gpgcheck=0
What should I point the baseurl to? mayb to the fedoraproject.org url mentioned below? Is there more configuration that is needed apart from this change.?
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
Thank you.
Ravindra Aiyer.

From: Rob Nelson<EMAIL_ADDRESS>Sent: Wednesday, June 19, 2019 5:46 AM
To: stahnma/puppet-module-epel
Cc: Ravindra Aiyer; Author
Subject: Re: [stahnma/puppet-module-epel] https://github.com/stahnma/puppet-module-epel/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found (#85)
Can you share what code you are using? You seem to be pointed at github for the repo and this module does not do that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fstahnma%2Fpuppet-module-epel%2Fissues%2F85%3Femail_source%3Dnotifications%26email_token%3DALHQTEFUUP726Z4UEPOAXD3P3IFBBA5CNFSM4HZFVDJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYBO5YY%23issuecomment-503508707&data=02|01|ravindra.aiyer%40hcl.com|d2a4d0eac0934dae175408d6f4a36af0|189de737c93a4f5a8b686f4ca9941912|0|0|636965380050748942&sdata=QsOS6%2F9djmOfQ%2FMzCsIWpgg4EhKxWI4hXCxSixXAcy8%3D&reserved=0, or mute the threadhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALHQTEF2FCPV2LIPTLDX5Q3P3IFBBANCNFSM4HZFVDJQ&data=02|01|ravindra.aiyer%40hcl.com|d2a4d0eac0934dae175408d6f4a36af0|189de737c93a4f5a8b686f4ca9941912|0|0|636965380050748942&sdata=%2F82JJ1b984dcgAeVNp7ReBnGTEBoSZHvyWyOMmAQfjQ%3D&reserved=0.
::DISCLAIMER::
The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents (with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates. Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of authorized representative of HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any email and/or attachments, please check them for viruses and other defects.

This github repo isn't a yum repository itself, it's a puppet module to manage repositories. Please see the usage section on how to make use of it properly. Thanks.


Center position

I would like to have a position center. What do you think about this?

Hm, how would you use that?

It'd simply behave as any component that lies on top of the parent, but with the parent's outer spaces being visible, while the dock occupies the inner space.
I personally use your dock in a chrome extension that allows you to do all sorts of things with the injected page. In my case it would make more sense if the dock was in the vertical and horizontal middle (the center) of the view, rather than it being fixed to one of the edges.

Well, it seems like you need some kind of popup control, not the actual react-dock, isn't it? Centered dock would have completely different behaviour, compared to other states (what about resizing, for example? or show/hide animation?). Is there really something dock-specific that you need in your control?

I actually like everything of react-dock; though I guess I could switch to https://github.com/reactjs/react-modal.
Feel free to close if you don't like the idea.

I actually like everything of react-dock

Glad to hear it :) It just feels this behavior is out of the scope of this module.


Build failures related to Node upgrade

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
https://github.com/argoproj/argo-workflows/actions/runs/5676125574/job/15383405669
 /home/runner/runners/2.306.0/externals/node16/bin/node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

https://github.com/argoproj/argo-workflows/actions/runs/5676115276/job/15382363976
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=20". Got "18.17.0"

Version
latest
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
Not needed

Logs from the workflow controller
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

Logs from in your workflow's wait container
kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded

The snyk workflow needs to use Node v20 similar to the ci-build workflow's setup-node step. I'll write up a PR for that in a jiffy

The first issue is on publish-release workflow

Oh... the version on the runner itself is failing to run checkout (which is in JS) due to the --openssl-legacy-provider. The reason it works during ci-build is because its NODE_OPTIONS is currently missing that flag.
That's gonna take a few more changes to get working


Add files to be reused by installer

This adds a new 'bootstrap' folder, which would do the following:

append "manifests" to the assets
place "overlay" files on bootstrap before pivot

Using this schema we could allow us centralize all config files we use for OKD and make installer delta smaller.
Tested with https://github.com/vrutkovs/installer/commits/fcos-4.7-devel - installer fork now no longer container OKD-specific manifests.
OS extensions in manifests/ and bootstrap/manifests are currently intentionally duplicated:

fresh installs would use extensions from bootstrap/manifests, created by installer
4.5 -> 4.6 upgrades would have OS extensions setup injected by MCO.

So once we don't need any 4.5 -> 4.6 edges we could remove manifests/ from the image.

/retest

/retest

/retest

/test e2e-aws

/retest

/test e2e-aws

/test e2e-aws

/test e2e-aws

/cherrypick release-4.6


[BUG] TCP will release when FTP Client want to connect in FTPD example

Description / Steps to reproduce the issue

Test ESP32-S3-DevKitC-1 v1.0: esp32s3-devkit:sta_softap with CONFIG_EXAMPLES_FTPD=y and CONFIG_NETUTILS_FTPD.

nuttx base on master and last commit is https://github.com/apache/nuttx/commit/204871513486e940fbb29a9a524de9b9e063d3e0

tool chain：

xtensa-esp32s3-elf-gcc -v
Using built-in specs.
COLLECT_GCC=/home/john/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin/xtensa-esp-elf-gcc
COLLECT_LTO_WRAPPER=/home/john/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin/../libexec/gcc/xtensa-esp-elf/14.2.0/lto-wrapper
Target: xtensa-esp-elf
Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/xtensa-esp-elf/xtensa-esp-elf --with-native-system-header-dir=/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-14.2.0_20240906' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.0 (crosstool-NG esp-14.2.0_20240906)

then  flash nuttx.bin and config wifi with wapi psk wlan0 12345678 3;wapi essid wlan0 John 1;renew wlan0
run ftpd with ftpd_start -4 and connect it with ftp client tools.
ftp client will disconnet after input password(usename:root, password:abc123).
dump with WireShark tool and find board release connect after SYN.
shell will print WARNING: Listen canceled while waiting for ACK on port(line 1287 in tcp_imput.c),this means no any listener in list.

after I modify ftpd_session(handle,5000) to ftpd_session(handle, -1) and connect is ok.
follow is the patch:
diff --git a/examples/ftpd/ftpd_main.c b/examples/ftpd/ftpd_main.c
index d1052b50c..208624c1c 100644
--- a/examples/ftpd/ftpd_main.c
+++ b/examples/ftpd/ftpd_main.c
@@ -229,7 +229,7 @@ int ftpd_daemon(int s_argc, char **s_argv)
        * has been started.
        */

-      ret = ftpd_session(handle, 5000);
+      ret = ftpd_session(handle, -1);

       /* If any interesting happened (i.e., any thing other than a timeout),
        * then report the interesting event.

this change make accept4() will immediately call after listen().
On which OS does this issue occur?
[OS: Linux]
What is the version of your OS?
Ubuntu 24.04
NuttX Version
master
Issue Architecture
[Arch: all]
Issue Area
[Area: Applications]
Verification

[X] I have verified before submitting the report.

@wengzhe please take a look

Hi @SmartIotMaker , have you tried to enable CONFIG_NET_TCPBACKLOG? With backlog, the server won't need to accept immediately when client connects.

@wengzhe yes, everything is OK when enable CONFIG_NET_TCPBACKLOG, thank you.
but it is seemingly very strange because only enable log.

@SmartIotMaker Glad to see your problem solved. The "backlog" is not a "log", you may see it as the second parameter of listen on a socket, which "limit the number of outstanding connections in the socket's listen queue". Without CONFIG_NET_TCPBACKLOG enabled, we won't have a listen queue (which means backlog=0), so we cannot accept clients asynchronously, which causes your problem.

@wengzhe Thank you very much for your explanation. I got it.


Define constant for the max supported degree

It will be used to define the quotient polynomial and split the looked-up values

Note that in a following PR, it is merged in lib.rs. Sorry for the too simple commit.


KML with duplicate placemark ID's doesn't render duplcates

Duplicate ID's on KML 's are eaten up by cesium (leaving only the last one parsed), but not by Google Earth.
Here is a minimally viable KML example:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
	<name>test.kml</name>
	<Folder>
		<open>1</open>
		<Placemark id="pants">
			<name>Untitled Placemark</name>
			<Point>
				<coordinates>-100.3676476056248,35.68047362719558,0</coordinates>
			</Point>
		</Placemark>
		<Placemark id="pants">
			<name>Untitled Placemark</name>
			<Point>
				<coordinates>-99.88130689790214,35.74669558362526,0</coordinates>
			</Point>
		</Placemark>
	</Folder>
</Document>
</kml>

Thanks @denverpierce!


Fixes and updates on README-esla.md according to changes on PR #753

Ah... not sure if I can make the PR this way, on this branch or wait until it is merged to master then create this PR. My bad... i'm relatively new to doing contributions and creating PRs

Looks great to me! Since I already merged the readme branch, I just changed the branch that you want to merge into from feross/readme to feross/master.


FI-3166: Step 1 solution upgrade

Summary
This PR updates the Inferno template version in step-1-solution branch. It includes the solution to step-1 of the tutorial.
Testing
Run locally with Docker:

Run ./run.sh in this repository
Navigate to http://localhost
Run test kit with the following inputs:

FHIR Base Server URL: https://inferno.healthit.gov/reference-server/r4
access_token: SAMPLE_TOKEN
Patient ID: 85

You should get the following results:

Also run with Ruby.

Access token input is showing up twice


[CYPRESS_FRAMEWORK] Pass x-request-id in reports

Description:
Cypress is the testing framework that Hyperswitch is using to run automated tests. Having good grip on Javascript to work on Cypress is a must.
For every request made from Hyperswitch, x-request-id will be generated. This gives access to the developers to access detailed logs about the exchange (request and response) that includes connector's response as well.
At present, Cypress tests generate report in both html as well as json format. They do provide some info about a test that is run but they lack x-request-id.

[!NOTE]
Cypress tests do print the x-request-id in cli logs.

With that said, the task is to inject / introduce x-request-id in reports that are generated.
Getting started:
Go through the README for guidelines on file structure, formatting and instructions on how to set up and run Cypress.
In short:
cd cypress-tests
npm ci

Possible implementation:

Cypress mochawesome reporter is the plugin that is used to generate Cypress reports and is introduced in Cypress configs
You might want to write a custom reporter to accommodate this change by adding a afterHook in Cypress configs that can fetch the x-request-id and pass that into the report through the custom reporter
Code wise, x-request-id is printed into cli_log by the function here

Reference:

Set up customized reports with Cypress
Cypress reporters

Additional info:

Language: Javascript
Difficulty: Medium

Submission Process:

Ask the maintainers for assignment of the issue, you can request for assignment by commenting on the issue itself.
Once assigned, submit a pull request (PR).
Maintainers will review and provide feedback, if any.
Maintainers can unassign issues due to inactivity, read more here.

Refer here for Terms and conditions for the contest.

Hey @ritik07  ,
Quick check-in on the status of this issue. If you have any questions or need assistance, feel free to reach out in the community.

Hey @ritik07
un-assigning the issue due to inactivity.


Add support for loading core add-ons from the packages folder defined in Volto's package.json

So, all add-ons defined there will get into registered add-ons.

I think the documentation part belongs to Developer Guidelines. It's an internal feature that belongs to Volto, it should only concern Volto Core developers.

I agree. This is not configuration, but core to Volto.


Adding Google+ API tip to avoid deploy errors

If you don't add Google+ API to your APIs you will get the next error InternalOAuthError: failed to fetch user profile

Closing due inactivity


Fixes #23909. Add missing imports of envoy api packages necessary for…

This PR fixes #23909.
Right now it is not possible to add a new cluster with an EnvoyFilter like this:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: patch-clusters
spec:
    - applyTo: CLUSTER
      match:
        context: SIDECAR_OUTBOUND
      patch:
        operation: ADD
        value:
          name: cluster_x
          connect_timeout: 2s
          lb_policy: CLUSTER_PROVIDED
          cluster_type:
            name: envoy.clusters.aggregate
            typed_config:
              "@type": "type.googleapis.com/envoy.config.cluster.aggregate.v2alpha.ClusterConfig"
              clusters:
                - cluster_a
                - cluster_b

The reason for this is that the pilot code does not import the package that registers the protobuf type envoy.config.cluster.aggregate.v2alpha.ClusterConfig and therefore it rejects any such configuration, and even if I get the config in without validation, Pilot will be unable to marshal the message to Envoy.
Therefore this PR adds all missing packages from the module github.com/envoyproxy/go-control-plane in the corresponding version that have a file ending with .pb.go.
That's why there are so many changes in this PR.
The PR is targeted for the release-1.6 branch as master already has a fix for this, that apparently cannot be backported simply to 1.6 according to a discussion with @howardjohn.
P.S.: I explored a way to create a generator that would allow using go generate to generate this file, but I wasn't able how to use the go build tools packages to get hold of the correct module with the correct version. Therefore I created the imports locally by traversing the cached module at the correct version.

Hi @robertpanzer. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

Can be closed since #23932 is merged


add test case for #936: graph_models should work without models.py

Coverage decreased (-0.4%) to 35.788% when pulling d3f8c13b11d1bd20c18a4bbc1253bd84911e29db on mdamien:test-no-models.py into 7aea6d7423a6415ac0c24ae4138281648d05b6cb on django-extensions:master.

Coverage decreased (-0.4%) to 35.788% when pulling 0ee1aa275ae6fd57172d2fb0ca84045586da3629 on mdamien:test-no-models.py into 7aea6d7423a6415ac0c24ae4138281648d05b6cb on django-extensions:master.

Coverage decreased (-0.4%) to 35.788% when pulling f3e47518f3a8eb9c8800d776434ad5f8a7d8d569 on mdamien:test-no-models.py into 7aea6d7423a6415ac0c24ae4138281648d05b6cb on django-extensions:master.

Coverage decreased (-0.4%) to 35.788% when pulling f3e47518f3a8eb9c8800d776434ad5f8a7d8d569 on mdamien:test-no-models.py into 7aea6d7423a6415ac0c24ae4138281648d05b6cb on django-extensions:master.

Thanks !


False positivies in highlighted item check

Because the highlighted item check takes the whole string and just uses contains, it creates false positives when a spawned item is part of a highlighted item's name. IE Seaweed spore is highlighted, so a Seaweed spawn triggers the money audio.
Fixed in #1.

#1 Merged in to master


Initial work on issue#2369

#2369. This is not the entire work. This commit enables pasting (crl+v) Czml directly into the cesium inspector without the need to create a temporary file.

Your KML and CZML tests look good.
My reading of the GeoJSON spec, specifically section 2, suggests that you need to test for any of the possible GeoJSON object types: Feature, FeatureCollection, GeometryCollection, or any of the geometry types.
You included a check for a object type of "Topology" in the GeoJSON test.  I haven't seen the rest of your code, but is it your intention to also support TopoJSON geometries?

Yes, I intended to support TopoJson also. Cesium doesn't has a separate loader for TopoJson. Its the same for GeoJson and TopoJson (GeoJsonDataSource). Therefore, I created only one validator function for GeoJson and TopoJson. If we need separate validators for GeoJson and TopoJson, I will make the required changes.
I also added support for all object types in GeoJson.

What's the plan with this?

There hasn't been any movement here and implementing this properly is probably more trouble than it's worth.


sort up and down functionality

Sort functionality is deployed - both the sort up and sort down work on button click toggling true/false and disabled attributes.

WICKED!


Update node_config.csv file

Please update the node_config.csv file to include the Swedish namematching service.
Sweden,name-matching,names_lookup,https://namematching.biodiversitydata.se/api/getByTaxonID,search_identifiers,TRUE
Sweden,name-matching,names_search_multiple,https://namematching.biodiversitydata.se/api/searchByClassification,search_taxa,TRUE
Sweden,name-matching,names_search_single,https://namematching.biodiversitydata.se/api/search?q={name},search_taxa,TRUE

Please note the lucene search index for the service is generated using the GBIF backbone.

thanks @shahmanash - I'll start working on other atlases this week and next week.  are there other APIs that need to be updated?  If so, could you point me to the correct page?


Avoid testing inset with NaN for Spark before 3.2.0

Before Apache Spark 3.2.0, 3.1.3, 3.0.4, the inset operator may treat NaN as different values (https://issues.apache.org/jira/browse/SPARK-36792) while our plugin and Spark from 3.2.0 compares NaN as equal values. This eliminates NaN from the input test for Spark before version 3.2 and updates documentation about such inconsistent outcomes of NaN comparison.
Closes https://github.com/NVIDIA/spark-rapids/issues/9687.

build

I messed up with the branch code so closing this and will open a new PR.


Cadence/Temporal concurrent activity task capability question

We intend to replace our use of SWF and are looking are Cadence/Temporal as an option and at Neon.Cadence/Neon.Temporal since most of our codebase is C#.
In our existing SWF workflows we have decisions that schedule multiple tasks which run concurrently and events let us know when they are all complete so that was one of the things I have tried to emulate in a test program to evaluate capabilities. I took the approach of using a Parallel.For e.g.
Parallel.For(0, workflowPackage.Value, async i =>
{
inputString = JsonConvert.SerializeObject(workflowPackage);
byte[] parallelResult = await activityC.RunTestActivity(Encoding.Default.GetBytes(inputString));
parallelResults[i] = parallelResult;
});
Interface definition is
[ActivityInterface(TaskList = "parallel-tasks")]
public interface ITestActivityC : IActivity
{
[ActivityMethod]
Task<byte[]> RunTestActivity(byte[] args);
}
Implementation starts
[Activity(AutoRegister = true)]
class TestActivityC : ActivityBase, ITestActivityC
{
public async Task<byte[]> RunTestActivity(byte[] args)
but that Parallel.For fails
Neon.Cadence.WorkflowParallelOperationException: 'Workflows cannot perform multiple operations in parallel.  Are you missing an [await]?'
This exception was originally thrown at this call stack:
[External Code]
Temporal.Experiment1.TestWorkflow.RunTestWorkflowAsync.AnonymousMethod__0(int) in TestWorkflow.cs
(note that some of the naming is a result of changing from Neon.Temporal to Neon.Cadence for the sake of immediate testing)
Now that could be a result of just not working well with Parallel.For and there are other methods of multi-threading that can be tried but before I embark on that it's probably worth checking if the Neon.Cadence/Neon.Temporal libraries are capable of supporting what I want to do.

Your sample code above is a bit difficult to to follow. but it looks like you have a workflow that needs to execute several instances of an activity in parallel and then wait for all of the activities to complete.  This is supported by the Cadence client (and eventually the Temporal client when we get it working).  You are correct though about the .NET Cadence/Temporal clients being incompatible with the Parallel and other standard threading related classes.
Explicit threading is not generally supported in workflow implementations using the .NET clients.  We've focused on using Tasks  instead since they are especially suited to workflow implementations where instantiating explicit threads will be expensive and not terribly scalable.
We do support your scenario via IActivityFuture, IActivityFuture<T>, IWorkflowFuture, and IWorkflowFuture<T> along with methods to create workflow and activity stubs that return a future rather than waiting for the operation to complete.  The idea is to:

Create future stubs for the activity/workflow methods you want to run in parallel
Start the methods and remember the futures
The methods will all be running in parallel now
Wait for all of the futures to complete, taking note of any results

Here's an example from our unit tests:
        [WorkflowInterface(TaskList = CadenceTestHelper.TaskList)]
        public interface IWorkflowParallel : IWorkflow
        {
            [WorkflowMethod]
            Task<List<string>> RunAsync(int activityCount);
        }

        [ActivityInterface(TaskList = CadenceTestHelper.TaskList)]
        public interface IDoSomethingActivity : IActivity
        {
            [ActivityMethod(Name = "DoSomething")]
            Task<string> DoSomethingAsync(int arg);
        }

        [Activity(AutoRegister = true)]
        public class DoSomethingActivity : ActivityBase, IDoSomethingActivity
        {
            public async Task<string> DoSomethingAsync(int arg)
            {
                // Activity methods can pretty much do anything including
                // starting new processes and threads, communicating with
                // other services, reading/writing files, interacting with
                // GPUs, etc.
                //
                // In this example, we're just pausing execution for a
                // random delay between 0-2 seconds.

                var delay = NeonHelper.PseudoRandomTimespan(TimeSpan.FromSeconds(2));

                await Task.Delay(delay);

                return $"[arg={arg}]: Delayed for: {delay}";
            }
        }

        [Workflow(AutoRegister = true)]
        public class WorkflowParallel : WorkflowBase, IWorkflowParallel
        {
            public async Task<List<string>> RunAsync(int activityCount)
            {
                // This workflow runs the requested number of activities in parallel
                // and then waits for them to complete, appending the activity result
                // to the [results] list.
                //
                // We're going to use an [ActivityFutureStub<T>] to accomplish this.
                // These stubs return an [IAsyncFuture<T>] which you can use to await
                // the activity completion and result via a call to [IAsyncFuture<T>.GetAsync()].

                var results = new List<string>();
                var futures = new List<IAsyncFuture<string>>();

                // Start each activity and remember its future.  This doesn't wait
                // for the activity to complete, so all of the activities will
                // essentially be started in parallel.

                for (int i = 0; i < activityCount; i++)
                {
                    var stub = Workflow.NewActivityFutureStub<IDoSomethingActivity>("DoSomething");

                    futures.Add(await stub.StartAsync<string>(i));
                }

                // Wait for each activity future to complete and append each activity
                // result to the results list.

                foreach (var future in futures)
                {
                    results.Add(await future.GetAsync());
                }

                return results;
            }
        }

        [Fact]
        [Trait(TestCategory.CategoryTrait, TestCategory.NeonCadence)]
        public async Task Workflow_Parallel()
        {
            await SyncContext.ClearAsync;

            var stub = client.NewWorkflowStub<IWorkflowParallel>();

            var results = await stub.RunAsync(10);

            Assert.Equal(10, results.Count);

            for (int i = 0; i < 10; i++)
            {
                Assert.Contains($"[arg={i}]", results[i]);
            }
        }

...and here's a discussion of this in the documentation: Neon.Cadence: Getting Started

*Possible Future Changes:
That all being said, I'm not entirely happy with the IActivityFuture and IWorkflowFuture design.  It's a bit weird for the clients to invent new future types when Task and Task<T> are futures themselves.  I'd really like to eventually have the stub methods be able to return a standard Task that can be awaited later.  We can't support that right now due to an early low-level design decision but we may be able to do this after we convert the GO implementation of the Cadence/Temporal proxy in-process and/or do a native gRPC implementation.
We're going to give the in-process implementation a shot for Temporal after we get the basics working and then we'll see about doing plain old tasks (POT) :).  We'd also retain the futures implementation for backwards compatibility.

Yes, that's exactly what I want to do, so I'll try it out.

The NewActivityFutureStub worked as expected and that will be the way to go for re-implementing most of our existing SWF workflows.
However there is one that I am not able to emulate with my Cadence test program. In the existing project using the AWSSDK for SWF, we have a workflow that will concurrently schedule a variable number of activity tasks but only a sub-set need to complete before the next activity task of the workflow is scheduled. For example we might schedule 5 of the concurrent activity task but only 3 need to complete before moving on to next activity task and using AWSSDK for SWF our decision poller can schedule the next activity task after 3 ActivityTaskCompleted events from the concurrent activity tasks. The remaining 2 concurrent activity tasks still continue to run but our decision maker doesn't care about their ActivityTaskCompleted events once the next activity task has been scheduled. Basically taking the results of the 3 quickest concurrent activity tasks and discarding the remaining.
With the Cadence library that doesn't seem to be an option, because
foreach (var future in futures)
{
results.Add(await future.GetAsync());
}
just gets the activity task outputs in the order they were scheduled irrespective of what order the ActivityTaskCompleted events occur in.
Will the possible future changes (Cadence or Temporal libraries) allow something like this?
In the meantime, our desire to replace SWF is pressing enough that we are going to continue with adopting Cadence (now, hopefully Temporal soon) and change that workflow to only schedule the minimum number of the concurrent activity task and accept the fact that we might not be getting the shortest duration concurrent activity tasks that we could.

Sorry for the delay getting back to you (I went for a drive in the mountains yesterday).
What you're describing is currently a gap in our client implementation.  We need to add an API that can wait on multiple different kinds of things: child workflows, activities, signals, etc. and return when one of these happen.  This API would need to return an indication of which thing completed and also record this to the workflow history so things will work properly if the workflow is rescheduled and needs to be replayed.  We've been planning on adding this to the Temporal client but not back-porting this to Cadence.
@johncburns1 and I have been making some progress on the Temporal port the last few weeks going from no unit tests passing to about half of them passing now.  We don't have an ETA on a first preview yet (this is a part-time thing for us).  Once we get the Temporal client working as well as the Cadence client, this feature will be the next priority and after that, better workflow unit testing support.
I don't really have a good workaround for this situation.    You'd put your decision logic in the synchronous signal handler.  This would be super ugly though and I wouldn't recommend it.

FYI: We're currently pushing hard to get the .NET Temporal client to preview quality.  I'm hoping to have something by early January.

Here's some early thinking on how this might work: https://github.com/nforgeio/neonKUBE/issues/1105

CLOSING: Temporal is deprecated.  We're waiting for an official client.


Integrate with Circuit Breaker

Feature Request
Is your feature request related to a problem? Please describe.

Integrate with Circuit Breaker.

Describe the solution you'd like

Integrate with Risilience4j. Additionally, we provide documentation or sample projects to guide users on how to configure and use it.

Describe alternatives you've considered

Additional context

see https://github.com/ksewen/yorozuya/tree/main/yorozuya-spring-boot-starter#circuit-breaker


HTTP 2.0 support.

Hyper-h2 maybe a good place to look at.

http://python-hyper.org/h2/en/stable/basic-usage.html
A good start for http 2.

server example: http://python-hyper.org/h2/en/stable/examples.html#example-servers
client example: http://python-hyper.org/h2/en/stable/twisted-head-example.html

Maybe http2 implementation is not difficult as I thought, haha.
We could start on this recently~
I will find some h2 implementation candidates and do POC on it.

Great to hear that, meanwhile I will working on the plugin system and debug tls issues. Orz

Please go ahead on plugin system and tls issues~
And I think h2 is good enough for us.
tornado seems like that they will not provide http2  feature recently.
They think that the spec is not a stable version.
One developer of them had implement tornado http2, but I think it's not a good idea to use that.
And I found mitmproxy used h2 as their http2 implementation.

I also see the issue that discuss supporting http2 from tornado. I believe using hyper-h2 is quite enough for us.
I have found the hyper-h2 library from mitmproxy too. XD

mitmproxy used TLS extension: ALPN (Application Layer Protocol Negotiation) to determine that current connection is http/1.1 or http/2
So mitmproxy only support http/2 over https, not support http/2 over http
I'm not sure that http/2 spec had force the connection must over tls or not.
Should we use the same methodology to detect the protocol?
Should we provide http/2 over http?
Any idea?

No, from http2 spec, it does not specify that http2 must connect through tls.
A normal http request can still upgrade to http2 by using upgrade request.
ALPN is an tls extension that tells the server what protocol the client wants. As a result, the client no longer need to send a upgrade request if using ALPN extension.
However, I'm not sure we can get the alpn information after the start_tls is done.

hahaha, I got the point!
http2 implement separate with two category: h2, h2c
h2: HTTP/2 over TLS - always depends on ALPN or NPN
h2c: HTTP/2 over TCP - always need upgrade request
And unfortunately
depends on http2 implementation
Firefox didn't support h2c.
So it will always use HTTP/1.1 when over TCP

QAQ
So we need to find a way to get the alpn/npn from source stream even when the start_tls is finished.
But we can still implement the h2c part, from implementation point of view, the difference between h2 and h2c is
h2:   proxy layer -> tls layer -> http2 layer
h2c: proxy layer -> tls layer -> http layer -> http2 layer
proxy layer -> http layer -> http2 layer
If we have implemented the http2 layer, the only thing we need to tweak to implement both h2/h2c mode will only be LayerManager.
;)

I have add another issue to track down the tls alpn/npn problem. Issue #61

BTW, a good website to test.
https://http2.golang.org/

It turns out that you are right about the h2 and h2c. The upgrade request can only accept h2c based on what the rfc said.
rfc 7540 section 3.2

A server MUST ignore an "h2" token in an Upgrade header field. ...

h2:   proxy layer -> tls layer(lacking alpn support) -> http2 layer
h2c: proxy layer -> http layer(hard to decouple) -> http2 layer

I have noticed that tornado.HTTP1ServerConnection has a method called detached, which may help in this situation. Quote from the documentation,

Returns the underlying IOStream object and stops all further HTTP processing.

http://www.tornadoweb.org/en/stable/http1connection.html#tornado.http1connection.HTTP1Connection.detach

It seems ok to detach the connection when we found http2 upgrade.

As #61 mentioned, the alpn support is now complete. Now it is possible to use h2 to start http2 protocol.

@mike820324
It seams that HTTPHeaders in tornado is not suitable for http2.
According to Hyper H2 API
That some headers in h2 protocol (start with colon:) must send first before any other headers.
So if we used HTTPHeaders that will re-order the headers in a dictionary that may caused the h2 communication failed.
Any idea?

And I think request should have the host field, not in the headers when we publish to viewer.
Because h2 not had this field in its header.

I have add the these three fields (scheme, host, port) in ViewerContext and PluginContext, I think it should be enough.
As for the tornado headers, maybe the collections.orderdict can help, I'm not quite sure.

got it, thanks


Update as pect to 2.2.0 on npm

This pull request fixes the following issues with migrating to 2.2.0

Switch to verbose reporter when no flag is present
Disable rtrace because configuration uses stub allocator (no point in enabling it)

Hope this is good!

Thanks!

Plz make similar PR for master branch as well

Hey aspect is updated to 2.3.1.
I'll have to submit two today then :)


Supported Julia version

It would be nice to clarify in the docs which Julia version is supported for this workshop. Is 1.9.2 ok?

https://github.com/PTsolvers/gpu-workshop-JuliaCon23/commit/0ccf349763ea278993812ca3da6bcb20c8d687cc
Thanks!


Propagating context in actor calls

Description
This PR is in continuation of earlier PR in 0.6.0 milestone #1332. Due to various changes over the code path, to avoid fixing merge conflicts resolutions, created this PR on latest code.
This PR is in conjunction with #1373 to address remaining propagation of context in actor calls.
This PR was not checked in 0.6.0 release as the context was not populated with correlation id.
Now with issue #1373 , context is built correctly , so checking in this change now.

[x] Call(ctx context.Context, req *CallRequest) (*CallResponse, error)
[x] 	GetState(ctx context.Context, req *GetStateRequest) (*StateResponse, error)
[x] 	SaveState(ctx context.Context, req *SaveStateRequest) error
[x] 	DeleteState(ctx context.Context, req *DeleteStateRequest) error
[x] 	TransactionalStateOperation(ctx context.Context, req *TransactionalRequest) error
[x] 	GetReminder(ctx context.Context, req *GetReminderRequest) (*Reminder, error)
[x] 	CreateReminder(ctx context.Context, req *CreateReminderRequest) error
[x] 	DeleteReminder(ctx context.Context, req *DeleteReminderRequest) error
[x] 	CreateTimer(ctx context.Context, req *CreateTimerRequest) error
[x] 	DeleteTimer(ctx context.Context, req *DeleteTimerRequest) error
[x] 	IsActorHosted(ctx context.Context, req *ActorHostedRequest) bool
[x] 	GetActiveActorsCount(ctx context.Context) []ActiveActorsCount

Issue reference
#292
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation
[ ] Specification has been updated
[ ] Provided sample for the feature

/ok-to-test

@shalabhms Can you validate DemoActor sample in dotnet-sdk with this change ?


Charles/sample dropdown

Description
Allows you to navigate to another sample in the same project from the report page.
Type of change

[X] New feature (non-breaking change which adds functionality)

Test and Reproduce
Outline the steps to test or reproduce the PR here.

Go to report page
Click on sample name
Select another sample in the dropdown
Verify you're taken to the selected sample

Impacted Areas in Application

[X] Report Page

Checklist:

[X] I have run through the testing script to make sure current functionality is unchanged
[X] I have done relevant tests that prove my fix is effective or that my feature works
[X] I have spent time testing out edge cases for my feature

That make sens


bugfix/utf8-challenge

This PR updates @simplewebauthn/browser to add support for the use of UTF-8 values in challenges from the server.

This should resolve #39.


feat(api): add liquid state property

Overview
This adds a liquid_presence_state property to the protocol api's instrument context, along with an enum for the possible states.
The value here is Optional and defaulted to None, which I think makes sense for the ot2 case.
Changelog

add getter and setter for liquid_presence_state
add LiquidPresenceState enum in opentrons.types

Review Requests
Is there any further error handling/prevention I should do for ot2 instruments?

Couple comments. I may be confused as to what distinguishes this from InstrumentContext.liquid_detection, so ignore me if I'm off base.

InstrumentContext.liquid_detection is a bool that would enable liquid probing before an aspirate, and this new property will hold the current state of liquid presence in a well. So after a liquid probe, we would update this new state to be PRESENT, ABSENT, or UNKNOWN.
But you raise a good point in that now that we're adding to this it would be good to update that name to enable_liquid_detection or something.

whoopsie duplicate ticket


URLs for sucess and canceled not working

they are hand-coded to localhost:4000, but Chrome doesn't like http.
Solution: hand coded them to next gen web site, deploy and Bob's your uncle.

Implemented the solution and fixed it.


Make GitHub icon in the header customizable (GitLab etc)

Currently, the GitHub icon will always be a GitHub icon even if you use GitLab for example. This Icon should change depending on where your repo is located.
Investigate if Material UI's icon library has other icons that can be used for this or a more neutral icon that can be used every time.

I'd like to take a look at this! Could you assign me to the issue? :)

@erictnilsson Nice! Thanks 😄 will assign to you!

Hey!
So, apart from Github, there aren't any other source control/repo icons within the Material UI's icon library. I've sampled a few general ones below that are somewhat descriptive of the SC/repo location? Not sure. One is for code, one is for cloud, one is for folder, and one is for storage:

I'm not 100% sold on either of them, I'd much rather have a proper source control icon like this one:

but unfortunately it's not a Material icon.
What do you think @emmaindal? :)

I guess if we go with putting a .svg as an asset we might as well get the logos for Azure, Gitlab, and Bitbucket from their press kits and do the same thing. However I'm not at all sure what licensing problems that might entail :P

Hey @erictnilsson wow thank you so much for putting this together! I like the code one though! Let's see if we can get some input from @katz95 or maybe @nikek on this 😄

Alright @erictnilsson I don't want to block you on this so let's go with the code icon for all now and we will see if we can put together icon designs for the different source code providers we support!

unless my friends over at @spotify/techdocs-core have any other suggestions? 🎉

Agreed. Just going with the code icon for now seems like a good enough solution for now.

Cool! I've linked a pull request now :)

closed by: #2895