File path is relative instead of complete

Using the hub plugin we get complete file paths for the code:
file://[hostname]/home/[user]/[folder]/work/[repo]/
But using the gradle plugin we only get a relative path:
mvn:/[folder]/[version]
We have some projects that have a standard of putting their code in a "Code" folder so this makes all of them look the same.
/
Documentation/
Code/
build.gradle
Results in:
mvn:/Code/3.2.1

What issue does having different paths create? Can you provide the bdio file you are getting? Do the different paths affect the final bom in a way you wouldn't expect or is this just a concern over cosmetics?

The issue is different projects are overwriting the same BOMs in the blackduck hub because the "Code Location" is partial.
So if I have
Project A/
Project A/Code/
Project A/Code/build.gradle
and
Project B/
Project B/Code/
Project B/Code/build.gradle
And they share the same version numbers then they override each other when scanned:
mvn:/Code/3.2.1
Ideally the Code location in blackduck hub would follow the same scheme as the scans that the hub tool uses:
file://[hostname]/[complete_path]
Example:
file://mymac/Users/myuser/Documents/repos/MyRepo/npm-shrinkwrap.json#declared-components

The code location is constructed from your project's gav. With the 3.4.1 version of the plugin, against my own gradle project, it produces a code location of the form:
mvn:GROUP/ARTIFACT/VERSION
It seems like we are not correctly handling your gradle usage. Is your usage documented somewhere so we can investigate how it differs from what we expect?
I specify group and version in my build.gradle and my artifact is specified in settings.gradle.
Here are some more details on why we support that method, but if you have another way of using gradle, maybe we can support that as well.
http://stackoverflow.com/questions/24827733/how-do-you-set-the-maven-artifact-id-of-a-gradle-project

Ah so my use case is based on Android apps. Basically none of them have the group or artifact specified because they're never going to be used in another project. So as a result every app we have defaults to the parent directory which in our case is "Code".
I think that what you've stated is a good default although it does break from the scheme which the other scanning tools (TeamCity plugin, Black Duck CLI tool) use. Would it be possible to add a configuration flag to change the behavior to match the other scanning tools?

Following your link I realized we can get close to this behavior by using the following config:
apply plugin: "java"
group = projectDir
I think this will work for me although it is a bit hacky. I'll leave it up to you all if you want to leave this open or close it

I'd like to leave this open to track the new feature to allow for a path override. Your use case, at least to me, sounds completely reasonable and we should attempt to support it. I'll close this when we release with a fix.

I believe the source of the problem is in the content of the Project node in the BDIO files.  Can we get the BDIO files by chance to investigate further?  If we cannot get the full file contents could you find the project node and include that?  We would like examples of the BDIO files for project A and B for comparison if possible.
An example of the project node data:
{
"@id" : "mvn:/Code/1.2.0-SNAPSHOT",
"@type" : "Project",
"name" : "Code/ProjectA",
"revision" : "1.2.0-SNAPSHOT",
"externalIdentifier" : {
"externalSystemTypeId" : "maven",
"externalId" : ":Code:1.2.0-SNAPSHOT"
},
We're interested in at least that data shown above just to see if we can confirm with our internal tests.

@psantos1113 This problem was already solved in that the reason that this doesn't work for the android projects I have is because by default the group becomes the containing folder. I solved this by setting the group to be the project directory on my end but I could just have easily enforced that every one of my projects set the group themselves. I just chose to use the full path to make it match hub scans and because I dynamically inject the plugin into our projects using something similar to this. This problem is unrelated to #26 which solves #25 IMO
Here's the information you asked for though: (Note this is if I turn off my hack that makes my ids different):
{
"@id" : "mvn:/Code/1.2",
"@type" : "Project A",
"name" : "Project A",
"revision" : "1.2",
"externalIdentifier" : {
"externalSystemTypeId" : "maven",
"externalId" : ":Code:1.2"
},
and
{
"@id" : "mvn:/Code/4.2",
"@type" : "Project",
"name" : "Project B",
"revision" : "4.2",
"externalIdentifier" : {
"externalSystemTypeId" : "maven",
"externalId" : ":Code:4.2"
},

Based on the research I've done I have two questions.

Are ProjectA and ProjectB described in issue modules of the same android application?
Or are they separate applications but each build.gradle file defines the applicationId property?

As described here for android development.  If you have an artifactId property set in the build.gradle then we should look for that perhaps and use it.  If they are modules of the same application we would also want support for sub projects which is a feature coming in the future.

@psantos1113 It's number 2. They're both completely separate apps. It would be great if it could use the applicationId with the version name and version code (Although version code for us changes every build so including that I would want to be optional)
Worst case Android apps can solve this by just properly defining the group and artifact ID but this would be a nice to have.

@imbeyondboredom  After trying it with the just released 4.0.0 - can you let us know if this is still an issue?

This seems to use the ProjectName and Version instead of the file path correctly now with the addition of the code location so this all should work as intended! Closing


PPPoE manual Connect/Disconnect

Been having some issues with my ISP connection, and I needed a way to manually connect & disconnect the PPPoE.  But there is no obvious way to do that, other than shut down OpnSense.

Isn't that what Interfaces: Overview: Connect/Disconnect buttons are for?

Doh, yes, I didn't know that existed.  Thanks.

No worries, happy to help. :)


Get number of hosts to wait for instead of hardcoding them

Description
Do not hardcode # of hosts
Partial #126

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


updates uses of Unique

nightly rust recently had some breaking changes with core::ptr::Unique which broke some of the code:

https://github.com/rust-lang/rust/pull/71597
https://github.com/rust-lang/rust/pull/71589

Thank you!

i've noticed that the code on master is different from the latest version on crates.io (0.8) with some breaking changes, so it's not possible to just patch it by using the git repository

The only real difference is, that v0.8.0 uses an own implementation of AllocRef, while master uses the one from core::alloc. Do you want me to bump the version to 0.9?

Do you want me to bump the version to 0.9?

yes, thank you

Done: https://github.com/TimDiekmann/alloc-wg/commit/141cda555535ecdec3f344ea7f1f5ab8bfb2b1eb


Subclass models with same label don't work

Just so we don't forget about this
class StackOverflow
  include Neo4j::ActiveNode
end
class GitHub
  include Neo4j::ActiveNode
end
class StackOverflowUser < StackOverflow
  self.mapped_label_name = 'User'
end
class GitHubUser < GitHub
  self.mapped_label_name = 'User'
end

Fixed by https://github.com/neo4jrb/neo4j/pull/701


Activities @ Mississauga

Description
Explore activities for the city of Mississauga, Ontario, Canada 🇨🇦
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @Aayush9029,
Thank you for another contribution, just a few nitpicking comments from my side 🙏
Besides that it seems that the extension icon's resolution is not the best, could you find a better one?

I whipped out a quick one using SVG hopefully it'll look a tad bit better


[REEF-728] Complete implementation of ICompletedTask

This addressed the issue by

Piping the completed task message from Java to C#.

JIRA:
REEF-728

I will have a look.

Looks good.
I noticed you have updated SimpleEvnetHandler, tah tis good. If you can add a handler which implements  IObserver and add set it to REEF.Driver.DriverConfiguration.OnTaskCompleted in AllHandlers, that would make the example more complete.

I've done a pass as well.

@markusweimer @jwang98052 Addressed review comments, please have another look. Thanks!

@jwang98052 Addressed comments. Good catch, I always forget that VS only adds the file after closing the process.

I will test and merge

Test RunSimpleEventHandlerOnLocalRuntime failed at:
EXIT: 9/29/2015 8:36:27 PM ClrSystemHandlerWrapper::Call_ClrSystemCompletedTask_OnNext. Duration: [00:00:00.0041098].
<C++>InteropUtil Error: 0 : 2015-09-29T20:36:27.2190837-07:00 0003
ERROR: Exception in Call_ClrSystemCompletedTask_OnNextencountered error [System.ArgumentNullException: Array cannot be null.
Parameter name: bytes
at System.Text.Encoding.GetString(Byte[] bytes)
at Org.Apache.REEF.Utilities.ByteUtilities.ByteArrarysToString(Byte[] b)
at Org.Apache.REEF.Tests.Functional.Bridge.HelloSimpleEventHandlers.OnNext(ICompletedTask value)
at Org.Apache.REEF.Driver.Bridge.ClrSystemHandler1.OnNext(T value)    at Org.Apache.REEF.Driver.Bridge.ClrSystemHandlerWrapper.Call_ClrSystemCompletedTask_OnNext(UInt64 handle, ICompletedTaskClr2Java clr2Java)    at Java_org_apache_reef_javabridge_NativeInterop_clrSystemCompletedTaskHandlerOnNext(JNIEnv_* env, _jclass* cls, Int64 handler, _jobject* jcompletedTask, _jobject* jlogger)] with mesage [Array cannot be null. Parameter name: bytes] and stack trace [   at System.Text.Encoding.GetString(Byte[] bytes)    at Org.Apache.REEF.Utilities.ByteUtilities.ByteArrarysToString(Byte[] b)    at Org.Apache.REEF.Tests.Functional.Bridge.HelloSimpleEventHandlers.OnNext(ICompletedTask value)    at Org.Apache.REEF.Driver.Bridge.ClrSystemHandler1.OnNext(T value)
at Org.Apache.REEF.Driver.Bridge.ClrSystemHandlerWrapper.Call_ClrSystemCompletedTask_OnNext(UInt64 handle, ICompletedTaskClr2Java clr2Java)
at Java_org_apache_reef_javabridge_NativeInterop_clrSystemCompletedTaskHandlerOnNext(JNIEnv_* env, _jclass* cls, Int64 handler, _jobject* jcompletedTask, _jobject* jlogger)]

@jwang98052 Sorry about that. Accounted for the null case now. Thanks!


packing: Clone is called too often when a lot of allocating images

@essial reported.

Confirmed. Cloning is necessary not to extend an actual underlying textures unexpectedly. Hmm


Make workspace panels fixed in location

wip

I want to make sure we are on the same page. We don't want to make the panels fixed in the same location. Instead, we want the icons of the panels in the same location.
We still want panels to be like this:

The only thing we want to fix is the icon:

Oh ok, I misunderstood. What you showed is what we meant by making the panels "dockable" in pr 5. It was harder than I thought so I was going to raise this pr to fix panels, but now we will just continue to work on making the panels dockable.


Roll android build tools to 25.0.3

Another attempt at https://github.com/flutter/flutter/pull/9878 now that the Chromium bots have been updated in https://chromium-review.googlesource.com/c/500311/

TBR @abarth


P2TR: invalid leaf script=tr

I have faced with the following error while running examples from the readme: Error: P2TR: invalid leaf script=tr
https://github.com/paulmillr/scure-btc-signer/blob/26216a976c767ec66a7d75afc1ef1881b48d3c69/README.md?plain=1#L283-L293
I'm not sure:

I'm wrong?
There is mistake in the readme
There is error in the source code

One more potential mistype in the readme. According to the latest sources: https://github.com/paulmillr/scure-btc-signer/blob/26216a976c767ec66a7d75afc1ef1881b48d3c69/index.ts#L1222
There is should not be tapMerkleRoot key: https://github.com/paulmillr/scure-btc-signer/blob/26216a976c767ec66a7d75afc1ef1881b48d3c69/README.md?plain=1#L280

I think the readme should be updated because there is another not existent function tr():
https://github.com/paulmillr/scure-btc-signer/blob/26216a976c767ec66a7d75afc1ef1881b48d3c69/README.md?plain=1#L373

fixed: updated readme

@paulmillr thank you for the quick fix.
P2TR-NS, P2TR-MS, and P2TR-PK should be fixed the same way to work.


Store categorical variables with automatic shadow table in relational DB

Categorical columns in pandas could be materialized to / dematerialized from relational database tables if there is another table that includes the mapping from categorical IDs to actual strings.
It would even be possible to have functions for programmatically created SQL which automate the resolution via one join per categorical column.

=> Might interact with the idea to store row numbers such that two dataframe tasks get their data in same order


Allow create inference endpoint from docker image

It is currently not possible to spawn an Inference Endpoint running on a custom docker image using create_inference_endpoint. This is especially useful to run a TGI or TEI container. Topic raised on slack (private) by @philschmid. This PR adds support for it.
The dictionary passed as custom_image is not very intuitive => for now let's keep a free-form dictionary. I have added an example in the doc for TGI. @philschmid  please let me know if there is a reference page somewhere I can link to.
(also used this PR to complete some typing/docstring in the IE integration).

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Thanks both for the review!


Update build.gradle

Build Tools 25 are required in order to take advantage of Gradle 3.3, which has great performance improvements.

cc @toteto If you want to override the build tools of your dependencies, there's a trick ;) I've just written a blog post on this : https://blog.bam.tech/developper-news/boost-compilation-time-react-native-android-app-latest-android-build-tools

@oblador any chance of this being merged? I'm currently using the work around but would prefer not to if I don't need to

@ShaunLloyd I'm quite hesitant to do this upgrade and break tons of installations. I awaiting react-native core to upgrade, which they once did but it was reversed due to some internal Facebook issue. Keeping this issue open as a reminder and to reduce duplicates.

Would this solve #428?

4.3.0 now uses build tools 26!


📚 - Stackblitz Starter is broken

What is the affected URL?
https://taiga-ui.dev/stackblitz
Description
Open https://taiga-ui.dev/stackblitz
There is an error:
Error in turbo_modules/<EMAIL_ADDRESS>The entrypoint for '@tiptap/extension-blockquote' could not successfully be resolved. The file '/turbo_modules/<EMAIL_ADDRESS>does not exist. Please log an issue with the package author or check for an updated version of the package.
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

Possible fix: https://github.com/Tinkoff/taiga-ui/pull/3576

https://github.com/ueberdosis/tiptap/issues/3717

@splincode should we close this issue ?


Various cleanup

Makes a clean version of SVC with hyper-parameter adjustment and parallel fitting.
Moves deconvolution data to data import file with a test.
Only need the new dataset import function going forward.
Only pickle factorization.

@scottdtaylor95 the deconvolution import method isn't working. Can you take a look at it?

@aarmey Looks like the path is incorrect...must have accidentally written the wrong one - use "tfac/data/mrsa/deconvo_cibersort_APMB.csv"

Thanks!


Battery SOH, Today Life Cycles and Total Life Cycles are calculated incorrectly for Deye BOS GM5.1 + BMS HVB750V/100A

Description
Hello,
The following sensor values are incorrectly calculated for Deye BOS GM5.1 + BMS HVB750V/100A:

Battery SOH
Today Life Cycles
Total Life Cycles

Im not sure whether it is a bug or a feature request (cause maybe noone had a chance to test it with Deye hith voltage batteries).
I have BMS HVB750V/100A + 8 instances of Deye BOS GM5.1 and was wondering why my battery when charging from (lets say from todays example) from SOC 12% till 90% takes 3.37 lifecycles :) and totally 58 days of work already used 142 lifecycles but i change only over night and discharge during the day (excepting sunny days but now it is a winter and it is not too mamy sunny days).
Today i have investigated the code and see that those values are calculated but not taken from inverter/bms/battery statistics.
So seems like there is a bug with those calculations.
Reproduction Steps
Any charge shows wrongly calculated sensor data for:

Battery SOH
Today Life Cycles
Total Life Cycles
For example, charging from 12% to 90% takes 3.37 lifecycles.

Log
Not sure they are needed, if so - i will attach later.
Version
24.12.22
Home Assistant Core Version
2024.12.5
Home Assistant Operating System Version
14.1

Did you set the nominal voltage in the configuration?

Did you set the nominal voltage in the configuration?

No, i thought it is taken from inverter data as this value is shown in stat.
Now i set in configuration 409 v.
Seems like it is more or less correct now. Showing 0.44 instead of 3.37 for today but not sure if it still correct.

Btw, total battery cycles and soh is available in solarman stat.

What value you have in Device sensor?

What value you have in Device sensor?

But this value changes depending on the SOC.

Can you please show me what value you get when you read register number 224 using Developer tools >> ACTIONS >> Solarman: Read Holding Registers (Modbus Function Code 3)?

Can you please show me what value you get when you read register number 224 using Developer tools >> ACTIONS >> Solarman: Read Holding Registers (Modbus Function Code 3)?

What about 255, 10006 and 10048.

What about 255, 10006 and 10048.

0
100
30000

So it's proly at 100% at all times and thus not measured.


parallel builder mode + extra imports for zetta run

@nkemnitz any thoughts?

Tried it with one of the misd training specs, but got
PicklingError: Can't pickle <function build_layer_set at 0x7fd4425f81f0>: it's not the same object as zetta_utils.layer.layer_set.build.build_layer_set

Thanks @nkemnitz. This looks interesting, will have to dig


Test docker-compose with different Object Store Storage

https://github.com/risingwavelabs/risingwave/pull/13854#issuecomment-1849208233
May test in integration-test pipeline.
Just some basic tests are fine, to make sure:

The docker-compose file is correct.
The OSS is correctly linked, i.e. data is persisted in the OSS.

Any updates?

No..., there’s not a lot of bandwidth at the moment.


Added Coding Ninjas

This is also a good platform to practice Competitive Programming.
What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Duplicate of #5653


Pediatric investigational plan number needs to be addressed. [Rules]

Pediatric investigational plan number needs to be addressed. It is more a reference than an identifier.
See EMA template https://www.ema.europa.eu/en/documents/template-form/paediatric-investigation-plan-pip-key-elements-guidance_en.pdf
See feature ticket #420

@BSnoeijerCD I can only think of the following two rules:

Study identifiers must be unique - there must be no more than one study identifier for each combination of text, identifierScope.identifierScheme, and identifierScope.identifier. I am assuming that there can only be one legal address for any organization (that assigns study identifiers).
Only one identifier is expected within each identifier scope - there is expected to be no more than one identifier for each combination of identifierScope.identifierScheme, and identifierScope.identifier. Note if this is changed from a warning to an error, then the previous rule is unnecessary.
Reference identifiers are expected to be unique - no more than one reference identifier is expected for each combination of text, type.code, (type.codeSystem, type.codeSystemVersion, type.decode?), identifierScope.identifierScheme, and identifierScope.identifier.  (However, I'm guessing it would be OK for a study to be included in more than one clinical development plan defined by a sponsor, so there's no reference identifier rule corresponding with the second study identifier rule above).  Should this be an error instead of a warning?

@BSnoeijerCD I can only think of the following three rules:

Study identifiers must be unique - there must be no more than one study identifier for each combination of text, identifierScope.identifierScheme, and identifierScope.identifier. I am assuming that there can only be one legal address for any organization (that assigns study identifiers).
Only one identifier is expected within each identifier scope - no more than one reference identifier is expected for each combination of identifierScope.identifierScheme, and identifierScope.identifier. Note if this is changed from a warning to an error, then the previous rule is unnecessary.
Reference identifiers are expected to be unique - no more than one reference identifier is expected for each combination of text, type.code, (type.codeSystem, type.codeSystemVersion, type.decode?), identifierScope.identifierScheme, and identifierScope.identifier.  (However, I'm guessing it would be OK for a study to be included in more than one clinical development plan defined by a sponsor, so there's no reference identifier rule corresponding with the second study identifier rule above).  Should this be an error instead of a warning?

This implies that you cannot have more than 1 identifier for 1 organization. I think there could be situations where you can have more (re-numbering within an organization/different purposes of the identifier) We can make this a warning instead? Maybe we also should add the notes attribute to the StudyIdentifier class to allow for additional custom groupings.
I would say that you could have different reference identifiers (with different types) for 1 organization. We do not want to restrict this.
We can give a warning if we do have multiple identifiers per type. Although possible, I would expect a study to be part of only 1 development plan or pediatric investigational plan.

@BSnoeijerCD in reply to your comments:

This rule is checking for exact duplicates (the same identifier text for the same scope/organization). If you had a different identifier (text) for the same organization, it would not fail this rule.  I think this should be an error - I can't think of any situation in which you'd want to record exactly the same identifier multiple times.

There was a typo in my original definition - I'd intended this to be:

Only one study identifier is expected within each identifier scope - no more than one reference identifier is expected for each combination of identifierScope.identifierScheme, and identifierScope.identifier.

So this would correspond with your comments for 1 - "you cannot have more than 1 identifier for 1 organization" - and I agree it should only be a warning.  I wouldn't object to adding the notes attribute to StudyIdentifier.  If we think it might be useful for ReferenceIdentifier too, then it should be added to Identifier to be inherited by both StudyIdentifier and ReferenceIdentifer. However, even if we add the notes attribute, I don't think it should be referenced by this rule.

So are you saying there should be 2 rules for reference identifiers, both of which report warnings:

The same identifier text is used more than once with the same type for the same scope/organization.
There is more than one identifier with the same type for the same scope/organization?

@ASL-rmarshall

Ok. Sounds good. I assume could be applied to referenceIdentifier as well (see 3.i) as we would not expect duplicating the same identifier for the same organization regardless of whether they are of different types.
Agree. We should not include the notes in the rule. For referenceIdentifier it should be the same rule but then by type. (see 3.ii )
See above.

@ASL-rmarshall : Could you review the following?
Apart from the above, because we changed the naming of variable studyIdentifierScope to scope, we need to update CHK0012 and CHK0102 to make them only applicable to V3.0 and create corresponding ones with different variable names for v4.0.
For these checks I set v4.0 to N and I created corresponding checks CHK0193 and CHK0193 for version 4.

@BSnoeijerCD
Newly-defined Checks
Based on comments above, it looks like we need 3 new checks:

Study and reference identifiers must be unique - there must be no more than one study or reference identifier for each combination of text, identifierScope.identifierScheme, and identifierScope.identifier.  This needs to be implemented separately for V3 and V4 due to renaming of attributes.
No more than one study identifier is expected for each organization - no more than one study identifier is expected for each combination of identifierScope.identifierScheme, and identifierScope.identifier.
No more than one of each type of reference identifier is expected for each organization - no more than one reference identifier is expected for each combination of type, identifierScope.identifierScheme, and identifierScope.identifier.

Are these OK?  If so, I have a couple of additional questions:

Do we care if the same identifier text (for the same organization) is used as both a study identifier and a reference identifier?  I suppose it's possible that you might happen to have the same string of characters used as a study identifier and (for example) a clinical development plan identifier.  If we think it's worth checking for this, then the rule should probably only generate warnings.
(Similar question for other CT uniqueness rules), which attributes of type should we use to identify duplicates (code, decode, codeSystem, codeSystemVersion)?

Existing Checks
If we're reviewing/updating CHK0012 and CHK0102 then I think we should implement the change agreed in "Q12" on the Questions sheet - i.e., recombine these checks into a single check that says "Every study version must have one, and only one, sponsor identifier" (or "Of the study identifiers defined for a study version, exactly one must have an identifier scope that references a clinical study sponsor organization.").  Because of the renaming of the scope attribute, I agree that this single check specification would then need to be implemented as one rule for V3 and one for V4.
If you agree, should we delete CHK0012 and CHK0102 and create a completely new (recombined) check for V3, or should we reuse and modify either CHK0012 or CHK0102 and delete the other?  (We'd need a new check for V4 regardless - either CHK0193 or CHK0194).
New Check?
Also, the cardinality for studyIdentifiers was 0..* in V3 but has been changed to 1..* for V4.  Does this mean that we need a V3 rule for "Every study version must have at least one study identifier"?

Consider a check for there should only be one sponsor identifier. It is useful to be able to pick out "THE" sponsor identifier. This should probably be an error.
The three checks above should probably be warnings rather than errors

@dih-cdisc :

This check of 1 sponsor identifier is already created in V3 and needs to be duplicated and updated for v4 as the attribute names have changed. This is the reference above to CHK0012 and CHK0102 (e.g. minimum 1 and maximum 1 rules which I would like to combine if possible in CORE)
The only other rule that I would say should be an error and not a warning is the uniqueness (first rule above) since you do not want two exact the same identifiers with the same scope in your model. Or do you see cases that this could happen?

@ASL-rmarshall: I would suggest not to change any V3 checks unless there is a strong reason to do so. We want to remain as stable as possible. But making it more simple and thus combining CHK0012 and CHK0102 if that is possible with the CORE engine is better indeed. I think we are almost there. Let's go through it together in the spreadsheet to make it complete.

@BSnoeijerCD As discussed on 2024-0813:
Newly-defined Checks
We agreed that only the first 2 checks are needed (we won't check for more than one reference identifier per type - a study referenced by more than one clinical development plan or PIP will not be reported as a warning). There will be separate V3/V4 rules for each of these checks.
We agreed not to check for the same identifier used as both study identifier and reference identifier.
The question about how to identify duplicate type is now redundant as we're not checking by type any more.
Existing Checks
We agreed to recombine the checks. CHK0012 and CHK0193 have been updated to specify that there must be exactly one study identifier.  CHK0102 and CHK0194 have been removed.
New Check?
CHK0012 and CHK0193 will be changed to check for "Every study design must have exactly one sponsor identifier" instead of "Of the study identifiers defined for a study design, exactly one must be a sponsor identifier".

@ASL-rmarshall :

the suggested updated text for CHK0012 and CHK0193 is ok for me.
I have added 4 new rules based on the above which are stored as CHK0194,CHK0195, CHK0196 and CHK0197.


What is the minimum requirement for a significant improvement in performance?

Hi everyone, I have been trying ollama across multiple servers with various specs. I also tested it on the highest package (ram/cpu) at digital ocean. I tested the same on my desktop as well as in my HPE DL380 Gen9 server that is 64GB with the following specs:
lscpu Architecture:                       x86_64 CPU op-mode(s):                     32-bit, 64-bit Byte Order:                         Little Endian Address sizes:                      46 bits physical, 48 bits virtual CPU(s):                             12 On-line CPU(s) list:                0-11 Thread(s) per core:                 2 Core(s) per socket:                 6 Socket(s):                          1 NUMA node(s):                       1 Vendor ID:                          GenuineIntel CPU family:                         6 Model:                              63 Model name:                         Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz Stepping:                           2 CPU MHz:                            1400.000 CPU max MHz:                        3200.0000 CPU min MHz:                        1200.0000 BogoMIPS:                           4794.74 Virtualization:                     VT-x L1d cache:                          192 KiB L1i cache:                          192 KiB L2 cache:                           1.5 MiB L3 cache:                           15 MiB NUMA node0 CPU(s):                  0-11 Vulnerability Gather data sampling: Not affected Vulnerability Itlb multihit:        KVM: Mitigation: VMX disabled Vulnerability L1tf:                 Mitigation; PTE Inversion; VMX conditional c                                     ache flushes, SMT vulnerable Vulnerability Mds:                  Mitigation; Clear CPU buffers; SMT vulnerabl                                     e Vulnerability Meltdown:             Mitigation; PTI Vulnerability Mmio stale data:      Mitigation; Clear CPU buffers; SMT vulnerabl                                     e Vulnerability Retbleed:             Not affected Vulnerability Spec rstack overflow: Not affected Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disable                                     d via prctl and seccomp Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __u                                     ser pointer sanitization Vulnerability Spectre v2:           Mitigation; Retpolines, IBPB conditional, IB                                     RS_FW, STIBP conditional, RSB filling, PBRSB                                     -eIBRS Not affected Vulnerability Srbds:                Not affected Vulnerability Tsx async abort:      Not affected Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep                                      mtrr pge mca cmov pat pse36 clflush dts acpi                                      mmx fxsr sse sse2 ss ht tm pbe syscall nx p                                     dpe1gb rdtscp lm constant_tsc arch_perfmon p                                     ebs bts rep_good nopl xtopology nonstop_tsc                                      cpuid aperfmperf pni pclmulqdq dtes64 monito                                     r ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16                                      xtpr pdcm pcid dca sse4_1 sse4_2 x2apic mov                                     be popcnt tsc_deadline_timer aes xsave avx f                                     16c rdrand lahf_lm abm cpuid_fault epb invpc                                     id_single pti intel_ppin ssbd ibrs ibpb stib                                     p tpr_shadow vnmi flexpriority ept vpid ept_                                     ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 e                                     rms invpcid cqm xsaveopt cqm_llc cqm_occup_l                                     lc dtherm ida arat pln pts md_clear flush_l1                                     d
However, I don't have "any significant" improvement from the performance the intel i5 desktop:
lscpu Architecture:            x86_64   CPU op-mode(s):        32-bit, 64-bit   Address sizes:         39 bits physical, 48 bits virtual   Byte Order:            Little Endian CPU(s):                  4   On-line CPU(s) list:   0-3 Vendor ID:               GenuineIntel   Model name:            Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz     CPU family:          6     Model:               158     Thread(s) per core:  1     Core(s) per socket:  4     Socket(s):           1     Stepping:            9     CPU(s) scaling MHz:  91%     CPU max MHz:         3500.0000     CPU min MHz:         800.0000     BogoMIPS:            6000.00     Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc                          a cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss                           ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art                           arch_perfmon pebs bts rep_good nopl xtopology nonstop_                          tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cp                          l vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1                           sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsav                          e avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault                           invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnm                          i flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1                           avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflus                          hopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida                           arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_                          clear flush_l1d arch_capabilities Virtualization features:    Virtualization:        VT-x Caches (sum of all):        L1d:                   128 KiB (4 instances)   L1i:                   128 KiB (4 instances)   L2:                    1 MiB (4 instances)   L3:                    6 MiB (1 instance) NUMA:                       NUMA node(s):          1   NUMA node0 CPU(s):     0-3 Vulnerabilities:            Itlb multihit:         KVM: Mitigation: VMX disabled   L1tf:                  Mitigation; PTE Inversion; VMX conditional cache flushe                          s, SMT disabled   Mds:                   Mitigation; Clear CPU buffers; SMT disabled   Meltdown:              Mitigation; PTI   Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl                           and seccomp   Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer                           sanitization   Spectre v2:            Mitigation; Full generic retpoline, IBPB conditional, I                          BRS_FW, STIBP disabled, RSB filling   Srbds:                 Mitigation; Microcode   Tsx async abort:       Not affected
All results showed "very poor" performance on 7b parameter models, so that I began to conclude that I cannot use this in a production environment unless I find a solution. This concerns me a lot because I have production-level implementation with its API that are mission critical for my clients. Also, my company is purchasing servers in "hopes" that ollama will get up to the required speed at least may be even "half the speed" of Chat GPT (for free users). We have several implementations of Modelfiles for each clients, but all of them frustrates our clients and they are losing hope and are very, very upset about the situation. I hope it will not end up with them suing my company. So I came here hoping to save face.
My question:
How can we possibly improve the performance of ollama with the minimum required hardware? Would an upgrade to the latest HPE DL380a Gen11 bring a significant increase in performance to achieve half the performance as that of OpenAI's ChatGPT? For instance, if I will fill all its memory, processors, gpus to the maximum capacity, will that be able to solve/fix this issue? If this will not increase the performance, what SPECIFIC HARDWARE is PROVEN COMPATIBLE without performance issues?
I like Ollama's simplicity of interfacing with the API. Are there any "live" samples we can check performance against? Are there any Ollama API HOSTED online that are PERFORMANCE PROOF that I can grab even if its PAID (just for a temporary fix) while we're looking for solutions?
Will running it on a GPU based cloud solution like AWS, GPC or Azure be worth the investment against the required performance of at least half the speed of ChatGPT demanded by our clients?
Or to simplify my question, what is the minimum required and TESTED hardware configuration to compete with the response speed of ChatGPT?
Any help from anyone on this active community will be appreciated.
Thank you very much.

I don't know what "1/2 chat GPT performance is," especially lately. You should be working with specific numbers, rather than your client's feels.
There is a thread on the Ollama Discord with some benchmarks on various physical and cloud hosts.
LLM performance is heavily dependent an scales roughly linearly with available memory bandwidth. That is usually acquired in the form of NVIDIA GPU cards, not via motherboard & CPU RAM channels.

Thanks for submitting the issue. As mentioned by @easp your best bet will be to add a recent Nvidia GPU to your setup. Most of the work that a model does to generate output is often orders of magnitude faster when performed by a supported GPU. For instance, it's not unusual to see tokens per second numbers of 3 or 4 without a gpu, and as much as 90 with a Nvidia 4080.
I will go ahead and close this now. If you think there is anything we left out, reopen and we can address. Thanks for being part of this great community.


not getting /etc/zulip/settings.py

There is no zulip directory in /etc even after installing /root/zulip/scripts/setup/install


List all conditions identifying match in docs

I spent a fair bit of time comparing the sort order for different fuzzy finders before finding fzy. As it stands, I feared that weight wasn't given to underscore delimited (snake_case) or dash delimited (sausage-case) words. Fortunately, fzy does precisely what I want, so I wanted to update the docs.
The positive weights are both intuitive and clearly explained. However, while I understand how a a gap within a match gives a sorting penalty, I am less clear how a gap before or after would affect the match. Is this just to ensure that perfect matches always receive the highest weight? Perhaps some examples would make this more clear.
Thanks so very much for building fzy!

Thanks very much @hbaughman. I'd like to continue improving ALGORITHM.md
The purpose of the leading and trailing gap is to favour shorter candidate strings. I'll try to make this more clear in the documentation.
An upcoming change I have is to remove the bonus for letters following a digit, as I haven't found any cases where that is desirable, and it seems to just favour random strings in hexadecimal or base64.


Remove native code from stride.core project

PR Details
This PR tries to remove native files from the entire Stride.Core project
Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Looks good. Did you have the time to check that linux allocator in the same folder ?

@Eideren As far as I can see, the LinuxAllocator.cpp file is currently being used by Stride.Audio and Stride.Navigation, so currently we can't get rid of this file.

@Jklawreszuk it sounds like we could probably replace it with Marshal.AllocHGlobal or something similar, though I haven't looked at how those are used
Thanks !


Include new training-support list on website

Follow-up of a discussion with external user who wanted to send a request for training and was lost in recursive loops between training > cnotact us > support > training sites.
This PR removes the loop and introduces instead the new training-support list into the training OME page.
cc @sbesson @joshmoore @jburel

While discussing training, do you want to update the front page to mention the Dundee workshop is the next one in line?

https://github.com/openmicroscopy/www.openmicroscopy.org/pull/285/commits/73abe1705bc86917b45276acc9cb708807879912 should address @sbesson 's comment

@pwalczysko all comments should now be sorted. I also took the opportunity to move Kenny to the past members section

@jburel As https://github.com/openmicroscopy/www.openmicroscopy.org/pull/285#pullrequestreview-217756750 @sbesson noted, the alias is not in place yet

Alias is in place now. All seems good.


Error when adding a task while offline

I'm unclear if Wunderline even has this feature, but in that case I suppose this is a UX issue.
$ wunderline add test-offline
{
  "code": "ENOTFOUND",
  "errno": "ENOTFOUND",
  "syscall": "getaddrinfo",
  "hostname": "a.wunderlist.com",
  "host": "a.wunderlist.com",
  "port": 443
}

and with NODE_DEBUG:
$ NODE_DEBUG=request wunderline add test-offline
REQUEST { method: 'get',
  json: true,
  baseUrl: 'https://a.wunderlist.com/api/v1',
  headers:
   { 'X-Access-Token': '<token>',
     'X-Client-ID': '<ID>' },
  uri: '/lists',
  callback: [Function] }
REQUEST make request https://a.wunderlist.com/api/v1/lists
REQUEST response body undefined
{
  "code": "ENOTFOUND",
  "errno": "ENOTFOUND",
  "syscall": "getaddrinfo",
  "hostname": "a.wunderlist.com",
  "host": "a.wunderlist.com",
  "port": 443
}

macOS 10.12.2
Wunderline --version 4.4.4

@TheIronBorn although offline support would be a great feature to have, for now this is definitely a UX feature. Thanks for pointing it out.

For wunderline to work, it needs access to the API, and as far as I know, you can access the API only online, so a offline mode is only possible if wunderline is using a Mac app.

@alexandrebarbaruiva We can add the task operations while offline in local storage, and whenever we have access to the internet again, push all the operations via the API.


JSON-RPC server is vulnerable

Currently, JSON-RPC server is not standard, no error code, no usefull error message, and illegal JSON POST could cause server down.

I think this issue is done


Drop control message Scala wrapper - RegisterShuffle/RegisterShuffleResponse

What changes were proposed in this pull request?
Why are the changes needed?

What are the items that need reviewer attention?
Related issues.
Related pull requests.
How was this patch tested?
/cc @related-reviewer
/assign @main-reviewer

ping @waitinfuture


Proxy multiple hosts that have same URL patterns

Hi!
How can I proxy multiple target hosts? I have searched through the issue and still could not understand.
https://github.com/chimurai/http-proxy-middleware/issues/12 - Allow me to use proxy table but what should link should I put for target? Do I put my domain as target? Proxy table allows me to proxy requests to a different target based on request path but all my request path will be /api. This part is quite confusing for me.
I am thinking of context matching to proxy multiple hosts but another problem would arise because I have a few hosts with almost the same URL link(/api).
Example

https://website1.com/api/v1.1/{endpoint}
https://website2.com/api/{endpoint}
https://api.website3.com/api/{endpoint}

Tried a few solutions but doesn't work
const proxyOptions = proxy({
  target: ["https://website1.com", "https://website2.com", "https://api.website3.com"],
  changeOrigin: true,
  loglevel: "debug"
});

const proxyTable = {
  "/api": ["https://website1.com", "https://website2.com", "https://api.website3.com"]
};

const proxyOptions = proxy({
  target: "http://localhost:3000",
  router: proxyTable,
  changeOrigin: true,
  loglevel: "debug"
});

server.use(
      proxy("/api", { target: "https://website1.com", changeOrigin: true }),
      proxy("/api", { target: "https://website2.com", changeOrigin: true }),
      proxy("/api", { target: "https://api.website3.com", changeOrigin: true })
    );

Mounting the proxy
server.use("/api", proxyOptions)

I am thinking that this issue would need pathRewrite and router but I don't quite understand how to use it.
Sorry for this newbie question and thanks for taking your time to read this issue.

I managed to get the solution using pathRewrite
const website1 = proxy({
  target: "https://website1.com",
  changeOrigin: true,
  pathRewrite: {
    "^/website1": "/api"
  },
  loglevel: "debug"
});

const website2 = proxy({
  target: "https://website2.com",
  changeOrigin: true,
  pathRewrite: {
    "^/website2": "/api"
  },
  loglevel: "debug"
});

const website3 = proxy({
  target: "https://api.website3.com",
  changeOrigin: true,
  pathRewrite: {
    "^/website3": "/api"
  },
  loglevel: "debug"
});

Mounting the server
const server = express();

server.use("/website1", website1);
server.use("/website2", website2);
server.use("/website3", website3);

However, this will give my website alot pages that I do not need like http://localhost:3000/website1 and etc.
Are there any ways to hide these pages or display something else instead of the homepages of websites that I am using.
Sorry, I am still learning node.js please be patience with me. 😄


feature support datev2 and datetimev2 type

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.26 seconds
load time: 454 seconds
storage size:<PHONE_NUMBER>3 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221114160128_clickbench_pr_45837.html


Impossible install IdentityServer4 from Nuget

Could not retrieve information about "IdentityServer4" from remote source "https://s3-eu-west-1.amazonaws.com/serverlinux/FindPackagesById()?id='IdentityServer4 '"
All IdentityServer's packages are unavailable.
Thanks.

@jsantanainel I just created a new project (ASP.NET Core) and installed the IdentityServer4 package so it seems to be working for me.
There was an S3 outage last night so I'm not sure if that is affecting things for you. But from what I understand that affected the us-east-1 region.

@naeemsarfraz It should be because of the interrupt you mention since I can install other packages without problems. I'll wait a few hours to see if it works out. Thank you very much.

closing

Imposible install IdentityServer´s packages from Ireland.

Impossible install IdentityServer´s packages from Ireland.

Not sure what the issue is: https://twitter.com/venky_venky76v/status/837067301623107584

Several cloud providers had issues in the last days.
If the problem persists, please contact nuget.org directly.


Allow setting --max-old-space-size when using python.analysis.nodeExecutable

Environment data

Language Server version: v2024.4.1
OS and version: Windows 11 on remote ssh ubuntu 22.04
Python version (& distribution if applicable, e.g. Anaconda): conda 3.11.6

There is a similar setting combination in vscode typescript server

"typescript.tsserver.maxTsServerMemory": 7000,
"typescript.tsserver.nodePath": "/usr/bin/node",

Since the node binary shipped by vscode server have limited on 4GB memory (mentioned #4121) , and can be confirmed if creating pyrightconfig.json with
{
    "verboseOutput": true
}

I know if you set the python.analysis.nodeExecutable , vscode server instead spawn something like this:
/usr/bin/node --max-old-space-size=8192 /home/<username>/.vscode-server/extensions/ms-python.vscode-pylance-2024.4.1/dist/server.bundle.js -- --clientProcessId=86565 --cancellationReceive=file:4bbdc9682bf51899139738844718b8c238a33ab9a4 --stdio
but it spawns with fixed memory size of 8192.
if you use the default one shipped by vscode:
/home/<username>/.vscode-server/cli/servers/Stable-e170252f762678dec6ca2cc69aba1570769a5d39/server/node /home/<username>/.vscode-server/extensions/ms-python.vscode-pylance-2024.4.1/dist/server.bundle.js --cancellationReceive=file:9d6d62c0930a910053bdeb0b73253fee3ee469b770 --node-ipc --clientProcessId=3626529
Sometimes the python.analysis.nodeExecutable just disappear in vscode settings(UI) menu, and when this occurs, settings(JSON) also tells Unknown Configuration Setting. However when this happens, if you also set NODE_OPTIONS=--max-old-space-size=<some int>, then vscode internal server actually launches node with this heap size. But it would still crash after memory usage more than 6~7G. (ever happened on v2024.4.0 v2024.4.1, rarely happens)

(notice the setting disappear in user settings, but appears in remote settings. Sometimes they're both missing.)
Thus I wonder if there is a setting to launch python.analysis.nodeExecutable with custom --max-old-space-size?
setting the env NODE_OPTIONS=--max-old-space-size=<some int> just doesn't work.
Just curious if I should modify
async createLanguageClient(_resource, _interpreter, clientOptions) or const serverProcess = cp.spawn(runtime, args, execOptions); under LanguageClient? I just didn't find where the extension.js reads python.analysis.nodeExecutable

 Error log taken from before
<--- Last few GCs --->
[3896855:0x7efdf0000ff0] 96711 ms: Scavenge 6349.3 (6503.1) -> 6335.2 (6503.8) MB, 10.06 / 0.00 ms (average mu = 0.999, current mu = 0.999) allocation failure;
[3896855:0x7efdf0000ff0] 96743 ms: Scavenge 6351.0 (6504.8) -> 6337.3 (6506.6) MB, 10.10 / 0.00 ms (average mu = 0.999, current mu = 0.999) allocation failure;
[3896855:0x7efdf0000ff0] 96776 ms: Scavenge 6353.5 (6507.3) -> 6339.8 (6508.8) MB, 10.04 / 0.00 ms (average mu = 0.999, current mu = 0.999) allocation failure;
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
----- Native stack trace -----
2024-04-09 13:02:40.871 [info] 1: 0xcd8bd6 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [/usr/bin/node]
2024-04-09 13:02:40.872 [info] 2: 0x10aed20 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/usr/bin/node]
2024-04-09 13:02:40.872 [info] 3: 0x10af007 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/usr/bin/node]
2024-04-09 13:02:40.873 [info] 4: 0x12cdfe5 [/usr/bin/node]
2024-04-09 13:02:40.873 [info] 5: 0x1301eae void v8::internal::LiveObjectVisitor::VisitMarkedObjectsNoFailv8::internal::EvacuateNewSpaceVisitor(v8::internal::Page*, v8::internal::EvacuateNewSpaceVisitor*) [/usr/bin/node]
2024-04-09 13:02:40.874 [info] 6: 0x1310faa v8::internal::Evacuator::RawEvacuatePage(v8::internal::MemoryChunk*) [/usr/bin/node]
2024-04-09 13:02:40.874 [info] 7: 0x1311462 v8::internal::Evacuator::EvacuatePage(v8::internal::MemoryChunk*) [/usr/bin/node]
2024-04-09 13:02:40.875 [info] 8: 0x131177f v8::internal::PageEvacuationJob::Run(v8::JobDelegate*) [/usr/bin/node]
2024-04-09 13:02:40.875 [info] 9: 0x1f91cdd v8::platform::DefaultJobState::Join() [/usr/bin/node]
2024-04-09 13:02:40.876 [info] 10: 0x1f922b3 v8::platform::DefaultJobHandle::Join() [/usr/bin/node]
2024-04-09 13:02:40.876 [info] 11: 0x130e815 v8::internal::MarkCompactCollector::EvacuatePagesInParallel() [/usr/bin/node]
2024-04-09 13:02:40.877 [info] 12: 0x131d5a0 v8::internal::MarkCompactCollector::Evacuate() [/usr/bin/node]
2024-04-09 13:02:40.877 [info] 13: 0x131defd v8::internal::MarkCompactCollector::CollectGarbage() [/usr/bin/node]
2024-04-09 13:02:40.878 [info] 14: 0x12e2c3e v8::internal::Heap::MarkCompact() [/usr/bin/node]
2024-04-09 13:02:40.878 [info] 15: 0x12e399d v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/usr/bin/node]
2024-04-09 13:02:40.879 [info] 16: 0x12e4209 [/usr/bin/node]
2024-04-09 13:02:40.879 [info] 17: 0x12e4818 [/usr/bin/node]
2024-04-09 13:02:40.880 [info] 18: 0x1a34081 [/usr/bin/node]

Sorry but there is no current way to set the memory higher than 8GB. We can use this issue as enhancement request to allow that to be set.
Alternatively we could figure out why your workspace uses so much memory in the first place? Can you share your workspace/repo?

Sorry but there is no current way to set the memory higher than 8GB. We can use this issue as enhancement request to allow that to be set.
Alternatively we could figure out why your workspace uses so much memory in the first place? Can you share your workspace/repo?

I think either when python.analysis.nodeExecutable is set then considering reading env variable NODE_OPTIONS, or just offer an option like typescript.tsserver.maxTsServerMemory does is good enough.
And should also emphasize in #pylance-is-crashing that since vscode native node executable can offer use 4GB ram, however if you choose to use custom node executable, you still can only use up to 8GB of ram.

you still can only use up to 8GB of ram.

This actually isn't true. The total ram per worker thread is limited to 8GB. We run 3 at the moment, so it can grow to 24GB. Whereas with the VS code node, the total space is 4GB. We run out of ram much faster with the VS code exe.

Can you share a repro for the situation where the 24GB is not enough?

This actually isn't true. The total ram per worker thread is limited to 8GB. We run 3 at the moment, so it can grow to 24GB. Whereas with the VS code node, the total space is 4GB. We run out of ram much faster with the VS code exe.

I can't see if the worker process actually has three threads? (or spawn 3 process?).
To me, if the workspace folder is opened at the same location with virtual env folder (this way, it is much more easily to locate the file if you press "go to definition", and vscode file explorer will jump to site-packages folder too) and with python.analysis.userFileIndexingLimit set to -1, the log show frequent heap gc and eventually crash.
Is the '3' documented anywhere in the repo? 4GB is too little, and 8GBx3 may be as well too large for some people. Thus I want to know if this can be set. (worker process count and memory limit).

Worker process count is a function of how our code works, it's not a configurable option. Memory limit is set by us at the moment when we start the node process (and it's not in open source code unfortunately).
However this only works if you use a different node process than the one that ships with VS code. It's using pointer compression which limits the amount of memory that's allowed to 4GB.
Ideally we wouldn't crash in either case. We'd rather find what's taking so much memory in your scenario and figure out a way to not use so much.

I saw there is some modification to pylance-is-crashing, so I am wondering if setting NODE_OPTIONS can affect the parameter passed to node executable by now.

I am wondering if setting NODE_OPTIONS can affect the parameter passed to node executable by now.

Sorry but it won't. We hardcode the limit at the moment to 8GB per thread.

To me, if the workspace folder is opened at the same location with virtual env folder

this shouldn't make us to analyze py files in the .venv. I think some settings are messed up. if you are doing that on purpose to make indexing to index all 3rd party packages, you should rather use packageIndexDepth option so you can use persisted indices rather than re-parsing all 3rd party packages everytime.

I am wondering if setting NODE_OPTIONS can affect the parameter passed to node executable by now.

Sorry but it won't. We hardcode the limit at the moment to 8GB per thread.

Then I don't think this does make sense.

For those using vscode-server remotely, you can increase the memory limit by setting the NODE_OPTIONS environment variable in your shell configuration.
On Linux or Mac, add export NODE_OPTIONS="--max-old-space-size=8192" to either your .xxx_profile or .xxxrc file. On Windows, add set NODE_OPTIONS=--max-old-space-size=8192 to your batch file to update your system environment variable, or open the System Properties window and add NODE_OPTIONS=--max-old-space-size=8192.

Since you are just fixing the size to 8192 anyways, does modifying NODE_OPTIONS make any changes to the startup behavior?

Since you are just fixing the size to 8192 anyways, does modifying NODE_OPTIONS make any changes to the startup behavior?

We only force the size to 819 if you set the node executable. If you use the default VS code node, you can set the NODE_OPTIONS. It only happens to work in the remote case though.

NODE_OPTIONS will likely be one of the ways we'll allow the user to set the limit when we fix this issue though.
Seems like it should be

NODE_OPTIONS are used if set
some new setting, maybe python.analysis.maxNodeMemory

Since you are just fixing the size to 8192 anyways, does modifying NODE_OPTIONS make any changes to the startup behavior?

We only force the size to 8192 if you set the node executable. If you use the default VS code node, you can set the NODE_OPTIONS. It only happens to work in the remote case though.

Well, I thought node server shipped with vscode-server can only do 4GB? or is that wrong? If the NODE_OPTIONS is intended for internal node server, then what could be its upper limit?
I test again with > 8GB of ram, since I recall it that it would crashed at about 6GB of ram usage after serveral GCs. (while the remote server has >100GB of free ram)

 crash log
2024-05-08 02:23:55.623 [info] [Info  - 2:23:55 AM] (411570) Heap stats: total_heap_size=5366MB, used_heap_size=4769MB, cross_worker_used_heap_size=4769MB, total_physical_size=5365MB, total_available_size=21564MB, heap_size_limit=26432MB
<--- Last few GCs --->
[411570:0x5f624000e60]   962223 ms: Scavenge 3778.5 (4270.7) -> 3767.6 (4273.2) MB, 9.6 / 0.0 ms  (average mu = 0.979, current mu = 0.967) allocation failure;
[411570:0x5f624000e60]   962279 ms: Scavenge 3783.3 (4274.4) -> 3772.4 (4276.9) MB, 9.2 / 0.0 ms  (average mu = 0.979, current mu = 0.967) allocation failure;
[411570:0x5f624000e60]   962337 ms: Scavenge 3787.9 (4277.7) -> 3776.8 (4277.9) MB, 11.7 / 0.0 ms  (average mu = 0.979, current mu = 0.967) allocation failure;
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
2024-05-08 02:23:57.019 [info]  1: 0xb85bc0 node::Abort() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.019 [info]  2: 0xa94834  [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.020 [info]  3: 0xd66d10 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.020 [info]  4: 0xd670b7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.021 [info]  5: 0xf447c5  [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.021 [info]  6: 0xfa1c49 v8::internal::EvacuateNewSpaceVisitor::Visit(v8::internal::HeapObject, int) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.022 [info]  7: 0xfa344e v8::internal::FullEvacuator::RawEvacuatePage(v8::internal::MemoryChunk*, long*) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.023 [info]  8: 0xf6f8ef v8::internal::Evacuator::EvacuatePage(v8::internal::MemoryChunk*) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.023 [info]  9: 0xf6fc85 v8::internal::PageEvacuationJob::Run(v8::JobDelegate*) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.024 [info] 10: 0x1aef046 v8::platform::DefaultJobState::Join() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.025 [info] 11: 0x1aef0b3 v8::platform::DefaultJobHandle::Join() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.025 [info] 12: 0xf84377 unsigned long v8::internal::MarkCompactCollectorBase::CreateAndExecuteEvacuationTasks<v8::internal::FullEvacuator, v8::internal::MarkCompactCollector>(v8::internal::MarkCompactCollector*, std::vector<std::pair<v8::internal::ParallelWorkItem, v8::internal::MemoryChunk*>, std::allocator<std::pair<v8::internal::ParallelWorkItem, v8::internal::MemoryChunk*> > >, v8::internal::MigrationObserver*) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.026 [info] 13: 0xf848dc v8::internal::MarkCompactCollector::EvacuatePagesInParallel() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.027 [info] 14: 0xfa0365 v8::internal::MarkCompactCollector::Evacuate() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.027 [info] 15: 0xfa0e88 v8::internal::MarkCompactCollector::CollectGarbage() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.028 [info] 16: 0xf54601 v8::internal::Heap::MarkCompact() [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.029 [info] 17: 0xf560d8  [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.029 [info] 18: 0xf56a48 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.030 [info] 19: 0xf313ae v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.030 [info] 20: 0xf32777 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.031 [info] 21: 0xf1394a v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
2024-05-08 02:23:57.031 [info] 22: 0x12d8e6d v8::internal::Runtime_AllocateInOldGeneration(int, unsigned long*, v8::internal::Isolate*) [/home//.vscode-server/cli/servers/Stable-b58957e67ee1e712cebf466b995adf4c5307b2bd/server/node]
23: 0x5f61ff07a39

That should work. How did you make sure the NODE_OPTIONS were set?

That should work. How did you make sure the NODE_OPTIONS were set?

The crash log (output from pyrightconfig.json with verboseOutput:true) tells you the heap_size_limit=, and it's equal to the --max-old-space-size= I set.

Hmm, maybe that doesn't work then. Maybe the vscode-server node is still using compacted memory somehow and has a limit on the amount of memory available.

@heejaechange, how did you find out that the vscode-server node was different than the desktop one?

This is how you can check.
if you run

node -p "process.config"

it will show flags the node is built with. and you need to look for v8_enable_pointer_compression to see whether node is built with pointer compression
for vscode, you need to set ELECTRON_RUN_AS_NODE=1 as your env, and then run code.exe (not code.cmd) with -p "process.config"
for vscode, you will see  v8_enable_pointer_compression: 1
for vscode-server, you first need to find where vscode-server is installed on your remote. usually ~/.vscode-server. once you found, find node in that folder. once you found it, do the same. (but you won't need ELECTRON_RUN_AS_NODE since it is regular node not electron)
for vscode-server, you will see  v8_enable_pointer_compression: 0 (at least, that's what it shows for me)
if you wonder, you can try yourself to verify.

Well, I thought node server shipped with vscode-server can only do 4GB? or is that wrong? If the NODE_OPTIONS is intended for internal node server, then what could be its upper limit?

there are 2 different concepts of memory limitation. one is hard threshold set by pointer compression and the other is soft threshold set by --max-old-space-size
by default, node (at least code and vscode-server) has 4GB as soft threshold. but you can increase it with the option up to hard threshold
for pointer-compression enabled node, that hard threshold is 4GB. for regular 64 bits node, upper limit is much higher, but I believe it depends on node version. but that said, as long as I know, node doesn't recommend setting it bigger than needed since it will affect GC performance. bigger the limit is slower the GC will be.

Heap stats: total_heap_size=5366MB, used_heap_size=4769MB, cross_worker_used_heap_size=4769MB, total_physical_size=5365MB, total_available_size=21564MB, heap_size_limit=26432MB
this indicates you have plenty of memory. so it might be other kind of issue due to how JS GC works.
it would be nice if we can repro it ourselves. anyway we could get some repro projects?

From recent test, I think 5.1 is much more better and stable than 4.0. In 4.0, it random crashes if I open the folder along with a venv in subdirectory. I forgot if I set the python.analysis.diagnosticMode to workspacefile or openfiles only.
This time I just include the venv path and system site-package path in extra path and turn on workspacefile (where my workspace contains some git clone ML library and my own stuff). Intended to stress test by asking pylance to do a full scan.
Anyways,
Since local code.exe node server has hard limit at 4GB, while specifying node executable also has hard limit at 8GB. I think there could have some demand that user can adjust their memory usage themselves.
As for remote vscode-server, if setting --max-old-space-size can adjust the node server (no hard limit) shipped by vscode, then I am fine with it. Not going to mess with nodeExecutable again.


Add OBS API client source

Work in progress.
To-do:

[x] complete the existing APIs
[x] rework the command-line client to use a more idiomatic argument parser

Out of scope:

adding more APIs

@pawiecz, I guess, a8cc6df is about what you meant? 😉

I think it’s now good enough.


feat: Add human toolkit for human interaction with the agent (#1158)

Description
This PR adds the human toolkit so that the agent can interact with human via the keyboard when necessary.
Motivation and Context
Closes issue #1158.
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)
[ ] Example (update in the folder of example)

Implemented Tasks

[x] Add the human toolkit.

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide. (required)
[x] My change requires a change to the documentation.
[x] I have updated the tests accordingly. (required for a bug fix or a new feature)
[x] I have updated the documentation accordingly.

Hi there is a small issue that the user cannot see the question from the console when using logger.info(). I submit a pr #1251 by replacing logger.info() by method with higher priority, so that it will be shown in the console.


[turborepo] Unable to debug: go-turbo is expected to be invoked via turbo

What version of Turborepo are you using?
1.8.5
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Describe the Bug
Issue title: Unable to start debugging after clicking "Build Basic" test button
Issue description: According to the instructions in https://github.com/vercel/turbo/blob/main/CONTRIBUTING.md, after clicking the "Build Basic" test button, debugging cannot be started and an error is thrown directly in the main.
Starting: /Users/sheng/go/bin/dlv dap --listen=<IP_ADDRESS>:53653 --log-dest=3 from /Users/username/Documents/code/js/github/turbo/cli/cmd/turbo
DAP server listening at: <IP_ADDRESS>:53653
Type 'dlv help' for list of commands.
go-turbo is expected to be invoked via turbo
Process 91035 has exited with status 1
Detaching

Expected Behavior
No error.
To Reproduce
Just clone the main branch.
Reproduction Repo
No response

Sorry about that, our contributing docs have gotten a little out of date with the Rust migration. The go binary now expects the args to be JSON encoded.

This isn't a bug, so we're going to close it. Go is in the process of disappearing...


Cherry pick "Bind function to correct this for workspace syms"

For #14727
Cherry picks #14728

Codecov Report

Merging #14743 (d005f60) into release-2020.11 (ab63f02) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@                 Coverage Diff                 @@
##           release-2020.11   #14743      +/-   ##
===================================================
- Coverage            65.01%   65.01%   -0.01%
===================================================
  Files                  543      543
  Lines                25429    25429
  Branches              3593     3593
===================================================
- Hits                 16533    16532       -1
- Misses                8219     8220       +1
  Partials               677      677

Impacted Files
Coverage Δ

.../jupyter/languageserver/notebookMiddlewareAddon.ts
3.84% <0.00%> (ø)

src/client/common/utils/platform.ts
68.00% <0.00%> (-4.00%)
:arrow_down:

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 ab63f02...d005f60. Read the comment docs.


seeds

Did you complete the seeds, or are they in progress? (This is a real question and a test for using this software)


Use same structs for glfw image data

Cursors and icons use the same data structure in glfw but different ones in Silk atm. Should be changed to use the same structure in Silk as well in the future.

Slated for 2.0

ICursor and SetWindowIcon now uses the new RawImage structure added in Silk.NET.Core as part of my latest PR. Silk.NET.GLFW still uses its own image data structure as RawImage uses a byte array, whereas Image uses a byte pointer.

Done in #260


Custom configuration for test-styles and tags?

I'm looking for a way to add custom-configuration for additional styles.
Ie we're using h3 with two styles and I'd love to be able to use those by having Heading 3 as well as an Heading 3 (alt) option.
Is that something that can be done? Happy to look into myself if I get a hint on where to add this.
Thanks!

There is currently no way to add new custom headings or classes to elements. But I can definitely see the potential of the feature!


Fix typo about Id property name in InlineQueryResult

it should be "id", not "_id"

@aguiraf Actually you are wrong, InlineQueryResult dont have any getter for id property

Hi @Naltox, let me try to explain better:
here in line 66 https://github.com/Naltox/telegram-node-bot/blob/master/lib/mvc/InlineScope.js#L66  you are providing a random value for id, in the event the api-user didn't provided himself;
but you are assigning it to "_id" , I assume it should be "id".
Actually, when my bot replies to an inlineQuery without providing explicit id values to the InlineQueryResults, the response is sent with an unknown _id but without the required id property
and is discarded by Telegram api. Applying my patch it works as expected.
hope have been clearer and not have done a big mistake; if so, sorry

@aguiraf Hey, as you can see result is instatce of InlineQueryResult, InlineQueryResult have _id property and id getter for that property, but there is no setter for _id so you cant do .id = 123

ok, there's no setter, so perhaps  the getter isn't working properly;
again, the underlying problem is that the result is being sent without id;
my logs:
[warn]
Api error: Body: { ok: false,
  error_code: 400,
  description: 'Bad Request: Can\'t find field "id"' }

my code:
class MyInlineController extends TelegramBaseInlineQueryController {
  handle($) {
            $.answer([{
                type: "article",
                title: 'article1',
                input_message_content: {message_text: 'text article1' }
              },
              {
                type: "article",
                title: 'article2',
                input_message_content: {message_text: 'text article2' }
              }
            ],
            {cache_time:10}
            )
    }


Look into express server over livereload

This would reduce additional steps of:

adding/removing livereload script from build/ and dist/ files
ensuring livereload is running
installing livereload or adjusting the watch folder
multiple preview urls (can/should it pull from build/ so projects that are not currently being watched can be seen? the server would still have to be running)

Co-workers benefit from having access to the static build/ and dist/ files. If express (or another server) is used, its function would be to display a page that would allow easy navigation across projects.


massive CORS preflight requests

may be able to set cache, but lots of caveats

On GET/POST, avoid custom headers if at all possible, since these still trigger preflights. If your API returns JSON, note that a Content-Type of 'application/json' also triggers a preflight.

http://stackoverflow.com/questions/12013216/how-to-apply-cors-preflight-cache-to-an-entire-domain
worst case, move to websockets?

current response headers
access-control-allow-headers:accept, content-type
access-control-allow-methods:GET,HEAD,PUT,PATCH,POST,DELETE
access-control-allow-origin:*
date:Fri, 18 Dec 2015 04:29:31 GMT
server:nginx/1.9.2
status:204 No Content
strict-transport-security:max-age=31536000
version:HTTP/1.1
x-powered-by:Express

rpc response headers
access-control-allow-origin:*
content-length:1419
content-type:application/json
date:Fri, 18 Dec 2015 04:29:31 GMT
server:nginx/1.9.2
status:200 OK
strict-transport-security:max-age=31536000
version:HTTP/1.1
x-powered-by:Express

ok so

nuking the explicit content types on the request works
but
the server needs to be changed to manually parse the json

still curious about going websockets anyways... lets push be a thing, and you can tie state to the websocket life cycle

worth exploring, and i think the web3 devs are experimenting with this as well

fixed!


Getting blocking error on OpenAI completion after some chats with the agent, Agent/memgpt it is not able to go after that

Describe the bug
Hi! I am Getting error on OPenAI completion aftaer some chat with the agent:
(memgpt_venv) root@PTVFCO-P119:~/memgpt_code# memgpt run --agent FlowsAgent2 --model gpt-4o --context-window 8192 --first
🔁 Using existing agent FlowsAgent2

Enter your message: hwo are you
that is run : with

An exception occurred when running agent.step():
Traceback (most recent call last):
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/main.py", line 424, in run_agent_loop
new_messages, user_message, skip_next_user_input = process_agent_step(user_message, no_verify)
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/main.py", line 392, in process_agent_step
new_messages, heartbeat_request, function_failed, token_warning, tokens_accumulated = memgpt_agent.step(
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/agent.py", line 739, in step
raise e
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/agent.py", line 637, in step
response = self._get_ai_reply(
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/agent.py", line 348, in _get_ai_reply
raise e
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/agent.py", line 321, in _get_ai_reply
response = create(
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/llm_api/llm_api_tools.py", line 196, in wrapper
return func(*args, **kwargs)
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/llm_api/llm_api_tools.py", line 328, in create
response = openai_chat_completions_request(
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/llm_api/openai.py", line 403, in openai_chat_completions_request
raise http_err
File "/root/memgpt_venv/lib/python3.10/site-packages/memgpt/llm_api/openai.py", line 393, in openai_chat_completions_request
response.raise_for_status()  # Raises HTTPError for 4XX/5XX status
File "/root/memgpt_venv/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.openai.com/v1/chat/completions
Please describe your setup

[ ] How did you install memgpt? pip install pymemgpt

pip install pymemgpt? pip install pymemgpt-nightly? git clone?

[ ] Describe your setup

What's your OS (Windows/MacOS/Linux)?windows (wsl -d ubuntu)
How are you running memgpt? (cmd.exe/Powershell/Anaconda Shell/Terminal) , cmd.exe with wsl and crate a venv

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
MemGPT Config
Please attach your ~/.memgpt/config file or copy past it below.
[defaults]
preset = memgpt_chat
persona = sam_pov
human = basic
[model]
model = gpt-4:
model_endpoint = https://api.openai.com/v1
model_endpoint_type = openai
context_window = 8192
[embedding]
embedding_endpoint_type = openai
embedding_endpoint = https://api.openai.com/v1
embedding_model = text-embedding-ada-002
embedding_dim = 1536
embedding_chunk_size = 300
[archival_storage]
type = chroma
path = /root/.memgpt/chroma
[recall_storage]
type = sqlite
path = /root/.memgpt
[metadata_storage]
type = sqlite
path = /root/.memgpt
[version]
memgpt_version = 0.3.21
[client]
anon_clientid =<PHONE_NUMBER>000000000079b2be0caee9

If you're not using OpenAI, please provide additional information on your local LLM setup:

I also encountered this problem, how did you solve it

I also encountered this problem, how did you solve it

@livedhe it is not yet resolved

@sarahwooders  an important note:  Important note: I had added a simple text tool to the agent with  a simple python code (the dice rolling example) at creation time

I'm also running into this, let me know if I can help in any way.


added guide for kameleo integration

Hi Fabien, please check out the guide I created for kameleo-scrapoxy integration

Hi @deaktomi , nice!
I've asked you an account for testing purpose on Discord. Can you provide me ?
Thanks!

I provided it for you email

Hello,
I've merged the documentation for Kameleo.
Thanks a lot!


[feat] Allow users to set the output file in the configuration conversion tool

Fixes #1283

Hello @ekouts, Thank you for submitting the Pull Request!

In the file tools/convert_config.py:

Line 19:80: E501 line too long (89 > 79 characters)

Do see the ReFrame Coding Style Guide

@jenkins-cscs retry dom


Json parser return exceptions when whenError is not null

Coverage decreased (-0.009%) to 49.581% when pulling dec20806220dbedee01f58068bd72719d04bf282 on compae:bug/json-parser-error-return into e75b31f972c892e7fef63b5431a0e37d2a3a9949 on Stratio:master.


Layout on iPhone X - The "notch" interferes with some layouts.

Suggestion: padding that side with the notch. shakes fist at Apple
Provided by "Devar" from slack.

"I just realised the wallet supports orientation. Unfortunately this breaks a fair but of the UI as the infamous notch covers some of the display area. the right hand side in this case.. wait... and if i have the notch on the left hand side... interfers with the rendering. You'll have to introduce some padding the side depending on detected orientation so text/boxes are not rendered under the notch"

Particularly an issue on the following screens:

Wallets main screen
Transaction Details
Address Details
Coin Info
Address Converter
Network settings

Ok, I think I fixed this.  I'll push out a build soon and when I do I'll let you know and if it looks fine, we can close this issue.  Thanks again for reporting this!

Tested all these screens in all orientations and overlap with notch is now fixed.

  Thanks again for all the great insights thus far.
Ok, closing the issue.


Self.instances ID's are disappearing after refresh in QuasarPage

I have created some jp.Divs and gave them as arguments ID="ID_xxxxx".
So I used the ID to change the content in events with the following way
Self.instances["ID_xxxxx"] = something.
After refreshing the website server could not find this ID_s them, the solution was, rebuild the project or close the tab and open it again.
So I do not know if it is a bug or not. Or it is not recommended to work with self.instances in the events?
Another salutation for that was to work only with components.
Another Problem that I have now, when I open a page to make changes, and after that I open another tab or new window. Or even another browser, it is remembering the changes.
How to make it so that for each tab, windows or generally any new connection sessions, everything set to defaults?

You should not work with the self.instances of a container such as a Div or WebPage. instances is a class attribute of WebPage and JustpyBaseComponent.
What are you trying to do? Which functionality are you looking for?

You should not work with the self.instances of a container such as a Div or WebPage. instances is a class attribute of WebPage and JustpyBaseComponent.
What are you trying to do? Which functionality are you looking for?

I built single web page application, in which there is dynamic output. This means, based on some parameters, the output is changing immediately.
So to change the content of the output, I need somehow access to that.
But now I have another Problem
Another Problem that I have now, when I open a page to make changes, and after that I open another tab or new window. Or even another browser, it is remembering the changes.
How to make it so that for each tab, windows or generally any new connection sessions, everything set to defaults?

Please take a look at the example here which shows how to change a Div content immediately as input changes:
https://justpy.io/tutorial/input/#the-input-event

Please take a look at the example here which shows how to change a Div content immediately as input changes:
https://justpy.io/tutorial/input/#the-input-event

I have forgotten to write, that as dynamic output I am using QList

Basically the same idea. In the event handler change the QList as you want.

Basically the same idea. In the event handler change the QList as you want.

For changing the content of the QList  I am accessing and changing it like this in the event handler.
msg.page.components[1].components[0].components[3].components[1]

It is better to assign the element you want to change to an attribute of the page like in this example:
https://justpy.io/tutorial/handling_events/#example-3-event-changes-elements-on-page

It is better to assign the element you want to change to an attribute of the page like in this example:
https://justpy.io/tutorial/handling_events/#example-3-event-changes-elements-on-page

Just take following example(QList example a little changed), now the question is when I click the buttons, for example Button 7, I want that only the text attributes in QList change to something different, the only way I can see to access on QList Text Column, and change every Cell is to access with Components.
This part
for c in wp.q_list.components:
if c.components[1].text == "apple":
c.components[1].text = "Apple"
elif c.components[1].text  == "aardvark":
c.components[1].text = "Test1"
I can not understand, how to use the example that you mentioned.
Another Problem is that I have global variables in python. How to reset all them to defaults when a new tab or page opened.
And another question is how to keep for each new tab different global variables for exactly the same page.
import justpy as jp
qlist_texts = ['apple', 'ad', 'aardvark', 'again', 'bean', 'bath', 'beauty', 'can', 'corner', 'capital']
def check_box_clicked(self, msg):
wp = msg.page
def my_filter(var):
    for letter in self.value:
        if var.startswith(letter):
            return True
    return False

filtered_list = list(filter(my_filter, wp.list_item_text))

for c in wp.q_list.components:
    if c.components[1].text not in filtered_list:
        c.show = False
    else:
        c.show = True

def button_click(self, msg):
wp = msg.page
self.num_clicked += 1
# self.message.text = f'{self.text} clicked. Number of clicks: {self.num_clicked}'
p = jp.P(text=f'{self.text} clicked. Number of clicks: {self.num_clicked}')
self.message.add_component(p, 0)
for button in wp.button_list:
    button.set_class('bg-blue-500')
    button.set_class('bg-blue-700', 'hover')
self.set_class('bg-red-500')
self.set_class('bg-red-700', 'hover')

for c in wp.q_list.components:
    if c.components[1].text == "apple":
        c.components[1].text = "Apple"
    elif c.components[1].text  == "aardvark":
        c.components[1].text = "Test1"

def reactive_list_test():
wp = jp.QuasarPage(tailwind=True)
d = jp.Div(classes="q-pa-md", style="max-width: 400px", a=wp)
wp.list_item_text = ['apple', 'ad', 'aardvark', 'again', 'bean', 'bath', 'beauty', 'can', 'corner', 'capital']
wp.q_list = jp.QList(dense=True, bordered=True, padding=True, classes="rounded-borders", a=d)
button_div = jp.Div(classes='flex m-4 flex-wrap', a=wp)
button_classes = 'w-32 mr-2 mb-2 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full'
message = jp.Div(classes='text-lg border m-2 p-2 overflow-auto h-64', a=wp)
message.add(jp.P(text='No button clicked yet'))
button_list = []
ii = 0
for word in wp.list_item_text:
    ii += 1
    q_item = jp.QItem(clickable=True, v_ripple=True, a=wp.q_list)
    jp.Div(text=f'{ii}', a=q_item, style="width: 2em;text-align: center;color: black", classes="unselectable")
    jp.QItemSection(text=word, a=q_item)
    jp.Div(text=f'{ii*3}', a=q_item, style="width: 2em;text-align: center;color: black")

    b = jp.Button(text=f'Button {ii}', a=button_div, classes=button_classes, click=button_click)
    b.message = message
    b.num_clicked = 0
    button_list.append(b)
wp.button_list = button_list

option_group = jp.QOptionGroup(type='checkbox', color='green', a=d, input=check_box_clicked, value=['a', 'b', 'c'],
                               inline=True, classes='q-ma-lg',
                options=[{'label': 'A words', 'value': 'a'}, {'label': 'B words', 'value': 'b'}, {'label': 'C words', 'value': 'c'}])

return wp

jp.justpy(reactive_list_test)
Another Problem is that I have global variables in python. How to reset all them to defaults when a new tab or page opened.
And another question is how to keep for each new tab different global variables for exactly the same page.

I solved the second problem, using global variables as page attributes.