Feature: Support Node.js

Use case
Using SDK in a Nodejs/Express application
I am working on a REST API developed with Nodejs and Express. Requirement is to read data from Kentico Cloud, execute some treatment on it and then returned the processed data.
I have setup a simple node server with express to deliver the content. I have set up my models as per the
KenticoCloudSampleJavascriptApp.
Error
When executing the following code:
var config = new kc.DeliveryClientConfig(projectId, typeResolvers);
var deliveryClient = new kc.DeliveryClient(config);

deliveryClient.item('home')
  .depthParameter(3)
  .get()
  .subscribe(response => res.json(response));

This exception is thrown:
Error: XMLHttpRequest is not supported by your browser
    at getXMLHttpRequest (D:\_\sample-tool\node_modules\rxjs\observable\dom\AjaxObs
ervable.js:45:19)
    at Object.createXHR (D:\_\sample-tool\node_modules\rxjs\observable\dom\AjaxObse
rvable.js:93:71)
    at Object.tryCatcher (D:\_\sample-tool\node_modules\rxjs\util\tryCatch.js:6:31)
    at AjaxSubscriber.send (D:\_\sample-tool\node_modules\rxjs\observable\dom\AjaxO
bservable.js:191:50)
    at new AjaxSubscriber (D:\_\sample-tool\node_modules\rxjs\observable\dom\AjaxOb
servable.js:180:14)
    at AjaxObservable._subscribe (D:\_\sample-tool\node_modules\rxjs\observable\dom
\AjaxObservable.js:115:16)
    at AjaxObservable.Observable._trySubscribe (D:\_\sample-tool\node_modules\rxjs\
Observable.js:171:25)
    at AjaxObservable.Observable.subscribe (D:\_\sample-tool\node_modules\rxjs\Obse
rvable.js:159:65)
    at MapOperator.call (D:\_\sample-tool\node_modules\rxjs\operator\map.js:54:23)
    at Observable.subscribe (D:\_\sample-tool\node_modules\rxjs\Observable.js:156:2
2)

The dependencies of the SDK require the code to work on a browser. It would be great to have the ability to work on a nodejs app.
Versions

node: 8.5.0
kentico-cloud-delivery-typescript-sdk: 1.6.0
express: 4.15.4

I've had similar issue in the past, but haven't pursued that in much detail. However, do you think you could try using the approach mentioned here and see if that will work?

Thanks for your answer.
I did try the solution of your link. For the record, this is what I've done:

install xmlhttprequest npm package
npm i xmlhttprequest --save-dev

initialize the global property with the XMLHttpRequest from the package

import xhr from 'xmlhttprequest';
global.XMLHttpRequest = xhr.XMLHttpRequest;

It actually fixes the issue. However, it seems weird to me to have to go through this to use the SDK. What's your opinion into using xmlhttprequest package in the SDK instead of rxjs.AjaxObs to make http request?
I am happy to work on it and propose a PR, if you'd like to go down this path.

Thank you for the info. I agree that it would be nice to have, but as far as I know, rxjs is not supported in node.js environment (and they seem to not plan to). I'm not creating the XMLHttpRequest myself, I'm simply using the AjaxCreationMethod from rxjs. There some some libraries/extensions that should allow rxjs to work in node.js, but they are often old libraries that are not even maintained.
The possible solution could be to use the native http api of node.js, convert that to observable and have a property that will specify the context during the delivery client initialization.
Maybe I'm missing something though :) If you know about library/method/approach that might work for this purpose, can you send me a link?

Seems we could leverage bindNodeCallback function in combination with request as per this and [this]https://stackoverflow.com/questions/43911353/how-to-create-an-rxjs-observable-from-a-node-request)

This is currently under development and if I don't stumble upon any major issues, it should work in Node.js environments just like in browsers with the use of native http  provider

Beta version is now published. It seems to work ok, but we need to keep an eye out for any classes that are not present in node.js out of the box (e.g. I could not use URL class). Any feedback as to how this works is welcomed.

is the beta version available via NPM?
I will try it in one of my sample projects, will let you know how it goes.

@Enngage I generated a package out of master branch with npm pack (after building the solution).
I then installed the package in one of my project and added the extra param to client as below:
const config: DeliveryClientConfig = new DeliveryClientConfig(projectId, TypeResolvers);
const client: DeliveryClient = new DeliveryClient(config, true);

I then try to run my app where I am doing the following call:
  let response: ItemResponses.DeliveryItemListingResponse<Course> = await client.items<Course>()
    .type(ContentTypes.Course.CODE_NAME)
    .equalsFilter(`elements.${ContentTypes.Course.Fields.CODE}`, req.params.code)
    .containsFilter('system.sitemap_locations', [req.params.inst.toLowerCase()])
    .get()
    .toPromise();
``
`
The url that is generated out of this is: `https://deliver.kenticocloud.com/project_id/items?elements.code=421400&system.sitemap_locations[contains]=unsw&system.type=course`

However, the response that I get out of this call is equivalent to `https://deliver.kenticocloud.com/project_id/items`

It seems that all url parameters are stripped out. I might have done something wrong when packaging it up.

@edouardr, thanks a lot for trying this out! Turns out you found a bug. Problem was that query params were not contained within the pathName and had to be added manually. I published new version which should be fixed.
Can you try that out and see how that works? Thanks again!

@Enngage I did try the new version and it seems to work as expected in the few tests that I made!

Awesome, thanks for the info.
Since there were no issues since this was released and tests are working, I'm closing this.


LoRa-E5 Dev Board: LoRa problems

Hi,
I have some problems implementing LoRa in my project. I'm using Wio-e5 Dev Board.
First of all, I noticed on TTN gw console that (using OTAA join mode) appeui and devui arrive reversed (appkey is ok).
I bypassed this issue using .reverse(). But I think it would be useful to fix it.
In second place, I think there's not enough power getting to the radio. The RSSI is ≈ -100 and SNR is ≈ 2.5 (I'm 1m away from the gateway).
I tried to run a LoRaWAN example in stm32cubeIde and in that case the radio works fine (RSSI ≈ -25 and SNR ≈ 13).
The last problem is that when the network is joined and I use device.send()  only the first message arrives in my app console. The method .send() returns a RxTimeout error. I think there are some problems with the downlink message. In fact on GW console I see all the subsequent messages, but they are not delivered to app. Maybe the FCnt isn't being incremented.
Has anyone run into the same problems?

devui and join/appeui do not have a specified byte order in the spec, though better documentation would be good. That issue should be raised in the rust-lorawan crate.
I suspect the problem with RX power is related to the transmit receive switch. I haven't worked with the stm32wl, so I can't give more guidance than that, but it should point you in the right direction.
device.send() will return an RxTimeout if there is no downlink queued. Or if your TX/RX switch isn't working or isn't being controlled correctly, then the downlink might not be heard by the radio.
If you have logs from the gateway console and/or from the device, that might help diagnose the last issue. It would also be good to know what chirpstack version the gateway is running.


IPv6 Route in Route Table (rtb-xxx) with destination (::/0) already exists

Description
During the creation of a new VPC with IPv6 support, I encountered the "RouteAlreadyExists" issue for private subnets. Specifically, there are six private subnets spread across three availability zones (AZs).
For IPv4, routes are successfully created because their count is determined by the number of NAT gateways: count = local.create_vpc && var.enable_nat_gateway ? local.nat_gateway_count : 0. However, with IPv6, duplicate routes occur due to the count of routes linked to local.len_private_subnets: count = local.create_vpc && var.enable_nat_gateway ? local.nat_gateway_count : 0.
Consequently, even though there are only three route tables for each AZ when there are six private subnets across three AZs, Terraform attempts to create six routes to "::/0" for the EIGW (Egress Internet Gateway), resulting in the following error.
│ Error: RouteAlreadyExists: Route in Route Table (rtb-xxx) with destination (::/0) already exists
│
│   with aws_route.private_ipv6_egress[4],
│   on main.tf line 1023, in resource "aws_route" "private_ipv6_egress":
│ 1023: resource "aws_route" "private_ipv6_egress" {
│
╵

Versions

Module version [Required]:  "v5.5.3" also tried on "v5.7.0"

Terraform version: 1.5.7

Provider version(s): v5.42.0

Reproduction Code [Required]

Steps to reproduce the behavior:
create 6 private subnets, enable ipv6 and specify:
  private_subnets = [
    "<IP_ADDRESS>/24", "<IP_ADDRESS>/24", "<IP_ADDRESS>/24",
    "<IP_ADDRESS>/24", "<IP_ADDRESS>/24", "<IP_ADDRESS>/24",
  ]

  private_subnet_ipv6_prefixes = [
    1, 2, 3,
    4, 5, 6
  ]
  enable_nat_gateway     = true
  single_nat_gateway     = false
  one_nat_gateway_per_az = true
  create_egress_only_igw = true

Expected behavior
No error
Error: RouteAlreadyExists: Route in Route Table (rtb-xxx) with destination (::/0) already exists
Actual behavior
Error: RouteAlreadyExists: Route in Route Table (rtb-xxx) with destination (::/0) already exists

I'm actually having the same problem, although in my setup I have 3 public, 3 private and 3 database subnets spread in 3 AZs

Ok I believe I've found the root cause of the problem.
In my scenario I'm trying to deploy a VPC with 3 public, 3 private and 3 database subnets, furthermore I opted for having a single NAT gateway by setting "enable_nat_gateway = true" and "single_nat_gateway = true".
Performing some tests I've noticed that the terraform plan is trying to create 3 different "aws_route.private_ipv6_egress" routes, but the problem is that since only a single NAT Gateway is created (hence a single Route Table as you can notice from this comment the 3 created routes won't of course fit in the single Route Table.
This line is where supposedly each egress_ipv6 route should be associated with a different Route Table, but of course the count of the block will be equal to three while the aws_route_table.private[] will only have index 0.
To confirm my ipothesis I've tried to re-deploy the module using the same configuration but deploying one NAT Gateway per subnet ("enable_nat_gateway = true", "one_nat_gateway_per_az = false" and "single_nat_gateway = false") instead of a single one... and it worked.
Let me know if in your opinion I got something wrong

I also just starting getting this error this week.  I am testing possible workarounds.  I suspect it is related to a recent Terraform code change.

I just hit this issue, and this saved me hours since I probably wouldn't have noticed I kept "single_nat_gateway = true" in there by accident 😅, thanks @RunCor399 !

This issue has been resolved in version 5.7.1 :tada:

Thank you @antonbabenko.

@andrewleegoss1978 It is all @bryantbiggs who reviewed it and merged it :)


Create new notice for missing shapes.txt file

Describe the problem
Per the California Minimum General Transit Feed Specification (GTFS) Guidelines, the file shapes.txt is required for all GTFS schedule feeds. We don't yet have a validation rule that checks for the file's presence.
Describe the new validation rule
I can think of two options:

Go through the process of making shapes.txt a "required file", so it will be caught with the missing_required_file error
Create a new warning called missing_shapes_file, which appears whenever the file is not present for a given feed.

Sample GTFS datasets
No response
Severity
Warning
Additional context
No response

Hello @owades, thanks for opening this issue!
This validator "only" validates according to the official specification, and GTFS Best Practices. We would like to offer users the possibility to set up their own criteria easily, so they can evaluate feeds according to what matters to them, and they can share their criteria with others in a more efficient way. There is ongoing work to support this, and the discussion is happening in issue #1067. Cal-ITP's GTFS Guidelines are actually used as a use case!
@asvechnikov2 at Google proposed a modification of the validator to support this, feel free to have a look at it, it is linked below in the same issue.
So one option that is not listed here will be to add this check as part of future Cal-ITP's set of rules when this functionality will be released. 😊
About the two options you proposed:

Go through the process of making shapes.txt a "required file", so it will be caught with the missing_required_file error

Making this file Required in the specification would break backward compatibility (feeds previously valid becoming invalid), which is one of the core principles in GTFS.

Create a new warning called missing_shapes_file, which appears whenever the file is not present for a given feed.

If this was added to the Best Practices first, we could add this check as part of the canonical set of rules. Here is a link to the amendment process if you'd like to try that route.

Labeling as blocked, this rule can be added if either:

we close issue #1067
this is added to the Best practices

Thanks for the helpful explanation, @isabelle-dr! I believe we will eventually try to take the amendment route.


Annotation drawing improvements

[x] Allow continuous (freehand) drawing for polygons
[ ] Optionally prevent polygons and lines from self-crossing during creation.
This could be accomplished by disallowing points that would self cross or by creating vertices at the crossing point(s) so that the polygon can be uncrossed.  Disallowing points that lead to self-crossing is probably more obvious, but it might not be obvious why you can't close a polygon if only the closure leads to self-crossing.
[ ] Use rdpSimplify in continuous drawing mode to remove nearly colinear points.

The polygon boolean operations largely address this.  We probably should self-union polygon annotations on close.


Update Readme with custom-templates listing

Updates the README reflecting changes to custom templates which is the highlight for 2.0.
Any inputs are more than welcome.
Please do not merge this PR until we are planning for a release.

Made a few tweaks and put it into gist:
https://gist.github.com/silverlight513/35a3c85df18eef73963bc61be146a9b7
I've bullet pointed my suggested updates into a review

@silverlight513 Thanks! 🙏
I think this is a good example to point out that we need to clarify that the "template" in Official Templates is a different thing than the --template flag.
Nesting them under each other will surely, imo, add to the confusion.

Ah, from the looks of it they appeared to be the same thing. My bad.
Would you mind explaining the difference between the --template flag and the Official Templates so that I can update my gist to try and make it clearer that they're separate.

@lukeed @silverlight513 thanks for the reviews and your time 🙏
Official Templates
Till now (the current version) we were just using the code in the examples folder for boot-strapping new projects using preact cli.
But in the next version (v2.0) we moved to custom-templates which will pull the the project from the github/bitbucket. There is a specific structure which these custom-templates need to follow, i.e. they need to place the entire code in a template/ folder.
The contents in the template/ folder from the repo will be used as a template for the project.

Template flag
The template here refers to a custom HTML file which the user can specify for either preact build, preact watch commands.
By default in preact-cli we don't expose the HTML file as CRA does. So, we support a --template flag through which we can pass a custom HTML file where you can add external stylesheets/scripts.
You can use them in the following way:

Build command: preact build --template path/to/template.html
Serve command: preact serve --template path/to/template.html

@silverlight513 No problem, I'm sure you're not/won't be the only one.
The --template flag is for passing a path to a custom index.html replacement. This is useful for adding <meta> tags to your head, etc. TBH, this may be removed soon in favor of always writing the built-in template.html into your working directory.
The "Official Templates" (or any template) is a new 2.0 feature which allows you to scaffold a new project from an external repository. Here, "template" is synonymous with "boilerplate." The motivation here is to allow community-driven, reusable templates so that users don't feel restricted to what's included in Preact CLI directly.

We'll definitely update this as we go along. Better to have something reflective of the current repo sooner rather than later.


valetudo mapper problem home assistant core

Hello friends, I have roborock s50, I installed Valetudo RE, it works in HA as MQTT, but the maps part does not work and I am not able to make it work, try this configuration:
I will try to put the steps that I have followed to see if I do something wrong or something is missing …
Copy the inside https://github.com/Poeschl/Hassio-Addons/tree/master/valetudo-mapper of this repository to / docker / homeassistant / custom_components / valetudo-mapper /
Config.json valetudo-mapper:
{
“mqtt”: {
“identifier”: “rockrobo”,
“topicPrefix”: “valetudo”,
“autoconfPrefix”: “homeassistant”,
“broker_url”: “mqtt: // admin<EMAIL_ADDRESS>1883”,
“caPath”: “”,
“mapSettings”: {
“drawPath”: true,
“drawCharger”: true,
“drawRobot”: true,
“drawForbiddenZones”: true,
“drawVirtualWalls”: true,
“border”: 2,
“scale”: 4,
“gradientBackground”: true
},
“mapDataTopic”: “valetudo / rockrobo / map_data”,
“minMillisecondsBetweenMapUpdates”: 10000,
“publishMapImage”: true,
“publishMapData”: true
}
}
config.json roborock:
root @ rockrobo: / mnt / data / valetudo # nano config.json
GNU nano 2.2.6 File: config.json
{
“spots”: [],
“areas”: [],
“ztimers”: [],
“mqtt”: {
“enabled”: true,
“identifier”: “rockrobo”,
“topicPrefix”: “valetudo”,
“autoconfPrefix”: “homeassistant”,
“broker_url”: “mqtt: // admin<EMAIL_ADDRESS>“provideMapData”: true,
“mapSettings”: {
“drawPath”: true,
“drawCharger”: true,
“drawRobot”: true,
“border”: 2,
“scale”: 4
},
“caPath”: “”
Configuration.yaml
discovery: true
discovery_prefix: homeassistant
sensor:
platform: mqtt
state_topic: “valetudo / rockrobo / state”
json_attributes_topic: “valetudo / rockrobo / map_data_parsed”
name: xiaomi_map
value_template: ‘OK’
scan_interval: 5
remember:
exclude:
entities:

sensor.xiaomi_map

I add custom card:
crop:
bottom: 0
left: 0
right: 0
top: 0
entity: sensor.xiaomi_map
min_height: 0
rotate: 0
type: ‘custom: valetudo-map-card’
I tried to create docker but it gives exec error user process caused “exec format error”
I use Portainer and docker from:
Pure Home Assistant (not HASSIO)
MQTT
PORTAINER
etc…

Hi there,
the Valetudo-Mapper as well as all folders inside this repository are no custom components for Homeassistant-Core. They are addons for Homeassistant (former HASSIO).
Since they use custom docker images specially prepared for the Home Assistant supervisor they can't be used with a pure Home Assistant Core installation out of the box.

so how could i install?  would a docker in portainer be possible?  There are not many instructions of how and it gives me error all the time.
Enviado desde mi iPhone
El 28 mar 2020, a las 23:37, Markus Pöschl<EMAIL_ADDRESS>escribió:
Hi there,
the Valetudo-Mapper as well as all folders inside this repository are no custom components for Homeassistant-Core. They are addons for Homeassistanthttps://www.home-assistant.io/addons/ (former HASSIO).
Since they use custom docker images specially prepared for the Home Assistant supervisor they can't be used with a pure Home Assistant Core installation out of the box

You have to create your own Dockerfile for that.
As starting point use the one from my repository and change the base image to alpine:3.11, after building map your config.json for the mapper to /app/config.json inside the container and open port 3000 to access the generated image.

I will also close this ticket since it's not related to the supervisor addon in any way.

Can you give me more detailed information on the steps to follow? or can you update your repository with the instructions? there are many of us who have this problem with not being able to create a docker and having problems with it because the instructions are scarce or bad.
thanks frined.

where can you help me?

De: Markus Pöschl<EMAIL_ADDRESS>Enviado: domingo, 29 de marzo de 2020 10:45
Para: Poeschl/Hassio-Addons<EMAIL_ADDRESS>Cc: roberdlv<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Asunto: Re: [Poeschl/Hassio-Addons] valetudo mapper problem home assistant core (#58)
Closed #58https://github.com/Poeschl/Hassio-Addons/issues/58.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Poeschl/Hassio-Addons/issues/58#event-3175700458, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANOL5JZ5NUUHT4G4VTIP2CLRJ4DCJANCNFSM4LVV5YTQ.

where can you help me?

For how to build your own docker container please consult the docker documentations.
With that and the comment above you should be able to do it for yourself.
There will be no instructions at this repository for building plain docker containers since it's primary goal is the Home Assistant supervisor addon system.


In WorkSchemaGetEmbedding, replace 'type' property with 'config'

In WorkSchemaGetEmbedding, replace 'type' property with 'config', an abitrary object.
Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-445
Link to staging deployment URL
Links to any Pull Requests related to this
Anything else the reviewers should know about the changes here
I'm not sure this is done but I wanted to make sure I haven't misunderstood the task. This would allow any object as defined by convention between the UI and worker as long as it has a name and 'config' member, which would contain the type, UI settings and so on. As mentioned in the ticket, making this any more rigidly defined would slow down faster iteration of both components.
Changes
Code changes

Swagger yaml spec updated

Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[ ] Tested locally with Inframock
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

@ivababukova -- my understanding is that this will break the worker unless we merge the other changes in first.

@ivababukova -- my understanding is that this will break the worker unless we merge the other changes in first.

@marcellp I've deployed it here: https://ui-98rxkh16615sjk74pbu3y85j9a.scp-staging.biomage.net/experiments/5e959f9c9f4b120771249001/data-exploration

@marcellp I've deployed it here: https://ui-98rxkh16615sjk74pbu3y85j9a.scp-staging.biomage.net/experiments/5e959f9c9f4b120771249001/data-exploration

I wasn't sure which bit Marcel indicated might break, so I've added the WorkResponseGetEmbedding anyway. I'm not sure what tests it needs at this point if we're waiting on other changes first?

I wasn't sure which bit Marcel indicated might break, so I've added the WorkResponseGetEmbedding anyway. I'm not sure what tests it needs at this point if we're waiting on other changes first?

@marcellp I don't think it will break the worker, why would it? Is the worker using the type parameter in the GetEmbedding task at the moment?

@marcellp I don't think it will break the worker, why would it? Is the worker using the type parameter in the GetEmbedding task at the moment?

I took a look into the worker code just now, Marcell is right and this will break the worker, see: https://github.com/biomage-ltd/worker/blob/master/python/src/tasks/embedding.py#L55 and also see the UI: https://github.com/biomage-ltd/ui/blob/master/src/redux/actions/embedding/loadEmbedding.js#L22 At the moment we are using type, so we have to keep using type. In order to be able to merge this now without breaking anything, you should undo the changes that remove "type" from the schema and only have config added as an additional optional parameter.

I took a look into the worker code just now, Marcell is right and this will break the worker, see: https://github.com/biomage-ltd/worker/blob/master/python/src/tasks/embedding.py#L55 and also see the UI: https://github.com/biomage-ltd/ui/blob/master/src/redux/actions/embedding/loadEmbedding.js#L22 At the moment we are using type, so we have to keep using type. In order to be able to merge this now without breaking anything, you should undo the changes that remove "type" from the schema and only have config added as an additional optional parameter.

I hadn't realised that it would be a problem if the existing code was sending an additional property the schema didn't recognise. I've added type back in now

I hadn't realised that it would be a problem if the existing code was sending an additional property the schema didn't recognise. I've added type back in now

The problem is not with the additional property, but with the deletion of the propertytype

The problem is not with the additional property, but with the deletion of the propertytype

@ivababukova -- I thought it would be fine, but my concern was the type parameter in the worker, yes.
As far as I know OpenAPI schemas in general allow additional fields to be declared (such as type in this case) as long as they do not interfere with something that actually /is/ in the spec (i.e. there is a field settings that is declared to be an object in the schema, it must be an object, and not a string).
That said, I wasn't entirely sure, so I wanted to see it work in staging before merging.

@ivababukova -- I thought it would be fine, but my concern was the type parameter in the worker, yes.
As far as I know OpenAPI schemas in general allow additional fields to be declared (such as type in this case) as long as they do not interfere with something that actually /is/ in the spec (i.e. there is a field settings that is declared to be an object in the schema, it must be an object, and not a string).
That said, I wasn't entirely sure, so I wanted to see it work in staging before merging.

In general, I would strongly encourage using Stoplight Studio for this -- the OpenAPI schema is really complicated and we have always found things got messed up when we manually edited the schema.

In general, I would strongly encourage using Stoplight Studio for this -- the OpenAPI schema is really complicated and we have always found things got messed up when we manually edited the schema.

I think @iguanaonmystack was correct, but the system is actually broken in staging. We have the following error:
[2021-01-22T11:06:06.673Z] Error while processing WorkRequest event: Error: Error: bodymatches more than one entry in a oneOf.
    at validateRequest (/app/src/utils/schema-validator.js:16:11)
    at handleWorkRequest (/app/src/api/event-services/work-request.js:28:7)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
[2021-01-22T11:06:06.673Z] Trace: Error: Error: bodymatches more than one entry in a oneOf.
    at validateRequest (/app/src/utils/schema-validator.js:16:11)
    at handleWorkRequest (/app/src/api/event-services/work-request.js:28:7)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Object.trace (/app/src/utils/logging.js:15:13)
    at Socket.<anonymous> (/app/src/api/events/index.js:13:14)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Seems like one of the new schemas is not well-described. Could you look into why this is happening?

@iguanaonmystack how is that going? Is the cause of the error found and fixed?

I think @iguanaonmystack was correct, but the system is actually broken in staging. We have the following error:
[2021-01-22T11:06:06.673Z] Error while processing WorkRequest event: Error: Error: bodymatches more than one entry in a oneOf.
    at validateRequest (/app/src/utils/schema-validator.js:16:11)
    at handleWorkRequest (/app/src/api/event-services/work-request.js:28:7)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
[2021-01-22T11:06:06.673Z] Trace: Error: Error: bodymatches more than one entry in a oneOf.
    at validateRequest (/app/src/utils/schema-validator.js:16:11)
    at handleWorkRequest (/app/src/api/event-services/work-request.js:28:7)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Object.trace (/app/src/utils/logging.js:15:13)
    at Socket.<anonymous> (/app/src/api/events/index.js:13:14)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Seems like one of the new schemas is not well-described. Could you look into why this is happening?

@iguanaonmystack how is that going? Is the cause of the error found and fixed?

I'd given Stoplight a go but it removed the single quotes from a whole bunch of strings in the yaml, which made everything difficult to diff. Does this happen for anyone else; are the extra changes it puts in just generally ignored?

I'd given Stoplight a go but it removed the single quotes from a whole bunch of strings in the yaml, which made everything difficult to diff. Does this happen for anyone else; are the extra changes it puts in just generally ignored?

@marcellp Where do I find those logs in staging? I've been poking around in Kontena Lens and the best I've managed is a shell on the node. I seem to recall when you demoed it you just clicked a button somewhere and got a terminal tailing the logs/stdout somehow?

@marcellp Where do I find those logs in staging? I've been poking around in Kontena Lens and the best I've managed is a shell on the node. I seem to recall when you demoed it you just clicked a button somewhere and got a terminal tailing the logs/stdout somehow?

I've tried to re-deploy the staging site but I'm getting a permissions error: https://github.com/biomage-ltd/iac/actions/runs/509079936

I've tried to re-deploy the staging site but I'm getting a permissions error: https://github.com/biomage-ltd/iac/actions/runs/509079936

Removing the staging site and re-creating it (https://ui-biomage-445.scp-staging.biomage.net/experiments/5e959f9c9f4b120771249001/data-exploration) seems to have worked. This looks okay to me now?

Removing the staging site and re-creating it (https://ui-biomage-445.scp-staging.biomage.net/experiments/5e959f9c9f4b120771249001/data-exploration) seems to have worked. This looks okay to me now?


Glad you're back to the community

No issue to report, so this can be deleted -- but we are glad you are back.  Fellow HA user and South Carolinian.

Thanks for the words of encouragement.  I'm going to attempt to approach the project with a new attitude going forward, but I'll probably need some community help going forward as I just have very limited time to support this project this year.  I'm thinking I may open the discussions section here on Github as well as a Wiki page and try to provide more self-help resources for the basic stuff.
I also know there are a few bugs out there right now that need to be addressed, specifically an issue with video streams in HA that was introduced with the streaming engine updates in HA 2021.11.  I'm not really sure how to address it because it's a weird behavior in how the Ring videos are encoded and how that interacts with the low-latency HLS streaming.  I can transcode, but that will add quite a bit of CPU overhead.
Anyway, hopefully I'll find enough time to add a few planned enhancements for this year as well.

I'll volunteer to assist where needed.  Community involvement, relations and simple Docker or setup concerns I could address.

Thanks for this addon.  Frankly it is the center of my HA implementation and has always been rock solid.  Really appreciate the time involved to maintain this.  Happy new year.

@dmkjr I've opened the discussions section on the main ring-mqtt project which is where I will likely redirect all discussion and support requests going forward.  I may actually close the issues topic on this particular repository again because it's just easier to track all issues in one repository and 99% of issues opened here are not specific to the addon anyway.
I'm going to be modifying the issue templates to indicate that standard "how to use" questions should be placed in the Q&A discussion group and my hope is that community members might be able to answer some questions there.  All I'm asking for right now is that perhaps some users can help answer some questions in there.
I'm also planning to move most of the documentation to the Wiki over the coming weeks.


IPhone X project layout fix

What
The top of the project detail page was being "covered" by the iPhone X notch.
How
Changing the topConstraints of the view according to its parent's safeAreaInsets. (This change will occur dynamically as well if the device rotates).
See

@Scollaco try merging in master, should fix most of the swiftlint issues.


NXP S32ZE update to HAL drivers version 1.0.0

This PR update drivers so that S32ZE works on the Real-Time Drivers 1.0.0

Please update west.yml

Please update west.yml

I updated west.yml


frontend: fix location import on mutli delete button

could you describe what issue this fixes and how to test it please?

@sniok If you delete something with the multi if got redirect to a 404. tested in flatpak.
As, I've implemented this I compared it with the single delete and here is my fix.


Support for Cucumber Reporting w/ net.masterthought:cucumber-reporting:5.5.3

Hi there,
The wiki page on adding cucumber reporting cites the use of cucumber-reporting:5.3.1
5.5.3 is the current version, is there any plan to support it?
Reports generate correctly for me with 5.3.1 but I want to make sure my dependencies are as up to date as possible and changing to 5.5.3 breaks them with the following error:
net.masterthought.cucumber.ValidationException: None report file was added! 	at net.masterthought.cucumber.ReportParser.parseJsonFiles(ReportParser.java:61) 	at net.masterthought.cucumber.ReportBuilder.generateReports(ReportBuilder.java:93) 	at SpecTestParallel.generateReport(SpecTestParallel.java:22)
I'm using the standard set-up detailed here: https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/DemoTestParallel.java#L43
The tests all pass, it's just that no reports are generated. Do you have any suggestions?

@AlexanderNZ so we have our own HTML reports in 1.X onwards and we try to support the cucumber-json psuedo-standard and that's it. if there is a problem the way you are describing, we need community support to identify the cause - and ideally code contributions to fix
the best thing you can do right now is to follow this process: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
if it is easy to fix sure, else you or someone else should step up


Fixed wrong function name in Readme

Changed the function name foo to getvalue.
Fixes this issue

I signed it!

I signed it!


MaskRCNN Training on Images with no Annotations

Hi all,
I am working on a little MaskRCNN training program and ran into an issue. I know it is common practice to remove any images from the dataset that lack annotations upon initializing the dataset which I am doing. However, I am running a series of transforms using albumentations on my image and my mask. One of these transforms is a random crop and sometimes the resulting mask image no longer contains any instances. I was trying to find a way to pass in an empty tensor of some kind without much success. Would it be common practice just to remove it from the batch, and if so what happens if you had a batch size of 1 or an image that only had one annotation and the chances the random crop came across it are really low. I was able to create an empty tensor and pass it in but then received this error.
RuntimeError: cannot reshape tensor of 0 elements into shape [0, -1] because the unspecified dimension size -1 can be any value and is ambiguous
This is because my box tensor had a shape of 0, 4 which is what I want since there are no instances. I read some of the other issue reports and they talked about creating a background class and just making a small bounding box and having an empty segmentation mask but this seems a little hacky and I was wondering if there would be a better solution for my specific use case.

@gatordevin please take a look at reference example here : https://github.com/pytorch/vision/tree/master/references/detection
and https://github.com/pytorch/vision/blob/8c281757a0daf3a8e92cbb4bded0e5e6b389a375/references/detection/coco_utils.py#L244

Okay, so my understanding of this code is that the transforms are applied once to the dataset upon initialization. Then any images that had annotations removed from the transforms are then removed from the dataset. Thats all fine but what if I would like to apply the randomized transforms to the images every batch.

During the training random horizontal flip is applied on the images and targets:
https://github.com/pytorch/vision/blob/8c281757a0daf3a8e92cbb4bded0e5e6b389a375/references/detection/train.py#L55

Oh alright, I see that now. In that case, how would I include a random crop transformation in my dataset since it introduces the chance of removing annotations? From what I have seen the images are only removed when the dataset is initialized not after transform meaning if a random crop is applied and annotations are gone this won't be recognized.

If you are using albumentations, as far as I remember they have transformations aware of target's geometry such that for example random crop will reduce image such that target still present. If you'd like to use torchvision's transforms, I'd suggest to use functional part to perform image transforms. As for transforming targets, this should be, for instance, manually implemented. Same for random parameters sampling.
cc @fmassa for other hints on that.

@gatordevin I hit a potentially similar issue as you did. Would it be possible to update the ticket to include the full error message?

Thanks for opening this issue!
I believe https://github.com/pytorch/vision/pull/3031 could fix this error, which should only happen in some very specific corner cases.
Following @datumbox comment, can you post the full error message so that we know if there is somewhere else that we should look into?


assignment 2 KT

"Whats the object-oriented way to become wealthy?"
A: Inheritance

Excellent Job! 133 Points.


Update to Swift3

@jeantimex

Thanks @adamhowardprice, going to review your changes tonight, lgtm at first glance.


Hot Cabaré Scan

Source name
Hot Cabaré Scan
Source link
https://hotcabaretscan.com
Source language
Portuguese
Other details
Password: SocorroDeus.
Acknowledgements

[X] I have checked that the extension does not already exist by searching the extension listing and verified it does not appear there.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a meaningful title with the source name.
[X] I will fill out all of the requested information in this form.

Thanks 🥳
Em qui., 23 de mai. de 2024 07:55, AwkwardPeak7 @.***>
escreveu:

Closed #3031 https://github.com/keiyoushi/extensions-source/issues/3031
as completed via #3155
https://github.com/keiyoushi/extensions-source/pull/3155.
—
Reply to this email directly, view it on GitHub
https://github.com/keiyoushi/extensions-source/issues/3031#event-12907521665,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWCEDINFACJJRBNPJOUMK3TZDXDINAVCNFSM6AAAAABHXLVA22VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSHEYDONJSGE3DMNI
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


Make dataviews reactive to attrs changes

Ditto https://github.com/CartoDB/deep-insights.js/issues/117
When dataview model have its attrs changed they're not reflected on data rendered, seems like.

closing, fixed in #1048 and #1050


Formalize OpenTurbine approach to dealing with difference in reference line, elastic centers, and BEMT lookup tables

Working with Pietro to understand details of WindIO specification.


EA Only - Rename Devtron apps tab to “Install CI/CD

Summary
In EA only mode, Rename Devtron apps tab to “Install CI/CD” and  OnClick, navigate to CI/CD integration page. In full mode, Tab changes to “Devtron Apps”.
Motivation
Remove extra steps to improve UX
Proposal
By this implemetation, user don't need to click buttons many time just to redirect  following page. This will remove extra steps to access the same page

All the changes are done


merge_sort is unstable?

The readme says "Merge sort (stable)", but from my test result, it looks unstable

Oh, I understanded, the BITONIC_SORT when len <= 16 is unstable

Oh, interesting. I didn't realize that was a consequence of adding Bitonic sorting.
I'll work on adding a documented flag to force use a slower, stable sort as SMALL_SORT.

It’s stable now, close

This is still not documented anywhere (as far as I can tell), and without knowing this, "Timsort (stable)" in the readme is just wrong.

@dzaima But Timsort is a stable sort?

@dzaima But Timsort is a stable sort?
By itself it is, but for less than 64 items this implementation calls bitonic sort, which isn't stable.

Ah, thanks for pointing this out. I'll make a few changes today so that stable sorts don't use bitonic at smaller sizes.

This should be fixed now with #81


Adding to conda-forge

Hi @jmkeyes! Thanks for putting this package together. I'd like to add it to conda-forge and have a PR staged at https://github.com/conda-forge/staged-recipes/pull/28358
Can I add you as the maintainer or should I keep it under my handle?
Hope this is ok!

Hey @nicholsn! This looks good to me!
I don't use Conda that often myself, but I'm OK with being listed as a maintainer if it'll help out.
When I've managed Conda environment.yml files for Python projects, I usually list the requirements.txt in the dependencies section with something like this:
name: project
...
dependencies:
  - python
  - pip:
    - -r requirements.txt

I do this because it keeps up to date with the project as a whole and allows for the flexibility to continue using pip directly.
Is that also possible with a recipe's meta.yml?

Great, thanks @jmkeyes! I updated the PR to list you as the maintainer.
I think for meta.yaml you need to list out dependencies and they need to already be available in conda-forge or another channel, so it's independent from pypi.
I've been using a package manager called pixi that lets you do something similar to what you're doing by combining pypi and conda packages.  I'm looking into using CodeArtifacts with pixi and came across a blog post for how to set this up using your library.
It looks like other options for keyring in Azure and Google are already available in conda so hopefully this will make it easier to set up!


Algebraic data types

It would be nice to have algebraic data types, as defined in https://en.wikipedia.org/wiki/Algebraic_data_type. Right now the definition of optional type appears to be hardcoded

This is indeed a very interesting idea. Maybe you could provide a more concrete proposal. (Syntax? How will optionals work then?)

This issue is not helpful as it stands, closing.


The service header cannot accommodate longer titles

Bug Report
What is the issue?
When using a longer title such as Hampshire & Isle of Wight Saliva Test, the service header does not wrap lines for narrower pages, causing the title to collide with the menu and search buttons.
What steps are required to reproduce the issue?
Use the service header and use a longer site title such as Hampshire & Isle of Wight Saliva Test. Slowly make the page narrower and observe the interaction between the title, and the menu and search buttons. You'll observe the buttons going below the title instead of staying in the upper right-hand corner and the title wrapping onto multiple lines.
What was the environment where this issue occurred?

NHS.UK frontend package version: 4.1.0
Browsers: Firefox 85.0.1 (Linux), and Chromium 88.0.4324.182 (Linux)

My CSS skills are quite mediocre so I won't be able to provide a good solution myself. However, please let me know if I should provide additional details or when I should test any solutions.

Hey @bartfeenstra thanks for opening this issue, the team will have a look at it and get back to you once we've had a look and a bit of tinker with the code!

This seems to be an issue between tablet (641px) and large-desktop (990px) - dependant on the length of the service name.

(Screenshot at 641px)
In this case, with "Hampshire & Isle Wight" being the name of the NHS organisation and "Salvia test" being the name of the service, we could use the Organisational header and extend it to include a service name. Is this something that would work for you in this case @bartfeenstra? We will still need to look into the longer service name bug regardless but this might be of use for now.

(Screenshot at 641px)
Nunjucks markup

{{ header({
    "showNav": "true",
    "showSearch": "true",
    "organisation": {
      "name": "Hampshire &",
      "split": "Isle of Wight Saliva Test",
      "descriptor": "NHS Foundation Trust"
    },
    "primaryLinks": [
      {
        "url"  : "#",
        "label" : "Your hospital visit"
      },
      {
        'url' : '#',
        'label' : 'Wards and departments'
      },
      {
        'url'  : '#',
        'label' : 'Conditions and treatments'
      },
      {
        'url'  : '#',
        'label' : 'Our people'
      },
      {
        'url' : '#',
        'label' : 'Our research'
      }
    ]
  })
}}

I came back to report that this happens when there's a search bar, which I'm (ab)using for a tiny user navigation menu (log in/out) to see your response.
There's technically no organization as such behind this site. It's a joint project between a Trust, a university, and a council. That doesn't mean I can't just shove it in the organizational header regardless, but the "Saliva Test" is a key part of the service name. How easy would it be to make the title and menu/search share the space, and have the title wrap?

Adding a max-width to the nhsuk-header__service-name below the large-desktop breakpoint seems to do the trick

Sass
.nhsuk-header__service-name {

  @include mq($until: large-desktop) {
    max-width: 220px;
  }

}

I'll have to run this past our designer to check whether the width is the correct value, but this is something you could try adding as an extra style to your individual app to test for us.

This will be fixed in release 5.0.0 (next week)

Thanks! In the meantime we stopped abusing the search form for additional navigation (log in/out) so I hadn't checked back here for a while. Thanks for picking this up, though! :)


Take picture in second time error

When i click takepicture in second time. i get error
i think it was handling in takePicture() method.

@wisnukurniawan Can you tell me which error you are getting? Post your staketrace if possible.

to handle that i put this
               if (myImage== null)  takePicture();

@wisnukurniawan I will look into this and get back to you.

@wisnukurniawan Updated the source code with the fix. Can you recheck the issue with updated source code?

how to update the library?

@wisnukurniawan You can add the library as a module in you project instead of the gradle dependency.

@wisnukurniawan I will publish the updated version soon.

Thankyou @kevalpatel2106  youre da MVP (y)

Fixed in v1.2.1


How can I remove WMSTile from MapView

i am showing WMS on a MapView.
then
i remove WMSTile component, but WMSTile of MapView still exist.
code
{this.state.isShowWMS ? (
              <WMSTile
                urlTemplate={templateUrl}
                zIndex={1}
                opacity={1}
                tileSize={256}
              />
            ) : null}

version:

react-native: 0.57.8
react-native-maps: 0.24.2

Be sure that your WMSTile is rerendered, try to sen opacity 0


Xgboost 1.6.x predict proba bug

Hello, I found that the probability of prediction is different between the Xgboost 1.6.x sklearn interface and the native interface(model.predict_proba and model._Booster.predict), and the probability distribution is also very different.

Could you please provide a reproducible example?

An initial guess, are you using early stopping?

An initial guess, are you using early stopping?

Yes, I used early stopping. But without using early stopping, the sklearn_proba and native_proba are equal. I'm wondering why.

Apologies for the confusion. Sklearn interface uses the result from early stopping automatically by specifying the iteration_range in the predict function, while the native interface always uses the full model, and users have to specify the parameter manually.

Apologies for the confusion. Sklearn interface uses the result from early stopping automatically by specifying the iteration_range in the predict function, while the native interface always uses the full model, and users have to specify the parameter manually.

Thanks, I tested the 0.90 version and also reproduced this problem. Will this problem be fixed and updated?

@yinzhedfs It's not exactly a problem. It's just the convention used in different interfaces, if we "fix" it by changing one of the interfaces to adopt the convention of the other one, it might be a very confusing breaking change. However, I agree that we should align the behavior across all interfaces: https://github.com/dmlc/xgboost/issues/8035 .


merge requerst by ffnw.de

add banner to config files
and set only check if service is enabled. Dont needs to be set running.

Sorry, this repo is unmaintained. I either suggest puppetlabs/apt or voxpupuli/puppet-unattended_upgrades. Alternatively, I'll gladly make you a collaborator so you can test and merge :smile:


Fix import ReadHoldingRegistersResponse.

Import path for 'register_read_message' has been changed in pymodbus. Will fix issue #102

I think your patch should also increase minimum require version of "pymodbus" to "pymodbus >= 3.7.0" in "setup.cfg".


Size option not working correctly

I Initialize my select using:
$(".selectpicker").selectpicker({ size: 2 });
This seems to have no effect, it still shows all the items. Once I select an item from the list it seems to update and display the correct number of items (2 in this case)
If i manually call the setSize function, this will work correctly and show 2 items in the list:
$(".selectpicker").selectpicker({ size: 2 });
$(".selectpicker").selectpicker('setSize');
Also, I noticed calling $(".selectpicker").selectpicker('refresh') does not update the size. Is this intended behavior? I'm not sure if I'm doing something wrong here.

Is there a fix for this? same here, I am using data-content to display in multiple lines, however size does not work, but when I use setSize, it does adjust the size although it is not correctly calculated.
This is tested on:
Operating system: macOS Sierra (10.12.6)
Web browser: Firefox 61.0.2
jQuery version: 3.1.1
Bootstrap version: 3.3.7
Bootstrap selection version: 1.12.4


feat(chains): adding ElasticsearchDatabaseChain for interacting with analytics database

This pull request adds a ElasticsearchDatabaseChain chain for interacting with analytics database, in the manner of the SQLDatabaseChain.
It can be used in this way:
from elasticsearch import Elasticsearch

from langchain.chains.elasticsearch_database import ElasticsearchDatabaseChain
from langchain.chat_models import ChatOpenAI

client = Elasticsearch("http://localhost:9200")

OPENAI_API_KEY = os.environ.get('OPENAI_API_KEY')
llm = ChatOpenAI(temperature=0, openai_api_key=OPENAI_API_KEY, model_name='gpt-3.5-turbo-16k')

db_chain = ElasticsearchDatabaseChain.from_llm(llm=llm, db=client, verbose=False, sample_documents_in_index_info=10)

result = db_chain.run(question)
print(result)

Maintainer: @samber
Twitter handler: samuelberthe
@baskaryan

Thanks for the review @baskaryan. I just made some fixs.

cc @jeffvestal

could we add a notebook demoing the chain to docs/extras/modules/chains/additional (they'll be converted to docs)? here's the SQLDatabaseChain docs for inspo, but can be much lighter than that. basically the code snippet you have with a blurb at the top about elasticsearch databases

It must be good now ✅

Thanks for the review and the awesome work in this project ! 🚀

This looks really good, the notebook examples are very helpful. Awesome work!


Can't use at parent element contentEditable="true"

See the default implementation for shouldCancelStart, you can define your own to override this behaviour, just remove lines 18-20: https://github.com/clauderic/react-sortable-hoc/blob/master/src/SortableContainer/defaultShouldCancelStart.js#L18-L20


Translate new recipe

Translate the recipe https://github.com/minio/cookbook/blob/master/docs/multiple-minio-servers-with-nginx-inside-docker-container.md to zh_CN

@dingjs  is on this.

PR https://github.com/minio/cookbook/pull/208/

fixed by #208


I can't understand animX & animY

Is there some documents about them ?

@ivanpopelyshev  , Could you give me some help ?

https://github.com/Alan01252/pixi-tilemap-tutorial#add-another-image-to-the-tile-map

You specify X and Y for animation in renderer, and shader multiplies it by animX,animY offset of specific tile. That's an offset.

Oh, I see.
But I like this way for animation :
    //chest will be animated!
    tilemap.addFrame(textures[frame%2==0 ? "chest.png": "red_chest.png"], 4*size, 4*size);

It's in your demo. it's more flexible.

Yes, but its not shader-side, you are eating cpu with that.

In real game , the map maybe is very large ,
We need  clear tilemap , then add all Frames in viewport in game tick  is common .
So We always need that call addFrame frequently

this is a part of my test case :
            var tileWidth = this.tileWidth;
            var tileHeight = this.tileHeight;
            var mapData = this.mapData;

            var startRow = this.viewRow;
            var endRow = this.viewEndRow;
            var startCol = this.viewCol;
            var endCol = this.viewEndCol;

           // when map is scrolled , re-addFrame in viewport.
           // because my map is very very very large, I can't  add all frames once.

            if (this.lastStartRow !== startRow || this.lastEndRow !== endRow ||
                this.lastStartCol !== startCol || this.lastEndCol !== endCol) {
                this.lastStartRow = startRow;
                this.lastEndRow = endRow;
                this.lastStartCol = startCol;
                this.lastEndCol = endCol;

                tilemap.clear();
                for (var r = startRow; r < endRow; r++) {
                    var rowData = mapData[r];
                    if (!rowData) {
                        continue;
                    }
                    for (var c = startCol; c < endCol; c++) {
                        var gid = rowData[c];
                        if (!gid || gid === 0) {
                            continue;
                        }
                        var tileIndex = gid - 1;
                        tilemap.addFrame(tileIndex, c * tileWidth, r * tileHeight);
                    }
                }
            }

we can't avoid that call addFrame frequently , So , I think maybe could remove animX & animY feature in shader & pixi-tilemap.

we need that feature because of rpgmaker MV :) we can make it better if you have an idea how to store textures in a sampler of uniforms.


feat(store): add foundation for v2 data modelling

TODO

[x] Streamline naming in Storage and Memory libraries (probably just use load and store instead of read and write?)
[x] Move all internal functions to a separate StoreCoreInternal library to discourage using it
[ ] Change Storage library functions to make it clearer which argument is offset and which is length
[ ] Turn all storage pointer to uint256 for consistency (uint256 is better than bytes32 because it's easier to do arithmetic on)
[ ] change bytes.concat to abi.encodePacked where possible
[x] Change all manual gas logs in tests to // !gasreport comments to use the mud gas-report cli command

Follow ups

[ ] Combine or further split Bytes, Buffer, Memory - they have some overlap and it’s not entirely clear where the boundaries are right now

Low hanging fruits for gas improvements

[ ] Add pushToDynamicField and popFromDynamicField functions to store core lib to avoid writing entire array when adding a single element (eg CallbackArray)
[ ] Storage.write and Storage.read
[ ] Decoding values returned by store core library using as little memory copies as possible
[ ] All low level libraries (Bytes, Buffer, Memory, Storage, SchemaLib, PackedCounterLib)

very much WIP - don't look

a tiny improvement suggestion:
abi.encodePacked(x, y); vs bytes.concat(bytes4(x), bytes4(y)); etc - shorter and no need for typecasts

Alright, not 100% done yet (see TODOs in PR description), but ready to have a closer look @dk1a @holic @ludns @authcall @Kooshaba. I know this is a massive PR, but let's try to get it to a point where we're happy with it as a foundation, and then iterate further in separate follow-up PRs (which makes it easier to work on follow up tasks in parallel). Also, once this is merged into v2, we can see gas impact of all follow up PRs via the diff in the gas-report.txt file.

merging into v2 branch now, so we can start working on followups in separate PRs

First of all, thanks a lot for your review!

though I'm not sure how useful MudStoreDeleteRecord is, since it's basically like MudStoreSetRecord with all zeros. There doesn't seem to be a built-in has like with components (which makes sense, since this is generic storage and you usually don't waste a slot on an existence flag)

There is a subtle difference: with support for callbacks via the IStoreHook, it's possible to create an "on-chain indexer" to store whether "an entity has a component", because the hooks for setRecord and deleteRecord are different. To make off-chain indexers consistent with this, they have to distinguish between MudStoreSetRecord and MudStoreDeleteRecord.

To summarize about Buffer - imo it currently combines the roles of a static buffer and slice. I'd explore not storing capacity, refactoring it to a Slice, and pairing it with bytes where necessary (and bytes length can be reduced if that's required).

I agree with this, commented above!

Should I wait for merge before moving to gas optimizations and codegen?

I just pushed fixes for the comments marked as resolved, and think we should work on the unresolved ones in follow up PRs.
Happy to merge into v2 tomorrow if you agree, so you can get started on optimization and autogen.

There is a subtle difference: with support for callbacks via the IStoreHook, it's possible to create an "on-chain indexer" to store whether "an entity has a component", because the hooks for setRecord and deleteRecord are different. To make off-chain indexers consistent with this, they have to distinguish between MudStoreSetRecord and MudStoreDeleteRecord.

Right, makes sense. Later I'd been thinking it might have to do with indexers, hadn't thought about hooks.

Mind changing this in a follow up PR?

Sure, especially with Buffer comments I was expecting to do the changes myself, it overlaps with gas stuff too.

Happy to merge into v2 tomorrow if you agree, so you can get started on optimization and autogen.

lgtm


Merge 1.x into master

Note that the 1.x supports PHP 8, but master doesn't yet. This is due to a regression that needs fixing on 1.x first: https://github.com/guzzle/psr7/pull/375. We're also expecting https://github.com/http-interop/http-factory-tests/pull/46 to be merged and tagged as 0.9.0 or 1.0.0.

@GrahamCampbell can you ping here when you think this is done? Then i can go through the changes, i already did al the work once so that might help. :)

This is done. That's why the PR is not marked as WIP. :)

This PR is purely a merge, so no deprecated code has been removed. That will happen in a follow-up.

Yeah kinda assumed that when i was looking through the code, there is a few issues that need fixing after this :)


Move library to root of repository

A popular library installation technique is to download the library via GitHub's Clone or download > Download ZIP and then use the Arduino IDE's Sketch > Include Library > Add .ZIP Library on the downloaded file. This requires the library to be in the root of the repository, not in a subfolder. If the library is not in the root of the repository this installation technique fails:
Specified folder/zip file does not contain a valid library

This move is also required if you wanted to add your library to the Arduino Library Manager index, which provides an even easier installation option.

Seems indeed practical. Thanks for the PR !


Nice end-to-end demo hooking Knative-eventing trigger up to a ksvc asynchronously

Issue from @julz

/kind documentation

/kind documentation

Freezing the async issues to preserve the "what's next"
/lifecycle frozen


Adding azure node variable exports

Description
Adding in other cloud provider details

/rerun

/rerun all

/rerun all

Can one of the admins verify this patch?


Provide default value for JavaCompile header output

On Java 8+ we should provide a conventional header output directory so that users don't have to configure this manually when they have native methods in their code.
This is a potentially breaking change as some users may have a custom workflow where they generate the headers separately and don't actually want header generation as part of JavaCompile.

This was fixed in https://github.com/gradle/gradle/pull/12234. I think I forgot to add this to the release notes and mention it as a potential breaking change.

Added to the release notes for 6.3: https://github.com/gradle/gradle/pull/12470


Create layout for Station page

This issue was moved to mgm-interns/teamradio2-frontend#3

This issue was moved to mgm-interns/teamradio2-frontend#18


How to checkout ESP-IDF's commit with specified submodules' commits

Hi ESP-IDF,
I love my ESP32. Right now I did a lot development here. But I did encounter a practical problem.
Along with the active development of this framework. Many header files, API are deprecated. When I checkout someone's example that a little bit old (say, this one (from pcbreflux)). I just can't let it compiled without checking out the older version of ESP-IDF repo.
Right now I can do the clean up job without any extra effort. But if I would like to check out a really really huge & old repo in the near futur, which needs not only check out the older ESP-IDF main repo, but also check out many of its git submodule to their specified commits. What should I do?
Will the main git repository's commits record (say in file .gitsubmodule) which commits are its submodules using automatically? Or I've to gether all check points of all submodule and write them down & check in for the problem.
I did investigate sometime on the Internet. 🍡  But I think there is still not good answers out there.

git submodule update --recursive will update all sbmodules to the correct commit after you checkout out the main repo.

Hi @jakkra ,
Thanks für your answer! Super cool. Since I don't really sure about this.
Right now I've tested your answer:
gfast2@gfast2-VirtualBox:~/esp/esp-idf$ git submodule update --recursive
Submodule path 'components/bt/lib': checked out '9a4bb1d5287572664f170f9df4dbfd71babdfc68'
Submodule path 'components/esp32/lib': checked out 'e8743355806ed3671f7b0ef8bac1ea63909daaf3'
Submodule path 'components/esptool_py/esptool': checked out 'e9e9179f6fc3f2ecfc568987d3224b5e53a05f06'

It's just PURE MAGIC 🌟
Thanks!


Poor display on mobile devices.

Really love it.
But the characters on the pokers cannot be displayed completely on mobile, and the fonts look a bit inconsistent.
Get a better mobile device display with a single column?

Really love it.
But the characters on the pokers cannot be displayed completely on mobile, and the fonts look a bit inconsistent.
Get a better mobile device display with a single column?

Thx for the suggestion! We noticed that, too. This issue is working in progress now and wish we can improve it in the next few weeks.
For this project and most of the front-end projects at NingoWood, we use Material UI to implement the page layout, which based on Material Design. So mobile platform is also one of our preferred platforms.
We are welcome and appreciated anyone to solve this issue together.


Add recognition of NiceTabular from nicematrix

https://ctan.org/pkg/nicematrix?lang=en

Reviving https://github.com/James-Yu/LaTeX-Workshop/pull/3006 in the correct place


typeDefinition of updater function in setQueryData

Hi,
First of all: thanks for this 😎 library. I'm having a quick typescript question:
setQueryData takes an updater in the form of:
((oldData: T | undefined) => T)

The question is: if oldData is possibly undefined, how would be we able to construct T?
suppose we have a simple type:
type Person = {
    firstName: string,
    lastName: string
}

and we mutate that persons firstName, which we want to optimistically update (I've taken the optimistic update example as a base):
useMutation(
    firstName => axios.patch('/api/person', { firstName }),
    {
      onMutate: firstName => {
        queryCache.cancelQueries('person')

        const previousValue = queryCache.getQueryData('person')

        queryCache.setQueryData('person', old => ({
          ...old,
          firstName
        }))

        return previousValue
      }
  )

but if oldData is possibly undefined, the resulting object can never be of type Person - it might miss the lastName.
We are currently working around this by doing:
const previousValue = queryCache.getQueryData('person')

if (previousValue) {
    queryCache.setQueryData('person', {
        ...previousValue,
        firstName
    })
}

The question is: can old really be undefined ? If so, wouldn't this be a runtime error in the example here when accessing old.items ? Or is this maybe just an issue with the type definitions and old can actually never be undefined?
Thanks for clarifying

@TkDodo I had a similar issue occurring with setQueryData. Once I qualified the input parameter to the updater function the compiler was happy. In my case I was dealing with an array of users rather than a single user, ie:
type User = {
  firstName: string;
  lastName: string;
  age: number;
};

Broken
queryCache.setQueryData(QUERY_KEYS.FETCH_USERS, (oldUsers) => [
    ...oldUsers,
    newUser,
  ]);

Fixed
queryCache.setQueryData(QUERY_KEYS.FETCH_USERS, (oldUsers: Array<User>) => [
    ...oldUsers,
    newUser,
  ]);

Hope this helps

Hi @sekhavati
Yeah, it works like this with Arrays, but note that you could also provide the call-side generic:
queryCache.setQueryData<Array<User>><(QUERY_KEYS.FETCH_USERS, oldUsers => [
    ...oldUsers,
    newUser,
  ]);

The reason this works is exactly because you have an Array. Note that in either case, oldUsers is still possibly undefined (according to the types), but since you always create a new Array (and spreading undefined is possible), you have a function of this signature, which is fine:
(oldUsers: Array<User> | undefined>) => Array<User>

However, if you are trying to do the same thing with a single user, it still won't work, as you cannot just say oldUser is of type User, because that doesn't match the type for setQueryData. So this:
type User = {
    firstName: string
    lastName: string
}

queryCache.setQueryData('key', (oldUser: User) => ({
    ...oldUser,
    lastName: 'Smith',
}))

will still result in:
Error:(43, 32) TS2345: Argument of type '(oldUser: User) => { lastName: string; firstName: string; }' is not assignable to parameter of type '{ lastName: string; firstName: string; } | ((oldData: { lastName: string; firstName: string; } | undefined) => { lastName: string; firstName: string; })'.
  Type '(oldUser: User) => { lastName: string; firstName: string; }' is not assignable to type '(oldData: { lastName: string; firstName: string; } | undefined) => { lastName: string; firstName: string; }'.
    Types of parameters 'oldUser' and 'oldData' are incompatible.
      Type '{ lastName: string; firstName: string; } | undefined' is not assignable to type 'User'.
        Type 'undefined' is not assignable to type 'User'.

which is still the exact same issue

@TkDodo I see the same error as you now after enabling strict mode regardless of whether it's a single or array based example. I'm in the middle of migrating a JS project to TS and didn't have it on before.
I also agree that queryCache.setQueryData<User[]>(...) seems preferable and allows more type safety.

Status on this?

Hi Tanner,
The main question remains: Can the previousValue actually be undefined at runtime? I was unable to get that from looking at the source code.
if yes, that means that the types are correct, but that the example can fail here when accessing old.items and old is undefined, and then we have a hard time constructing a T when we get T | undefined in that function. It will be possible with arrays, but with objects, it's very hard (see my previous comment)
if no, then all we would need to do is "fix" the type definitions of setQueryData, which would be easy to do (happy to provide a PR if that would be correct).
Thanks for you help :)

The main question remains: Can the previousValue actually be undefined at runtime? I was unable to get that from looking at the source code.

It could be undefined as you can provide not existing queryKey, right?

The main question remains: Can the previousValue actually be undefined at runtime? I was unable to get that from looking at the source code.

It could be undefined as you can provide not existing queryKey, right?

Okay, I didn't think of that. I don't think there is an easy way to make that type-safe (as in: it will be T if the key is valid and undefined otherwise, because we don't know what a valid key is)
The question is if that is a use-case we want to cover, and if it is worth to do undefined checks for the case that you mis-type a queryKey. Personally, I'd rather have a real runtime error if something like that happens 🤷 .
Let me re-phrase the question: Given a valid queryKey, can the previousValue be undefined? Say, on the first run, when you don't have a previousValue yet .. ?

Let me re-phrase the question: Given a valid queryKey, can the previousValue be undefined? Say, on the first run, when you don't have a previousValue yet .. ?

This should be possible as well. If you don't set the initial value the default one will be undefined. If you will try reading query before queryFn completes you will get undefined. This might be also true when there's a request error or { manual: true }? To me the result type is incorrect as previousValue: undefined should just return undefined

To me the result type is incorrect as previousValue: undefined should just return undefined

ah right, so instead of:
((oldData: T | undefined) => T)
we should have:
((oldData: T | undefined) => T | undefined)
?

yes, it makes more sense I think

:tada: This issue has been resolved in version 1.5.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@tannerlinsley I think I have to resurrect this issue for the v2 version:
https://github.com/tannerlinsley/react-query/blob/e200c99496b7ebea84da5a0df38242d80554a844/src/core/queryCache.ts#L491
The type of updater seems to have been reverted to:
Updater<TResult | undefined, TResult>
still, I think it should be:
Updater<TResult | undefined, TResult | undefined>
because I cannot produce TResult from TResult | undefined if I have an object
I can create a new issue if you want, or also just make another PR?

Currently the setQueryData expects data to be set, as it also sets the query to a success state. What would you expect to happen when you return undefined?

Well I would like it to stay undefined then? The issue is that you cannot, on type level, produce T out of undefined in all cases, especially not with objects.
to re-iterate from my example above:
type User = {
    firstName: string
    lastName: string
}

queryCache.setQueryData('key', oldUser => ({
    ...oldUser,
    lastName: 'Smith',
}))

this just doesn't work because oldUser is User | undefined, and I cannot summon a firstName out of thin air :)
So what I am doing at the moment is bypassing the functional updater
const oldUser = queryCache.getQueryData<User>('key') // oldUser is now `User | undefined`
if (oldUser) {
    queryCache.setQueryData('key', {
        ...oldUser,
        lastName: 'Smith',
    })
}

that works, but then what is the functional updater for? The optimistic update example is written in js, but this would actually not work with the current typings in TS.
if the functional updater allows undefined to be returned, we can do:
queryCache.setQueryData('key', oldUser => oldUser && {
    ...oldUser,
    lastName: 'Smith',
})

which means if we get undefined in, we just output undefined as well.

If undefined is a valid result, then you can do:
queryCache.setQueryData<User | undefined>('key', oldUser => oldUser && {
    ...oldUser,
    lastName: 'Smith',
})

right, I can include undefined in TResult. I am still a a bit confused though.
Looking at the code, updater is defined as:
https://github.com/tannerlinsley/react-query/blob/171628699cff8e6bbfa5d31bc3d1ccb11ff9e12f/src/core/query.ts#L192
but when we actually call the functional updater, the result is coerced to TResult | undefined:
https://github.com/tannerlinsley/react-query/blob/171628699cff8e6bbfa5d31bc3d1ccb11ff9e12f/src/core/query.ts#L198
but looking at the type definition of functionalUpdate shows that it returns TResult:

so why can't I return undefined from the functional updater then ?

It all depends on what you consider as a valid result for that query. If you expect undefined to be a valid value of data when the query status is success, then the result type for that query would be T | undefined. If you do not expect undefined to be a valid value, then you need to provide T when calling setQueryData.

I do generally not consider undefined valid for TResult. I understand that calling setData sets the query result to success, so it must get a TResult. Since the functional updater is basically fed with the value of getData, which can always be possibly undefined, this is tricky.
I think I'll just stick to the manual getData -> if not undefined -> setData(newValue) approach then. I was hoping that the functional updater would make this syntax a bit easier, but I get that it's not that easy (e.g. "bailing out" of the functional updater if undefined is returned, but undefined might be, as you correctly pointed out, a valid TResult as well, so this sounds like a no-go).
Thanks for the clarifications 👍

@TkDodo this worked for me:
if (previousMerchant)
queryCache.setQueryData(
["merchant", merchant_id],
(old) =>
({
...old,
is_favorite: !is_favorite,
} as MerchantType)
);

but I get that it's not that easy (e.g. "bailing out" of the functional updater if undefined is returned, but undefined might be, as you correctly pointed out, a valid TResult as well, so this sounds like a no-go).

1.5 years later and we've finally managed to do that in v4 🙌.. You can now return undefined from the functional updater and it will bail out and not create / update the cache entry. For that, we had to make undefined an illegal cache value for successful queries, but that's overall a good thing.
here is the PR for reference: https://github.com/tannerlinsley/react-query/pull/3271


(pulseaudio) bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply

I was looking through my logs and I found this at the top:
[pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
I have no idea what it means. My computer starts fine, and I haven't noticed any errors so far. But just to be safe, does anyone know how to resolve this?
Also, just to be clear, I've read the error and I can see the 'possible causes' part, but I don't know what it means by 'remote application' or 'message bus security.'

Adding the lines that Mike suggests in his answer did not work for me, unfortunately. I also did not have the file /usr/share/gdm/default.pa
So, I went to search the the global settings and found the default.pa file there. You might want to edit this file, which is what I did!
sudo nano /etc/pulse/default.pa
And then I commented the lines that loaded the bluetooth module. And the error is now gone!
Automatically load driver modules for Bluetooth hardware (edited)
#.ifexists module-bluetooth-policy.so
#load-module module-bluetooth-policy
#.endif
#.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
#.endif
Note that I have a system that does not have wifi/bluetooth hardware.


Auto-Imports -> use xxxx;

In VSCode (yeuchhh), if you add some rust code, and the LSP does not recognize the symbol, it offers a popup to add the use xxxx to the file. If there is more than one match, it offers a list of possible matches to pick from. I suspect it gets this from the installed crates.
For example, typing info! shows

Or if you paste code, it offers a "Quick Fix" that adds the use, e.g.

Is this something the extension can offer? Or is it related to VSCodes Intellisense?
The benefit of having this is ... with a keystroke you can select and add the use xxx and keep coding instead of jumping around.
Huge thanks for making this extension, I much prefer Nova as my coding editor and this makes it sing.

Thanks for submitting an issue!
This looks to me like mostly a duplicate of #41 . Briefly, Rust Analyzer wants to lazily offer auto-imports to improve performance, but the Nova language client doesn't implement the LSP spec for lazy completions. The API for Nova's language client doesn't allow me to handle any of this communication myself, so there's not a feasible way for me to offer auto-imports. Once Nova adds support for this part of the LSP spec, auto-imports will work without needing anything from me!
As far as the Quick Fix feature in VS Code – that makes use of Code Actions offered by Rust Analyzer which is a feature supported by Nova. With your cursor over the unimported symbol, use the Command-Shift-A key combo to see the option to import it. Rust Analyzer has some wonderful Code Actions on offer (e.g., filling any missing enum members in a match statement), so definitely use that key combo anywhere you see red squiggles! You can even remap the keyboard shortcut.

Thanks for the quick response. I had no idea about the Shift-Commnd-A capability. Thats exceptionally useful.


Speed 255 is actually half speed

Hi,
I have this light http://www.lixada.com/stage-lighting-effect-422/p-l0581au.html
CH1 is a function channel, so when I set it to strobe mode (value 201-255), and set the CH3 (speed) to 255, it is not as fast as it should be. Like with Freestyler it is really really fast with value 255 but with QLC+ it is like at half speed.
I am using an uDMX USB. Not sure if this is a bug/known issue/configuration issue? I am using everything at default settings.
Thanks,

Since you totally ignored the message that appeared when you opened this, I am closing it.
Please post in the forums like everybody else.

Are you waiting for bug reports in a forum? right.

Yes I do. This area is for developers.
And who says this is a bug, you ?

Yes, sorry about that. I just thought because with ArtNet it is working fine, and other softwares with uDMX are working fine. No issue, it is ok with ArtNet for me.


Showing "Sorry, couldn't find the forum." all the time

I deploy the forum on my mbp.
then auth with my github account,but Showing "Sorry, couldn't find the forum." all the time

Get get passed this stage too.

I deploy the forum on my mbp.
then auth with my github account,but Showing "Sorry, couldn't find the forum." all the time

hey did you figure this out?


EN_addnode does not update controls and rules

When adding new nodes control and rules must be updated as nodes indices change.

good catch!

Also TraceNode should be updated if exists


add re-regsiter and delete options to service catalog

This userstory is to integrate the API changes implemented in #1646

[ ] In the service catalog view - add new buttons re-register and delete - both disabled by default.
[ ] if service is unregistered - enable "re-register" and "delete" buttons.
[ ] call the new API methods on click of re-register and delete buttons.
[ ] Add a warning yes/no message when user clicks on both re-register and delete buttons.
[ ] msg for successful re-register - Service submitted for review successfully.
[ ] msg for successful delete - Service deleted successfully.
[ ] update msg for succesful unregister - Service removed from catalog successfully.

let me do it


docs: added conference speech of Misko

What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests

Description
New Video: Qwik: A no hydration instant on personalized web applications by Misko Hevery
Use cases and why

Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

thanks @reemardelarosa !
something looks weird in the commit history
Did you do a rebase?
I prefer if you could open a PR with just your changes (and close this one) so it'll be easier to see your changes because some of the commits of this PR have already been merged
Thanks!

@shairez craeted new PR
https://github.com/BuilderIO/qwik/pull/1777

Thanks @reemardelarosa !


ENH: enable relative_to() between to cloud files

Hello,
Is there any drowbacks to implement relative_to for Cloud paths ?
For example my usecase is:
root = AnyPath("s3://my-bucket/")
file = AnyPath("s3://my-bucket/END_TO_END_RESULTS/INDEX/result.tif")

And I would like to retrieve the relative path between the 2, a.k.a : "/END_TO_END_RESULTS/INDEX/result.tif".
Does it make sense ? I am not very familiar with the cloud paths usages.

@remi-braun Definitely not an unreasonable request.
The reason that we don't currently have relative paths, just absolute paths. For example., Path.relative_to returns a valid Path object. If we do realtive_to on a CloudPath, once we strip the bucket info, etc. we'll just have a string left to return to the user, but not a CloudPath.
We could implement relative_to to return a string that's stripped on the left hand side. I'm inclined to leave this open and see how common of a use case this is.
That said, for the particular use case you lay out, .key will give you everything except the bucket on S3:
python
In [1]: from cloudpathlib import CloudPath

In [2]: CloudPath("s3://my-bucket/END_TO_END_RESULTS/INDEX/result.tif").key
Out[2]: 'END_TO_END_RESULTS/INDEX/result.tif'

Oh I understand, your point is, in my opinion, very relevant.
My workaround is in my case (I need a str and it should be OK since there are no relative paths for CloudPath):
if isinstance(file, CloudPath):
   rel_path = str(file).replace(str(res_dir), "")
else:
   rel_path = file.relative_to(res_dir)

Both relative_to and is_relative_to should be supported. The relative_to method should just return a non absolute PosixPath instance, which can already be used with CloudPath.joinpath.
Obviously there are some cases where the resulting Path cannot be used to recreate the original path
(e.g. when the returned relative path includes the S3 bucket), but I think that is ok.
Support for relative is important when you are mapping files between two different file systems relative to
some particular root on each, where the file systems could be local, or different cloud providers.

Some notes from @Gilthans from #229:

Hello!
Firstly - this is a wonderful library! I was about to implement something similar when I decided to look for it, and was delighted to see this. Such a clean, well designed project is hard to come by. Thanks to everyone involved.

I've seen most methods were implemented, and those that weren't had documentation on why. There are two methods I'd like to contest the decision though: relative_to and resolve.

resolve is stunted in a CloudPath since it is always absolute, but I'd argue it's better to return the same path instead of raising an error. This allows for using resolve to force into an absolute path, without knowing in advance if this is a cloud path or a local path.
relative_to I think should be implemented - relative_to is always used between two absolute paths, although the result is always a relative path. The result would be a PurePosixPath (and not a CloudPath), which after some thought does make sense.

I'd be happy to write a PR for this, if it would be accepted, and again thanks to all the contributors!

After some thought, I'd argue the argument for resolve applies to absolute and as_posix as well, so I'd be happy to add those too.


Added Amarachi Iheanacho

I am indicating interest in participating in the 2022 Season of the docs programme

Closed because information was added in PR#407


[typescript] Fix ModalClasses prop type on popover

Right now Popover ModalClasses prop is of type 'root' | 'hidden' which is incorrect
This PR fixes it to be an object with correct keys

@YuriiOstapchuk It's a great first pull request on Material-UI 👌🏻. Thank you for giving it a shot!


Site support request for learn.365datascience.com

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that none of provided URLs violate any copyrights
[X] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Single video: https://learn.365datascience.com/courses/sql/welcome-to-sql
Single video: https://learn.365datascience.com/courses/sql/why-sql
Playlist: https://learn.365datascience.com/courses/preview/sql

Description

365datascience.com is an online data science program. I'm a current member and have been using youtube-dl to download course videos offline using my teachable account credentials until now.
The team recently (over the last weekend) migrated the course/program from teachable to their own hosted website (links above) and I need help in creating an extractor for the new website.
I'd be really grateful for the help/support. Thanks!

Hey @remitamine. I've emailed the login credentials to<EMAIL_ADDRESS>from<EMAIL_ADDRESS>with the subject youtube-dl PR #28037. Would really appreciate your help. Thanks again!

you shouldn't send login credentials unless the developer has expressed his interest in working on the issue.

Sorry about that. I was just trying to be a little pro-active with all the necessary info required for the request.
I’d be really grateful for your help!

Is anyone working on this?

I have a package that uses the API 365datascience uses to grab the course video URL: 365datascience_downloader


Unable to install on Safari

Extension not showing in Safari Extension Tab.
Tried to install it from the AppSore and from the repo, tried to reboot with no luck.
Extension is working great in Firefox and the following config:

Apple M1
macOS 12.0.1 (21A559)
Safari 15.1 (176<IP_ADDRESS>.20)
Keeweb 1.18.7
Keeweb Connect 0.3.7

Hm, it works for me. Not sure how to debug it, actually, it's kind of standard stuff for extensions.

Thanks @antelle, glad it is an isolate case. I made some researches leading me to a solution. By simply running a terminal command, the extension works now properly!
Not sure why it happens as others Safari extensions were installed without any issues.
The command might be helpful if it happens to future users:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user


replace nodejs image link

replaced broken dockerhub image link with nodejs image pushed to ECR in the previous step
Issue #, if available:
Description of changes:
Added reference to ECR Repo and Image to replace dead link to dockerhub
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I've verified the proposed change


Consistent error messages

Trello
Paired with @fofr on this.
Restyle and reword error messages.

Reword error messages to keep consistent with v1
Restyle error messages in the style of govuk-elements

V2 error messages before:

V2 error messages after:

When I tested this locally, I got the old styles for error messages displayed on the edit form.

Steps to reproduce:

click on existing cma_case
click 'edit document' button
empty out input box for title
click 'save' and see error message

New document looks right 👍

deleted my previous comment about a bug, I retried it and cannot reproduce it. Now that I think about it, it might have just been a cache on the style sheets. Looks good for both edit & new forms. 👍

👍


[SPARK-24983][Catalyst] Add configuration for maximum number of leaf expressions in collapsed projects

What changes were proposed in this pull request?
Add a configuration option for the maximum number of leaf expressions in collapsed project nodes. If a collapsed project node (result of the CollapseProject optimizer rule) would have more leaf expressions than the configured maximum number we don't collapse. This is to protect against an exponentially exploding number of leaf expressions when collapsing many (binary) expression that refer to the same columns (see https://issues.apache.org/jira/browse/SPARK-24983).
How was this patch tested?
Add a new unit test.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@HyukjinKwon can you help with finding reviewers for this PR?

Usually @gatorsmile and @cloud-fan.

Let us blacklist CASE WHEN in CollapseProject, instead of introducing this new conf.

@dvogelbacher Currently, in the master branch (2.4 release), you have a workaround. Add CollapseProject to spark.sql.optimizer.excludedRules before such queries.

@gatorsmile yes, I found that workaround. Very useful :)
I think it would still be good to handle this better by default. I can see that introducing such an arbitrary configuration param doesn't seem optimal and am open to better suggestions.
Not sure if blacklisting case-when statements outright is the right way to go. That could have negative perf impacts as well? And it wouldn't handle the case in the unit test where we have exponential growth when adding/subtracting columns (though that example might be somewhat contrived).
Maybe we should just not collapse if the number of leaf expressions in the collapsed project is higher than the sum of the number of leaf expressions in the original statements?

Can one of the admins verify this patch?

Backlisting case-when statements looks good to me.

Can one of the admins verify this patch?

Closing due to inactivity over an year.


Added feature for storing lastSQL query on session

This PR added method LastSQL() and saveLastSQL() to get and store information of last query on the session.
To achieve this, session.Engine.logSQL() is moved into  session.saveLastSQL().

Thanks.


Auto dark/light mode not working on linux

"Match system setting for light or dark mode"  is not working on Linux.
I'm using Kde Plasma desktop.

This is now a core feature as of Obsidian 0.14.7, I recommend following up with core team devs in the Obsidian forum


Setting Up Project

In trying to follow the manual setup instructions, we ended up with an error trying to run the dev server that appears to to relate to workspace issues and/or not loading full dependencies properly. I'm using a React Remix app and not Next.JS.  Our package.json includes
"scripts": [
  "dev:email": "email dev --dir app/mailers --port 3001",
  ...
],
...
"workspaces": [
    ".react-email",

from an earlier error message:
Usage Error: The nearest package directory (/project-dir/.react-email) doesn't seem to be part of the project declared in /project-dir.

- If /project-dir/ isn't intended to be a project, remove any yarn.lock and/or package.json file there.
- If /project-dir/ is intended to be a project, it might be that you forgot to list .react-email in its workspace configuration.
- Finally, if /project-dir is fine and you intend .react-email to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.

After adding that and re-running yarn, we're getting an error when running yarn dev:
error - Font loader error:
Cannot find module 'next/dist/server/font-utils'
Require stack:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /project-dir/.react-email/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js
- /project-dir/.react-email/node_modules/next/dist/compiled/webpack/bundle5.js
- /project-dir/.react-email/node_modules/next/dist/compiled/webpack/webpack.js
- /project-dir/.react-email/node_modules/next/dist/server/config-utils.js
- /project-dir/.react-email/node_modules/next/dist/server/config.js
- /project-dir/.react-email/node_modules/next/dist/server/next.js
- /project-dir/.react-email/node_modules/next/dist/server/lib/start-server.js
- /project-dir/.react-email/node_modules/next/dist/cli/next-dev.js
- /project-dir/.react-email/node_modules/next/dist/lib/commands.js
- /project-dir/.react-email/node_modules/next/dist/bin/next

I'm using yarn version berry (3.3.1) in case that makes a difference.

I got it running without any problems. I did the following:

Run npx create-remix@latest with:

Name: remix
Type: Pre-configured
Stack: Indie
Ts or JS: Ts
Run npm install: Yes

After the installation, I created a folder app/mailers and created a file named: test.tsx with this as its content
Installed some basic react-email packages with: npm install react-email @react-email/button @react-email/html -E
Added the dev command via (Note: I did not add workspaces or anything else):

{
  "scripts": {
    "dev:email": "email dev --dir app/mailers"
}

Now everything is setup and I could run npm run dev:email with the following output:

➜ npm run dev:email

> dev:email
> email dev --dir app/mailers

✔ Emails preview generated
⠋ Installing dependencies...

up to date, audited 572 packages in 1s

68 packages are looking for funding
  run `npm fund` for details

5 high severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

✔ Dependencies installed

><EMAIL_ADDRESS>dev
> next dev -p 3000

ready - started server on <IP_ADDRESS>:3000, url: http://localhost:3000
event - compiled client and server successfully in 1625 ms (190 modules)
wait  - compiling...
event - compiled successfully in 121 ms (158 modules)
wait  - compiling / (client and server)...
event - compiled client and server successfully in 467 ms (658 modules)

Note: Everything also worked with yarn. I have version: v1.22.19
Can you try this? And if this still does not work, can you share your file structure and other maybe useful information about your repository/project?

Closing this @uhrohraggy, let me know if you still have the issue


Disable flaky test on Win7/Win2008

Addresses https://github.com/aspnet/HttpSysServer/issues/468. This test is only flaky on Win7 and Win2008 and it looks like it's failing inside HttpClient. I don't think it's worth the time to rewrite the test to be more robust. I think it's sufficient to disable these test on the older systems and keep them running on everything Win8 and newer.

@natemcmaster is 2.1 servicing prodcon builds dependent on the tests passing on downstream OS such as Win7 and Win2008? IIRC they shouldn't be so I don't plan on porting this change to 2.1. If they are, then I'll open a separate PR for the servicing branch and go through the approval process once this PR is approved.

Failing test runs never block us from getting builds. That said, it's still ideal to fix test failures in servicing releases. It helps us better evaluate if changes in servicing branches cause regressions.

ping

No failures reported in 24 days, why bother disabling it?

Right but the underlying issue has not been solved. It's an infrequent failure but there's evidence that it remains flaky.

What evidence? I don't see anything in the last 24 days.