[Generic Types] zod doesn't extend zod? Does not return correct?

Hello, please.
Shouldn't this work?
Shouldn't parse() return an object that extends zod?

import { z } from 'zod';

const zData = z.object({
  name: z.string(),
});
type zData = z.infer<typeof zData>;

const zTypeInParameters = <T>(params: z.ZodType<T>) => {
  return z.object({
    data: params,
  });
};
type zTypeInParameters<T> = z.infer<ReturnType<typeof zTypeInParameters<T>>>;

const zTypeInExtends = <T extends z.ZodType>(params: T) => {
  return z.object({
    data: params,
  });
};
type zTypeInExtends<T extends z.ZodType> = z.infer<ReturnType<typeof zTypeInExtends<T>>>;

const zTypeInExtendsTypeAny = <T extends z.ZodTypeAny>(params: T) => {
  return z.object({
    data: params,
  });
};
type zTypeInExtendsTypeAny<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof zTypeInExtendsTypeAny<T>>>;

const zDataInst = zData.parse({ name: 'abc' });
const zTypeInParametersInst: zTypeInParameters<zData> = zTypeInParameters<zData>(zDataInst);
const zTypeInExtendsInst: zTypeInExtends<zData> = zTypeInExtends<zData>(zDataInst);
const zTypeInExtendsTypeAnyInst: zTypeInExtendsTypeAny<zData> = zTypeInExtendsTypeAny<zData>(zDataInst);

console.log(zTypeInParametersInst, zTypeInExtendsInst, zTypeInExtendsTypeAnyInst);

There's a difference between the type signature of a schema and the inferred type of that schema.
zTypeInExtends and zTypeInExtendsTypeAny have generic parameters that expect a ZodType instance, but you're passing in { name: string }.
Are you trying to achieve something in particular here? Making this question more concrete would make it easier for me to help you.

Hello,
Thank you very much for your attention and for responding so quickly.
"but you're passing in { name: string }".
Yes, VSCode is reporting exactly that. But in this case, I am passing an object created by .parse(). Shouldn't this object be something that extends ZodType?
"Are you trying to achieve something in particular here?"
What I'm trying to do is create some generic types of objects created with Zod and assemble other objects also created by Zod.
In terms of logic, what I'm trying to do is very close to what I demonstrated.
I have an object created by zod, for example: zData.
A method that needs to receive an object created by zod , such as zTypeInParameters. And it returns a new Zod object with what was passed as a parameter inside.
And both need to have their type definitions.
Again, thank you very much for your attention.

ZodType is the base class for all Zod schemas.
The result of .parse() is just data. It's signature depends on the schema. There's nothing special about what Zod returns. In your example it just returns a plain object with type {name: string}. The result is not the instance of any class, and it has no way to refer to the schema that produced it.
Feel free to ask follow up questions but I'm going to close for now.

Hi, please don't close. I'll try to do better with what I need, so you can try to explain to me how to do it.

import { z } from 'zod';

// Example of a zod schema. I have several, one for each "entity"
const Users = z.object({
  name: z.string(),
});
type Users = z.infer<typeof Users>;

// Example of a zod schema that standardizes all returns from a rest
const RestResponseModel = <M>(model: M) => {
  return z.object({
    content: model,
  });
};

const user: Users = //What needs to be here? (1)
const ResponseModelUser: ResponseModel<Users> = //What needs to be here? (2)

What needs to be done to make it work?

Hi, I think I found it

import { z } from 'zod';

const Users = z.object({
  name: z.string(),
});
type Users = z.infer<typeof Users>;

// Example of a zod schema that standardizes all returns from a rest
const RestResponseModel = <T>(schema: z.ZodType<T>) => {
  return z.object({
    content: schema,
  });
};

type RestResponseModel<T> = z.infer<ReturnType<typeof RestResponseModel<T>>>;

// Converting everything
const user: Users = Users.parse({ name: 'abc' });
const ResponseModelZodSchema = RestResponseModel(Users);
const ResponseModelUser: RestResponseModel<Users> = ResponseModelZodSchema.parse({ content: user });
console.log(ResponseModelUser);

But now, I need to see how I convert this to be the same as what you describe in the documentation.
https://github.com/colinhacks/zod?tab=readme-ov-file#writing-generic-functions
Because I need to have a way to define the element of a generic type.
const ResponseModelUser: RestResponseModel<Users>

I don't know how I can get something that went through infer back to ZodType. Or something, accepted by ZodType
// Example of a zod schema. I have several, one for each "entity"
const Users = z.object({
  name: z.string(),
});
type Users = z.infer<typeof Users>;

// Example of a zod schema that standardizes all returns from a rest
const RestResponseModel = <T extends z.ZodTypeAny>(schema: T) => {
  return z.object({
    content: schema,
  });
};

type RestResponseModel<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof RestResponseModel<T>>>;

// Converting everything
const user: Users = Users.parse({ name: 'abc' });
const ResponseModelZodSchema = RestResponseModel(Users);
// Because the only way I can do it is by doing this "thing"
const ResponseModelUser: RestResponseModel<Users & z.ZodTypeAny> = ResponseModelZodSchema.parse({ content: user });
console.log(ResponseModelUser);

Would it be possible to produce a new unit test, which instead of passing the data content together with the schema, would be separate elements?
That would work well in my scenario.

import { z } from 'zod';

const Users = z.object({
  name: z.string(),
});
// creating a type with ZodType
type ZUsers = z.ZodType<Users>;
type Users = z.infer<typeof Users>;

const RestResponseModel = <T extends z.ZodTypeAny>(schema: T) => {
  return z.object({
    content: schema,
  });
};
type RestResponseModel<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof RestResponseModel<T>>>;

const user: Users = Users.parse({ name: 'abc' });
const ResponseModelZodSchema = RestResponseModel<ZUsers>(Users);
const ResponseModelUser: RestResponseModel<ZUsers> = ResponseModelZodSchema.parse({ content: user });
console.log(ResponseModelUser);

Hi, I got better until it became "compatible" with everything. Forcing the typings and using the created elements.
Is there a way to improve this?
type ZUsers = z.ZodType<Users>;

Is there a way to have the type of an element without having to ask ZodType?

import { z } from 'zod';

// Example of a zod schema. I have several, one for each "entity"
const ZUsers = z.object({
  name: z.string(),
});

type ZUsers = typeof ZUsers;
type Users = z.infer<typeof ZUsers>;

// Example of a zod schema that standardizes all returns from a rest
const ZRestResponseModel = <T extends z.ZodTypeAny>(schema: T) => {
  return z.object({
    content: schema,
  });
};
type ZRestResponseModel<T extends z.ZodTypeAny> = typeof ZRestResponseModel<T>;
type RestResponseModel<T> = z.infer<ReturnType<typeof ZRestResponseModel<z.ZodType<T>>>>;

// Converting everything
const user: Users = ZUsers.parse({ name: 'abc' });
const ResponseModelZodSchema = ZRestResponseModel<ZUsers>(ZUsers);
const ResponseModelUser: RestResponseModel<Users> = ResponseModelZodSchema.parse({ content: user });
console.log(ResponseModelUser);

Okay, I think I can understand now.
z.infer creates a type that is no longer ZOD, it is similar to a POJO
Hence the incompatibility.
To have the 2 worlds, I need 2 types. One from "POJO", another from ZOD.
So when using it in the function, I use ZOD, but when using it when returning the function, I use "POJO".

Thank you for your attention and patience


🌟 Feature: Decimal numbers

Hi everyone 👋,
I could use some help implementing a decimal functionality that allows the user to calculate decimal numbers.
Example: 12.5 - 3.75
Thank you kindly 🙏
Best regards
NH

@N3v1 I would like to work on this issue can you please assign me this issue?

@Vayras Here you go. Thank you very much
Best regards
NH

Hi @Vayras,
could you kindly share an update regarding the status of your decimal implementation?
It would be greatly appreciated.
Thank you kindly 🙏
Best regards
NH


502 error when deleting EKS cluster

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Launch an EKS cluster using Rancher ui.
Try and delete EKS cluster from Rancher ui.

Result:
EKS cluster deletion fails due to error: 502 UnknownError: 502
Other details that may be helpful:
Rancher container logs indicate the additional information:
rancher-79db5c7b9-6ls25 rancher 2019/10/24 23:56:08 [INFO] Failed to proxy: invalid host: eks.us-east-1.amazonaws.com
rancher-79db5c7b9-6ls25 rancher 2019/10/24 23:56:08 http: proxy error: unsupported protocol scheme ""

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.3.0
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): EKS
Machine type (cloud/VM/metal) and specifications (CPU/memory): Managed controlplane, 1 worker node.
Kubernetes version (use kubectl version):  1.14

(paste the output here)

Docker version (use docker version):

(paste the output here)

Seems like the delete from the UI makes the call to https://${MYCLUSTER}/meta/proxy/eks.us-east-1.amazonaws.com/clusters
Where as from the API page inside the cluster, I can delete the cluster by making a delete call which is of the form.
https://${MYCLUSTER}/v3/clusters/c-nzrjt
The latter works.

+1 I have run into this as well.

Confirming the same issue on v2.4.2
2020/04/28 00:37:15 [INFO] Failed to proxy: invalid host: eks.us-east-1.amazonaws.com
2020/04/28 00:37:15 http: proxy error: unsupported protocol scheme ""

I tried in Rancher v2.3.7-rc3
Request URL: https://<hostname>/v3/clusters/c-7wt45
Request Method: DELETE
Status Code: 200

Yes, API request starts deleting cluster. However, it doesn't control all required pre-requisites.
In my case I was tried to delete EKS cluster which was created using federated account credentials with session token. Rancher started EKS deleting process without creds validation. As result I've got cluster disappeared from UI but not from AWS account.
Logs:
2020/04/28 00:43:10 [INFO] kontainerdriver amazonelasticcontainerservice listening on address <IP_ADDRESS>:35959
2020/04/28 00:43:10 [INFO] Starting delete cluster
2020/04/28 00:43:10 [ERROR] Error removing cluster [c-twnhm] with driver [amazonelasticcontainerservice]. Check for stray resources on cloud provider: error deleting cluster: ExpiredTokenException: The security token included in the request is expired
	status code: 403, request id: 63aa4988-5bfc-4f55-806c-a1e8a46f5096
2020/04/28 00:43:10 [INFO] kontainerdriver amazonelasticcontainerservice stopped
2020/04/28 00:43:10 [INFO] Deleted cluster [c-twnhm]
2020/04/28 00:43:10 [INFO] [mgmt-cluster-rbac-remove] Deleting namespace c-twnhm
2020/04/28 00:43:10 [ERROR] ClusterController c-twnhm [mgmt-cluster-rbac-remove] failed with : clusters.management.cattle.io "c-twnhm" not found
2020/04/28 00:43:17 [INFO] [mgmt-auth-users-controller] Deleting projectRoleTemplateBinding u-mzos772pk7-member for user u-mzos772pk7
2020/04/28 00:43:17 [INFO] [mgmt-project-rbac-remove] Deleting namespace p-j22hd
2020/04/28 00:43:17 [INFO] [mgmt-auth-prtb-controller] Deleting roleBinding rolebinding-9p966
2020/04/28 00:43:17 [INFO] [mgmt-auth-users-controller] Deleting projectRoleTemplateBinding u-xwmphlwm54-member for user u-xwmphlwm54

I believe it worth a new github issue dedicated to this.

Rancher v2.4.3-rc2
Request URL:https://<hostname>/v3/clusters/c-f2q2g
Request Method: DELETE
Remote Address: <IP address>:443
Status Code: 200

Yes, API request starts deleting cluster. However, it doesn't control all required pre-requisites.
In my case I was tried to delete EKS cluster which was created using federated account credentials with session token. Rancher started EKS deleting process without creds validation. As result I've got cluster disappeared from UI but not from AWS account.
Logs:
2020/04/28 00:43:10 [INFO] kontainerdriver amazonelasticcontainerservice listening on address <IP_ADDRESS>:35959
2020/04/28 00:43:10 [INFO] Starting delete cluster
2020/04/28 00:43:10 [ERROR] Error removing cluster [c-twnhm] with driver [amazonelasticcontainerservice]. Check for stray resources on cloud provider: error deleting cluster: ExpiredTokenException: The security token included in the request is expired
	status code: 403, request id: 63aa4988-5bfc-4f55-806c-a1e8a46f5096
2020/04/28 00:43:10 [INFO] kontainerdriver amazonelasticcontainerservice stopped
2020/04/28 00:43:10 [INFO] Deleted cluster [c-twnhm]
2020/04/28 00:43:10 [INFO] [mgmt-cluster-rbac-remove] Deleting namespace c-twnhm
2020/04/28 00:43:10 [ERROR] ClusterController c-twnhm [mgmt-cluster-rbac-remove] failed with : clusters.management.cattle.io "c-twnhm" not found
2020/04/28 00:43:17 [INFO] [mgmt-auth-users-controller] Deleting projectRoleTemplateBinding u-mzos772pk7-member for user u-mzos772pk7
2020/04/28 00:43:17 [INFO] [mgmt-project-rbac-remove] Deleting namespace p-j22hd
2020/04/28 00:43:17 [INFO] [mgmt-auth-prtb-controller] Deleting roleBinding rolebinding-9p966
2020/04/28 00:43:17 [INFO] [mgmt-auth-users-controller] Deleting projectRoleTemplateBinding u-xwmphlwm54-member for user u-xwmphlwm54

I believe it worth a new github issue dedicated to this.

@savealive yes this sounds like a separate issue to the reported here so far I'm using Access and Secret keys not session tokens in the tests I've been covering so far.


Goci 2633 ds fixing study table

The following tickets are addressed in this pull:
GOCI-2633 - The study data table sometime wrongfully labels studies with available summary statistics

The SLE page (EFO_0002690) is used as an example on the ticket, but I’m not sure if it is possible to reproduce this issue due to cross-origin policies.
to /gwas/efotraits/EFO_0002690

GOCI-2513 - Add cross references to the data tables pointing to gene page

Although it was a trivial requirement so far this link across pages was not implemented (probably due to complicated cases). The list of genes is displayed as it is now on the live pages, except the gene names are clickable. I considered the following cases:
Association with no mapping: /gwas/variants/kgp10698118
Association with one or more mapped genes: /gwas/variants/rs3897478
Haplotype association:/gwas/variants/rs2446581
SNP x SNP interaction: /gwas/variants/rs1333049

GOCI-2595 - As a user downloading the associations and study tables, I want to get a meaningful download filename that could help me archiving the data

The filename follows the following format: <page type>_<page identifier>-<table identifier>-<date of download>.csv Eg: regions_2q37.1-associations-2019-2-14.csv

GOCI-2640 - A new bug: While the data is loading for the dedicated pages, the trait table has no spinner

Now the behaviour of all three data tables are consistent across all pages…. Except variant page. On the variant page none of the tables has spinner. But it’s not that apparent as the tables are smaller and loads quicker.

GOCI-2655 – A new bug: gene page fails for genes with dash in their name

This bug is fixed by quoting the gene name.

GOCI-2478 - Some studies should not display links to the FTP Download or API access

This is also a tricky to test on snoopy as it requires access to the summary stats database. However by not showing the ftp icon, the bug is practically fixed. /gwas/publications/23128233

GOCI-2656 – Consistent counting of associations of studies.

The association count in the study table was not accurate for certain cases.
Compare association counts in the study table here: /gwas/publications/25673412
With the association counts in the association table of the corresponding study page: /gwas/studies/GCST002782

GOCI-2639 – Download Catalog Data is now specific and only returns those associations that are listed in the association table.

/gwas/genes/HBS1L Make sure the number of lines in the file matching (it should be 131 + 1, but on the current live site it’s 134 + 1).

Good catch. Based my experience the kayalshri does not work (also not sourced on the summary stats table page) I removed and replaced with the other one. The variant page I forgot to remove. I'll update it.


fix: don't reset expiration when TTL is zero

It seems to be possible for PTTL to return zero when a key is really close to expiring but not actually there yet. When this happens the increment script would reset the key's expiration while the count rolls over into the new window, possibly causing clients to be rate limited at lower request rates or for longer periods of time than they should.
The likelihood of this happening is probably low for most use cases, but I have one high-load global rate limit in my app that regularly sees its window bug out to be twice (and sometimes even thrice) as long as it should be.
Just changing the the comparison from <= to < has fixed this is my app. I believe its a safe change as PTTL explicitly returns -1 if the key doesn't yet have a expiration.
Thanks for the great package btw!

Hey, thanks!
I'm traveling and probably won't be able to give this a close look for a few days, but I'll try to remember to come back to this once I'm home. (Or @gamemaker1 might get to it before me.)
One thought that crossed my mind: do you think you could make a test that recreates the error situation from before the fix and behaves correctly after?

Thanks for this PR @david-quennoz-reup! I think the change is good, and all the library tests are passing so it shouldn't break any existing rate limiters.
I do agree with @nfriedly, it would be better to merge this change along with a test for this case.


Generic index parser makes distinct fields based on order of attributes

Another quirk with the generic index mapper.  If the order of attributes for a particular element are different across records, the mapper will create distinct fields in ElasticSearch, even though they should collapse into one.
For example, with the attribute marccountry first:
<mods:placeTerm authority="marccountry" type="code">nyu</mods:placeTerm>

maps to
mods_originInfo_place_placeTerm_@authority_marccountry_@type_code

while marccountry second,
<mods:placeTerm type="code" authority="marccountry">pau</mods:placeTerm>

maps to the different ES field
mods_originInfo_place_placeTerm_@type_code_@authority_marccountry

The order of attributes does not matter for XML elements, and so it should follow that these fold into the same ES field.  This could be done by collecting attributes, and sorting alphabetically.

Fixed.


Create a Player object that will be used to store methods and properties related to the user's character.

A Player object has the following properties: name, health, strength, agility.
A Player object has the following methods: getStats(), getInventory(), getHealth(), getAttackValue(), isAlive(), addPotion(), usePotion(), reduceHealth()
Write appropriate tests for the Player() constructor and methods.

This constructor is finished.


Occasionally failed for OpenSSL with Nginx

I am testing QucikAssist with Nginx.
I install upstream driver and QAT Engine.
Followed the README file patched and compiled Nginx.
Configed OpenSSL.
When testing with curl and ab, there were occasionally failed.
In the README file there is "Known Issue", but I don't think this belongs to.
You can refer to attachment for detail of the error or configuration of Nginx and OpenSSL.
Thanks.
curl_error
nginx_error.log
nginx.conf.txt
openssl.cnf.txt

Hi, @jiavictor,
The errors you are seeing appear to indicate that the QAT Engine is failing in the engine init stage, when making a call to the Quickassist API function icp_sal_userStartMulti().
If your problem is intermittent (i.e. most of the time requests are not failing) then it could be an issue to do with the NumProcesses section in the driver config file.
Do the issues occur after nginx processes are restarted?
As before is there anything in the kernel log if you do a dmesg that is related to qat?
The config files you have sent appear to show a system that should be working ok, I couldn't spot anything suspicious in the files at first glance.
When configuring the NumProcesses parameter you need to allow additional processes to:
a) Take care of the master process as well as the child processes as the master process also needs a qat instance.
b) When restarting nginx processes the old ones may linger while the connections complete but the new  processes may start straight away. You need NumProcesses set high enough to account for these extra processes.
Kind Regards,
Steve.

Hi @stevelinsell
I increased NumProcesses to 32 and the work process for Nginx is 10.
There is still failed.
With curl, the access is OK.
But with Apache ab, even -n 20 -c 10 still has some failure both in sync and async modes.
There were some "device qat_dev0 is busy" messages in dmesg.
I really want to know how to get rid of this.
Thanks.

Hi @stevelinsell
I disabled SELinux and everything goes fine.
But the performance of using QAT has almost no different when using CPU.
In the report from INTEL, there is significant high concurrency when using QAT.
So may I have the configuration advice on how to get the high concurrency on QAT, Nginx and OpenSSL?

Closing as disabling SELinux resolved the issue. Any other queries please create a new issue.
Kind Regards,
Steve.


Process unsupported CodeSystems as Instances

Like #47 but for CodeSystems.
If a CodeSystem uses paths that cannot easily be represented using FSH CS syntax, process it as an Instance instead.
The tests demonstrate it, but you can also test with US Core because US Core uses nested concepts and concept properties (neither of which are supported w/ FSH CodeSystem syntax).  With master, GoFSH will generate CodeSystem definitions for RaceAndEthnicityCDC and USCoreConditionCategoryExtensionCodes. With this PR, those code systems will be generated as Instances instead and you'll notice the extra information that was previously being dropped.
P.S. This also includes a few very minor changes to the ValueSet processing (for consistency).

For example, the rule [omitted] causes an error, since USCoreConditionCategoryExtensionCodes is being represented as an instance, and apparently you cannot reference an instance by name. I had not realized this limitation of SUSHI.
Instead, I think we want to reference the Instance by URL directly, which I think would be a case where we need to stop the optimizer from making this optimization.

I don't think that how you create a CodeSystem should affect the ways in which it can be referenced.  For instance (no pun intended), I think that SUSHI does allow you to reference dependency IG CodeSystems (which are JSON) by name -- and probably BYOJ CodeSystems too (although I'm only 90% confident about that).  So I think it would be weird to say that CodeSystems authored as an Instance can only be referenced by URL even though they're in the same IG.  So my vote is to actually fix this in SUSHI.
In fact, looking at the SUSHI FSHTank.fish function implementation, I think it still would not work even if we referenced CodeSystems by URL -- because the real problem is that when you tell the fisher to fish for CodeSystems, it doesn't look at Instances at all!  BUT... now we potentially have a bigger problem if code that fishes for CodeSystem expects FSHCodeSystems in return, so we'd need to watch out for that...

Actually, I guess if it was a URL that SUSHI wouldn't fish at all for it, would it?  So nevermind that part about it not working in SUSHI even if it's a URL. ;-)

I don't think that how you create a CodeSystem should affect the ways in which it can be referenced. For instance (no pun intended), I think that SUSHI does allow you to reference dependency IG CodeSystems (which are JSON) by name -- and probably BYOJ CodeSystems too (although I'm only 90% confident about that). So I think it would be weird to say that CodeSystems authored as an Instance can only be referenced by URL even though they're in the same IG. So my vote is to actually fix this in SUSHI.

I agree this should be fixed in SUSHI. Seems like a limitation of SUSHI, not something that should be a feature, and one that could very easily confuse people I think. But until this is fixed in SUSHI, I'm not sure what we want to do with this PR. I guess we have already merged the sibling PR, so maybe it makes sense to just ignore this and let it be fixed in SUSHI. But it makes me a little uncomfortable, since in US Core for example, this PR fixes some incomplete CodeSystems, but at the cost of creating some invalid ValueSets.

@ngfreiter and @jafeltra -- Nick's comments are addressed in my last commit.  Also, oops -- I didn't mean to rebase, but... I did  -- so had to force push the branch.  Sorry!

@jafeltra said:

Also, I ran this on US Core and when I run SUSHI on the generated FSH, I get a lot of errors that seem to be related to the Assignment Rules that are being added to the CodeSystem instances.

Ugh.  I was in a hurry to update this PR before heading out and I missed running SUSHI on the generated output.  You are right (no surprise)!  I haven't looked at all the errors, but it seems that a lot of them are actually related to the CombineCodingAndQuantityValueOptimizer being too aggressive and converting CodeSystem.concept values to use the FSH concept syntax even though CodeSystem.concept is not actually a CodeableConcept, Coding, or code.
We should discuss this with the team.  Either we need to make it so the optimizer is not so aggressive (likely requiring the optimizer to be aware of the actual types associated with paths) or we need to update SUSHI to treat CodeSystem.concept as a special case.  I think the latter actually kind of makes sense, but it might actually not be technically correct against the spec, so I'm not sure if we can do it. (Probably not).

I looked more closely at the errors I'm getting and I think you're right that most, if not all, are related to combining concept into FSH concepts. There are two main error types that I see - one about the type we are assigning to concepts and others about concept.code having a minimum cardinality of 1 but occuring 0 times. So I think that addressing the issue you pointed out should resolve all the errors. I'm happy to discuss an approach with the team!
For what it is worth, I no longer get the original errors from referencing CodeSystems by name!

@jafeltra and @ngfreiter -- I've addressed the issue Julia noticed in e960da6 and cadbabb.  The optimizer that combines code rules now attempts to check the type at the path it is optimizing, and will not optimize if it's not a supported type for the combination.
I'm embarrassed by how long it took me to come up w/ this solution.  There were a few iterations...

Looks good to me, but looks like there are some conflicts to resolve.

Nooooooooooooooooooooooooooooo!

@ngfreiter @jafeltra - merge is done.  TBH, it was not trivial, but all the tests pass now and I manually tested against mCODE and USCore and confirmed it still works as expected (as best I can tell).


WIP: Web support

Using react-virtuoso to power web support for infinite scrollable list, keeping the same API as FlatList
https://codesandbox.io/s/rnw-support-infinite-scroll-3i4q3?file=/src/MessageListExample.tsx

I've tried this out over the weekend and put some thoughts here
No hard feelings, but at the moment this web implementation is noticeably slower than the web implementation from react-native-web Flatlist
I've tried playing around with overscan but it doesn't seem to affect the issue
It looks like Virtuoso is the bottleneck though I'm not 100% certain

Hey @kidroca can you share some screen-recording? Just to understand !!

@vishalnarkhede do you plan to finish web support? Is this package still being developed?


Dynamically Parsing the Latest HTPassword File

To parse the latest account list dynamically instead of restarting the distribution service frequently.
Signed-off-by: CUI Wei<EMAIL_ADDRESS>

There were some merge issues. This is a fresh one.

Current coverage is 51.21% (diff: 61.90%)

Merging #1928 into master will decrease coverage by 10.25%

@@             master      #1928   diff @@
==========================================
  Files           123        123
  Lines         10935      10945     +10
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6722       5606   -1116
- Misses         3335       4598   +1263
+ Partials        878        741    -137

Powered by Codecov. Last update dea554f...f3e102b

Thanks. I added two more small comments. I know there have been several rounds of review already, so thanks for your patience. I don't think there will be any other changes necessary from my side.

After Aaron's comments are resolved looks good to me as well

Are there something more to optimize? If not, I will re-create a new PR with single commit.

@ghostplant you don't need to create a new PR for a single commit. Can you just squash and force push? Normally we don't require squashing but I see there was a merge commit created that needs to be squashed away. If you want git pointers for making this easy let us now, we will oblige.

Thanks, I successfully use force push to avoid merge issue!

LGTM

Great! Thanks for sticking with it
LGTM

Thanks! I'll keep waiting for this version to be soon updated in the official repository of Ubuntu:yakkety or its next release. Thus Dockerfile would be easy to write just by an "apt install docker-registry" command instead of a great many compiling works~


Auto-update only checks for new version on launch

I've noticed the auto-update only checks for new versions on initially launching the application.  Not sure if this is intended or not, but I'd think it would be more beneficial to periodically check for new versions in the background. I often have my PC on or sleep for a week or two before a reboot (and subsequently re-launching this app), so new versions take me some time to catch unless I'm manually re-launching the program to check.

It should check for update on startup and then every hour

Is this logged someplace or anything I can do to verify? I previously jumped from version 1.2 to 1.5, and just moments before opening this issue I restarted the application to check for updates after the large reddit post today and it then identified 1.6 was available.

Click "show log" and upload it somewhere

https://gist.github.com/Kline-/74ce16d64fdc82627aa9e29fe82041da

WARN: Error checking for updates System.Net.WebException: The remote name could not be resolved: 'github.com'

well this is a bummer. Does GitHub work for you in Internet Explorer / Edge?

Working in IE, Edge, and Chrome so far. I did notice those log entries, but it's obviously still talking to Github somehow if I'm even getting the new version notifications at all.

Hmm, indeed, judging my times it is probably because your computer went to sleep or something like that. But this also means that it does automatically check for updates and doesn't throw an exception.
In that case I have no idea what could go wrong. I'll check it later on my machine but looks like it should work.

Hi, I was looking at logs from today and it seems that the program attempts to check for version when my PC wakes from sleep, yet maybe the network stack isn't fully up yet or something, so it fails to resolve the DNS request. After it throws the exception from that it never seems to check again. Replays keep uploading fine though.


feat(behavior_velocity_planner): changeable maximum stop distance

Description
Now, this ego always try to stop at the stop position by re-starting (re-approach) even if the ego is stopped near the planned stop position in the module. On the other hand, if the stopping performance of the vehicle is poor (e.g. it cannot stop for one meter) and once it starts traveling, there is a possibility that the vehicle may over the stop position, in which case there may be a issue for the vehicle to continue stopping on the spot, if the distance between the ego and stop position is closer than threshold.
So, in this PR, I fixed following points.

add new param hold_stop_margin_distance (default: 0.0 [m])
if the following condisions are satisfied, the ego keep stopping at current position.

condition 1. the ego has stopped
condition 2. the distance between  the ego and stop point is shorter than hold_stop_margin_distance
test perform (hold_stop_margin_distance = 1.0 [m])

the ego has been stopped by obstacle on lane
there is another obstacle in detection area
remove obstacle on lane
check whether the ego don't move to approach detection area virtual wall

https://user-images.githubusercontent.com/44889564/179914995-270f6509-9aa9-403c-b889-2d2b083fee54.mp4

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[x] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

[Q]
I think stop line position can be controlled by stop_margin what cases do you want to add max stop distance too?

[Q] I think stop line position can be controlled by stop_margin what cases do you want to add max stop distance too?

@taikitanaka3 max_stop_distance is NOT parameter for distance of stop point such as stop_margin but parameter for torelance of stop position. If the ego stops within max_stop_distance, the ego keep stopping at current position. This is what I want to do.

@TakaHoribe I confirmed that there is no critical degradation in this PR by evaluator.
This PR: https://evaluation.tier4.jp/evaluation/reports/4da698d3-83e4-577a-b8ad-d902669cf139?project_id=prd_jt
Baseline: https://evaluation.tier4.jp/evaluation/reports/822bf00c-c113-57ea-b82a-aef251801a4d?project_id=prd_jt

LGTM

@satoshi-ota TODO: update README in another PR

double check


Cannot read properties of undefined (reading 'locale')

Version
@nuxtjs/i18n-edge
nuxt: latest (rc13)
Nuxt configuration
Please change to [x] if relevant for this issue:

[ ] Applies to a site deployed to a static server (site generated with nuxt generate)
[ ] Applies to a site deployed to a server with a Node backend

Reproduction Link
https://github.com/n4an/nuxt-error-7
Steps to reproduce
Uncomment i18 module from nuxt settings
What is actually happening?
[nuxt] [request error] [unhandled] [500] Cannot read properties of undefined (reading 'locale')
at getLocale (./node_modules/vue-i18n-routing/dist/vue-i18n-routing.mjs:103:229)

was ok with rc12

With en.js work, but with en.json not

@kazupon

sorry, dely my response
I seem that this issus is same as #1581

@kazupon whe i copied my code to freshly installed nuxt  that issue disappeared, but now appered other https://github.com/nuxt/framework/issues/8520

or may be 8.0.0-beta.2-27779937.21419f0 published 19 hours ago helped me


Does not work for long

To force mobile to use the correct keyboard I want to use your widget. However, it only takes string inputs, while I need to add a pattern to a long attribute input.
IMO I think Mendix should default make sure the correct keyboard is shown with number, but sadly they do not.

@ralphlenssen, have you looked at the Set Attribute widget on the Mendix App Store? https://appstore.home.mendix.com/link/app/5958/TimeSeries/Set-Attribute
This should let you set the type='tel' on the input box (either a standard one or InputBoxOctober 😉 )

I have indeed found the useful widget. Thanks for the suggestion!


Music playback does not work correctly, whatsoever

The audio.opus file does not play when running the rat executable. Executing script.sh does play audio.opus as expected, but a bar appears below the rat to indicate progress.
The former issue plagues the AUR package, as the rat executable is what is being executed.

Hi. Done some testing and it turns out this is another dependency issue, extracting binary files (like audio.opus) depends on the uudecode command from sharutils, so the file just isn't being created. This is what I get for forgetting to test on a clean machine...

Fixed over on the AUR with 1.0.2.

I tested this afternoon, and audio playback seems to still be problematic in both script.sh and the rat binary. Same issues as prior. Will begin work on a PR to try and fix.


connecting my python code to slack bot

I'm trying to send a message to my slack app
here is my code
import os
import time
import re
from slackclient import SlackClient
slack_client = SlackClient(os.environ.get('xoxb-3.....'))
starterbot_id = None

# constants
RTM_READ_DELAY = 1 # 1 second delay between reading from RTM
EXAMPLE_COMMAND = "do"
MENTION_REGEX = "^<@(|[WU].+?)>(.*)"
if __name__ == "__main__":
    if slack_client.rtm_connect(with_team_state=False):
        print("Starter Bot connected and running!")
        # Read bot's user ID by calling Web API method `auth.test`
        starterbot_id = slack_client.api_call("#general")["3..."]
        while True:
            command, channel = parse_bot_commands(slack_client.rtm_read())
            if command:
                handle_command(command, channel)
            time.sleep(RTM_READ_DELAY)
    else:
        print("Connection failed. Exception traceback printed above.")

now I need to know what is the slack_client token needed here (slack_client = SlackClient(os.environ.get('xoxb-3.....')))
and what is the user id in this line
starterbot_id = slack_client.api_call("#general")["3..."]
because I got this error
File "C:\anaconda\lib\site-packages\slackclient\server.py", line 151, in rtm_connect
raise SlackLoginError(reply=reply)
slackclient.server.SlackLoginError

see https://github.com/slackapi/Slack-Ruby-Onboarding-Tutorial/issues/3#issuecomment-378987883

@fedaaZeyad go through this tutorial: https://github.com/slackapi/python-slack-events-api/tree/master/example
It includes the steps for creating an app, getting the tokens, and running ngrok.


[FEATURE] Diffusion Transformers quantization

Is your feature request related to a problem? Please describe.
Due to OpenAI's DALLE-3 and Sora's soaring success, many projects, such as StableDiffusion3 and Open-Sora, are trying to replicate its architecture, whose backbone is a Diffusion Transformer (DiT). Because it is a transformer, the same quantization principles could be applied.
Describe the solution you'd like
Add 4bits quantization for DiT-like transformers.
Describe alternatives you've considered
Running the diffusion transformer as is with higher memory consumption and lower speed.
Additional context
DiT Pipeline in Diffusers https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/dit.md
Open-Sora project for video generation with (ST)DiT https://hpcaitech.github.io/Open-Sora/ (has code and the checkpoint!)
Crosslink to the issue in Open-Sora: https://github.com/hpcaitech/Open-Sora/issues/128

I think this is a bit out of scope for AutoGPTQ as it is heavily based on CausalLM and even LLMs with vision are hit and miss if they will work and only quantizing the LLM part. These would be better served by quantization methods focused on their requirements I think.
Also GPTQ requires a calibration dataset, which is a bit more complicated for a diffusion model.


Upgrade Frey to v0.3.27 /cc @tersmitten

I'm going to merge this already as we haven't been able to deploy for some time now, hopefully merging this PR should fix it.

@ifedapoolarewaju Deploy went through this time: https://travis-ci.org/transloadit/uppy-server/builds/185716257
@tersmitten After merging to master I discovered the package.json wasn't updated due to some error in my automation for this. Updating all other PRs now

yippee ✌


%ERRORLEVEL% == 1, I need to know the meaning, because ...

I got it after updating from 15.5.7 to 15.6.7 see https://developercommunity.visualstudio.com/content/problem/273349/offline-update-of-visual-studio-2017-professional.html

@Blonder Thanks for your inquiry. It looks like this is being addressed in the proper place, which is through the Developer Community. We'll close this GitHub Issue for now (because it's designed specifically for documentation issues).

It is a documentaion issue, https://docs.microsoft.com/en-us/visualstudio/install/create-a-network-installation-of-visual-studio

Value
Result

0
Operation completed successfully

3010
Operation completed successfully, but install requires reboot before it can be used

Other
Failure condition occurred - check the logs for more information

What is Other? I always get a 1, I would like to know the meaning of 1.
Thanks for the help,
Andreas.

@Blonder Thanks for the further clarification re: the page you'd like to see updated. We'll investigate doing so and report back.

Thanks a lot, this may help me with offline installation issues.

@tydunkel FYI about the customer request to add more error-related info to the Create a network installation of Visual Studio page.

@Blonder We've updated the following pages to include an expanded error list:

Use command-line parameters to install Visual Studio
Create a network installation of Visual Studio

The additional information includes the following:

Value
Result

0
Operation completed successfully

1602
Operation was canceled

1641
Operation completed successfully, and reboot was initiated

3010
Operation completed successfully, but install requires reboot before it can be used

5003
Bootstrapper failed to download installer

5004
Operation was canceled

5005
Bootstrapper command-line parse error

5007
Operation was blocked - the computer does not meet the requirements

-1073741510
Microsoft Visual Studio Installer was terminated (by the user or external process)

Other(for example:-1, 1, 1603)
Failure condition occurred - check the logs for more information

We'll close this issue now. And thanks again for helping us to improve the documentation!


sharpdx.org is no longer available (sharpdx is archived)

Some reference to the SDK, such as the developer site or a wikipedia article.
https://github.com/sharpdx/SharpDX
SteamDB links
https://steamdb.info/tech/SDK/SharpDX/
Possible way to detect it
No response

should be fixed once that commit gets pulled, thank you for that, it went under my radar


mask made from from ROIs

Hello,
I am scrutinizing your example plotInteractiveImageROI.py, it gives me what I want. I need to convert all merged ROIs into a 2D mask. I see that roi items (in gui/plot/items/roi.py ) have a method contains() that I potentially could use for this purpose, although the method seems to be designed for a single point (am I right?), not a 2D array.
Can you please advise a way one could create a mask from a roi or a list of rois?
Thank you!

contains is meant for single point (basically useful for picking), so you should be able to use to draw a mask, but I expect it will be really slow.
A faster option I see, would be to "draw" the ROIs to an array (like the mask tool is doing): silx provides a few function to draw some primitives: http://www.silx.org/doc/silx/latest/modules/image/shapes.html. In this case you'll have to use a specific draw function for each kind of ROI.

This is the internal class updating the mask from the mask tool: https://github.com/silx-kit/silx/blob/3ced0c00c66f6a1439fcde685ec1a32c87396b1f/src/silx/gui/plot/MaskToolsWidget.py#L84
It's using the silx.image.shapes functions I mentionned.

Thank you 20.100!
ImageMask gives me what I want.


MacOSX deprecated warning

github.com/keybase/go-keychain
cgo-gcc-prolog:53:11: warning: 'SecKeychainItemDelete' is deprecated: first deprecated in macOS 10.10 - SecKeychain is deprecated [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychainItem.h:257:10: note: 'SecKeychainItemDelete' has been explicitly marked deprecated here

This is https://github.com/keybase/go-keychain/issues/97 fixed in https://github.com/keybase/go-keychain/pull/99 - we need to update that dependency.

keybase/go-keychain is used for the cgo darwin implementation for chrome in chrome_darwin_cgo.go - a fallback will be used when compiled with CGO_ENABLED=0 (executing macOS own "security" tool instead).

fixed by 4c50211


[feature request] The embedded, zero-configuration mode

If the user just wants to use ArangoDB database features locally, in his own file system, there should be no need to have permissions, DB connection, client-server model, etc.
For example, please add:
    client = ArangoClient(
      protocol='local',
      directory='/home/{user}/my-local-arango-db-folder',
      ...
   )

Then the user can:
db = client.create_database('user-db')
db = client.connect_database('user-db')
...

without the need for the client-server connection.
For example, I would like to have a script that uses ArangoDB's advanced graph search features. I can fill my DB myself in my folders, will only use it locally, and don't want to bother with connections, authentication, config files, etc. There should be no reason why the client-server model should encumber such use. Think of conveniences of SQLite. I would like to have something like ArangoLite, in the same spirit.

Sorry for the necrobump - would like to add some info for posterity.
From a teeny bit of experimentation, the most immediate blocker is the large number of js files required for startup. It's not clear to me which js files (if any) are required for core functionality if Foxx and the (HTTP) admin interface are disabled/not used.
That being said, one could conceivably generate a massive binary (roughly 150 MiB) that embeds all of the js, along with icudtl.dat without too much effort.
For those that want to tinker, here's a Dockerfile with the smallest change set I could find that successfully starts the server
FROM arangodb:3.7.10 as builder

FROM alpine

WORKDIR /app
COPY --from=builder /usr/share/arangodb3/js js
COPY --from=builder /usr/sbin/arangod ./
COPY --from=builder /usr/share/arangodb3/icudtl.dat ./

RUN touch arangod.conf

CMD ./arangod --foxx.api false --server.authentication false --database.directory arango.db --server.endpoint unix:///`pwd`/arango.db/socket --configuration arangod.conf --javascript.startup-directory js --javascript.app-path /tmp/app

The value proposition here to me is less about zero-config (from what I've seen, Arango already handles this pretty well, offering smart defaults for most options) and more about embeddability - having a monolithic binary or library that can be linked against and loaded in-process.


Update code / docs for new Cosmos DB features

Need to look at

data model (can we drop textSearch?)
composite indexes
queries
benchmark performance
potentially load a larger data set (it was too slow to use before)

https://devblogs.microsoft.com/cosmosdb/new-string-function-performance-improvements-and-case-insensitive-search/

Need to change:

Benchmark performance (performance gains & cost savings)
Queries


Unexpected playback results with Playlist example

Hi,
Not sure if this is a bug or intended behaviour, but it doesn't seem to make logical sense to me anyway. I have noticed that under certain circumstances the order of playback in the Playlist example gives rather unexpected results.
Correct behaviour:
If on page load you simply do nothing and listen to the three examples from start to finish (or even when skipping to the end of a track, just before it starts playing the next in the playlist automatically), the order of operations is as you would expect: after the last track in the playlist finishes, nothing happens and the last link in the playlist keeps being highlighted/selected.
Inconsistent behaviour:
In comparison; if on page load you select the third track before the first track finishes playing, and then wait until the third track finishes playing by itself (or by skipping to the end manually) for some strange reason playback doesn't simply halt, but instead the second track gets selected and starts playing.
Again, not completely sure if this is a bug or intended behaviour, but it seems rather strange to me. Just thought I would flag it up. Tested it on latest Chrome and Firefox.
Thanks for your help.

Thanks, this is very interesting!

Michael, this should be fixed now. Thank you!

Great! Thanks a lot for all your work on this. Much appreciated.


Pylama example with pylint not working

Hi,
I am trying to use the example of the documentation but it doesnt seem to find pylint. I have installed pylama_pylint.
Any ideas?

[pylama]
format = pylint
skip = /.tox/,/.env/
linters = pylint,mccabe
ignore = F0401,C0111,E731

 pylama myfile.py -l pylama_pylint
WARNING:root:Linter `pylama_pylint` not found.
18:31 $ pylama myfile.py -l pylint
WARNING:root:Linter `pylint` not found.

Any ideas?
Thanks,
Periklis

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Please ensure that you have installed pylint. pylama myfile.py -l pylama_pylint


Support Matrix Inputs

This would be great! I have always found DataFrames to be clunky and pretty much never use them. My inputs are often low-dimensional embeddings without any real names, making putting them in a dataframe just an extra step.

That's quite a different perspective, I created JLBoost partly because I didn't like the lack of support for DataFrames. I guess, some ppl would prefer matrices. So it's higher up on the cards
JLBoost supports Tables so unless the recent API change broke it then it should work if you just defined three methods, see
https://github.com/xiaodaigh/JLBoost.jl#tablesjl-integration
If doing that would mean type piracy then I have to think about this. I think implementing nrow, ncol and view is a good idea in general anyway.


Abhiram Ravikumar: new volunteer via Mozilla Science Lab Collaborate

Hi all,
I work on front-end web design, data enthusiast and Python frameworks. I'm comparatively new to JavaScript, hoping to catch on!This issue was created by @abhi12ravi via Mozilla Science Lab Collaborate

Hi Abhiram!
Welcome!  Can you please send me your email so I can add you to our Slack team?
Best,
Jared

Hey Jared!
Thank you. My email is<EMAIL_ADDRESS>


fix regarding version matching

Ensuring we have the full version string from the matched patch def version list entry.
Example:
Zoom Client for Meetings has versions listed like so :: 5.3.1 (####.####)
We match the 5.3.1 and need to rest of the string to make the package data for the patch version list entry.
We capture the value after matching it, and use that value instead of the self.pkg.version, which is only a portion of the string.

Excellent PR David, it does remove one class of problem version numbers

I found a 3rd line that needed adjusting.  Looks like that push made it to this PR.

Yeah, it came through as I was checking the first change one last time. Good catch.

It still doesn't fix my problem with Android Studio but it has horrible versioning. I've resigned myself to doing it by hand.

I realized I didn't see the same self.pkg.version bits in the Production.py handler.  Almost done updating and testing.  Apologies, a looming (unrelated) deadline was rushing my hand.


support multiple environments

we need:

local - exists already - pure in memory local development - all seneca - no external deps
sim - simulation of external deps, running local - docker etc - as per dynamodb store tests
stage - maybe?
integ - maybe?
prod - AWS in production

change the repo:
local -> env/local
all the rest go into this env folder

https://github.com/nodezoo/monorepo/blob/main/local/dev.js - dev.js is the wrong name
should be start.js
then you have:

local/start.js
sim/start.js
etc.


⚠ Samsung has degraded performance

In f40b882, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2441 ms

Resolved: Samsung performance has improved in 7fc77d5.


add support for newtonsoft.json

add support for Newtonsoft.Json by providing a new newtonsoft specific saunter package.

While this reflects the behaviour of Newtonsoft.Json, it does not reflect the behaviour of System.Text.Json.
void Main()
{
	Newtonsoft.Json.JsonConvert.SerializeObject(new Example(), new JsonSerializerSettings
		{
			Formatting = Newtonsoft.Json.Formatting.Indented,
			ContractResolver = new CamelCasePropertyNamesContractResolver()
		})
		.Dump();
	// {
	//    "someOtherName": null
	// }

	System.Text.Json.JsonSerializer.Serialize(new Example(), new JsonSerializerOptions
		{
			WriteIndented = true,
			PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
		})
		.Dump();
	// {
	//    "SomeOtherName": null
	// }
}

class Example
{
	[JsonProperty("SomeOtherName")]
	[JsonPropertyName("SomeOtherName")]
	public string FooBar { get; set; }
}

Since we are now using System.Text.Json as our serializer (as is the default for new dotnet projects), I feel it makes sense to keep this behaviour as-is.
Additionally, we should remove the current DataMember check as this does not match System.Text.Json behaviour either.
Someone using Newtonsoft.Json will need to provide a custom PropertyNameSelector which matches their Newtonsoft.Json settings.
options.PropertyNameSelector = prop =>
{
    var name = prop.GetCustomAttribute<JsonPropertyAttribute>()?.PropertyName
        ?? prop.GetCustomAttribute<DataMemberAttribute>()?.Name
        ?? prop.Name;
    return new CamelCaseNamingStrategy().GetPropertyName(name, false);
}

I think the better option here would be to provide a Newtonsoft.Json compatibility library.
This would be a 2nd, optional, Nuget package, which provides an extension method for enabling Newtonsoft.Json support.
$ dotnet add package Saunter
$ dotnet add package Saunter.NewtonsoftJson

Startup.cs
services.AddAsyncApiSchemaGeneration(options =>
{
    options.UseNewtonsoftJson();
});

This UseNewtonsoftJson() method could set a default PropertyNameSelector which mimics Newtonsoft.Json behaviour (checking [Newtonsoft.Json.JsonPropertyAttribute] and [DataMemberAttribute])
Though, given this entire library would be just the ~4 lines of code, maybe just providing documentation would be better!

Good point, I didn't know this difference. If this is the case, then your comment makes absolutely sense. Even though I find the system.text.json strategy to be quite strange as you could end up with an inconsistent naming. But as long as they stick with this weird solution, it makes sense to be inline. ;-)

I've proposed in #89 that the serialization logic is extracted into a separate type. Developers can then use this to provide their own serializing logic, and it could potentially be used to create different adapters for this, including Newtonsoft.Json or Yaml.

Closing in favor of #60


Value Conversion Error importing automation

I am getting the following error when trying to import an automation:
╷
│ Error: Value Conversion Error
│
│ An unexpected error was encountered trying to build a value. This is always
│ an error in the provider. Please report the following to the provider
│ developer:
│
│ Received null value, however the target type cannot handle null values. Use
│ the corresponding `types` package type, a pointer type or a custom type
│ that handles null values.
│
│ Path: trigger
│ Target Type: resources.TriggerModel
│ Suggested `types` Type: basetypes.ObjectValue
│ Suggested Pointer Type: *resources.TriggerModel
╵

Sure...
{
  "type": "event",
  "match": {
    "prefect.resource.id": "prefect.flow-run.*"
  },
  "match_related": {
    "prefect.resource.id": [
      "prefect.tag.Tag1",
      "prefect.tag.Tag2"
    ],
    "prefect.resource.role": "tag"
  },
  "after": [
    "prefect.flow-run.Failed",
    "prefect.flow-run.Cancelled",
    "prefect.flow-run.Crashed",
    "prefect.flow-run.Completed"
  ],
  "expect": [
    "prefect.flow-run.*"
  ],
  "for_each": [
    "prefect.resource.id"
  ],
  "posture": "Proactive",
  "threshold": 1,
  "within": 30
}

Any timeline for a fix on this?

hey @jbnitorum - we've got a fix for this in #336 , and will aim to release this fix tonight

@jbnitorum give this a whirl when this release lands
https://github.com/PrefectHQ/terraform-provider-prefect/releases/tag/v2.13.2


Minor improvements

Fixed issues #5 #6 #7 #8, please close the issues if you are happy with the solution proposed.

@espinhogr Thanks a lot for that! I need to find some time to look at it, as soon as I'll do I'll get back to you.

:+1: @nickbalestra These changes look good to me. Would love to have them merged soon so they are fixed for future theme users.


Great Index for the controls

This page makes it easier to group the controls and makes them easier to understand and find

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

ID: 49e8b900-2d5f-a7ab-e25e-f8a4604cc807
Version Independent ID: 91dfa289-d554-6fc0-48bc-47bee06a1646
Content: Controls by Category - WPF .NET Framework
Content Source: dotnet-desktop-guide/framework/wpf/controls/controls-by-category.md
Product: dotnet-framework
Technology: dotnet-wpf
GitHub Login: @adegeo
Microsoft Alias: adegeo

Thank you for this feedback!


[Discussion] Scoped Step Definitions

The problem
Cucumber forbids duplicate step definitions. It is considered anti-pattern to create feature-specific steps.
Meanwhile, there are many requests from community to allow coupling steps with particular feature scope.

https://github.com/vitalets/playwright-bdd/issues/151
https://github.com/cucumber/cucumber-js/issues/748
https://github.com/cucumber/cucumber-js/issues/981
https://github.com/cucumber/cucumber-js/issues/176#issuecomment-47572827
https://github.com/cucumber/cucumber-jvm/issues/397
https://stackoverflow.com/questions/63178537/cucumber-bdd-different-features-requiring-similar-step
https://stackoverflow.com/questions/26180674/are-cucumber-step-definitions-global

A typical use-case
Imagine two features game.feature and video-player.feature, both having own PLAY button.
game.feature:
Given I have not started a game yet
When I click the PLAY button # <- duplicated step
Then the game begins

video-player.feature:
Given I am watching a youtube video
When I click the PLAY button # <- duplicated step
Then the video plays

Step implementation for I click the PLAY button is different for each feature. But if you define it in two different files, you will get an error:
Multiple step definitions matched for text: "I click the PLAY button"

It forces you to modify step pattern to avoid the ambiguity. E.g.
When('I click the PLAY button in game', ...);
When('I click the PLAY button in video player', ...);

That's annoying.
Existing solutions

Non of official Cucumber implementations supports duplicate steps. They report ambiguous step error once your step matches more than one step definition.
Cucumber plugin for Cypress introduced interesting feature called Paring. It allows to have duplicate step definitions paired to particular features via special configuration pattern (see more in their docs).

Proposal
I think, scoping steps to particular domain is reasonable, especially for large applications. I see several options to achieve that.
Option 1
Re-implement pairing via [filepath] / [fileparts] in steps configuration:
defineBddConfig({
  features: 'features',
  steps: [
    'features/steps/common.ts',
    'features/steps/[filepath].ts', // <- pair steps to particular feature
  ],
});

It solves the use-case above with the following file structure:
└── features/
    ├── steps/
    │   ├── common.ts
    │   ├── game.ts
    │   └── video-player.ts
    ├── game.feature
    └── video-player.feature

Or with [filepart] for feature-focused structure:
defineBddConfig({
  features: 'features',
  steps: [
    'features/steps/common.ts',
    'features/[filepart]/steps.ts', // <- pair steps to particular feature
  ],
});

Files structure:
└── features/
    ├── steps/
    │   └── common.ts
    ├── game/
    │   ├── game.feature
    │   └── steps.ts
    └── video-player/
        ├── video-player.feature
        └── steps.ts

Option 2
While thinking about steps pairing in Cypress plugin, I've got another idea how it can be implemented.
First, I've noted two drawbacks of pairing approach:

You can't just define steps as a single string pattern, see a common mistake. You should make it more complex, splitting on common steps + pairing pattern steps.

Pairing can't be resolved without reading the configuration file. That is mostly for tools like IDE extensions, for navigating to step definition by cmd + click. Currently, the most popular one does not support it, but hopefully will.

The solution is inspired by Next.js route groups.
We can introduce steps scope - a file or directory with name in parenthesis, e.g. (game) or (video-player).
Step definitions inside scoped directory are applicable only to features inside that directory.
This is the only rule one should know to understand the approach.
Now we can define the file structure:
└── features/
    ├── steps/
    │   └── common.ts
    ├── (game)/
    │   ├── game.feature
    │   └── steps.ts
    └── (video-player)/
        ├── video-player.feature
        └── steps.ts

(game)/steps.ts are applied only to game.feature
(video-player)/steps.ts are applied only to video-player.feature
steps/common.ts are applied to both

The main advantage is that any tool or human can understand paring without reading configuration.
The BDD configuration itself simply defines steps without any patterns:
defineBddConfig({
  features: 'features',
  steps: 'features/**/*.ts',
});

If project has separate directories for features and steps, the rule can be slightly enhanced:
Step definitions inside scoped directory are applicable only to features having that scope in the path.
Now the following structure is available:
└── features/
    ├── steps/
    │   ├── common.ts
    │   ├── (game).ts
    │   └── (video-player).ts
    ├── (game).feature
    └── (video-player).feature

steps from features/steps/(game).ts will be applied only to features/(game).feature, because feature path contains (game)
steps from features/steps/(video-player).ts will be applied only to features/(video-player).feature, because feature path contains (video-player)
steps from features/steps/common.ts will be applied to both features, because there are no scoped directories in steps path

Such file structure explicitly shows how features are connected to steps.
Your feedback is welcome!
All of you have different projects, with unique setup and structure. It would be very helpful, if your apply (virtually) these approaches to your project and share your feedback / concerns in the comments.
Or just add your 👍
Thanks in advance!

Since working on an enterprise level product I tend to bundle the things that belong together so they can easily be found and related to. Thus the tests for an angular component are on the same level in the project structure. Any of the approaches would work for us but I like the explicit definition of the 2nd approach. I just think we have to define it in a resilient way. What would happen if in the path there are multiple scopes, like this
.../modules/login/tests/(login)/(auth).feature

or what happens if a user decides to do something like this:
(auth)-(login).feature
when working with a constantly changing team you never know what a user is going to do ;-)
Thinking a bit about it, at least for my use cases it would be sufficient to treat everything inside the same directory as scoped together and I would prefer to explicitly mark the steps that are generic somehow, since our application gets quite big and it is hard to define extra scopes everywhere.

@rschulz-scisys good points!

For multi-scoped paths like tests/(login)/(auth).feature I think we should treat whole sequence as a scope. So, scope here is (login),(auth). And it matches exactly the same scope in the same order, e.g. tests/steps/(login)/(auth)/steps.ts.

For (auth)-(login).feature well.. my suggestion is to handle it in the same way, it's just a sequence of (login),(auth) and it will match (login)/(auth)/steps.ts. I totally agree, it should be documented.

Thinking a bit about it, at least for my use cases it would be sufficient to treat everything inside the same directory as scoped together and I would prefer to explicitly mark the steps that are generic somehow, since our application gets quite big and it is hard to define extra scopes everywhere.

I'd like it to be possible - instead of marking every feature directory with parenthesis, mark common steps.
Taking previous example, here (steps)/common.ts are shared between all features:
└── features/
    ├── (steps)/
    │   └── common.ts
    ├── game/
    │   ├── game.feature
    │   └── steps.ts
    └── video-player/
        ├── video-player.feature
        └── steps.ts

But in that case we force users to put steps close to features. I personally like such structure more, but projects are very different. Somewhere it can be a strict rule to keep feature files separate from steps. How would we solve that?
And another case - if someone decides to add nested directories inside feature, e.g.:
└── features/
  ├── (steps)/
  │   └── common.ts
  ├── game/
  │   ├── levels/
  │   |   ├── beginner.feature
  │   |   └── professional.feature
  │   └── steps.ts

level/beginner.feature can't access ../steps.ts because scoped by levels/.
Making game steps common as game/(steps).ts is also not a solution as I want these steps be shared inside game dir, not entire project. What are your thoughts on that?

Instead of using pairing or strict scoping rules for step definitions, I propose adding the ability to override step definitions for specific directories or subdirectories containing feature files. In these directories, an override.ts file can be created, containing references to imported step definitions that are specific to that directory and its subdirectories.
└── features/
    ├── steps/
    │   ├── common.ts
    ├── game/
    │   ├── override.ts  # Overrides for game
    │   │   └── steps: [
    │   │       'features/steps/game-specific.ts',
    │   │     ],
    │   ├── levels/
    │   │   ├── beginner.feature
    │   │   └── professional.feature
    ├── video-player/
        ├── override.ts  # Overrides for video-player
        │   └── steps: [
        │       'features/steps/video-player-specific.ts',
        │     ],
        └── video-player.feature

    Advantages:

•	Simplifies project configuration by eliminating the need for complex pairing rules.
•	Provides flexibility and control over step definitions within specific directories, allowing tests to be adapted for different modules or application features.
•	Enables the use of common step definitions while easily overriding them where necessary by importing the relevant files.

Concern: There may be challenges with how IDE extensions handle these overrides, potentially affecting auto-completion and navigation to step definition implementations.

@viktor-silakov interesting idea. Could you show how exactly override.ts would look like?
Is it file with steps or only with references to feature path?

@viktor-silakov interesting idea. Could you show how exactly override.ts would look like? Is it file with steps or only with references to feature path / steps?

Reference to step definition files that are not imported in the main config.
For example, we have definitions in common.ts:

sd1
sd2
sd3

In game.override.ts:

sd2

After merge we have:

sd1 (main.ts)
sd2 (game.override.ts)
sd3 (main.ts)

for the game folder and their subfolders. I think this is a more flexible approach and quite explicit.

For me it's still not clear, what is inside game.override.ts.
You said it contains reference to step definition file, can you show what exactly the reference is?
Lets take an example:
// features/steps/common.ts
When('I click the PLAY button', () => {
  console.log('[common] click the PLAY button');
});

Now we want to override this step for game:
// features/game/overides.ts

// reference ???

When('I click the PLAY button', () => {
  console.log('[overriden for game] click the PLAY button');
});

This is not really important, I just wouldn't want to store the implementation of steps in the feature folder. Besides, it gives more flexibility, and allows merging several files with implementation, which I don’t need right now, but won’t be superfluous.  Therefore, I would suggest simply storing links in some form, for example, you can write something like:
// features/steps/common.ts
When('I click the PLAY button', () => {
  console.log('[common] click the PLAY button');
});

// features/steps/games.ts
When('I click the PLAY button', () => {
  console.log('[overriden for game] click the PLAY button');
});

// features/game/overides.ts
export overrides = [
    'features/steps/games.ts'
]

For multi-scoped paths like tests/(login)/(auth).feature I think we should treat whole sequence as a scope. So, scope here is (login),(auth). And it matches exactly the same scope in the same order, e.g. tests/steps/(login)/(auth)/steps.ts.
For (auth)-(login).feature well.. my suggestion is to handle it in the same way, it's just a sequence of (login),(auth) and it will match (login)/(auth)/steps.ts. I totally agree, it should be documented.

Interesting, would get a while to get used to but could actually be quite practical ;-)

I'd like it to be possible - instead of marking every feature directory with parenthesis, mark common steps. Taking previous example, here (steps)/common.ts are shared between all features:
└── features/
    ├── (steps)/
    │   └── common.ts
    ├── game/
    │   ├── game.feature
    │   └── steps.ts
    └── video-player/
        ├── video-player.feature
        └── steps.ts

But in that case we force users to put steps close to features. I personally like such structure more, but projects are very different. Somewhere it can be a strict rule to keep feature files separate from steps. How would we solve that?

I think we're alike here, that would also be my personal favorite. With such a structure I would as good as never run into a redefinition of a step, except when it is coming from a common step. This would make life so much easier ;-).
The larger an application grows the harder it gets to maintain when it is not structured. I always have the feeling that flat structures are nice for quick and easy but they do not scale. For us it would even be hard to find filenames that do not clash ;-)
But I also see your point as  know of quite some projects that would go the flat way.
So, I was thinking about it a bit and maybe it is a way to go with annotations in the files, since both, js and feature files allow comments, we could do something like
# bdd-context: authentication

and in the step definitions also
// bdd-context: authentication

we could even allow multiple contexts
I may need to think about it a while longer...

// bdd-context: authentication

This is very close to the suggestion by @viktor-silakov with special export in steps file:
export overrides = [ 'features/steps/games.ts' ];

Are you guys sure, we should add this new level of managing stuff? Context names / feature file names can't be type-checked, how to keep them in sync? If I make a typo in bdd-context: authentciation, it could be difficult to find out why tests started to fail..

// bdd-context: authentication

This is very close to the suggestion by @viktor-silakov with special export in steps file:

export overrides = [ 'features/steps/games.ts' ];

yes and no, it does not require you to give the full/relative path of features and it does not require an additional export, it is fully relying on a preprocessor probably, you know the implementation details better then I do.

Are you guys sure, we should add this new level of managing stuff? Context names / feature file names can't be type-checked, how to keep them in sync? If I make a typo in bdd-context: authentciation, it could be difficult to find out why tests started to fail..

true, and no I am not sure yet that this is the way to go, but we're discussing and it seemed to be one of the few approaches that works without a hierarchy/ structure requirement also in flat projects.
The issue is mainly keeping on top of the complexity. Thus I kinda like the idea of everything being scoped per default as everything else ramps up complexity quite fast.  This is one way of doing it, but I could also live with an appraoch based on filenames. If there is a pair like component1.feature and component1.steps.ts it is scoped (thats probably being back to pairing) and step files that cannot be matched to a feature file are automatically common. That would also assume that paired step definitions are unavailable to any other feature file, which would be fine for me. Interesting things may happen if feature files have the same name in different directories (not in flat projects as those are safe in that case).

Thanks for all the input @rschulz-scisys :)
One thing I thought during reading the last message. Actually, in Cucumber already there is a way to bind some code to the particular feature. When I define hook, I can bind it to feature by tags. For example:
Before({ tags: "@game" }, function () {
  // This hook will be executed before scenarios tagged with @game
});

So, one more idea - just extend that existing approach to steps:
When('I click the PLAY button', { tags: '@game' }, () => {
  console.log('[overriden for game] click the PLAY button');
});

Such step will be applied only to features tagged with @game:
@game
Feature: Game
...

No rules for directory structure, can be applied to any project.
The downside - if there are many feature bound steps in a file, it requires you to mark them all with tag.
What do you think?

I personally prefer the original approach with all of their cons, so would be great if duplicate step definition feature will be possible to enable only via config flag + providing paths (or whatever extra settings you come up with).

I personally prefer the original approach with all of their cons, so would be great if duplicate step definition feature will be possible to enable only via config flag + providing paths (or whatever extra settings you come up with).

with the last approach you just would not use the tags in the steps and everything should be as it was before, if I got it right. No need for a config in that case.

@alescinskis could you share more on which exactly approach you'd like?

@vitalets sorry, should have made it more clear, I'm talking about default approach where cucumber forbids duplicate step definitions. I want to be able to keep that strict approach.

Yes, that would be a default. Until tags manually assigned to step definitions, everything will work as now and duplicate steps will be not allowed and reported.

I've discovered that SpecFlow has exactly the same approach we ended up here - use tags to bind step definitions to features. Even the name is the same - Scoped Step Definitions!
Everything is already invented, we just need to search :)

I've discovered that SpecFlow has exactly the same approach we ended up here - use tags to bind step definitions to features. Even the name is the same - Scoped Step Definitions! Everything is already invented, we just need to search :)

and even with a little more options (by Feature and Scenario name). Seems the approach would work and is acceptable. Now you have to tell us, if it would be working in this implementation and if you would be willing to implement it ;-)

Yes, I will add it to playwright-bdd.
I'm not sure about binding by Feature and Scenario name. These entities are free text. When I change them, I don't expect that some code is bound to the text. I assume it can often lead to failing tests, and a user will have no clue why.
I'd suggest to implement only tags for the start, live with it and consider other binding options if we get a strong request for them.

Released in Playwright-BDD v8 🎉
Docs.


egl: use eglGetProcAddress instead of EGL_EGLEXT_PROTOTYPES

eglCreateImageKHR, eglDestroyImageKHR, and glEGLImageTargetTexture2DOES
are not defined in the symbol table in newer versions (>=10.6? or
possibly earlier) of the mesa libEGL and libGLESv2 libraries.  They
should be looked up at runtime instead.  Thus, look them up with the
eglGetProcAddress at runtime.  The use of EGL_EGLEXT_PROTOTYPES is no
longer needed for this.
Fixes #229
Signed-off-by: U. Artie Eoff<EMAIL_ADDRESS>

lgtm +1

lgtm +1

This patch is verified by Cong. So I will merged this.

merged as 394dd742c40333336b3eb197c627db4239b93e84


Example question not working for me.

Hello,
I want to use jsxgraph with my formulas type questions using jsxgraph filter. I have installed Moodle on my computer and everything works fine. I tried the example shown here but when I hit preview, I only see the code (from <jsxgraph...> to . I set the plain text editor everywhere (both editor preferences and manage editors). The filter works fine when I try it on content like a page or a label though.
Can you please help me figure out what I did wrong? I watched the videos on youtube and even went on moodle.itemspro.eu, but unfortunately, they did not show how to write a complete question step by step from scratch, but rather how to edit an existing one. I thought the example here would be a good start. I don't know anything about coding and all, but I can follow the instructions on how to get something done (I have installed moodle on my own :-) )
Thank you for your help.

Dear labapen!
To help you, I have a few questions for you:

Did you also install the JSXGraph filter(https://moodle.org/plugins/filter_jsxgraph)?
Is this activated in the administrator interface? (Site administration > Plugins > Plugins overview)
Which Moodle version do you use?
Could you possibly export the question as Moodle XML and send it here? (Your course > Question bank)
Maybe some screenshots would help too...

Best regards,
Andreas

Dear Andreas!
Thank you for your quick reply.
Strangely, everything works fine this morning. I don't know exactly what happened, but I am happy.
Thanks to the team for this plugin!
Best regards,

Wonderful! If you still have problems, just re-open this issue.


Parse required CLI params in cluster

Description

Linked issue

Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

How to merge
Send the message bors r+ to merge this PR. For more information, see
docs/how-to/bors.md.

NOTE: Would be nice to still link that to an issue on input-output-hk/cardano-wallet

bors r+

bors r+


Writing a Blogpost

Hey Ashwin
Great effort. Would it be alright if I write an Medium post for this repo?
Thanks

@MLWhiz It's still unstable so there are no guarantees it'll work, but if you're able to actually use it I don't mind if you post about it.

Yes. I tried it and it gives me a403 error as of now. Seems to be an header
issue for requests module
On Sun, 16 Jul 2023 at 22:25, Ashwin @.***> wrote:

@MLWhiz https://github.com/MLWhiz It's still unstable so there are no
guarantees it'll work, but if you're able to actually use it I don't mind
if you post about it.
—
Reply to this email directly, view it on GitHub
https://github.com/AshwinPathi/claude/issues/1#issuecomment-1637193594,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFK26IU4KJM3AYEB2EM4ALXQRL6BANCNFSM6AAAAAA2MBWMUE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Regards,
Rahul Agarwal
Machine Learning Engineer at Facebook
Linkedin Profile: https://www.linkedin.com/in/rahul-agarwal-b8a29724/

@MLWhiz The API supports providing a spoofed header that you can use to bypass 403s.
You can find these headers by going to the claude website, initiating a chat, opening up inspect element, going to the networks tab, and copying the headers that your browser uses to send requests. Convert that header to a python dictionary and you can pass it into the API like so:
session_key = ...
spoofed_headers = {'user-agent': ..., 'accept': ..., ...}
api = ClaudeAPI(session_key, spoofed_headers=spoofed_headers)

I haven't experimented with what headers actually matter, but I'd wager that the necessary one is the user-agent header.

Already tried user-agent. Didn’t work for me.
On Sun, 16 Jul 2023 at 22:58, Ashwin @.***> wrote:

@MLWhiz https://github.com/MLWhiz The API supports providing a spoofed
header that you can use to bypass 403s.
You can find these headers by going to the claude website, initiating a
chat, opening up inspect element, going to the networks tab, and copying
the headers that your browser uses to send requests. Convert that header to
a python dictionary and you can pass it into the API like so:
session_key = ...spoofed_headers = {'user-agent': ..., 'accept': ..., ...}api = ClaudeAPI(session_key, spoofed_headers=spoofed_headers)
I haven't experimented with what headers actually matter, but I'd wager
that the necessary one is the user-agent header. Let me know if that
works.
—
Reply to this email directly, view it on GitHub
https://github.com/AshwinPathi/claude/issues/1#issuecomment-1637198783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFK26LP4OHE34AW6PJLPJLXQRPWRANCNFSM6AAAAAA2MBWMUE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Regards,
Rahul Agarwal
Machine Learning Engineer at Facebook
Linkedin Profile: https://www.linkedin.com/in/rahul-agarwal-b8a29724/

@MLWhiz did you just use User-Agent or did you spoof the full set of headers that the browser sends? For example, it should look something like this:
CUSTOM_HEADERS = {
    'authority': 'claude.ai',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'max-age=0',
    'dnt': '1',
    'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"macOS"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36',
}

You can try this user agent but its probably best to generate one on your own using the method I mentioned before. I just tested it out and it works locally, let me know if this fixes the issue.

Just used user-agent. Will try this as well.
On Sun, 16 Jul 2023 at 23:03, Ashwin @.***> wrote:

@MLWhiz https://github.com/MLWhiz did you just use User-Agent or did
you spoof the full set of headers that the browser sends? For example, it
should look something like this:
CUSTOM_HEADERS = {
'authority': 'claude.ai',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'en-US,en;q=0.9',
'cache-control': 'max-age=0',
'dnt': '1',
'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"macOS"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36',
}
You can try this user agent but its probably best to generate one on your
own using the method I mentioned before. I just tested it out and it works
locally, let me know if this fixes the issue.
—
Reply to this email directly, view it on GitHub
https://github.com/AshwinPathi/claude/issues/1#issuecomment-1637199736,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFK26IPLRQSSGGBLXE3QOTXQRQJLANCNFSM6AAAAAA2MBWMUE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Regards,
Rahul Agarwal
Machine Learning Engineer at Facebook
Linkedin Profile: https://www.linkedin.com/in/rahul-agarwal-b8a29724/

@MLWhiz were you able to get it to work? I'll close the issue if you did.

yes, it works. thanks man
On Mon, Jul 17, 2023 at 1:54 AM Ashwin @.***> wrote:

@MLWhiz https://github.com/MLWhiz were you able to get it to work? I'll
close the issue if you did.
—
Reply to this email directly, view it on GitHub
https://github.com/AshwinPathi/claude/issues/1#issuecomment-1637244390,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFK26IORMRVPDOY3BTHOUTXQSENFANCNFSM6AAAAAA2MBWMUE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Regards,
Rahul Agarwal
Machine Learning Engineer at Facebook
Linkedin Profile: https://www.linkedin.com/in/rahul-agarwal-b8a29724/

@MLWhiz  Cool. Looking forward to reading the article.


Update ReactNativeVideoCPP.vcxproj

This PR adds a no-op build step for Windows that is required to be defined on some versions of React Native for Windows

CC @benoitdion @brentvatne could we merge this?

thank youuu


New Patch: 2bswm style

I added 2bswm style control while keeping original, enjoy!
closing issue https://github.com/dylanaraps/sowm/issues/40#issue-547747903

Thanks


In Audit mass panel, provide option to show primary beam intensity vs time.

Didn't give you the exact right nomenclature to find it in the xml.  It's this line in the xlm file.
pbm = primary beam monitor.


[TS] "Primary" and destructive action buttons

Automatically generated task. Any updates to the title and body will be overwritten. Do NOT modify the labels.
TS implementation of #861

Implemented with #2491


Circular viewer: support user data upload

Support user data upload in standard file formats (i.e. gene list or coordinate list, with/without numeric values) and display them as custom tracks (heatmap, histograms, etc).
Again, try to support the minimum functionality that is already available on production or make it better.
-Maulik

Implemented and available on alpha.

Fixed


NotifyWhenAutowired appears to be satisfied out of order

Example use case is with sliders, which use NotifyWhenAutowired on Figure. When I start LeapSvc with a device plugged in, a couple frames will tend to get processed before Figure comes online.
However, once Figure is autowired, these are often triggered in a different order than the m_Params.NotifyWhenAutowired line was called, which knocks sliders from their intended ordering.
This doesn't happen when I plug in a device after a few seconds, since at that point the calls to add sliders are processed immediately.

Ok we've got a unit test on this one, we'll fix this for the next release.


Other

I've tried to use
newtype RoutingError = RoutingError [[String]]

as an error, but first attempt have been very ugly, so I've revert it to String.
matches fires when newURL can be parsed, if oldURL can not be parsed then it fires with Nothing as first param.

Review by @paf31 / @garyb

I think it looks good. I can spend more time on this tonight and this weekend, but for now:

I would strongly recommend not using Monad if you can help it. Even adding num and bool to the Match class would probably be preferable, so that it's possible to perform analyses and do documentation generation.
I'll spend some time thinking about the representation of errors.

Oh, one more thing. If we can't make errors into a semiring, maybe there's a middle ground where we introduce an ADT for single errors and use a list of errors to represent multiple failures in parallel.
One last comment: consider using List instead of Array.

Why List?
Errors are working perfectly as semiring. I switched to String because of needs of handling those errors in state or something like state. Why do we need all those errors not only first or last?

Cons patterns are being deprecated in the compiler, so it's better to switch to lists now.
You can always pretty print errors, but you don't want to have to parse them to match certain classes of errors in the UI. Also, it's useful to keep a list so that you can present a useful error. Consider for example the route Foo <$> (lit "foo" *> var) <|> Bar <$> (lit "Bar" *> var). if the user mistypes #/bam/123 they will get the error "expected foo", but a better error is "expected foo or bar".

Here is my suggestion for the representation of errors:
https://gist.github.com/paf31/c4b5c06fab182073d533
It is the free semiring generated by a type. You can try it in psci as follows:
> free 1
(Free [[1]])

> free 1 + free 2
(Free [[1],[2]])

> (free 1 + free 2) * free 3
(Free [[1,3],[2,3]])

> (free 1 + free 2) * (free 3 + free 4)
(Free [[1,3],[1,4],[2,3],[2,4]])

> (free 1 + free 2) * (free 3 + free 4) * (free 5 + free 6)
(Free [[1,3,5],[1,3,6],[1,4,5],[1,4,6],[2,3,5],[2,3,6],[2,4,5],[2,4,6]])

> liftFree id $ (free 1 + free 2) * (free 3 + free 4) * (free 5 + free 6)
231

If you choose a base type MatchError for errors (I recommend creating an error ADT, not String) then you can use Free MatchError as your error type when matching. The SemiRing instance will take care of reordering things for you, and then you can use liftFree to render your errors in a readable way.

@paf31 thank you free semiring is awesome :)
I've added module Data.Validation.Alt with V datatype. It's almost similar with V from purescript-validation. Will it be useful to make pr to it? (i.e. move Data.Validation to Data.Validation.Apply and add Data.Validation.Alt)

Looking pretty good -- I agree the validation and free semiring stuff probably belongs elsewhere, but if we can't get those out now quickly, we can always do it after the fact. Any other comments / suggestions from @paf31  or  @garyb? Is this ready to merge, @cryogenian??

Looks good to me, although a few more doc comments would probably help. I'd definitely take PRs on purescript-validation if you wanted to add something like Data.Validation.Semiring. I'm not sure where the free semiring stuff would go. Maybe in monoids, or maybe we should add a semirings package?

Yeah, I'd say add a purescript-semirings package in core.

:+1: from me.
A purescript-semiring(s) package sounds good to me - we can move the Semiring class into that eventually too.

great! I'll make pr Data.Validation.Semiring purescript-validation and then it will be ready

I just created this, in case you want to send a PR. If not, we can leave it for later.
https://github.com/purescript/purescript-semirings

K, please also do a PR to semirings, it will add a small delay but hopefully @paf31 can approve & tag a version quickly.

I think it's ready.
(Maybe I made something wrong in purescript-semiring but it's not appeared in bower search)

Oops, my fault.

It should be there now.

Done

:shipit: Let's just add some docs & examples in a separate PR.


Replace containerd/btrfs with dennwc/btrfs to eliminate cgo dependency

https://github.com/dennwc/btrfs doesn’t seem to require cgo, so I suggest replacing https://github.com/containerd/btrfs with this library
GoDoc: https://pkg.go.dev/github.com/dennwc/btrfs

Previous discussion: https://github.com/containerd/btrfs/issues/7

PR: https://github.com/containerd/containerd/pull/5658


THRIFT-3775: 0.10.0 release

Client: release
Patch: jfarrell
Versioning for 0.10.0 release candidate

No idea what you think you can achieve with that. Please close this PR, as it will never get merged.

@jfarrell this needs to be closed.  It is invalid.


Simple implementation of "top"

Add: "top" posts (yes, post's')
Todo: "next" and "previous" of "top" posts (bottom of the post)
Todo: Special mark for "top" posts in archive and articles page

This is not for the "to top" button, but to show some posts at the top of the main page (a.k.a. article page)

wait and see, thx.


Canvas Example Scene no longer allows to draw using AirTap

Describe the bug
Cannot use air tap on the Canvas Example
To reproduce

Air tap and attempt to move around on the canvas example
Observe no drawing on the Canvas

Expected behavior
User can draw using AirTap on the canvas example
Video
https://user-images.githubusercontent.com/110259320/185198329-ddb9c751-8701-4df0-b5d5-d0aa02307fa6.mp4
Your setup (please complete the following information)

Unity Version 2020.3.37f1
Commit Version 064f7cf9dd7eaa6addf29b3ed2706ed683fe7fe2

Target platform (please complete the following information)

HoloLens 2

This was intentionally removed by @RogPodge in #10751 :(

@Zee2 Especially with how difficult it is to interact with the pen, or draw with the hand-cursor I think this should be re-evaluated

Agreed on the re-evaluation proposal. It feels unfortunate to restrict this to near interactions only 😢 from my recollection, the airtap drawing did work, it was just a visual bug that the far ray snapped to the initial point. We should use this issue to track fixing that

Just another note:
On Quest 2, if the user is using controllers, this especially inhibits the ability to use the canvas effectively.
I would also hope that the user could interact with the pen using AirTap, but thats another feature that would need to be added in.

I strongly feel that we should not have the far air tap interactions in the example scene in its current state, because of how the far ray snapping very clearly looks like a bug visually. I don't want to re-enable interactions which are clearly unpolished or added as an afterthought.
For what it's worth, the whiteboard script is an examples-only component at the moment, so I don't think it's a feature we're shipping with our core set of MRTK UX controls.
As for interacting with the pen with AirTap, I think that is easily implementable, but it definitely makes the pen experience super wonky, and I think that though it'd help improve the immersion/authenticity of the scene, it goes against what we want the pen to represent/the way we want it to be used. Maybe this indicates we should have some sort of "hand snapping" solver or mechanism to bring the pen near the user's grip or something?