Coords that look like ranges are not written in netcdf files.

This may be related to #733, but I am not sure, so I create a new one to keep it clean. It was discovered when creating the second example for #722 .
When the coords from #722 are changed to coords=[np.array([0, 1], np.int64)], they are not written to the netcdf file.
Example:
In [1]: import xray as xr

In [2]: import numpy as np

In [3]: var1 = xr.DataArray(np.array([1, 2], np.float64), coords=[np.array([0, 1], np.int64)], dims=["coor1",], name = "var1")

In [4]: var2 = xr.DataArray(np.array([3, 4], np.float64), dims=["dim1",], name = "var2")

In [5]: ds = xr.Dataset({"var1": var1, "var2": var2})

In [6]: ds
Out[6]:
<xray.Dataset>
Dimensions:  (coor1: 2, dim1: 2)
Coordinates:
  * coor1    (coor1) int64 0 1
  * dim1     (dim1) int64 0 1
Data variables:
    var1     (coor1) float64 1.0 2.0
    var2     (dim1) float64 3.0 4.0

In [7]:  ds.to_netcdf("/tmp/from_xr_2.nc")

And then, no coor1 data variable in the file:
$ ncdump /tmp/from_xr_2.nc
netcdf from_xr_2 {
dimensions:
	coor1 = 2 ;
	dim1 = 2 ;
variables:
	double var1(coor1) ;
	double var2(dim1) ;
data:

 var1 = 1, 2 ;

 var2 = 3, 4 ;
}

Change it back:
In [8]: var1 = xr.DataArray(np.array([1, 2], np.float64), coords=[np.array([1, 2], np.int64)], dims=["coor1",], name = "var1")

In [9]: ds = xr.Dataset({"var1": var1, "var2": var2})

In [10]: ds.to_netcdf("/tmp/from_xr_3.nc")

and coor1 is back in the file:
$ ncdump /tmp/from_xr_3.nc
netcdf from_xr_3 {
dimensions:
	coor1 = 2 ;
	dim1 = 2 ;
variables:
	int64 coor1(coor1) ;
	double var1(coor1) ;
	double var2(dim1) ;
data:

 coor1 = 1, 2 ;

 var1 = 1, 2 ;

 var2 = 3, 4 ;
}

That is, when the coords seem like they are similar to a range.

Yep, this is exactly the same issue as #733... closing this in favor of that issue


(Idea) How about doing Binary Numbers?

Yeah, here’s a list of ideas:

[ ] Translator:

[ ] From binary number to string/int/float

[ ] From string/int/float to binary number

Looks like a nice idea, I'll implement it in the very near future (probably inside TextTools.hx)

I'll close this when it's implemented


Concurrent map writes when using schema.ValidateBytes

Environment

What is your OS and version?
Ubuntu 16.04
What version of qri are you using (qri version)?
0.1.1
What version of Qri Desktop are you using?
no
What browser(s) did you use? What version?
Issue
What did you do?
call schema.ValidateBytes method
What happened?
program crashed due to concurrent map writes
2020-08-06T11:39:56.086850325Z fatal error: concurrent map writes
2020-08-06T11:39:56.098605569Z
2020-08-06T11:39:56.098632512Z goroutine 220 [running]:
2020-08-06T11:39:56.098641557Z runtime.throw(0xb813f0, 0x15)
2020-08-06T11:39:56.098649007Z 	/usr/local/go/src/runtime/panic.go:1116 +0x72 fp=0xc00088b328 sp=0xc00088b2f8 pc=0x433892
2020-08-06T11:39:56.098656586Z runtime.mapassign_faststr(0xa9a5c0, 0xc000486de0, 0xc00052b020, 0x4f, 0x0)
2020-08-06T11:39:56.098663451Z 	/usr/local/go/src/runtime/map_faststr.go:211 +0x3f7 fp=0xc00088b390 sp=0xc00088b328 pc=0x4131f7
2020-08-06T11:39:56.098670447Z vendor/github.com/qri-io/jsonschema.(*SchemaRegistry).Register(...)
2020-08-06T11:39:56.098677924Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema_registry.go:73
2020-08-06T11:39:56.098685599Z vendor/github.com/qri-io/jsonschema.(*Schema).Register(0xc00044c5a0, 0xc00052ae40, 0x3c, 0xc0001b85f0)
2020-08-06T11:39:56.098693937Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema.go:83 +0x26d fp=0xc00088b468 sp=0xc00088b390 pc=0x9ebbbd
2020-08-06T11:39:56.098717604Z vendor/github.com/qri-io/jsonschema.(*Properties).Register(0xc000524220, 0xc00052ae40, 0x3c, 0xc0001b85f0)
2020-08-06T11:39:56.098726471Z 	/go/src/vendor/github.com/qri-io/jsonschema/keywords_object.go:24 +0xb2 fp=0xc00088b4f8 sp=0xc00088b468 pc=0x9def72
2020-08-06T11:39:56.098734352Z vendor/github.com/qri-io/jsonschema.(*Schema).Register(0xc00044c300, 0xc00052ae40, 0x3c, 0xc0001b85f0)
2020-08-06T11:39:56.098741692Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema.go:88 +0x173 fp=0xc00088b5d0 sp=0xc00088b4f8 pc=0x9ebac3
2020-08-06T11:39:56.098749364Z vendor/github.com/qri-io/jsonschema.(*Properties).Register(0xc0005241f0, 0xc0002934d0, 0x26, 0xc0001b85f0)
2020-08-06T11:39:56.098756244Z 	/go/src/vendor/github.com/qri-io/jsonschema/keywords_object.go:24 +0xb2 fp=0xc00088b660 sp=0xc00088b5d0 pc=0x9def72
2020-08-06T11:39:56.098764046Z vendor/github.com/qri-io/jsonschema.(*Schema).Register(0xc00044c2a0, 0xc0002934d0, 0x26, 0xc0001b85f0)
2020-08-06T11:39:56.098772722Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema.go:88 +0x173 fp=0xc00088b738 sp=0xc00088b660 pc=0x9ebac3
2020-08-06T11:39:56.098780677Z vendor/github.com/qri-io/jsonschema.(*Schema).ValidateKeyword(0xc00044c2a0, 0xc91820, 0xc000046040, 0xc000174400, 0xa9bb20, 0xc000124e10)
2020-08-06T11:39:56.098788257Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema.go:280 +0x8f fp=0xc00088b790 sp=0xc00088b738 pc=0x9ed31f
2020-08-06T11:39:56.098795651Z vendor/github.com/qri-io/jsonschema.(*Schema).Validate(0xc00044c2a0, 0xc91820, 0xc000046040, 0xa9bb20, 0xc000124e10, 0x0)
2020-08-06T11:39:56.098803042Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema.go:260 +0x2ef fp=0xc00088b800 sp=0xc00088b790 pc=0x9ed18f
2020-08-06T11:39:56.098810559Z vendor/github.com/qri-io/jsonschema.(*Schema).ValidateBytes(0xc00044c2a0, 0xc91820, 0xc000046040, 0xc0003f8030, 0xe3, 0xe3, 0x4, 0xc00088ba40, 0x74004c, 0x119e8c0, ...)
2020-08-06T11:39:56.098818186Z 	/go/src/vendor/github.com/qri-io/jsonschema/schema.go:330 +0x16f fp=0xc00088b860 sp=0xc00088b800 pc=0x9ed95f
What did you expect to happen?
Validate result.

Please link any related issues.
Do you have a suggested fix?

Thank you for the report. Will look into it over the next few days.

@chanchancl If possible can you share a small reproducible example of the schema and input just to make things easier to test against while looking into it?

@Arqu  Sorry I can't provide the schema. Some questions I would ask instead.
Is this method schema.ValidateBytes thread-safe (in many goroutines)?
Finally I add a lock for every schema checker.
But I have do some small tests to call this method in many different goroutine with small schema.
Never reproducing this problem again.(This problem was detected by others)
So I guess maybe this only happended when multi calls to this method with a big schema.

Yeah, the implementation is not thread safe at the moment (mostly due to the global schema registry).
As such I'd avoid parallelizing this too much right now or at least introduce some locking mechanics to avoid it stepping on each others toes.
Since the validation generally is fairly fast in many cases you won't even encounter this but given enough runs or a sufficiently large schema/input it should happen fairly regularly.
It's definitely something I'd like to address, hopefully within the next few sprints.

@Arqu  Thanks for your help, I will close the issue.

@chanchancl You're welcome, I've opened up the above tracker issue so we don't lose sight of it. I'll keep in mind to ping you back once it's implemented.


Unable to run more than one word commands properly

First of all, I am sorry if this is me being unable to grasp something basic about the functionality of "wttab".
Essentially, I had a script in my "package.json file" to do the following bit of code.

The first script ("tab:launch:bot1") that used only the "ls" command worked fine, however, the second ("tab:launch:bot2") that ran a command separated by spaces was getting messed up, as the Powershell was separating them commas. I tried to escape the spaces, to put the command between (') and none of it seemed to work. Once again, I am sorry if this is me being unable to grasp anything obvious.
I ended up adding a little bit of a hacky solution (seen below, highlighted), that essentially checks if the command has content separated by spaces and interprets it as a single, joint command.

I'm sure this is not the way to do it, and it may even cause problems for other cases, I just found a way to fix it for what I wanted.
Anyways, I would like to know if this had a simpler and more elegant solution, if it was something I missed, or if there was another way to workaround it.
Thanks in advance!

This is a known bug, in the mean time you can use quotes to get arround this ex. wttab -t Bot2 'npm run launch:bot2'. It would be nice to add support for quotless commands while passing other parameters.

I tried doing so, and intended to say I did it, but maybe the message was poorly phrased. When I tried to put the quotes, the Powershell interpreted it as 3 seperate commands, essentially it ran 'npm' first, then 'run', and then 'launch:bot2'! That, of course, yielded some errors :(

What terminal do you try to launch?

I ran it on windows terminal, which was using Powershell.


Idle notifications when focused setting is in the wrong location

Is your feature request related to a problem? Please describe.
It is unexpected that the setting for allowing idle notifications when runelite is focused is available under the runelite plugin rather than the idle notifications plugin.
This is not a duplicate of #3620 #1405 or #3208 since it is requesting a change to the location of this setting rather than being confused about its existence.
Describe the solution you'd like
The idle notifications when focused setting should be moved from runelite in the plugin menu to idle notifications.
Describe alternatives you've considered
Alternatively we could just mention how to enable this setting on the wiki page for idle notifications.
Additional context

This setting is not specific to the idle notifier.

Then at least this could have a quick pr to change the tooltip to indicate that this setting is for any notifications rather than saying "Toggles idle notifications for when the client is focused"

Updated the title


Need Scene Graph

Its time for a scene graph.

Postponed currently. Need to do wire library first.

There is a basic scene graph even with rendering and some sort of variable interfacing which allows for animations. So any further feature needs a new issue.


An error "ServiceUnavailable" occurs in Files node and Logs node of a Windows Function App

OS: Win10/M1
Azure Resource Extension Build Version: 20220523.7
Azure Function Extension build Version: 20220523.6
Repro Steps:

Create a Windows Function app.
Expand this web app -> Files node and Logs node.
Check whether there is no error in Files node and Logs node.

Expect:
There is no error in Files node and Logs node.
Actual:
An error "ServiceUnavailable" occurs in Files node and Logs node.

More Info:
This issue does not reproduce for a Linux Function App.

This might have been a service issue.

@v-ruizh Could you confirm that this is always reproducing? As @bwateratmsft mentioned, seems like it was a service issue that usually ends up resolving itself.

@nturinski This issue can be reproduced consistently. But the error will disappear after deployment.


Updated README on how to run the program

Can you please include instructions in README on how the notebook works with some examples?

Hi @syedalisait, thanks for raising this!
I've updated the README to provide more info. Feel free to mention if you need anything else.

@noculture
Thanks for adding. Would you be willing to accept pull requests for delete notebook/note?

That would be great @syedalisait. I definitely would.

Closing this issue. Thank you @noculture


update alerts dashboard

Towards https://github.com/giantswarm/giantswarm/issues/27937
In order to ease past alerts investigations, let's refresh the alerts dashboard .
Changes:

new filters: team, severity, alertname
removed "inhibitions" graph as it was not reliable
changed visualization for alerts from graph to timeline
added a table listing alerts that have previously fired
minor changes to global stat numbers

screenshots before:

screenshots after:

Checklist

[x] Update changelog in CHANGELOG.md in an end-user friendly language.

Maybe not in this PR but should WE have the silences hère as well?

Maybe not in this PR but should WE have the silences hère as well?

I'd like, but AFAIK we don't have the list of silences as metrics or logs.


Latest harbor job depends on bosh-dns in pre-start script

The latest version of the pre-start.erb script has a line that waits for bosh-dns to be ready (https://github.com/vmware/harbor-boshrelease/blob/master/jobs/harbor/templates/bin/pre-start.erb#L158).  Trying to deploy a release built on this code with both the provided deployment_vsphere.yml and the more recently-updated deployment_vsphere-uaa.yml end up with an error:
/var/vcap/jobs/bosh-dns does not exist

The harbor job is also dependent on the harbor-enable-bosh-dns job in its monit file (https://github.com/vmware/harbor-boshrelease/blob/master/jobs/harbor/monit#L6).  Is there a way to get this up and running without the bosh-dns, or some required manifest changes to get this dependent job up and running?

@mtthwcmpbll harbor job depends on bosh-dns to resolve FQDN. The deployment_vsphere.yml is not updated to add bosh-dns as a bosh add-on, which will let bosh-dns run on each bosh VM. Need to fix this.

Fixed in https://github.com/vmware/harbor-boshrelease/commit/089c7c536b7ccb2aee67c54f4aad8f125e077169.
@mtthwcmpbll Please try it out.


Getting error from service bus on sending message of size greater then 1 MB for premium tier.

Package Name: azsdk-js-azureservicebus
Package Version: 7.7.1
Operating system: Mac OS BigSur version 11.2.3
[x] nodejs

version: 12.16.3

[ ] browser

name/version:

[x] typescript

version: 4.6.3

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[x] SDK API docs on https://docs.microsoft.com

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Deploy a Premium SB namespace and topic (with maxMessageSizeInKB = 102400).
create a function app and replace code in index file with following code

import { AzureFunction, Context, HttpRequest } from '@azure/functions'; import { ServiceBusMessage, ServiceBusClient } from '@azure/service-bus'; import * as config from './function.json'; const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {     const serviceBusMessage: ServiceBusMessage = { body: req.body } as ServiceBusMessage         try {             const serviceBusClient =  new ServiceBusClient("set this value accordingly");             const sender = serviceBusClient.createSender("set this value accordingly");             await sender.sendMessages(serviceBusMessage);         } catch (error) {             context.log.error(error SendMessage${error});             throw error;         } }; export default httpTrigger;
Expected behavior
sender.sendMessages should not throw error.
Error Body
InvalidOperationError: The link 'G4S2:3993911:hybris.syndication-product.cds-sbt-2ce21e98-e39b-0b4b-a421-48f12923638f' is force detached by the broker because publisher(link9441) received a batch message with no data in it. Detach origin: Publisher.
Additional context
as per the document large-messages-support Batching is not supported for Large Messages and as per the sendMessage code https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/src/sender.ts#L193-L223, inside else case we are creating batch from message due to which we are getting this error, on my local machine I replaced it with following code :

async sendMessages(
messages:
| ServiceBusMessage
| ServiceBusMessage[]
| ServiceBusMessageBatch
| AmqpAnnotatedMessage
| AmqpAnnotatedMessage[],
options?: OperationOptionsBase
): Promise {
this._throwIfSenderOrConnectionClosed()
throwTypeErrorIfParameterMissing(this._context.connectionId, "messages", messages)
let batch: ServiceBusMessageBatch;
if (isServiceBusMessageBatch(messages)) {
batch = messages;
const spanLinks: TracingSpanLink[] = batch._messageSpanContexts.map((tracingContext) => {
return {
tracingContext,
};
})
return tracingClient.withSpan(
"ServiceBusSender.send",
options ?? {},
(updatedOptions) => this._sender.sendBatch(batch, updatedOptions),
{
spanLinks,
...toSpanOptions(
{ entityPath: this.entityPath, host: this._context.config.host },
"client"
),
}
);
} else {
if (!Array.isArray(messages)) {
messages = [messages];
}
const sendMessagesPromise = messages.map((message) => {
return tracingClient.withSpan(
"ServiceBusSender.send",
options ?? {},
(updatedOptions) => this._sender.send(message, updatedOptions),
{
...toSpanOptions(
{ entityPath: this.entityPath, host: this._context.config.host },
"client"
),
}
);
});
await Promise.all(sendMessagesPromise)
}
}

it worked, request you to please look into this.
Dummy data for issue verification

Thanks for reaching out @sabharwal-garv and for your investigations.
I'll look into this.

Hey @sabharwal-garv, I have investigated the issue, and am acknowledging the problem.
I will reach out to the service-bus service team to manage the message batches better and probably throw errors while batching large messages(>1 MB) like your case, or whatever would avoid the InvalidOperationError: The link 'G4S2.... error.
Your Suggested Fix
Coming to the fix that you are considering... using Promise.all and resolving many promises at once in the SDK will not give a nice/simple/intuitive experience for the customers when a few of the send calls fail.
We want to keep the SDK as simple as possible, one typical client call should make one request to the service for instance (ignoring the retry or equivalent logics).
If not for this errors experience, I like your fix.
Workaround
I would instead recommend you a workaround on similar lines.
Instead of touching the SDK src code, apply the same logic in your application..
Call sender.sendMessages() per message and resolve them with Promise.all.
// WORKAROUND

//... messages is an array with messages of size > 1MB
const sendMessagesPromises = messages.map((message) => { return sender.sendMessages(message); });
await Promise.all(sendMessagesPromises);

I hope this workaround helps your case.
Future Steps
Meanwhile, I will contact the service team on the

recommendation for the large messages such as >1MB?
at what message size, we should say no to batching?
could there be a better error message in this case?
should we throw an error instead and let users follow the workaround like we are discussing here?
Based on the discussions with the service team, I'll(we'll) work on updating the SDK code on the sendMessages API.

I really appreciate your efforts in digging around investigating the issue and suggesting a fix. Will keep this issue open and keep you posted on what the service team recommends.
But the workaround I suggested would help you get unblocked asap.

Hi @HarshaNalluru , Thank you for your response, The workaround suggested by you will not fix our issue when single message size is of greater then 1 MB, till the message size limit for batch is increased or else case inside  SDK code on the sendMessages API is updated, as it is mentioned in issue description as per the documentation large-messages-support batching is not supported for large messages.
Issue with Workaround
Please refer to the code:
same code attached in the issue description to reproduce the issue.
import { AzureFunction, Context, HttpRequest } from '@azure/functions'; import { ServiceBusMessage, ServiceBusClient } from '@azure/service-bus'; import * as config from './function.json'; const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> { const serviceBusMessage: ServiceBusMessage = { body: req.body } as ServiceBusMessage try { const serviceBusClient = new ServiceBusClient("set this value accordingly"); const sender = serviceBusClient.createSender("set this value accordingly"); await sender.sendMessages(serviceBusMessage); } catch (error) { context.log.error(error SendMessage${error}); throw error; } }; export default httpTrigger;
as you can see in the code we are trying to send single message of size greater then 1 MB not array of messages still we are getting error, it is due to the else case of SDK code for sendMessages API function https://github.com/Azure/azure-sdk-for-js/blob/9819e80ac73ab5fc7da545629e6a46d7da93537c/sdk/servicebus/service-bus/src/sender.ts#L208-L223, as inside else block every message is getting converted into batch of messages, and as mentioned in the documentation batching is not supported for large message hence it is throwing error.
Request you to please suggest a different workaround if any as we are still blocked.

Hey @sabharwal-garv,
Thanks for the message.
After talking to others in the feature crew for service-bus SDKs, we decided to go with "allow sending a single message without creating a batch for it", PR created for it https://github.com/Azure/azure-sdk-for-js/pull/23014. Feel free to provide feedback.
While we have this solution, we are also going to ask the service team for new properties on the link to manage batching of messages better in the sendMessages method. I'll post more on this if there is progress on these discussions.
But, for now, I believe this #23014 should work for you.

Hi @HarshaNalluru ,
Thank you for the response.
I think this solution will work and will resolve our issue and I have gone through the code, just one suggestion if you think that will be helpful, please update the function description something like for message having size greater then 1MB please send single message, or please create separate function which will be only used to send large messages.

Yes, @sabharwal-garv. I'll be updating the function description.

@sabharwal-garv, the fix has been published with the<EMAIL_ADDRESS>version, please pull down the latest version and let us know if the fix works for you.


I cant display the new version on Linux

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

Please see https://code.visualstudio.com/updates/v1_82#_update-highlights-for-chromium and try the deletion of GPU cache it recommends.

Please diagnose the root cause of the issue by running the command F1 > Help: Troubleshoot Issue and following the instructions. Once you have done that, please update the issue with the results.
Happy Coding!

super intelligent bot I cant disguise anything if I can't view a normal
display.
El mié, 15 nov 2023 a las 21:58, VSCode Triage Bot (<
@.***>) escribió:

Please diagnose the root cause of the issue by running the command F1 >
Help: Troubleshoot Issue and following the instructions. Once you have
done that, please update the issue with the results.
Happy Coding!
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/198297#issuecomment-1813538108,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANTW22HCV4QLVDEWXYEBERLYEVQL7AVCNFSM6AAAAAA7MNLBEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJTGUZTQMJQHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I also had an empty VSCode screen after an upgrade.

I don't know who's to blame, but it's related to graphics acceleration.
When I start VSCode from command line with parameter --disable-gpu it seems to come up ok.

Ok, I'll check it out now.
Thanks again !
El jue, 16 de nov de 2023, 09:11, gulux @.***> escribió:

I also had an empty VSCode screen after an upgrade.
[image: VSCODE-Display-Problem]
https://user-images.githubusercontent.com/49115449/283443985-665753ea-9d43-4da6-b70e-f98f1c4731c5.png
I don't know who's to blame, but it's related to graphics acceleration.
When I start VSCode from command line with parameter --disable-gpu it
seems to come up ok.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/198297#issuecomment-1814322488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANTW22CSYZVS36H6FSBMMN3YEX7FZAVCNFSM6AAAAAA7MNLBEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGMZDENBYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

it worked!
El jue, 16 nov 2023 a las 11:03, Andy Menutti @.***>)
escribió:

Ok, I'll check it out now.
Thanks again !
El jue, 16 de nov de 2023, 09:11, gulux @.***> escribió:

I also had an empty VSCode screen after an upgrade.
[image: VSCODE-Display-Problem]
<
https://user-images.githubusercontent.com/49115449/283443985-665753ea-9d43-4da6-b70e-f98f1c4731c5.png>

I don't know who's to blame, but it's related to graphics acceleration.
When I start VSCode from command line with parameter --disable-gpu it
seems to come up ok.
—
Reply to this email directly, view it on GitHub
<
https://github.com/microsoft/vscode/issues/198297#issuecomment-1814322488>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ANTW22CSYZVS36H6FSBMMN3YEX7FZAVCNFSM6AAAAAA7MNLBEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGMZDENBYHA>

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/198297#issuecomment-1814494568,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANTW22GZWFDPMYHXOBN4OGTYEYMKNAVCNFSM6AAAAAA7MNLBEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGQ4TINJWHA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


IMOU LOOC V.2 (IPC-C26E-V2) is supported

Version of the custom_component
0.9.22
Hello rroller,
first of all I want to thank you for the excellent work you have done!
it seems my cam is supported, there is just a few small things to fix.

I can play the video main stream in  a lovelace card, using chrome on android phone i see it correctly with audio too while on chrome for windows i see a blank image (maybe codecs problem on my laptop)

motion detector works fine too, but if i activate it from tha app of the cam i dont see any change on the binary_sensor in HA and vice versa.

I cannot find the entity to turn on the spotlight integrated in the webcam.

In the lovelace picture-card i cannot see the live stream: camera_view: live (not working).

the switch for infrared light seems not working (in the camera app is set to auto)

I'm available to help the comunity to fix it.
Thanks.

Thanks. Those cams are a little bit different. I'm surprised it is working at all, but I'm glad it does.
Playing the video never really works great with Home Assistant. There's a WebRTC that's better for viewing cams in HA but I still recommend using real viewing software outside of HA.  https://github.com/AlexxIT/WebRTC
When you enable motion detection in the cam it might take up to 30 seconds for the integration to update. Does it work if you wait?

The motion detection is set to be "on" everyday from 1am to 6am in the cam app but this setting is not syncronized with home assistant. And if i switch to "on" in HA i did not see it on the cam app.
I cannot understand why on mobile phone i see the live stream of the cam while on desktop pc i cannot see it?!
With the desktop pc i see only the still image refreshing every 10 seconds. If i click on the image i see a blank image, it seems to not load the stream.
The switch for the infrared light is not working - if the switch is activated, the light does not turn on
The switch for the illuminator light  is not present.
I tried to listen for events but no event is reported if i switch the illuminator on/off by the app of the cam, unfortunately.

Hi,
i discovered the following command:
http://IPADDRESS/cgi-bin/coaxialControlIO.cgi?action=getStatus&channel=1 -> get the illuminator and speaker status
http:/IPADDRESS/cgi-bin/coaxialControlIO.cgi?action=control&channel=1&info[0].Type=1&info[0].IO=1 -> light on
http://IPADDRESS/cgi-bin/coaxialControlIO.cgi?action=control&channel=1&info[0].Type=1&info[0].IO=0 -> light off
i don't know if it's possible to integrate it.

It's possible to integrate but because I don't have one of these cameras it's a little hard for me to add in since I can't test it. These cams work a little different from the regular dahua cams :-(


Add feature to import entries from a JSON/CSV file

Add a button to upload using a file.

Specify JSON or CSV format.

Enqueue uploaded entries

Here's the current JSON format (from the docs):
{
    "entryType": "challenge",
    "collection": 2,
    "description": "how to do software dev without cookies?",
    "date": "Mon Sep 28 1998 14:36:22 GMT-0700 (PDT)",
    "serpClassification": {
        "IMPROVING": ["cookies for software dev"],
        "INFORMATION": ["hungry hungry devs"]
    }
}

If you want to add CSV then I think we need to either convert CSV into JSON (on frontend) or do some magic on the backend.

 Add feature to import entries from a JSON/CSV file


Populate Cell property based on Edge neighbours

Needed an easy way to see if a given point is inside a Cell and I saw that there was an open issue for this so I built on the existing library to include the functionality.
Change Cell property to VCell object
Expose list of clockwise sorted points in VCell
Add helper method to VCell to determine if a given point is inside the cell
Fixes #3

I needed this feature and used EtienneS's commit. It works very well (and fast).

This is nice but seems to generate edges that are outside the bounds of the diagram?

@jwvanderbeck coincidentally I'm looking at this code at the same time as you.  There's just a small typo in this patch and it's an easy fix.  Update FortunesAlgorithm.cs:
// if (edgeNode != null)
if (valid)
{
     edgeNode.Value.Left.AddEdge(edgeNode.Value);
     edgeNode.Value.Right.AddEdge(edgeNode.Value);
}

Basically, we should be filtering out any non-valid edges.  Cheers 🍻

Oh very nice.  I am filtering out the invalid edges on my side so not the end of the world, but I'll try that suggestion.  Less filtering in the end is always better!

Works like a charm with the edit from @grantamos thanks!


Unifies CLI output display and adds tabular display

This PR adds support for displaying list data as tabular output [see screenshots below]. Notice that the tabular outputs play well with the other options available on the CLI such as filtering, verbose output, and watching for updates. Only a subset of the API's returned data gets formatted as a table due to the limits of a terminal window but the fields we display can be tweaked (or processed as in the case of the datetime fields in the screenshots). For the full data to be parsed, the output needs to be formatted as either JSON or YAML. On all commands, if the output is specified as JSON, external tools (like JQ) can parse the output and pull specific fields if needed.
The general approach was to separate the Result and Renderer into distinct objects, and then manage both via a RequestRunner. The runner will execute a given callable and then render the result according to the various options (increased verbosity, willingness to poll, output format). A CompletionDetetector can be passed as an argument to the RequestRunner which is used to determine when a Result can be considered complete in the event that polling occurs. Endpoints that have produce list data (such as Flow-list) can also pass a DisplayFields object that are used to determine which fields are displayed for a given list item and how to display them.
This PR adds some auto parsing of yaml/json files, no longer requiring users to indicate what type of input they're providing. It also adds an example flow for creating a Run that will become INACTIVE due to ConsentsRequired. It also updates the Queues client to match changes made to the Queue update API endpoint.
Run log output:

Flow list output [with filtering]:

Run enumerate output [with options]:

Flow action-list output [with authentication]:

Nice!  Could user uuid be easily replace with user's auth identity (e.g. replace uuid with braumann@globus.org)?

@jimPruyne I finally got around to making updates from the review. Let me know how you're feeling about these changes and I can go ahead and push the green button

@jimPruyne I finally got around to making updates from the review. Let me know how you're feeling about these changes and I can go ahead and push the green button

Looks good! Let's schedule a 0.13 (?) release within the next day or so.


Upgrade SWC Version

Motivation
This brings in an upgraded version so that the version may be consistent with the 2.8.0 editor version which requires the same version of SWC to be used.

Don't merge yet I need to do more research.

Okay this is good to go :shipit:


[docs] Test API References

\cc @VasilyStrelyaev

\cc @inikulin

4 hours left until it's [semi]automatically merged

\cc @DevExpress/testcafe


Missing a License

Without a license a user cannot use a project as they might be sued! See here for a guide: https://gist.github.com/PurpleBooth/6f1ba788bf70fb501439, and here for an example https://github.com/nevir/readable-licenses/tree/master/markdown

fixed by #17


Unquoted values cannot contain spaces

Every .env package I know of for e.g. Node.js, and the OG .env Ruby gem parses the following file correctly:
ABC=foo bar

where $ABC would be foo bar, but it seems to not be the case for dotenv or dotenvy unless you quote the value (see https://github.com/foundry-rs/foundry/issues/2610)

Every .env package I know of for e.g. Node.js, and the OG .env Ruby gem parses the following file correctly:

Funnily, each implementation has their own interpretation of what it means to be correct. More on that below.
An example illustrating the differences between dotenv in Ruby, JS, and Rust
.env
A=foo bar
B="notenough
C='toomany''
export NOT_SET

Ruby:
require 'dotenv/load'  # loading will fail. `Line "export NOT_SET" has an unset variable`
# Output below is with the the fourth line removed.
puts ENV['A']  # foo bar
puts ENV['B']  # "notenough
puts ENV['C']  # toomany'

JS:
const result = require('dotenv').config()  // loading is fine
if (result.error) {
	throw result.error
}
console.log(process.env.A)  // foo bar
console.log(process.env.B)  // "notenough
console.log(process.env.C)  // toomany'

Rust:
use dotenvy::dotenv;  // or dotenv::dotenv

fn main() {
    dotenv().unwrap();  // every single line is a parsing error
}

The dotenv and dotenvy crates are stricter than the Ruby and Node implementations. I'm inclined to leave things as-is since the solutions for values with whitespace are well-understood, i.e. quoting and escaping.
I do think documentation illustrating these differences will be useful though and I will get on that!

dotenvs is an alternative Rust crate (uses nom to parse), which seems decent to reference.

It matches the JS output, except for toomany (which omits the trailing ').
I did notice it trips up on any valid line that has the C or unset export lines preceding it, no error raised which isn't good.

There's also the Rust project dotenv-linter, which might be relevant as a reference of what a linter considers valid? They have their own dotnet-lookup crate as another dotenv file parser, but presently  only for internal use instead of publishing it to share with the community.

I don't have anything against it being closed, up to the maintainers if they want to keep the behavior as-is or not


FP8 quantization of Llama 70B fails with OOM

System Info

I've tried both H100x1 and H100x2

Who can help?
@Tracin
Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction

Quantize Llama 70B model with LLaMAForCausalLM.from_hugging_face(      model_dir, dtype="bfloat16", quant_mode=QuantMode.from_description(use_fp8_qdq=True, use_fp8_kv_cache=True), mapping=Mapping()  ).
It fails with CUDA's OOM, during export_model_config in ammo package

Expected behavior
Successful quantization of Llama 70B model
actual behavior
Fails with OOM
additional notes
I've tried both TP=2 and TP=1 version, on both H100x1 and H100x2 machines. Thank you!

A BF16 LLaMA 70B  is about 140G, a FP8 LLaMA 70B is about 70G. So, the peak GPU memory consumption when doing FP8 quantizaton is more than 210G (there is also some activation memory occupation when doing calibration).
So we need a node with 4* H100 or 8 * H100 to run the quantization command. After quantization, 2 GPUs are okay to for building and run.

A BF16 LLaMA 70B is about 140G, a FP8 LLaMA 70B is about 70G. So, the peak GPU memory consumption when doing FP8 quantizaton is more than 210G (there is also some activation memory occupation when doing calibration).
So we need a node with 4* H100 or 8 * H100 to run the quantization command. After quantization, 2 GPUs are okay to for building and run.

it will be nice to document this in the https://github.com/NVIDIA/TensorRT-LLM/blob/main/examples/quantization/README.md file
users could pick up a right server to srart with...

Yes, we update the doc here: https://github.com/NVIDIA/TensorRT-LLM/tree/main/examples/llama#fp8-post-training-quantization

@QiJune i am using 4xH100 and doing llama-2 34b fp8 quantization but still i am getting OOM error


Case has not the correct indentation in a switch

Here is a failing testcase for PSR2 BracesFixerTest add to provideFixWhitespaceBeforeBraceCases
        return array(
            array(
                '<?php
    switch (n) {
        case label1:
            echo 1;
            echo 2;
            break;
        default:
            echo 3;
            echo 4;
    }',
                '<?php
    switch (n)
    {
     case label1:
        echo 1;
            echo 2;
            break;
        default:
            echo 3;
            echo 4;
    }',
            ),

version master
$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->in('src')
    ->files()
    ->name('*.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true)
    ->exclude('vendor')
;

return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::PSR2_LEVEL)
    ->fixers(array('unused_use', 'duplicate_semicolon'))
    ->finder($finder)
;

Does anyone have an update on this?  One of the issues referencing this was closed and declared not current (fair enough), but what is the current state of switch/ case blocks in php-cs-fixer?

An other failing test case:
before:
switch ($foo)
{
case 'bar': if (5) echo 6;
}

after:
switch ($foo) {
case 'bar': if (5) {
     echo 6;
 }
}

PHP-cs-Fixer now seems to ignore all content within a switch statement
<?php

class mySillyClass
{
public function mrMethod() {
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
}
}

becomes
<?php

class mySillyClass
{
    public function mrMethod()
    {
        switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
    }
}

or am I expecting too much?

If I remember correctly there were never support of adding indent to body of case (willing to add? go ahead! :+1: for it), yet no clue out of the box why case is not indented for { :/ I would say it shall do it, but don't remember was it ever able to. Are you willing to take a deeper look and maybe send a PR?

Any update or fix on this?

Nobody has proposed a PR yet, if you'd like to have a go that would be great!

related https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/2650

Can we not transport the function that indents switch statements from PHPCS? I think they got what we need here.
And +1 to add these feature. I poorly don't have the skill in PHP to add these by myself, so I hope someone will.

PHPCS is way different software used totally different solution in background (way of dealing with tokenization)

I have posted a $20 bounty for this issue to be fixed.
https://www.bountysource.com/issues/6600347-case-has-not-the-correct-indentation-in-a-switch

Fixed in #4884.


mod_wsgi installation fails

Hey all,
I've tried following the mod_wsgi instructions, but I was not able to get this working!
In the browser I see this:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

In the apache error logs I see:
[Sat Jan 16 18:15:56.788775 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]     from puppetboard.app import app as application
[Sat Jan 16 18:15:56.788839 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]   File "/usr/lib/python2.7/site-packages/puppetboard/app.py", line 88, in <module>
[Sat Jan 16 18:15:56.789221 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]     envs = environments()
[Sat Jan 16 18:15:56.789244 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]   File "/usr/lib/python2.7/site-packages/puppetboard/app.py", line 73, in environments
[Sat Jan 16 18:15:56.789293 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]     envs = get_or_abort(puppetdb.environments)
[Sat Jan 16 18:15:56.789312 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]   File "/usr/lib/python2.7/site-packages/puppetboard/utils.py", line 26, in get_or_abort
[Sat Jan 16 18:15:56.789383 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]     abort(e.response.status_code)
[Sat Jan 16 18:15:56.789397 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]   File "/usr/lib/python2.7/site-packages/werkzeug/exceptions.py", line 646, in __call__
[Sat Jan 16 18:15:56.789626 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023]     raise self.mapping[code](*args, **kwargs)
[Sat Jan 16 18:15:56.789713 2016] [:error] [pid 21692] [client <IP_ADDRESS>:44023] NotFound: 404: Not Found

This is my apache config:
<VirtualHost *:80>
    ServerName puppetboard.example.com
    WSGIDaemonProcess puppetboard user=apache group=apache threads=5
    WSGIScriptAlias / /var/www/puppetboard/wsgi.py
    ErrorLog /var/log/httpd/puppetboard.error.log
    CustomLog /var/log/httpd/puppetboard.access.log combined

    Alias /static /usr/lib/python2.7/site-packages/puppetboard/static
        <Directory /usr/lib/python2.7/site-packages/puppetboard/static>
        Satisfy Any
        Allow from all
    </Directory>

    <Directory /usr/lib/python2.7/site-packages/puppetboard/static>
        WSGIProcessGroup puppetboard
        WSGIApplicationGroup %{GLOBAL}
        Require all granted
    </Directory>
</VirtualHost>

Apache and mod_wsgi versions
[root@puppet:/etc/httpd/conf.d] #rpm -qa | grep mod_wsgi
mod_wsgi-3.4-12.el7_0.x86_64
[root@puppet:/etc/httpd/conf.d] #rpm -qa | grep httpd
httpd-2.4.6-31.el7.centos.x86_64
httpd-tools-2.4.6-31.el7.centos.x86_64

This is my OS version:
[root@puppet:~] #cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

What am I doing wrong, and how can I get this working?

Are you running PuppetDB 3.x? Versions 0.1.x only work with 3.0 and higher.
What environment(s) do you have available, by default if the default 'production' environment is not found a 404 is given, you can try switching environments from the menu to give you results.
-- Future versions will treat this situation better.

@bluethundr are you still experiencing this issue? Have you tried installing 0.1.2 and configuring a default environment?

I am having the same issue on CentOS 6.
I installed 0.1.2 and I'm still having the same issues.
I am running the latest PuppetDB and production is one of my environments.
If I understand the error correctly, does that mean the pypuppetdb client is failing to retrieve a list of environments from PuppetDB?

Sorry, I lied...

Closing due to lack of activity.

Sorry, missed your ping. I fixed my issue after a bunch of Apache configuration hassles.
I think it was an issue with running Puppetboard on the same server as some other strange services. I'm going to recreate it on it's own VM.


Fix two more build warnings

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area build
/area libscap-engine-modern-bpf
/area libpman
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Fix two more build warnings
Which issue(s) this PR fixes:
Special notes for your reviewer:
With this PR, I can build libs with -DBUILD_WARNINGS_AS_ERRORS, though without this option tons and tons of warnings remain
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gnosek
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [gnosek]

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

/milestone 0.11.0
Thank you! Fortunately, we are still in time for 0.11 final tag

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, gnosek
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,gnosek]

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

LGTM label has been added.  Git tree hash: 4d0d96a0c295df25af69b73f85cb9559c868fafb

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, gnosek, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,gnosek,jasondellaluce]

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


teach F# 4.0 compiler about future 4.1+ native intrinsics

In short, I recommend we incorporate this otherwise-harmless change to F# 4.0.
In this comment thread, we are quite concerned about the impact of the F# 4.0 library using new F# library metadata formats that would cause a failure-on-startup if FSharp.Core <IP_ADDRESS> is fed to an F# 3.1 compiler, regardless of whether the new NativePtr functions are actually used by user code or not.
It is getting harder to do much about F# 3.1 compiler behaviour, but we can at least make sure that the F# 4.0 compiler doesn't suffer the same problem. We can minimally do this by adding the necessary contstructs to the metadata format reader inn the F# 4.0 compiler.  These should reeally have been present from the start in all editions of the F# compiler anyway.

The actual concrete behavioural change this change induces is "If the compiler is given a component whose F# metadata includes inline functions which make use of the I_sizeof, I_initobj, I_initblk, I_cpobj or I_cpblk instructions, then the compiler won't fail on startup and will emit those instructions correctly"
It's hard to test, because no actual current component has F# metadata containing these instructions, and such components can't be authored by hand by user code.   But we do expect future iterations of the F# core library to contain these instructions.
The changes are simple and regular, and are exactly taken from Jack's PR which has been tested.

Applied.  Sorry, still can't figure out how to have GH mark this as "merged."


Regression: LinkedIn login broken in 3.1.6

Seems like we switched to using signed cookies in 3.1.6 for the OAuth State token, but are not decoding them as signed cookies. So the OAuth state doesn't match, and thus gets rejected with Invalid state token provided
Two questions:

Why'd we switch to signed cookies? I'm not sure if I see the benefit here.
We need to be decoding these cookies as signed cookies, or revert this change, as currently LinkedIn (and I'm guessing GitHub) login is broken with the authorization_code flow.

Thanks @edjiang , we'll get this fixed.  No specific reason for the signed cookies, just something we decided to to.

No problem =] Then should be an easy find/replace for req.cookie to req.signedCookies in some specific scenarios =]


Nitpick: Use auto for XrEventDataBuffer reinterpret_cast

In OpenXRTutorial::PollEvents() the assignments from reinterpret_cast of the XrEventDataBuffer can use auto. The reinterpret_cast already makes the type explicit.

XrEventDataEventsLost *eventsLost = reinterpret_cast<XrEventDataEventsLost *>(&eventData);
->
auto eventsLost = reinterpret_cast<XrEventDataEventsLost *>(&eventData);

Happy to create the merge request once I'm done with other changes.

Hi @pfontain, We discussed how best to use auto in this project and we decided that we wanted to make the code as explicit as possible to best reflect the usage of any OpenXR types as in this case.
Thank you for your feedback and pull requests.

I agree that type deduction shouldn't be overused (I usually try to follow Google's C++ Style Guide  https://google.github.io/styleguide/cppguide.html#Type_deduction) but I think in this specific case the reinterpret_cast already makes it explicit.
It might be worth it to create a document in the repository, I didn't find one yet, concerning code style for contributions with some of these types of decisions.
Thank you for the reply and maintaining the repository :)


Error 400 when saving programming

I have a Plex collection of movies with 95 entries I want to add to programming but when trying to save I get "Error saving programs. Request failed with status code 400". I tried turning up the logging level in my docker compose from the default of INFO to both DEBUG and even TRACE but I don't see anything in the logs at all when clicking save. I've narrowed it down to one entry but I have no idea why it's problematic - there's no special characters or anything, shows the correct info when clicking the "i" button in the programming list and plays fine through Plex. I can do without no problem, but is there a way to find out what the problem is?

Thanks for the report. Not sure why the logging isn't working. When i purposefully make a bad request, I get something like this on the server:
@tunarr/server:dev:     err: {
@tunarr/server:dev:       "type": "Error",
@tunarr/server:dev:       "message": "body/programs/1/duration Required",
@tunarr/server:dev:       "stack":
@tunarr/server:dev:           Error: body/programs/1/duration Required
@tunarr/server:dev:               at defaultSchemaErrorFormatter (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/context.js:93:10)
@tunarr/server:dev:               at wrapValidationError (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/validation.js:249:17)
@tunarr/server:dev:               at validate (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/validation.js:167:16)
@tunarr/server:dev:               at preValidationCallback (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/handleRequest.js:89:25)
@tunarr/server:dev:               at handler (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/handleRequest.js:73:7)
@tunarr/server:dev:               at /home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/contentTypeParser.js:212:9
@tunarr/server:dev:               at AsyncResource.runInAsyncScope (node:async_hooks:206:9)
@tunarr/server:dev:               at done (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/contentTypeParser.js:205:14)
@tunarr/server:dev:               at Parser.defaultJsonParser [as fn] (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/contentTypeParser.js:315:5)
@tunarr/server:dev:               at IncomingMessage.onEnd (/home/christian/Code/tunarr/node_modules/.pnpm/fastify@5.0.0/node_modules/fastify/lib/contentTypeParser.js:294:27)
@tunarr/server:dev:               at IncomingMessage.emit (node:events:518:28)
@tunarr/server:dev:               at IncomingMessage.emit (node:domain:488:12)
@tunarr/server:dev:               at endReadableNT (node:internal/streams/readable:1696:12)
@tunarr/server:dev:               at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
@tunarr/server:dev:       "statusCode": 400,
@tunarr/server:dev:       "code": "FST_ERR_VALIDATION",
@tunarr/server:dev:       "validation": [
@tunarr/server:dev:         {
@tunarr/server:dev:           "keyword": "invalid_type",
@tunarr/server:dev:           "instancePath": "/programs/1/duration",
@tunarr/server:dev:           "schemaPath": "#/programs/1/duration/invalid_type",
@tunarr/server:dev:           "params": {
@tunarr/server:dev:             "issue": {
@tunarr/server:dev:               "code": "invalid_type",
@tunarr/server:dev:               "expected": "number",
@tunarr/server:dev:               "received": "undefined",
@tunarr/server:dev:               "path": [
@tunarr/server:dev:                 "programs",
@tunarr/server:dev:                 1,
@tunarr/server:dev:                 "duration"
@tunarr/server:dev:               ],
@tunarr/server:dev:               "message": "Required"
@tunarr/server:dev:             }
@tunarr/server:dev:           },
@tunarr/server:dev:           "message": "Required"
@tunarr/server:dev:         }
@tunarr/server:dev:       ],
@tunarr/server:dev:       "validationContext": "body"
@tunarr/server:dev:     }

In any case, can you add the singular bad program, attempt to save, and then grab the failing request body that is sent to Tunarr via the browser dev tools and paste here?
The 400 generally just means there is some field that Tunarr is expecting that is missing

Weird, I must have been impatient or something because the logging appears to be working fine now after sitting for a while. Her's the error from the log:
2024-10-15T16:21:21.521Z [error]: POST /api/channels/:id/programming
    err: {
      "type": "ZodError",
      "message": "[\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"number\",\n    \"received\": \"undefined\",\n    \"path\": [\n      \"programs\",\n      1,\n      \"originalProgram\",\n      \"program\",\n      \"addedAt\"\n    ],\n    \"message\": \"Required\"\n  }\n]",
      "stack":
          ZodError: [
            {
              "code": "invalid_type",
              "expected": "number",
              "received": "undefined",
              "path": [
                "programs",
                1,
                "originalProgram",
                "program",
0=a 1=d 2=d 3=e 4=d 5=A 6=t
              ],
              "message": "Required"
            }
          ]
              at get error [as error] (file:///tunarr/server/build/bundle.js:231943:23)
              at _ZodDiscriminatedUnion.parse (file:///tunarr/server/build/bundle.js:232046:19)
              at file:///tunarr/server/build/bundle.js:218834:34
              at validateParam (file:///tunarr/server/build/bundle.js:181300:41)
              at validate (file:///tunarr/server/build/bundle.js:181331:22)
              at preValidationCallback (file:///tunarr/server/build/bundle.js:181537:29)
              at handler (file:///tunarr/server/build/bundle.js:181523:11)
              at file:///tunarr/server/build/bundle.js:196785:13
              at AsyncResource.runInAsyncScope (node:async_hooks:206:9)
              at done (file:///tunarr/server/build/bundle.js:196778:18)
              at Parser3.defaultJsonParser [as fn] (file:///tunarr/server/build/bundle.js:196871:9)
              at IncomingMessage.onEnd (file:///tunarr/server/build/bundle.js:196850:33)
              at IncomingMessage.emit (node:events:519:28)
              at endReadableNT (node:internal/streams/readable:1696:12)
              at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
      "aggregateErrors": [
        {
          "type": "Object",
          "message": "Required",
          "stack":

          "code": "invalid_type",
          "expected": "number",
          "received": "undefined",
          "path": [
            "programs",
            1,
            "originalProgram",
            "program",
0=a 1=d 2=d 3=e 4=d 5=A 6=t
          ]
        }
      ],
      "issues": [
        {
          "code": "invalid_type",
          "expected": "number",
          "received": "undefined",
          "path": [
            "programs",
            1,
            "originalProgram",
            "program",
0=a 1=d 2=d 3=e 4=d 5=A 6=t
          ],
          "message": "Required"
        }
      ],
      "name": "ZodError",
      "statusCode": 400,
      "code": "FST_ERR_VALIDATION",
      "validationContext": "body"
    }

and here's the body for that one:
{
    "type": "manual",
    "lineup": [
        {
            "duration": 5620128,
            "index": 0
        }
    ],
    "programs": [
        {
            "id": "plex|Home Plex NAS|35942",
            "persisted": false,
            "originalProgram": {
                "sourceType": "plex",
                "program": {
                    "ratingKey": "35942",
                    "key": "/library/metadata/35942",
                    "guid": "plex://movie/5d77685be870fd001f19e78c",
                    "slug": "bloody-new-year",
                    "studio": "Lazer Entertainment",
                    "type": "movie",
                    "title": "Bloody New Year",
                    "librarySectionTitle": "Movies",
                    "librarySectionID": 5,
                    "librarySectionKey": "/library/sections/5",
                    "contentRating": "R",
                    "summary": "Six shipwrecked English teenagers take refuge in an island hotel that is decorated for New Years. The problem is, it's early summer, and soon enough, even the walls themselves are striking out against them…",
                    "audienceRating": 2.4,
                    "year": 1987,
                    "tagline": "Should old acquaintance be forgot? Or just brutally murdered.",
                    "thumb": "/library/metadata/35942/thumb/1727481847",
                    "art": "/library/metadata/35942/art/1727481847",
                    "duration": 5620128,
                    "originallyAvailableAt": "1987-05-11",
                    "updatedAt":<PHONE_NUMBER>,
                    "audienceRatingImage": "rottentomatoes://image.rating.spilled",
                    "chapterSource": "media",
                    "Media": [
                        {
                            "id": 38036,
                            "duration": 5620128,
                            "bitrate": 11235,
                            "width": 1920,
                            "height": 1040,
                            "aspectRatio": 1.85,
                            "audioChannels": 2,
                            "audioCodec": "ac3",
                            "videoCodec": "hevc",
                            "videoResolution": "1080",
                            "container": "mkv",
                            "videoFrameRate": "24p",
                            "videoProfile": "main 10",
                            "hasVoiceActivity": false,
                            "Part": [
                                {
                                    "id": 78121,
                                    "key": "/library/parts/78121/0/file.mkv",
                                    "duration": 5620128,
                                    "file": "/share/Plex/Media/Movies/Bloody New Year (1987)/Bloody New Year (1987).mkv",
                                    "size":<PHONE_NUMBER>,
                                    "container": "mkv",
                                    "videoProfile": "main 10"
                                }
                            ]
                        }
                    ],
                    "Image": [
                        {
                            "alt": "Bloody New Year",
                            "type": "coverPoster",
                            "url": "/library/metadata/35942/thumb/1727481847"
                        },
                        {
                            "alt": "Bloody New Year",
                            "type": "background",
                            "url": "/library/metadata/35942/art/1727481847"
                        },
                        {
                            "alt": "Bloody New Year",
                            "type": "clearLogo",
                            "url": "/library/metadata/35942/clearLogo/1727481847"
                        }
                    ],
                    "UltraBlurColors": {
                        "topLeft": "4e1a17",
                        "topRight": "af1203",
                        "bottomRight": "903d46",
                        "bottomLeft": "af1304"
                    },
                    "Genre": [
                        {
                            "tag": "Horror"
                        },
                        {
                            "tag": "Mystery"
                        }
                    ],
                    "Country": [
                        {
                            "tag": "United Kingdom"
                        }
                    ],
                    "Collection": [
                        {
                            "tag": "Halloween Movies"
                        }
                    ],
                    "Director": [
                        {
                            "tag": "Norman J. Warren"
                        }
                    ],
                    "Writer": [
                        {
                            "tag": "Norman J. Warren"
                        },
                        {
                            "tag": "Hayden Pearce"
                        }
                    ],
                    "Role": [
                        {
                            "tag": "Suzy Aitchison"
                        },
                        {
                            "tag": "Nikki Brooks"
                        },
                        {
                            "tag": "Colin Heywood"
                        }
                    ],
                    "serverName": "Home Plex NAS",
                    "serverId": "7ddda31f-0ecc-4232-87e1-ef0a7aaa9fce"
                }
            },
            "duration": 5620128,
            "externalSourceName": "Home Plex NAS",
            "externalSourceType": "plex",
            "externalKey": "35942",
            "uniqueId": "plex|Home Plex NAS|35942",
            "type": "content",
            "subtype": "movie",
            "summary": "Six shipwrecked English teenagers take refuge in an island hotel that is decorated for New Years. The problem is, it's early summer, and soon enough, even the walls themselves are striking out against them…",
            "title": "Bloody New Year",
            "externalIds": [
                {
                    "type": "multi",
                    "source": "plex",
                    "sourceId": "Home Plex NAS",
                    "id": "35942"
                }
            ],
            "originalIndex": 0,
            "startTimeOffset": 0
        }
    ]
}

so if I read the error and body correctly, it seems this one is missing a value for "addedAt". Any idea how to fix that? I assume it's something from the Plex side but given the name I would think it should be an auto generated value

It looks like Plex does indeed have the addedAt value, so I'm not sure where the break down might be. Here's the XML from the Plex side for that part
<Related>
<Hub hubKey="/library/metadata/38639" key="/library/sections/5/all?type=1&tagId=241714&sort=originallyAvailableAt,year:nullsLast" title="Halloween Movies Collection" type="movie" hubIdentifier="collection.related.5.1" context="hub.collection.related" size="1" more="1" style="shelf">
<Video ratingKey="38639" key="/library/metadata/38639" guid="plex://movie/5f40c1e9c63b480040f5ef2b" slug="the-visit-71" studio="K-58 Films" type="movie" title="The Visit" titleSort="Visit" summary="A dying woman gets a ghostly visit." audienceRating="9.0" tagline="A dying woman gets a ghostly visit." thumb="/library/metadata/38639/thumb/1727518366" art="/library/metadata/38639/art/1727518366" duration="5641856" addedAt="1456642538" updatedAt="1727518366" audienceRatingImage="imdb://image.rating" chapterSource="media">

Awesome, thanks for the details. Interesting that the JSON from Plex is missing addedAt but the XML has it. In any case, Tunarr doesn't require it, so I'll just mark it optional.


Remove training function

Remove training part from NN.py file

Removed the training part from NN.py and also removed training csv files.


configure_tensorflow.sh broken

"The C++ Minigo port uses version 0.11.1 of the Bazel build system"
Configuring tensorflow
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/home/eights/.cache/bazel/_bazel_eights/install/6338e49942acfd59d75bbd9bec01f065/_embedded_binaries/A-server.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
You have bazel 0.11.1 installed.
Please upgrade your bazel installation to version 0.15.0 or higher to build TensorFlow!
Configuration finished
Building tensorflow package
.................
WARNING: Config values are not defined in any .rc file: opt
ERROR: /tmp/minigo_tf/third_party/gpus/cuda_configure.bzl:119:1: file '@bazel_tools//tools/cpp:windows_cc_configure.bzl' does not contain symbol 'setup_vc_env_vars'
ERROR: error loading package '': Extension file 'third_party/gpus/cuda_configure.bzl' has errors
ERROR: error loading package '': Extension file 'third_party/gpus/cuda_configure.bzl' has errors
INFO: Elapsed time: 1.694s
FAILED: Build did NOT complete successfully (0 packages loaded)

upgraded to 0.17.2
NameError: global name 'cuda_toolkit_path_full' is not defined

ok, we should update our readme :)  We've gotten it working with 0.17.2 and TF 1.11 recently.
re: the cuda path, that might be a bug on tensorflow proper.

at HEAD I'm getting errors related to missing tensorrt files, this doesn't seem to be documented in the README
bazel test --define=board_size=9 cc/...  &&  bazel test cc/...
FAIL: //cc/dual_net:dual_net_test (see /home/eights/.cache/bazel/_bazel_eights/7a6714f43f855c94d0ec539c2bb695f8/execroot/__main__/bazel-out/k8-fastbuild/testlogs/cc/dual_net/dual_net_test/test.log)
ERROR: missing input file '@local_config_tensorrt//:tensorrt/include/NvUffParser.h'
ERROR: /home/eights/.cache/bazel/_bazel_eights/7a6714f43f855c94d0ec539c2bb695f8/external/local_config_tensorrt/BUILD:16:1: @local_config_tensorrt//:nvparsers: missing input file '@local_config_tensorrt//:tensorrt/include/NvUffParser.h'
ERROR: /home/eights/.cache/bazel/_bazel_eights/7a6714f43f855c94d0ec539c2bb695f8/external/local_config_tensorrt/BUILD:16:1 1 input file(s) do not exist

I noticed that this morning and fixed it in #510.
cc/dual_net:trt_dual_net needed a manual tag to avoid it being compiled when you run bazel build cc/...


Implemented a skin browser

Implemented a skin browser and made it use the steam command instead of the steam executable.

Looks really good, thanks so much! I'll look into it more later.
Why are some of these methods marked as obsolete?

made it use the steam command instead of the steam executable.

Also was there a specific reason for this change? I'm not inherently against it, but if we have the path to the executable why not just use that? Does just calling steam work on every platform? I'm not certain.

made it use the steam command instead of the steam executable.

Also was there a specific reason for this change? I'm not inherently against it, but if we have the path to the executable why not just use that? Does just calling steam work on every platform? I'm not certain.

Steam wasn't launching correctly for me, it crashed whenever Steam was launched through SFP. Changing that to the command fixed that.

Does just calling steam work on every platform? I'm not certain.
It should work on every platform as long as it was installed correctly

Just pulled it locally and it works great.
My main concern is this https://us-central1-bettersteam-87b59.cloudfunctions.net/api_v2/api_v2 api, is this something you spun up yourself? Ideally these contents would also just be hosted on github or somewhere that people can easily submit their own skins to be added.
Also just minor things would be I think the content of the page should have margins on the side so it doesn't start immediately after the navigation pane, and I think there should be a button to switch to the theme directly after you download it rather than having to download it and then go to settings to enable it.

Just pulled it locally and it works great.
My main concern is this https://us-central1-bettersteam-87b59.cloudfunctions.net/api_v2/api_v2 api, is this something you spun up yourself? Ideally these contents would also just be hosted on github or somewhere that people can easily submit their own skins to be added.
Also just minor things would be I think the content of the page should have margins on the side so it doesn't start immediately after the navigation pane, and I think there should be a button to switch to the theme directly after you download it rather than having to download it and then go to settings to enable it.

Grabbed it from Millennium for testing, change it to smth else. The json part of the skin browser should be easy to change

So I'll need to put a bit of work into spinning up a backend solution for this before I can do a release with it but I'll merge it into its own branch for now

Alright if u will need some help drop me a discord message at ._._v0id_._.


Transformations clarification

https://www.evernote.com/l/AA0DwGB63c5E_LCFHG3OsIlNd9lb2GJeCmw

Hi Marcus,
I think it is quite clear if your read the whole context around. A table references a database transformation, file R/Python/OpenRefine. The docs say: This data is made available as a table for SQL, or as a CSV file for R and Python.
Does it make sense?

well, after you point that out i guess so.
but if I'm reading it from a position of complete KBC newbie, i don't think that is very clear. even in your explanation there, you highlighted the words "table" and "file" ... so even you thought it required extra emphasis (or extra explanation).
Perhaps it's written accurately. but as we are demo'ing customers, it seems that this area is an area they are not super clear on what's going on (what is mapping, etc), so i was re-looking over the docs to see if we can improve it or describe it in the best way.

To be honest I think ppl get confused for a bit that the table gets put into a separate DB ... so the whole mapping thing gets confusing because before u understand mapping, u have to understand on a more macro level what the hell transformations are doing.      Maybe a summary of what's happening would help. I think a diagram similar to attached, summarizes the four essential parts of transformations.      The four parts are, Storage, transformation DB, mappings, and queries.

@ondrejhlavacek  https://help.keboola.com/manipulation/transformations/#overview ?

more or less done in 952ffeac1521483aa84405620158e925429834f1


Error: PR does not contain metadata, nothing to do.

On this PR: https://github.com/aio-libs/aiohttp-demos/pull/141
I'm getting Error: PR does not contain metadata, nothing to do.
What am I doing wrong?

It would be great if this action supported the standard dependabot configuration options, allowing for prefixes to be applied.

This line is the issue:
https://github.com/dependabot/fetch-metadata/blob/27341dbf0ea39493f6b2be1a0c6f4f3270622003/src/dependabot/update_metadata.ts#L10
It needs updating to support a prefix text.

I agree with @somewhatabstract - this is caused by https://github.com/dependabot/dependabot-core/issues/4652 and cannot be fixed in fetch-metadata

@Dreamsorcerer Unfortunately this isn't something we can fix in this project, @mwaddell is correct that we have a downstream issue in core to look at how we handle refreshing commit messages.


Work In Progress - Rearranging GUI for usability.

Hi @aymanhab. I am rearranging the GUI and this is what I have right now. I am trying to make it responsible so it looks good in phones, tablets and desktop.
Desktop:

Tablets:

Phones:

The only current GUI problem is with phones, where the slider does not fit with the buttons, so I have separated it into two different rows. Should I reduce the height of the viewer, so the two rows fit on phones?
Also, there is an issue with the animations only loading when the animation side bar is opened, I am working on it right now.

@AlbertoCasasOrtiz Also wanted to mention regarding the animation sliders/GUI if you can, or let me know when done and I'll tackle:

Hide the speed controls likely rarely used for typically short animations and occupies space
Remove the frame number and replace it with time, may do something like youtube playback where we show next to the play button: a text that keeps updating e.g.1.5:4.5 to indicate time of 1.5 seconds of a 4.5 long animation time.
What do you think?

Can you confirm that the animation button has been removed from the side bar? Thank you

Hi @aymanhab, the animation button is still in the sidebar because the animation selection combo box is still there. Should we move it to the bottom bar too?

Thanks @AlbertoCasasOrtiz I can't get the slider or combobox for animations activated even for the builtin .trc files on open, am I doing something wrong here? It gets activated only after I open/close the side panel, is this expected?
Here's a link to the deployed branch just in case:
https://rearrange-gui.d7iaa9a9lxtm6.amplifyapp.com/
Otherwise looks great. Thanks

@aymanhab I just solved this. Looks like the animations array was not declared as observable, so every useEffect depending on it was not being triggered when it was changed.

I'll approve and merge into dev for use in demo, we can address the size issue later #145


Harrison/deeplake new features

Look like Deeplake need to be upgraded to avoid this error: "There is no current event loop in thread 'ScriptRunner.scriptThread'"


How to deserialize fetch response from non-Remix API

Is it possible to use this library to deserialize a fetch response from an API endpoint that is not a Remix loader or action?
In other words, to use this library on a Response object, to deserialize the typedjson Response that was retuned?

@kiliman thanks for you reply. This works, but I am getting a type error when passing json to deserialize:
Argument of type 'unknown' is not assignable to parameter of type 'TypedJsonResult'.

If I then add generic type argument to response.json, eg res.json<{foo: string}>(), I get the following type error:
Type '{ foo: string; }' has no properties in common with type 'TypedJsonResult'.

@kiliman Thanks, that works.
By the way, if using this approach with a remix loader to return the payload (say you are using fetch to fetch the loader), then the payload object type is not being infered with typeof loader, eg:
export async function loader({ request }: LoaderFunctionArgs) {
  return serialize({ foo: 'bar' });
}

type MyLoader = ({ request }: LoaderFunctionArgs) => Promise<TypedJsonResult>

here, MyLoader type is inferred as type MyLoader = ({ request }: LoaderFunctionArgs) => Promise<TypedJsonResult>.
However, if you use typedjson to serialize the response, the payload stucture can be inferred correctly.


PayloadBodyChecker documentation

Hello,
The PayloadBodyChecker appears to have a number of undocumented options (looking at the source code). It would be helpful to have these options documented, including the recipe file.
Use-case:
In my testing, it appears that the default settings for the payload body checker result in trying a low number of payload combinations, often ever sending a single value for most of the body parameters.
While it is often infeasible to try every possible combination, my thought it would be good to try a few fuzzed values for each parameter.
It appears to be possible to have the checker try more combinations via the settings. For example, this recipe does try other values for all of the body parameters, but it is too far in the other direction (making ~12000 requests vs. 58 with the defaults) and it could still just be exhaustively checking up to a (much higher) limit.
Thus, having the settings documented would be helpful.
Thanks!

@JoshuaEN Thank you for your feedback. The algorithms and techniques used in the PayloadBodyChecker are described in this paper: Intelligent REST API Data Fuzzing (FSE'2020) https://patricegodefroid.github.io/public_psfiles/fse2020.pdf
Most of this checker's settings are discussed in that paper.
Since there are many(!) possible setting configurations, the default settings roughly match what was found as the 'optimal' combination in the study described in that paper. But many other settings are indeed possible.
(Minimally, we should clarify the points above in the on-line documentation...)
Just out of curiosity, did you find more bugs with your custom recipe compared to the default one for your API/service under test?
Thanks again!

@PatGod Thank you for the link, it was very helpful in understanding not just what features are available, but why they are useful.

Just out of curiosity, did you find more bugs with your custom recipe compared to the default one for your API/service under test?

No. I tried the default, the recipe I linked (which I now realize is rather flawed), and a few others built around the recommendations from that document with larger value_max_combination values. None found any bugs in the API I'm testing.
Having read the document, it is now my understanding that the payload body checker's intent is not to do valid value fuzzing (e.g. trying different valid values for an enum parameter), which is what I was trying to do.
Thanks again for your help!


[Proposal] Send messages sequentially to the user, within one .reply()/.replyWithTyping() call.

As for now, we have two options to send messages sequentially, namely:

Original version: by chaining messages with callbacks (example below).

bot.reply(message, "text 1", (err, res) => {
  // handle response 1
}, () => {
  bot.reply(message, { attachment: {...} }, (err, res) => {
    // handle response 2
  }, () => {
    bot.reply(message, "text 2", (err, res) => {
      // handle response 3
    })
  })
})

Promisified version: by chaining messages with then (example below).

bot.reply(message, "text 1")
  .then(() => bot.reply(message, { attachment: {...} }))
  .then(() => bot.reply(message, "text 2"))

Make it possible to send messages sequentially, such as:
// Callback-based.
bot.reply(
  message,
  ["Text 1", attachment: {}, "Text 2"],
  (err, results) => {
    const [res1, res2, res3] = results
  }
)

// Promise-based.
bot.reply(
  message,
  ["Text 1", attachment: {}, "Text 2"]
)
.then(results => {
  const [res1, res2, res3] = results;
})

Possible solutions:
Solution 1:
Patch the reply and replyWithTyping with replyThunk helper function, without introducing any changes to the library.
Promisify and patch .reply() and .replyWithTuping() with replyThunk helper function.
bot.reply = replyThunk(promisify(bot.reply));
bot.replyWithTyping = replyThunk(promisify(bot.replyWithTyping));

Helper function that patches the native BotKits .reply() and .replyWithTyping() functions:
const replyThunk = reply => (message, input) => {
  if (Array.isArray(input)) {
    const results = [];
    // Send messages sequentially one by one.
    return input.reduce(
      (promise, msg) =>
        promise.then(() =>
          reply(message, msg)
            .then(res => results.push(res))
        ),
      Promise.resolve(null)
    ).then(() => results);
  }

  return reply(message, input);
};

Solution 2:
Introduce this change in BotKit and support sequential message sending.
Thoughts?

Hey, @peterswimm, didn't got any response on this issue for quite a long :( If this idea doesn't make sense then let's close this issue to keep the issues list more uptodate. Otherwise, would be cool to discuss 😃


updated grammar for tsx

Hello @basarat! Yesterday i fixed #666, but it breaks
this grammar supports typescript (shameless copy from  sublime-typescript it's better then babel grammar because for typescript :)
Please, check

@stepancar awesome ... I've been meaning to be lazy and just let MS handle the grammar... how are you doing the conversion ... can you document the steps so I can keep it updated? :rose:

document the steps? I just downloaded sublime-typescript grammar , then converted to json usung this tool then converted to cson using thist tool then just puted to atom-typescript, then smiled))

Released with https://github.com/TypeStrong/atom-typescript/releases/tag/v7.4.4 :rose:

Colors (and tokens) are bit different between tsx and ts :

:-/ Guess we might need to change a few token scope names

If you generated one from Sublime, why not just do the other too? Or has there been a lot of custom improvements over Sublime? I'm wondering, also, if someone could bring this into a common core for grammars in TypeScript to avoid this kind of duplicate work.

I'm wondering, also, if someone could bring this into a common core for grammars in TypeScript to avoid this kind of duplicate work.

Agreed ... we have very little custom work ... and I moved that up the top : https://github.com/TypeStrong/atom-typescript/blob/729b5522cc17fc84511c05ebb5ae1812f3ec4b00/grammars/typescript.cson#L12-L80
But I don't want to move .ts grammar over till everyone is happy with the token names in .tsx grammar (which we just pushed/released)

@basarat,
as i understand you should commit your ts grammar changes
to tsx grammar too (for tsx highlighting)

I've been meaning to be lazy and just let MS handle the grammar

&

I'm wondering, also, if someone could bring this into a common core for grammars in TypeScript to avoid this kind of duplicate work.

Did MS have plans to handle grammar?

Did MS have plans to handle grammar?

Not that I know of, but we can always ask. If converting is as simple as a basic transform, then we can probably look at automating the custom patches and contributing syntax highlighting patches upstream instead - otherwise atom-typescript will continue diverging anyway.


Importing segmentation mask into anndata and strange sq.pl.spatial_segment results

I have several images that I have successfully imported into image containers, along with their respective whole cell segmentation masks that was generated elsewhere (mesmer). I have separately generated anndata objects using extracted data from these segmentation masks (quantification is done outside of squidpy).
I am able to add the images from the containers back into the anndata objects, but I have no idea how to add the segmentation mask back into same anndata objects, and do plotting as shown in the tutorial.
I looked through all the examples, and couldn't find any info. all the example data already have segmentation masks built into the data object. Some direction and documentation would be much appreciated.

I was able to get the segmentation mask to load into anndata and plot somewhat successfully, after looking at data types and structure of the provided data.
However, I am getting some very strange behavior with sq.pl.spatial_segment. Firstly, the crop_coord documentation I believe is wrong. Instead of [left, right, top, bottom], it seems to be [x1, y1, x2, y2] where (x,y) 1 and 2 are top left and bottom right corner of the crop. I deduced this by looking at the tutorial usages.
When I plot the entire image, the segmentation masks and the image seem to align reasonable okay. however, when I use crop_coord, the background image becomes misalign with the segmentation mask. I set scaling factor to 1 when I imported the image.
Not only that, when I tried to plot values of the cells associated with the mask, they seem to change, depending on how I crop the image! I haven't tried categorical values yet, but this is odd, to say the least.

Hi @aandytu ,
apologies for late reply. for understanding how to import image and segemntation into anndata, this tutorial might be helpful https://squidpy.readthedocs.io/en/latest/tutorials.html#advanced-tutorials
for the plotting, I feel this is a but with the cropping function inside plotting. I am afraid I don't have time to fix it in the next weeks...

Hi @aandytu
I don't think this method can be robustly used for all spatial omics technologies anymore and it will also be deprecated eventually because plotting and visualization of spatial omics data is now done with spatialdata-plot and napari-spatialdata. I would recommend using those tools for plotting the segmentation mask on top of spatial omics data.


SDC-SyN: Improve handling the regularizing prior

Right now, distortions are constrained to the phase-encoding axis, but gradients are computed in all directions (and then the non-PE directions are dropped).
Improve the config of antsRegistration to compute and weight gradients only on the PE direction.
Paging @mattcieslak and @cookpa on this one too.

The new API handles the most immediate consequence of this problem by deobliquing images before registration with ANTs. Although I believe this is not exactly the same solution, should get us going pretty far along. Please reopen if the implementation of this is still needed.


[Aio] Fix the emtpy response handling in streaming RPC

A user trying out asyncio found our API doesn't work with simple streaming ping-pong case. Like:
async def async_client_hangs():
  async with grpc.aio.insecure_channel('...') as channel:
    await channel.channel_ready()
    stub = test_pb2_grpc.TestStub(channel)

    stream = stub.Call()
    await stream.write(test_pb2.EmptyRequest())
    # Getting test_pb2.EmptyResponse()
    _ = await stream.read()
    # Never reached here!
    print('got response!')

It's indeed a bug. We have test cases guarding ping-pong streaming RPC usages, but the message is always non-empty. In the script above, if we add any content in the response, everything will be working again.
Beneath the hang, the empty ProtoBuf message serialized to b'', which being treated as None or "no message received something wrong must happened in lower layer". While the upper layer is waiting the none-existing error to propagate, hence hanged.
The fix is adding is not None to the if condition. This PR also added test cases to unary-stream RPC and stream-stream RPC.

Known failures: https://github.com/grpc/grpc/issues/24803


Add auto retrieve details

Changed add command to only require module code field (tags still optional)
Check whether module code is NUSMods-valid, prevents addition if module does not exist
Added Module Title class
Add module automatically retrieves module details from NUSMods
Made duplicate modules be detected by module code only
Included title field to json files

Closes #110
More to be done:

Improve/add tests
Change edit command to edit {module code} instead of edit {index} as changes made to add command affects edit command
Include Module Title in GUI module list card

Codecov Report

Merging #111 into master will decrease coverage by 0.01%.
The diff coverage is 74.41%.

@@             Coverage Diff              @@
##             master     #111      +/-   ##
============================================
- Coverage     74.12%   74.10%   -0.02%
- Complexity      487      496       +9
============================================
  Files            83       85       +2
  Lines          1461     1514      +53
  Branches        152      157       +5
============================================
+ Hits           1083     1122      +39
- Misses          306      314       +8
- Partials         72       78       +6

Impacted Files
Coverage Δ
Complexity Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)
8.00 <0.00> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
20.00% <0.00%> (ø)
1.00 <0.00> (ø)

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...u/address/logic/ValidNusmodsModuleCodeChecker.java
60.00% <60.00%> (ø)
2.00 <2.00> (?)

...n/java/seedu/address/model/module/ModuleTitle.java
70.00% <70.00%> (ø)
5.00 <5.00> (?)

...a/seedu/address/logic/parser/AddCommandParser.java
80.95% <75.00%> (-19.05%)
4.00 <0.00> (-1.00)

...in/java/seedu/address/logic/parser/ParserUtil.java
90.32% <75.00%> (-5.84%)
11.00 <1.00> (+1.00)
:arrow_down:

...c/main/java/seedu/address/model/module/Module.java
94.44% <84.61%> (-2.33%)
16.00 <1.00> (ø)

...java/seedu/address/logic/commands/EditCommand.java
96.77% <100.00%> (+0.34%)
12.00 <0.00> (ø)

.../seedu/address/logic/parser/EditCommandParser.java
91.30% <100.00%> (ø)
9.00 <0.00> (ø)

... and 4 more

Continue to review full report at Codecov.

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


How do we define Sequential and Random Reads in our workloads

Hi Guys, am Benchmarking Cassandra Database with YCSB.
My test is against (4kb transfersize, 32Queuedepth, 100% sequential Reads).
I took a look into workloads file, am thinking 'Fieldlength' is similar to 'transfersize' in my case, workloadc is 100%reads, but how to specify sequential reads, is "fieldlengthdistribution=uniform" is for sequential reads. Do the above assumptions correct or do we have any other element to satisfy my requirement? @busbey @levaphenyl

As an experiment, you could try insertorder=ordered and requestdistribution=uniform. In that case, both load and run phase should operate on the keys in sequential order.
See: https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties
Note that is not really the same as doing sequential block I/O. When you are testing a DB server, the actual layout of data on disk is always going to be controlled by the DB server and the underlying filesystem. Using insertorder=ordered will probably encourage the DB to use more sequential I/O, but I would ask what you're really trying to learn from this test.

Thanks for that suggestion.
In general, any SSD drive can have a greater number of sequential read operations than random read operations, so I would like to showcase my drives with higher IOps, that what I need to try.
Anyways, I will try that and compare the results with the other tests.
And one more thing, while loading workload data, is there any difference in loading workloada, workloadb or any other workload to another, or every workload acts similar as some random data. I mean does that really make difference to load one workload and testing different workloads on the same workload compare to going with that particular workload load with that particular workload run.
Thanks in Advance.
Anugnu

And one more thing, while loading workload data, is there any difference in loading workloada, workloadb or any other workload to another, or every workload acts similar as some random data. I mean does that really make difference to load one workload and testing different workloads on the same workload compare to going with that particular workload load with that particular workload run.

The "Core Workloads", aka Workload A-F, all handle the load phase the same. So for those 6 specific workloads it doesn't matter which you use. (let me know if I should make this clearer in the wiki page on running the core workloads)

Sooo Thanks @busbey @twblamer


update loki-values file

Update loki-values chart for log retention and compaction to retain logs over a specific period

Can one of the admins verify this patch?


Investigate effect of RESTFormatter.to_string return type

Fixes #10222
Status
I think we are ready!
Description
Trying not to force RESTFormatter.to_string to return bytes.
We have not seen any problem related to this, but some investigation is always desirable.

[x] how does other unittests react to this cange?

no new failures in both py2 and py3
This is strange: i am not able to reproduce the error described in #10117 that sparked the opening of #10222

[ ] why is RESTFormat_t.RESTFormatTest.testSupportedFormat not failing? (this is the only unittest that uses RESTFormatter.to_string in RESTFormat_t.py)

Stacktrace of when RESTFormatter.RESTFormatter.to_string is called [1]
Options

"if aint broke, dont fix it"
since the method is called to_string, since we are moving to py3, we can just return py3 str. Since the unittests do not fail, this should be a viable option

Solution: Since we have not been able to replicate the error, we drop the conversion in the last line, we force every type that is not GeneratorType, list, dict, bytes to be stringyfied with str(data) (unicode in both py2 and py3), we  properly decode bytes to unicode and remove the comment
        # Do not be misguided by the function name, this must return bytes,
        # otherwise the unit test
        # testSupportedFormat (WMCore_t.WebTools_t.RESTFormat_t.RESTFormatTest)
        # fails with "ValueError: Page handlers MUST return bytes.
        # Use tools.encode if you wish to return unicode."

Is it backward compatible (if not, which system it affects?)
yes
Related PRs
See this comment: https://github.com/dmwm/WMCore/pull/10117#discussion_r555779338
External dependencies / deployment changes
nope
more info
[1]
How is RESTFormatter.RESTFormatter.to_string called, obtained with pdb when running RESTFormat_t.RESTFormatTest.testSupportedFormat:

RESTApi.RESTApi.default https://github.com/dmwm/WMCore/blob/8c73e7073fd8928326884e3d32fd9c806dcb7429/src/python/WMCore/WebTools/RESTApi.py#L79
RESTApi.RESTApi._buildResponse https://github.com/dmwm/WMCore/blob/8c73e7073fd8928326884e3d32fd9c806dcb7429/src/python/WMCore/WebTools/RESTApi.py#L104
RESTApi.RESTApi._formatResponse https://github.com/dmwm/WMCore/blob/8c73e7073fd8928326884e3d32fd9c806dcb7429/src/python/WMCore/WebTools/RESTApi.py#L149
RESTFormatter.RESTFormatter.format  https://github.com/dmwm/WMCore/blob/8c73e7073fd8928326884e3d32fd9c806dcb7429/src/python/WMCore/WebTools/RESTFormatter.py#L91
RESTFormatter.RESTFormatter.to_string

Thank you for the prompt fix, Dario.


misc: add some documentation about context

A little PR to add some info about Context in the book, linked to this issue https://github.com/async-graphql/async-graphql/issues/613

Oh it seems there is an issue with tests

Thanks you so much! 👏🏻

Oh it seems there is an issue with tests

This is my problem, I will solve it. 😁