Error when installing the toolkit v17.1.1 to Visual Studio 2013

The AJAX Control Toolkit <v17.1.1>
The installation method

[x] Installer
[x] NuGet package
[ ] A custom build from the source code

Actual result
VSIX Installer error code: 2003 (VSIXInstaller.NoApplicableSKUsException)
2017-07-15 11:42:43 | INFO  | App.Application_Startup                  | Installer started
2017-07-15 11:42:43 | INFO  |                                              VSIX name: ASP.NET AJAX Control Toolkit
2017-07-15 11:42:43 | INFO  |                                              VSIX id: e79bade7-6755-466f-9788-3d8243bdcc5f
2017-07-15 11:42:43 | INFO  |                                              VSIX version: <IP_ADDRESS>
2017-07-15 11:42:43 | INFO  | App.Application_Startup                  | Process Info
2017-07-15 11:42:43 | INFO  |                                              OS: Microsoft Windows NT 6.1.7601 Service Pack 1
2017-07-15 11:42:43 | INFO  |                                              Is 64bit: True
2017-07-15 11:42:43 | INFO  |                                              Is admin: False
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.CheckLegacyVersionIsInstalled | VisualStudio 2010 not detected
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.CheckLegacyVersionIsInstalled | VisualStudio 2012 not detected
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.CheckLegacyVersionIsInstalled | VisualStudio 2013 professional detected
2017-07-15 11:42:43 | ERROR | Error while querying VS2017 instances:
Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.GetInstallDirFromHklm    | InstallDir for 2013: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\
2017-07-15 11:42:43 | TRACE | EnvironmentInfo.GetInstallerPath         | C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\VSIXInstaller.exe EXISTS
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.CheckLegacyVersionIsInstalled | VisualStudio 2015 not detected
2017-07-15 11:42:43 | ERROR | Error while querying VS2017 instances:
Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.GetInstalledInstances    | VisualStudio 2017 not detected
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.GetEnvironmentInfo       | C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\VSIXInstaller.exe
2017-07-15 11:42:43 | INFO  | EnvironmentInfo.GetEnvironmentInfo       | Vsix installer path is C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\VSIXInstaller.exe
2017-07-15 11:42:43 | INFO  | MainWindow..ctor                         | Installed VS
2017-07-15 11:42:43 | INFO  |                                              2013, ACT version: none
2017-07-15 11:42:43 | INFO  | Installer..ctor                          | User documents ACT directory \Mac\Home\Documents\ASP.NET AJAX Control Toolkit
2017-07-15 11:42:43 | TRACE | PageInstall..ctor                        | Initializing buttons
2017-07-15 11:42:43 | INFO  | PageInstall.InitButtons                  | Buttons initialization info
2017-07-15 11:42:43 | INFO  |                                              ACT extension is not installed in any supported Vs: True
2017-07-15 11:42:43 | INFO  |                                              ACT extension is installed in all supported VSs: False
2017-07-15 11:42:43 | INFO  |                                              ACT extension update is required: False
2017-07-15 11:42:43 | TRACE | PageInstall..ctor                        | Install page initialized
2017-07-15 11:42:44 | TRACE | MainWindow.ShowEulaPage                  | EULA page is shown
2017-07-15 11:42:48 | TRACE | MainWindow.ShowInstallProgressPage       | Progress page is shown
2017-07-15 11:42:48 | INFO  | VsixInstallerWrapper.Run                 | Run VSIXInstaller with arguments: '/quiet "C:\Users\shakazulu\AppData\Local\Temp\ACTInstaller_72edcfaa-a705-48b2-9bda-ad7c977a028a\Extension.vsix"'
2017-07-15 11:42:49 | INFO  | VsixInstallerWrapper.Run                 | VSIXInstaller exit code: 2003
2017-07-15 11:42:49 | INFO  | Installer.InstallExtension               | VSIXInstaller log:
7/15/17 11:42:48 PM - Microsoft VSIX Installer
7/15/17 11:42:48 PM - -------------------------------------------
7/15/17 11:42:48 PM - Initializing Install...
7/15/17 11:42:48 PM - Extension Details...
7/15/17 11:42:48 PM - 	Identifier      : e79bade7-6755-466f-9788-3d8243bdcc5f
7/15/17 11:42:48 PM - 	Name            : ASP.NET AJAX Control Toolkit
7/15/17 11:42:48 PM - 	Author          : CodePlex Foundation
7/15/17 11:42:48 PM - 	Version         : <IP_ADDRESS>
7/15/17 11:42:48 PM - 	Description     : ASP.NET AJAX Control Toolkit Visual Studio integration package
7/15/17 11:42:48 PM - 	Locale          : en-US
7/15/17 11:42:48 PM - 	MoreInfoURL     :
7/15/17 11:42:48 PM - 	InstalledByMSI  : False
7/15/17 11:42:48 PM - 	SupportedFrameworkVersionRange : [4.0,4.6]
7/15/17 11:42:48 PM -
7/15/17 11:42:48 PM - 	Supported Products :
7/15/17 11:42:48 PM - 		Microsoft.VisualStudio.Community
7/15/17 11:42:48 PM - 			Version : [10.0,15.0]
7/15/17 11:42:48 PM -
7/15/17 11:42:48 PM - 	References      :
7/15/17 11:42:48 PM -
7/15/17 11:42:48 PM - Searching for applicable products...
7/15/17 11:42:49 PM - Found installed product - Microsoft Visual Studio Professional 2013
7/15/17 11:42:49 PM - Found installed product - Microsoft Visual Studio 2013 Shell (Integrated)
7/15/17 11:42:49 PM - Found installed product - Global Location
7/15/17 11:42:49 PM - Found installed product - ssms
7/15/17 11:42:49 PM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
at VSIXInstaller.App.InitializeInstall()
at VSIXInstaller.App.OnStartup(StartupEventArgs e)
2017-07-15 11:42:49 | TRACE | Installer.TryRemoveDirectory             | Removing directory: C:\Users\shakazulu\AppData\Local\Temp\ACTInstaller_72edcfaa-a705-48b2-9bda-ad7c977a028a
Expected result
when I tried to install it from the installation this is the error that i received. i have windows 7 and visual studio 2013 professional.
NuGet package
when I tried to install with NuGet package it was ok but i didn't see any tools in the toolkit.

It seems that the installer tries to apply the wrong VSIX.
Please try to install this VSIX package, which is used in our installer internally while we are investigating what causes this issue: AjaxControlToolkit.<IP_ADDRESS>.zip

thank you for the quick response and quick fix.
waiting to see what happened to the installer, this problem happened to a lot of people that i know.

Hi @blakazulu
We updated our installer logic, so you can download the fixed version from the releases or from our site.
Feel free to comment on this issue if you are still having problems with the installation.


App wrapping a hosted-app-url could get approved by the AppStore?

Hi, I am just playing with this (didn't finish the build yet) and have a few concerns about app publication.
If I create a new IOS app based on OpenWebRtc and it just point to an URL outside like the example, it cold get approved? AppStore doesn't complain about it just being a wrap to an URL instead a local application?
Thanks!

Obviously we cannot make any guarantees that Apple will approve your application, but by using OpenWebRTC and integrating it in your application you have added value outside a simple web view app that just wraps a web app. Apple's UIWebView does not have WebRTC until you integrate with OpenWebRTC.

Thanks!
On Thursday, March 5, 2015, Stefan Ålund<EMAIL_ADDRESS>wrote:

Obviously we cannot make any guarantees that Apple will approve your
application, but by using OpenWebRTC and integrating it in your application
you have added value outside a simple web view app that just wraps a web
app. Apple's UIWebView does not have WebRTC until you integrate with
OpenWebRTC.
—
Reply to this email directly or view it on GitHub
https://github.com/EricssonResearch/openwebrtc/issues/213#issuecomment-77415877
.

--
Sent from Gmail Mobile


add docstrings

Codecov Report

Merging #59 into master will increase coverage by 0.01%.
The diff coverage is 81.81%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
+ Coverage   89.27%   89.28%   +0.01%
==========================================
  Files           2        2
  Lines         233      224       -9
==========================================
- Hits          208      200       -8
+ Misses         25       24       -1

Impacted Files
Coverage Δ

src/PackageCompilerX.jl
89.05% <81.81%> (+0.27%)
:arrow_up:

src/juliaconfig.jl
91.3% <0%> (-1.56%)
:arrow_down:

Continue to review full report at Codecov.

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


Fix for youtube url fetch metadata issue

This pull request fixes youtube url fetch metadata issue. adding just a user-Agent field in the request header fixes the issue. i don't think it will break anything. if anything breaks please comment here

@nafis042 Thanks. I will test it ASAP.

@nafis042 Thanks. I will test it ASAP.

Instagram uses open graph tags and for this, I think new regex expressions must be included. I made a quick fix for the Instagram image tag but this should be handled properly for video, title, description as well.

Instagram uses open graph tags and for this, I think new regex expressions must be included. I made a quick fix for the Instagram image tag but this should be handled properly for video, title, description as well.

@nafis042  tested link on Insta, working great

@nafis042  tested link on Insta, working great

@nafis042 @abdulKarim002 Cool! Thanks! I will have a look at it this weekend and push a new version. Thanks for the contribution.

@nafis042 @abdulKarim002 Cool! Thanks! I will have a look at it this weekend and push a new version. Thanks for the contribution.


Unable to download

When I go to download the package, it doesn't let me download it. I had gotten a 400 error on it but after a fresh install, it doesn't give me an error anymore but I am still unable to download.

Got the same thing.
Installing<EMAIL_ADDRESS>failed.Hide output…
Unable to download https://www.atom.io/api/packages/atom-development-server/versions/0.3.4/tarball: 400 Bad Request Repository inaccessible

Same here  - unable to download 8-2-2015

Same here.  Maybe need to update the version on apm?

Ditto.


Use is operator for comparing with None (Pep8)

Description

GitHub Issues

Travis doesn't like this for some reason.

self.assertIsNotNone(event)


3rdparty/Ale is not an existing directory

Following the guide at https://torchcraft.github.io/TorchCraftAI/docs/install-macos.html, doing the cmake of TorchCraftAI and CherryPi:
cmake .. -DCMAKE_BUILD_TYPE=relwithdebinfo
You get the following errror:
CMake Error at CMakeLists.txt:72 (ADD_SUBDIRECTORY):
ADD_SUBDIRECTORY given source
"[path-to-TorchCraft]/TorchCraftAI/3rdparty/ale" which is not an existing
directory.
CMake Error at CMakeLists.txt:73 (SET_TARGET_PROPERTIES):
SET_TARGET_PROPERTIES Can not find target to add properties to: ale-lib
CMake Error at CMakeLists.txt:74 (TARGET_INCLUDE_DIRECTORIES):
Cannot specify include directories for target "ale-lib" which is not built
by this project.
Is it a bug that the Ale directory is not present? Or is it a bug that the lines 72, 73 and 74  TorchCraftAI/CMakeLists.txt are there?
Commeting out lines 72, 73 and 74 in TorchCraftAI/CMakeLists.txt resolves the issue.

Hi @MicroDK
I updated the master branch with the ale directory which should fix your error.
Thank you for reporting!

Closing this as resolved, please feel free to re-open if you're still running into issues because of this @MicroDK.


Documentation needs to updated to new service name

Reference to _dartobservatory._tcp in documentation needs to be changed to _dartVmService._tcp before it is deprecated.
https://docs.flutter.dev/add-to-app/ios/project-setup
https://github.com/flutter/engine/pull/39139
cc @bkonyi

Hey @vashworth can you please review my pull request
https://github.com/flutter/engine/pull/42044#issue-1710429208

@vashworth can you point me towards the right place to edit this documentation? I'm not sure where to look :-)


Change of default non-analytical term corretion

I am planning to change the default non-analytical term correction method from the current one (Wang et al) to the other one (Gonze et al). The later can be used with --nac-method='gonze' at the latest versions.
To release it as the default NAC, what kind of message should I show?

At v1.13.0, the method by Gonze et al. is made as the default method.


pkg/apiserver/statement: fix typo

There was a type that jumped out at my while reading the code.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Allow to enter paths for creating/renaming files

I waste a lot of time creating new files and complete paths for it, and I think there would be some good ideas to improve this.
For example, when using the "create new file" command (by right click or panel command):

VSC should be clever enough to understand that I request a complete path (existing or new) to put my file in, and create it all the way. A bit like the touch cli command.
Then again, a feature to automatically create a complete path to a file from a string would be great, like this (the example is from phpstorm) :

It would be great if it was possible like this, but even more if it could create the complete path directly.
Thanks!

@EmmanuelBeziat we actually used to support to create a file from a link path but looks like it got broken and I pushed a fix for it (https://github.com/Microsoft/vscode/issues/12896). This is how it should behave:

Your request for being able to enter paths in the file box is valid.

+10000 for making vscode smarter
If/when you do this - please also make sure it handles renaming/moving of the files in the same way : https://github.com/Microsoft/vscode/issues/9349
Thanks

@bpasero Your example work in the recent version of VScode, thanks!
Though I think it would be way more understandable (and easy-to-use) to have a "create file / create path and file" directly in the contextual menu, instead of having this sort of "error message that allows an action".
I still support my other idea to have a smart creation directly in the sidebar. Moreover, I agree with #9349 : this isn't about what is normal in a classic file exporer on desktop OS, but about what is standard in other code editors, and therefore to what dev are used to.
Anyway, great stuff for this recent update!

Hello. @bpasero thank you for your great work under new hotkeys for tree explorer. So there's one unclear moment for me. What command do I need to call to create file and nested folder at once for tree explorer? Currently I do this with
    {
        "key": "a",
        "command": "explorer.newFile",
        "when": "filesExplorerFocus"
    }

but this is not create nested paths. So what is correct command this?

@Aetet currently we do not allow you to type a path into the "New File" box and create folders directly, hence this feature is still open.

@bpasero is there any chance that it will go to March release?

It is not on our plan, but as usual we accept good quality PRs if anyone is interested. The input box for the explorer is created around here: https://github.com/Microsoft/vscode/blob/ben/next/src/vs/workbench/parts/files/browser/views/explorerViewer.ts#L302

@bpasero ok. Thanks. For other referencing this issue.
My workaround till this will be implemented:
https://github.com/dkundel/vscode-new-file
with following settings:
"newFile.showFullPath": false

Yeah, I think using an extension for this is the best current workaround 👍

@bpasero wouldn't relaxing this check to accept (absolute and relative) paths rather than base paths fix the issue globally?
I'm used to this too, to move files around using the "rename" command.

@isidorn @tsalinger isn't this done?

Yes it is ! :)


Overview

Strongly suggest the first line of the readme and first item in the wiki is a simple description of the tool.
PRESUMABLY it copies to/from a local system to an Azure storage account  (using current or specified  subscription credentials ), but in order to find out I have to dig a lot deeper   (I was given a link with "try using this tool")

Thanks for the suggestion @stephc-msft!
@seguler

Does it not say that already ?
AzCopy (v10 Preview) is the next-generation command-line utility designed for copying data to/from Microsoft Azure Blob and File, using simple commands designed for optimal performance. You can copy data between a file system and a storage account, or between storage accounts.

@seguler the wiki front page is empty.

Fixed here: https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10


Define some way for foreign fetch to decide on opaqueness of responses

A service worker with a foreign fetch handler needs some kind of API to decide if responses it returns should be opaque responses or not when received by whoever initiated the fetch (as currently specified all responses will be opaque, which is rather limiting).
Currently proposed is that by default all responses from a foreign fetch handler should be opaque, and we'll have some extra API to explicitly mark a response as non-opaque (assuming the response isn't already opaque to the service worker itself). The proposed API allows you to associate two bits of information with a response:

the origin to which the response should be exposed (similar to Access-Control-Allow-Origin in CORS, but not allowing wildcards), and
(optionally) which headers of the response should be exposed (similar to Access-Control-Expose-Headers in CORS)

Of course that leaves the question why we don't just require the foreign fetch handler to set these CORS headers on their responses, rather then coming up with our own API. I don't quite remember what the arguments for this were (changing headers requires returning a synthetic response, which might behave differently? slightly more complicated code to write to be able to return a synthetic response? semantics are subtly different from CORS so re-using CORS headers isn't ideal? explicit API is just easier to use?)
But assuming we do indeed want some kind of API to mark a response as being non-opaque for the purpose of foreign fetch, what should that API look like?
As proposed:
partial interface Response {
  static Promise<VisibleResponse> makeVisibleTo(promise<Response>,
      USVString origin, optional ResponseVisibilityOptions options);
};

dictionary ResponseVisibilityOptions {
  sequence<USVString> headers;
};

// TODO: define VisibleResponse

combined with changing respondWith to accept a Promise<Response or VisibleResponse> (for a regular fetch event calling makeVisibleTo on the response passed to respondWith wouldn't change any behavior).
The makeVisibleTo method could of course also be a method on the FetchEvent (and there is also the question if foreign fetch should keep using the same FetchEvent interface or have its own ForeignFetchEvent interface that might or might not derive from FetchEvent).
Another option might be to change respondWith to be able to be called asynchronously (as long as waitUntil promises haven't all resolved yet) and just add the new visibility options as an extra argument to respondWith.
/cc @slightlyoff @annevk

semantics are subtly different from CORS so re-using CORS headers isn't ideal?

If we reuse CORS headers, then passing the response back without thinking could reveal more info than intended.

Response.makeVisibleTo(…)

Feels weird to put a method on Response that only really applies to foreign fetch. I prefer foreignFetchEvent.makeVisibleTo().
Another possibility is to make foreignFetchEvent.respondWith receive (a promise for) an object, so the usage would be:
self.addEventListener('foreignfetch', event => {
  event.respondWith(
    fetch(url).then(response => ({
      response,
      visibility: {
        origin: '…',
        headers: […]
      }
    }))
  );
});

You lose the opaque default with this method though. Not sure if that's a feature or a bug.

there is also the question if foreign fetch should keep using the same FetchEvent interface or have its own ForeignFetchEvent

I think it must, as we'd want to expose details about the receiving origin. From the explainer, event.request.origin is always going to match location.origin, which is unlikely to happen in foreign fetch.

Another option might be to change respondWith to be able to be called asynchronously (as long as waitUntil promises haven't all resolved yet)

This gets tricky when it comes to multiple listeners. There'd either be a race to respondWith, or waitUntil would need to change so it prevents the next event listener being called. I don't think either is particularly nice.

Wait, why would event.request.origin match location.origin? I don't think it should.
We also need to think through if this creates a new kind of filtered response and what returning such a filter response elsewhere would do. E.g., with nested foreign fetch (I tend to think we need to make it such that each layer needs to use an API to reveal it to the next).
Reusing CORS directly doesn't work, since we want CORS responses to become opaque responses by default.

Wait, why would event.request.origin match location.origin? I don't think it should.

If example.com makes a request for https://fonts.example.com/foo.woff then request.origin is https://fonts.example.com.
Since foreignfetch events can only handle requests made to the registration's origin, and SW scripts can only be same origin, location.origin within the SW handling a foreignfetch for a request with url https://fonts.example.com/foo.woff must be https://fonts.example.com.
(bracing myself for having a fundamental misunderstanding of foreign fetch)

I tend to think we need to make it such that each layer needs to use an API to reveal it to the next

Agreed. I don't think this creates a new kind of response. The headers are filtered in the same way they are now via CORS, or the request becomes opaque like it does with no-cors.
The return of foreignFetchEvent.makeVisibleTo() should just be a wrapper around the response. foreignFetchEvent.respondWith() unwraps it unless there's a security error.

Another argument for makeVisibleTo to sit on foreignFetchEvent: it can indicate the visibility of the response after it returns/resolves. Response.makeVisibleTo cannot, as it doesn't know anything about the destination.
Not convinced makeVisibleTo should take a promise either. It could be synchronous right?

Bikeshedding:  Can we name it reveal() instead of makeVisible()?

respondWith() cannot simply unwrap. It needs to be a new filtered response of some kind. Otherwise it would reveal all of the response whereas we want to limit exposure to certain headers and such (and we also don't want to expose more headers than were exposed thus far, might be quite tricky to get that right).

I mean the return of foreignFetchEvent.makeVisibleTo() is a wrapper around the new response. I'm trying to avoid creating yet another response type, especially one that's only useful between calling foreignFetchEvent.makeVisibleTo() and foreignFetchEvent.respondWith() checking it.

@jakearchibald we need a wrapper after respondWith(). I would imagine makeVisibleTo() to simply put some annotations on the response that Fetch can use.

Hmm, good point about needing a new filtered response type. If fully opaque/fully visible was all we cared about opaque filtered vs not filtered is all that we would need. But with selectively exposed headers thrown in the mix some new response type is probably needed. It might also be an option to extend the definition of a CORS filtered response to take these annotations into account, but that might be weird.
And if we do add a new filtered response type, should that also include a new ResponseType value, which will be visible in the Response object? Or should this from the point of view of whoever initiated the fetch still be a "cors" response? I don't really mind exposing the fact that a foreign fetch handler was involved, but I think it still would be nice if these foreign fetch exposed responses would still just be regular "cors" responses from the point of view of the fetcher.

Not convinced makeVisibleTo should take a promise either. It could be synchronous right?

I think the only benefit of makeVisibleTo take a promise is that (at least in theory) browser could detect patterns like respondWith(fetch(...)) and respondWith(makeVisible(fetch)) and not have to keep the worker alive while the fetch is in progress. But I'm not even sure if such an optimization really makes sense.
So still trying to decide whether foreignfetch should reuse FetchEvent, or if it should have its own ForeignFetchEvent class. Benefits of using the same event class could be that it makes it easier to use the same event handler for fetch and foreign fetch events (whether that is something that should be encouraged is a separate question of course). Are there different things we'd want to expose to foreign fetch handlers as opposed to regular fetch handlers? The requests's origin has been mentioned, but that's already part of the request (even though it's not exposed to javascript at the moment). As sort of a substitute the request does expose the referrer, which seems like it would provide most of the same information (unless it's set to no-referrer).
What about having makeVisibleTo be a non-static member of a Response? If makeVisibleTo really just sets some annotations on the response (which I think makes a lot of sense) there isn't really any reason for it to consume/return a response. It can just modify the response it is called on and set its "foreign fetch exposed headers" and "foreign fetch exposed origin" (not sure about those names). Also makeVisibleTo should presumably throw if the response it is called on is already an opaque response. (and should these new annotations on the response be part of what is stored in a cache? And I guess we'd need to decide what should happen if makeVisibleTo is called on a response that already has these annotations set).
The entire codepath related to regular fetches would just ignore these extra annotations on the response, but when handling a foreign fetch event, some code (either in Handle Foreign Fetch in SW, or in HTTP Fetch where that algorithm will be called) would:

check if any of these annotations are set. If not, return an opaque filtered response (like currently specced)
otherwise verify that the origin the response was annotated with matches the request (sort of like CORS check done in the http fetch algorithm today)
and then return a "foreign fetch filtered response" (or maybe a different name?) which "is a filtered response whose type is "cors", header list excludes any headers in internal response's header list whose name is not a foreign-fetch-safelisted response-header name, given internal response's foreign fetch exposed headers."

My new preferred plan is something like this:

Instead of makeVisibleTo, respondWith() on ForeignFetchEvent is somewhat different and passed a promise for a dictionary, consisting of {response: ..., origin: ..., headers: ...}.
You always need to pass a dictionary, even when you're not passing origin/headers.
If you pass headers without origin it'll result in a network error.
Fetch uses this metadata to construct a network error, opaque response, or foreign-fetch filtered response.
Foreign-fetch filtered responses's will need some kind of header safelist stored on them (or maybe on the internal response).

Optionally, ForeignFetchEvent also has a validateRepondWith() with method, that takes a dictionary (not a promise for one) and tells you whether it'll result in a network error, opaque response, or foreign-fetch filtered response. We should only add that after we're absolutely sure that's feasible though. So after all the code paths are worked out and we have the complete setup.

The other thing we need to think through and define is that the response member of the dictionary the promise is resolved with that is passed to respondWith() can contain any kind of response. So when you pass in an opaque response, we cannot make that visible. If you pass in a CORS response, we can only safelist the headers already safelisted by the CORS response. If you pass in a foreign-fetch filtered response, you get the idea.
I don't think we want to make filtered responses multiple layers deep since that would complicate things elsewhere. Though it might be worth trying to think through that angle too.

IMHO, visibility rules should be the same as those governing in the fetch from network case, i.e. CORS headers. I really don't get the point of not using CORS.
If someone could clarify what does this means:

Reusing CORS directly doesn't work, since we want CORS responses to become opaque responses by default.

I think responses for foreign fetch should not be different from already existent responses. For the client doing the request, it should not be distinguishable if the response comes from a sw handling a foreign fetch or from the network.

It won't be distinguishable from the point of view of fetch(), but "using CORS" doesn't work due to the ambient authority of the service worker. We need to know, from the service worker, that this was actually meant to be shared.

But you could force CORS responses to be at least as protective as the network response. So if you receive an opaque response you could not make it more visible at all and if you receive a partial opaque response (say, exposing just some headers) you could reduce this set but never extending it.
This way:
self.onforeignfetch = evt => {
    evt.respondWith(self.fetch(evt.request));
};

Acts the same way as if it were no service worker.

I'm not sure what you're saying.

Sorry, then I don't understand what you mean with the 'ambient authority' of the service workers and the need to know that the response was meant to be shared. Anyway, if the fetch() can only see the result as CORS headers, that works for me.
+1 to validateRespondWith() to know in advance if the response will fail.

The foreign fetch service worker is always fetched with credentials. CORS requests are either with or without credentials. But even for CORS requests without credentials, we'll use the foreign fetch service worker (fetched with credentials). Therefore we want to be absolutely sure that it wants to share a response.
Furthermore, if the foreign fetch service worker itself fetched something cross-origin and wants to share that, this will make that easy where "just use CORS" requires repackaging in a synthetic response.
Having an explicit programmatic security protocol should help with all that. Repackaging responses to include the correct headers is not a great API or the way to go.

Got it. Thank you, I think we are aligned here. When talking about CORS should be enough, I was implicitly saying without creating a new response so we require some kind of API to tweak the visibility options.

I started trying to write a spec for this (ForeignFetchEvent and the updated Handle Foreign Fetch algorithm). Overall I don't think it's too bad, but getting all the corner cases right and correctly dealing with all the various ways existing filtered responses should be treated is definitely tricky. Also at some parts of this should move to the fetch spec, but for now it seemed easier to just keep it all together in one place.

You always need to pass a dictionary, even when you're not passing origin/headers.

I'm not sure I see the benefit of this? If we allow passing just a Response as respondWith({response: response}), why wouldn't we also allow respondWith(response)? It might not be the common case, but supporting it really doesn't complicate anything.

Foreign-fetch filtered responses's will need some kind of header safelist stored on them (or maybe on the internal response).

Currently I've kind of hand-wavy stored this list on the filtered response, not the internal response. Storing it on the internal response seems like it could be potentially problematic (our foreign fetch handler somehow got hold of a response that already is a foreign fetch filtered response. It then tries to respond with that response and some shorter header list. If we just blindly update the header safelist on the internal response that would also change the headers visible to the javascript code in the foreign fetch handler, unless we clone the internal response first).
I do wonder if having a separate "foreign fetch filtered response" and a "cors filtered response" is really the best approach here though. It might be cleaner to somehow update the definition of "CORS filtered response" to make it usable for this, since after all both filtered response types do nothing but setting the type to "cors", and filtering the header list using some whitelist.

I don't think we want to make filtered responses multiple layers deep since that would complicate things elsewhere. Though it might be worth trying to think through that angle too.

At first I thought that having multiple layers of filtered responses might actually make sense, since it would make sure we never accidentally expose something another filter tried to hide, but I now agree that that indeed wouldn't really simplify anything. Foreign fetch code would still need to be careful to correctly deal with all the various filtered responses the original response can be (a foreign fetch filtered opaque response should just be an opaque response, etc).

I'm not sure I see the benefit of this?

Distinguishing a Response object from an ordinary object is somewhat ugly and not possible unless you branch on internal slots, which are not available to normal JavaScript. I'm not sure we should do that for the first iteration. Also, it's not the common case, so it's weird to optimize for that.
I think it's okay to update the "cors filtered response" to account for a different kind of safelist. I'm not entirely sure I'm comfortable storing state on filters though. There might be rewrapping happening, especially with multiple levels of nesting, and that would then somehow need to account for that state, which seems very fragile. Agreed that it's problematic with regards to what's observable. I guess we'll need to be clearer on how a response actually moves between environments. As far as I can tell that needs to be some kind of cloning (with potential user agent optimizations under the hood, of course).

Distinguishing a Response object from an ordinary object is somewhat ugly and not possible unless you branch on internal slots, which are not available to normal JavaScript. I'm not sure we should do that for the first iteration. Also, it's not the common case, so it's weird to optimize for that.

Ah, okay. That's unfortunate but makes sense. I'll change it that way.

I think it's okay to update the "cors filtered response" to account for a different kind of safelist. I'm not entirely sure I'm comfortable storing state on filters though. There might be rewrapping happening, especially with multiple levels of nesting, and that would then somehow need to account for that state, which seems very fragile. Agreed that it's problematic with regards to what's observable. I guess we'll need to be clearer on how a response actually moves between environments. As far as I can tell that needs to be some kind of cloning (with potential user agent optimizations under the hood, of course).

Agreed that storing state on filters is rather icky. But it seems that the conclusion of #850 might be that we'll be cloning the internal response anyway (at least in spec language), so modifying the internal response to set the list of exposed headers shouldn't be a problem then.

This landed as whatwg/fetch@32411c753f46a10fd20d2ad3610244e7fdf44d4a and d2fdb147c9c769ac6338117c1acd9f4010365f19


path intelligence

Feature: Notebook Editor, Interactive Window, Python Editor cells

I'm sorry
My English is not good.
Can I ask you to implement path inteligence ?
this func is  much useful.
so. without this, my workflow for data science
is too long .
Data science requires reading a lot of files
you know.
It takes a lot of time to type and copy each time it is read or written.
Description
Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer

agree with author.
jupyter lab use tab key as auto-completion key,but tab key is only a input key in vscode datascience,and path auto-completion is nearly not work in jupyter notebook.

You mean tab completion? This is probably connected to #8323

Hi @Light-dev-mac, developing path intelligence would not be a data science feature. But anyway, I'd like to share what I do.
Use this extension: 'christian-kohler.path-intellisense'. It will give you your files and folders when you type './', just like intellisense. An advantage is this will work with VS code as a whole, instead of just the python extension.
Let me know if this works for you.

I already had that extension installed.
But,it dose not work in Python interactive window

I see, I can confirm it also doesn't work on the notebook editor. We'll get to it shortly.

Sorry this isn't likely to work any time soon. VS code extensions do not load in our custom editor.
See this bug here:
https://github.com/microsoft/vscode-python/issues/7875


Cluster on/off depending on how many pins in the MapRect

I tried looking at other issues and didn't really find any answer to my question. Is there a way to turn off the clustering if i.e I have like 100 pins on the map. Then I want to show the 100 pins without clustering.

Found the answer by myself.
I forgot to use clusteringController.refresh(true, force: true)


Please help test the 2.2 122 update

Anyone who has a minute to test what might be a fix for multiple issues, back up your current nvALT.app and download this zip file. Replace your current nvALT.app with it in your Applications folder. Upon running, check for updates and it should point you to a version 122 (test update). If you see any crashes, warnings about "Unidentified Developers" or other nuisances, please report here.

Hi!
Got version 121 to solve case #390 and got the "unidentified developer" message when opening/installing:

The later upgrade to v122 went well, no new "warning" so far.

A little bit of strangeness (overlapping text) with 121, but resolved itself by navigating to and from another note.

Everything seems fine so far with 122.

Hi
After launching nvALT 2.2(120) on MAcOS 10.12 and being asked to locate my existing Notes folder, I went to Preferences> Read notes from folder> Other and got this error:
Exception Name: NSInvalidArgumentException
Description: *** -[NSURL initFileURLWithPath:]: nil string parameter
User Info: (null)
0   CoreFoundation                      0x00007fffac17552b __exceptionPreprocess + 171
1   libobjc.A.dylib                     0x00007fffc084dcad objc_exception_throw + 48
2   CoreFoundation                      0x00007fffac1f3a0d +[NSException raise:format:] + 205
3   Foundation                          0x00007fffadaf98ea -[NSURL(NSURL) initFileURLWithPath:] + 131
4   Foundation                          0x00007fffadaf9851 +[NSURL(NSURL) fileURLWithPath:] + 45
5   nvALT                               0x0000000103e701f6 nvALT + 225782
6   nvALT                               0x0000000103e6fe8b nvALT + 224907
7   libsystem_trace.dylib               0x00007fffc135d03d _os_activity_initiate + 61
8   AppKit                              0x00007fffaa4954e7 -[NSApplication(NSResponder) sendAction:to:from:] + 456
9   AppKit                              0x00007fffa9fd3de2 -[NSMenuItem _corePerformAction] + 324
10  AppKit                              0x00007fffa9fd3b4e -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 114
11  libsystem_trace.dylib               0x00007fffc135d03d _os_activity_initiate + 61
12  AppKit                              0x00007fffaa05cb99 -[NSMenu performActionForItemAtIndex:] + 121
13  AppKit                              0x00007fffaa05cb10 -[NSMenu _internalPerformActionForItemAtIndex:] + 94
14  AppKit                              0x00007fffaa05c93d -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 107
15  AppKit                              0x00007fffa9f132ac NSSLMMenuEventHandler + 986
16  HIToolbox                           0x00007fffab6650d5 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1708
17  HIToolbox                           0x00007fffab664346 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 428
18  HIToolbox                           0x00007fffab679dc4 SendEventToEventTarget + 40
19  HIToolbox                           0x00007fffab6c5c96 _ZL18SendHICommandEventjPK9HICommandjjhPKvP20OpaqueEventTargetRefS5_PP14OpaqueEventRef + 411
20  HIToolbox                           0x00007fffab6f12bb SendMenuCommandWithContextAndModifiers + 59
21  HIToolbox                           0x00007fffab6f126a SendMenuItemSelectedEvent + 188
22  HIToolbox                           0x00007fffab6f113d ZL19FinishMenuSelectionP13SelectionDataP10MenuResultS2 + 96
23  HIToolbox                           0x00007fffab6d041b _ZL19PopUpMenuSelectCoreP8MenuData5PointdS1_tjPK4RecttjS4_S4_PK14__CFDictionaryPK10__CFStringPP13OpaqueMenuRefPt + 2007
24  HIToolbox                           0x00007fffab6cf483 _ZL26_HandlePopUpMenuSelection8P13OpaqueMenuRefP14OpaqueEventRefj5PointtjPK4RecttS6_S6_PK14__CFDictionaryPK10__CFStringPS0_Pt + 612
25  HIToolbox                           0x00007fffab6cf05b _HandlePopUpMenuSelectionWithDictionary + 287
26  AppKit                              0x00007fffaa05386f _NSSLMPopUpCarbonMenu3 + 6218
27  AppKit                              0x00007fffaa051f6b -[NSCarbonMenuImpl popUpMenu:atLocation:width:forView:withSelectedItem:withFont:withFlags:withOptions:] + 456
28  AppKit                              0x00007fffaa0cd45d -[NSPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 564
29  AppKit                              0x00007fffa9fe24c8 -[NSControl mouseDown:] + 832
30  AppKit                              0x00007fffaa5f573d -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 6341
31  AppKit                              0x00007fffaa5f1f8c -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 1942
32  AppKit                              0x00007fffaa5f142a -[NSWindow(NSEventRouting) sendEvent:] + 541
33  AppKit                              0x00007fffaa491bf5 -[NSApplication(NSEvent) sendEvent:] + 1145
34  AppKit                              0x00007fffa9d78009 -[NSApplication run] + 1002
35  AppKit                              0x00007fffa9d42a8a NSApplicationMain + 1237
36  libdyld.dylib                       0x00007fffc112b255 start + 1
37  ???                                 0x0000000000000001 0x0 + 1
I'm unable to download 2.2.122.
Best wishes
jgp

Thanks for the test.
It is working well for me.
I can't use 121 at all. Can we use 122 until . . . ?
@jjarava We always get that warning. Just right click the app file and you'll get a second button to open.

Some more strangeness with some words lightly underlined (is this a feature?). Nothing important. It doesn't show up in the markdown preview, and it doesn't seem to be an actual part of the note. Just an artifact of some kind.

@thoth444 Go ahead and keep using 122 until there's  a 123.

@ArmchairQuarterback what font are you using?

And yes, everyone:
The most recent update was released yesterday, September 30. Download it at the link below as auto-updating might not work between some earlier releases and this one (though it should work going forward):
http://brettterpstra.com/projects/nvalt/
The newest version is: 2.2 (122)

@elasticthreads
Hi David. I am using "couriernewpsmt 12," which is just Courier New, I think. The Japanese characters overlaid in the first screenshot above were from another note, which made it particularly interesting this time. But, I haven't seen it since then. The underlined text is a minor mystery. If I see it again, I'll take some screen shots.

212 downloaded and run. No way to select my Notes folder

Sorry,  I meant 122

Find & Replace doesn't work properly in nvALT 2.2 (122) under macOS Sierra.
 F bings up the Find window but you can't check the Replace box and the Done button doesn't work.

@twidlador Please report separate issues as... separate issues, rather than add to the thread of a different issue.
But thanks for the report. Hadn't noticed the Find and Replace error.

@Magurius take a look at this issue thread and see if it works, you can report back on this thread either way since that one is closed:
https://github.com/ttscoff/nv/issues/382

Cannot sync simplenote properly in nvALT 2.2 (122) under macOS Sierra 10.12.1 Beta.
The error message is "Incorrect login and password", and no place to input new account or password.


Set nightly as the default toolchain for embedded-hal-async

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @therealprof (or someone else) soon.
Please see the contribution instructions for more information.


chore(main): release 0.5.3

:robot: I have created a release beep boop
0.5.3 (2023-11-09)
Bug Fixes

grant pglogical schema usage #278 (#318) (0de9290)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Autodesk/pgbelt/releases/tag/v0.5.3 :sunflower:


Fix upload duplicates

Added a flag to disallow processing twice the next file (#433). Also deleted the supported file type check on client side.
I've tested it without seeing the bug anymore (but the bug was hard to trigger).

You're fast! Thanks a lot for the help.

My pleasure!


Info about implementation

Hi @CODEJIN ,
Hope you are doing well!
Are you able to successfully train this implementation on any dataset if so, then how much approx. time and gpus required to train this model on VCTK or LJSpeech dataset?
have you trained as large model as mentioned in paper?
You can also refer to : https://github.com/yangdongchao/AcademiCodec for Soundstream and other codec pytorch code.

Dear @rishikksh20,
Hello. This repository is currently a work in progress, and improvements are being made. As stated in the README, the resources available for me to use as an open source project are very limited, so it takes a considerable amount of time for training, testing, and other processes. Once verification is complete, I will add the requested information to the Readme.
Also, thank you for the link to the audio codec. After testing EnCodec, I will also refer to the repository you sent.
Best regards
Heejo

@CODEJIN Is this code trainable?
I will train this on Multi-lingual LibriSpeech data on whatever resources I have.
I checked the whole code and logic seems fine to me, so I hope this repo is trainable.

Dear @rishikksh20,
Yes, although the pattern generator is not yet compatible with ML LibriSpeech, this code is designed to be trainable and is currently undergoing testing. However, I encountered a NaN loss problem during my testing, so I have been making modifications to address that issue. I just made some additional changes and I am currently conducting further testing.
Best regards,
Heejo

I have been implementing NaturalSpeech 2 with little bit different architectures of some modules.
Let's see how's that's working.
Thanks

I am finding some inconsistency when calculating loss on diffusion.
In paper author predicts z0 denoised output rather than score epsilons
https://github.com/CODEJIN/NaturalSpeech2/blob/5e816eb1069995ed8a7b1be5fe0cb3c9e8d94ace/Modules/Diffusion.py#L170

Also needed to clarify something regarding second loss term, as per author model is predicting z0 rather than score we needed to calculate score for 2nd loss term, as per paper formula is following:
pred score = $λ^{-1} (\hat{z_0} - z_t)$
$\hat{z_0}$ is output of the denoiser model and $z_t$ is noisy input but we needed to calculate $λ$ which is variance of the $p(z_t/z_0)$ distribution.
So as per your code:
$λ$ = 1 - alphas_cumprod
**So am I calculating $λ$ correctly or I am missing something? **

Dear @rishikksh20,
Hello. Thank you for pointing that out!
After your clarification, I re-read that section. I interpreted the first term as the comparison between the predicted z_0_hat generated from z_t and the actual z_0. In that sense, the first term would require denoiser calcuations of multiple steps. And it would be challenging to incorporate the entire gradient with the limited computational resources I have.
And, regarding the second term, I think that it's same to the loss term this repository uses now.
If I misunderstood any of the above points, please let me know.
Best regards,
Heejo

Yes, you are correct, I think it don't require to train on both losses even using single loss can perform good.
https://twitter.com/ai_rishikesh/status/1658190660652916746

@rishikksh20 I have reviewed the discussions regarding the mentioned loss term  on twitter and lucidrains' GitHub based on the link you provided. Thank you for the valuable information! I have also conducted some experiments with modifying the loss term.

The epsilon-based implementation (no changed).
The z_0 prediction-based implementation in Lucidrian's version.
The z_0 prediction + modified CE-RVQ in Lucidrian's version.

Based on my current checks, I believe that the convergence speed is faster in the order of 1 < 2 < 3. However, I have not been able to check until the completion of full model training, and I have only checked until the point where the voice becomes audible. I plan to continue training using the approach in 3 for now.
In section 3.2, it is mentioned, "Then we calculate the L2 distance between the residual vector with each codebook embedding in the quantizer." When I read this sentence, it seems that the value obtained from z_0_hat takes into account the residuals, while the comparison target, the codebook embedding, does not consider the residuals. Based on my understanding, it seems more appropriate to subtract all the values from e_0 to e_R (excluding e_i) from z_0_hat.
And, I have some doubts about the CE-RVQ approach. I find it puzzling to apply softmax to the distance, considering that l2 tends to decrease as the similarity increases. Currently, I am handling it by multiplying the distance by -1.0, but I'm unsure if this approach is correct. Am I misunderstanding something? What are your thoughts on this?

Hi @CODEJIN
Can you push your latest code I have one machine in which I can start training for testing ?

I pushed the code. If there is any problem, please let me know.

@CODEJIN check this : https://github.com/lucidrains/naturalspeech2-pytorch/issues/11#issuecomment-1569448545

also are you able to get good quality audio ?

Dear @rishikksh20,
I have checked the link you provided. It seems that a change in the loss term is necessary. Thank you for sharing the information!
The audio quality is still limited. Please refer to this link for updates on my progress: https://github.com/CODEJIN/NaturalSpeech2/issues/4#issuecomment-1568225436
How about your progress? Please let me know.
Best regards,
Heejo

I haven't get time to pre-process dataset as I am working on SoundStorm implementation recently, but now I am dedicatedly working on NS 2, hope to start training before this weekend. I am planning to use recently released LibriTTS-R dataset for this job first then will move to Libri-light.

@rishikksh20 @CODEJIN any update on the results ?

Dear @manmay-nakhashi ,
Hi, I have been making some modifications and attempting training, but there haven't been significant improvements. Most importantly, due to resource limitations, the training for validation is taking too long. I will let you know if any improvements arise in the future.
Best regards,
Heejo

I have train NS2 but on my first training I am only able to get noise, my code might have some minor diffusion related bug which I am trying to identify.

@CODEJIN
loss_dict['Data'] = self.criterion_dict['MSE'](
latents_slice,
diffusion_starts,
).mean()
i this should you be using diffusion_predictions ?
why diffusion_starts ?

@CODEJIN understood thank you for the explanation , i got it now i was thinking this in different way.

@CODEJIN after how many steps you are able to hear the audio ?

@CODEJIN so the latest readme is saying that u were able to test it on LJSpeech and VCTK. so it means the training code is working now?

@CODEJIN after how many steps you are able to hear the audio ?

Sorry for late reply. There have been many changes in the code over the past month. The current code in the master branch produces audible sound from around 30K steps. However, the high-pitched parts are distorted and the pitch is not properly reflected. Applying CE-RVQ and conducting longer training may yield different results, but due to time constraints in testing, the outcome is still unknown.
Best regards,
Heejo

@CODEJIN so the latest readme is saying that u were able to test it on LJSpeech and VCTK. so it means the training code is working now?

Dear @hippotabek ,
I have been frequently updating the code, and although testing is still ongoing, I have confirmed that audio is being generated when trained on the LJ dataset. I am continuously fixing bugs and updating the code, so I can't say it's fully "working" yet, but training is possible and the resulting sound is clearer than before. However, if by "working" you mean whether the model is complete, it is still a work in progress (WIP).
Best regards,
Heejo

@CODEJIN
Hi, great work!
Have you encountered such case where the model generates just noise?
Predictions look like this

Dear @rishikksh20 ,
Hi. While it wasn't exactly the same, there was a time when I used 'Encodec' as a latent and it came out in a similar form. Especially when learning the duration through the Nvidia alignment framework and constructing the target feature not with mel but with the Eencodec latent, I remember the duration learning itself was a failure.
Best regards,
Heejo

@CODEJIN ,
Thanks for the quick reply!
I have noticed that you don't remove the sliced speech prompts from latent and use different speech prompts for pitch/duration predictors and diffusion model.
Also you added frame prior network which is not present in the paper.
Were these modifications done for speech improvement?

Dear @sourcesur ,
Hi, thank you for your interest in this repository.

During training, I have confirmed that the speech prompt is currently correctly sending different values to the pitch/duration predictor and the diffusion side. You can check this at here. It is meaningless to input different values to the two at the inference stage, and I know that the same speech prompt is used at the inference stage in the paper.

The Frame Prior Network (FPN) is not a module in the paper and is a supplementary module that I added for quality improvement. The original goal was to improve learning speed by adding the linear prediction values generated by FPN to the diffusion context. This worked as expected in single-speaker environments, but I found that when linear prediction was input in multi-speaker environments, the prompt formation failed and the quality decreased. Therefore, I removed the linear prediction. I am still experimenting, and if I determine that FPN itself does not provide a significant benefit to learning, I will remove it.

Best regards,
Heejo


Is there a way to get a list of all the playlists a user is following?

I see in the documentation that user_playlist_is_following can be used to check if a user is following a given playlist, but this isn't what I'm looking for. How do I retrieve a list of all the playlists that a user is following? Did I miss this in the docs or does this feature not exist?

I should also add that user_playlists only returns playlists that the user created, not followed playlists

You can fetch all playlists for a user and then check what all playlists are actually owned by that user. If a playlist isn't owned by that user that means the user is probably following this playlist:
# Displays all public playlists that the user follows
user = "ritiek"
playlists = spotify.user_playlists(user)

for playlist in playlists["items"]:
    if not playlist["owner"]["id"] == user:
        print(playlist["name"])

I've tried using user_playlists(user) and current_user_playlists. Both of these functions only returned playlists that I created. Also, I only have a total of 20 playlists, including both created and followed playlists, so it's not like the results are being paginated . Here's the relevant section of my code. Maybe you can figure out why I'm only getting the playlists I created.
username      = 'myUsername'

client_id         = os.environ.get('CLIENT_ID')
client_secret = os.environ.get('CLIENT_SECRET')
redirect_uri    = 'http://localhost/'
scope             = 'user-library-read'

token = util.prompt_for_user_token(username, scope, client_id, client_secret, redirect_uri)

if token:
    sp = spotipy.Spotify(auth=token)

    playlists = sp.user_playlists(username)

    # I've also tried this:
    # playlists = sp.current_user_playlists()

    for playlist in playlists['items']:
        plistName = playlist['name']
        plistURI  = playlist['uri']
        tTracks   = playlist['tracks']['total']
        if tTracks == 0: continue

        for offset in range(0, 10000, 100):
            tracks = sp.user_playlist_tracks(username, plistURI, limit=100, offset=offset)
            if len(tracks['items']) == 0: print(''); break

            # Do a bunch of things for all of the tracks
            download_tracks(tracks)

Could it be something to do with the scope I'm using?

Could it be something to do with the scope I'm using?

That's what it seems like! Try using playlist-read-private as the scope.

Could you do me a favor and give me a list of all the different scopes that can be used? I didn't find that on the docs.

Does it work for you with changing the scope as I mentioned in previous comment? The scope list can found at https://beta.developer.spotify.com/documentation/general/guides/scopes/.

When I used playlist-read-private it retrieved all of my playlists! Thanks!

Looks answered by @ritiek, thanks & closing!


Run scheduled benchmarks on different sample applications

Current Behavior

Currently the tests are run with the sample application of the particular service mesh. This is different for each service mesh.
Desired Behavior

Add sample application as a configurable item and run tests across multiple applications for each service mesh.
A new field should be added here and the scripts needs to be changed to take in this dynamic value.

Contributor Guide

Issue opened from a discussion on comments https://github.com/layer5io/meshery-smp-action/issues/27#issuecomment-991036158 and https://github.com/layer5io/meshery-smp-action/issues/27#issuecomment-991082219

@navendu-pottekkat Thank you!

We do have sample applications within Meshery but those functionalities aren't available in the CLI yet. We are working on a design specification to add those features.
We do want to use mesheryctl to deploy sample apps if we can or we can come back later and change the script to use mesheryctl.
mesheryctl app onboard file.yaml should work here.
Here is the list of sample apps we use currently.

But for now, we can start with Bookinfo and Emojivoto from Istio and Linkerd. These scripts are already present.

Great question. We added indefinite tokens just recently for this use case within CI/CD. Let me share the details over Slack.

@asubedy, up for this?

Yes I will try to work on this.
Before starting @navendu-pottekkat wanted to make few things clear:
So we are trying to check performance of the application say for example bookinfo deployed on other service mesh too like Linkerd and osm and not just on Istio. So for this we need to edit the current scripts of each service mesh to accommodate these different/dynamic application test.
Please correct me if I am wrong.

@asubedy yes, that's right.

Yes ok I'll try this.


chore(db): clarify upsert

Amend upsert docs and add an upsert test

🤖 Generated by Copilot at 33078e8
Summary
:memo::wrench::test_tube:

This pull request enhances the upsert functionality for MDBX tables in the storage crate. It improves error handling, documentation, and testing for the upsert methods in mod.rs and cursor.rs.

To upsert a value or key
In a DUPSORT table, you see
You must handle the case
When there's not enough space
And return a constant MDBX_ERROR_FULL

Walkthrough

Add a comment to explain the upsert behavior for DUPSORT tables (link)
Test the upsert method for both plain and DUPSORT tables using random keys and values in crates/storage/db/src/implementation/mdbx/mod.rs (link)

Codecov Report

Merging #2216 (33078e8) into main (0759b30) will decrease coverage by 33.39%.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #2216       +/-   ##
===========================================
- Coverage   72.44%   39.05%   -33.39%
===========================================
  Files         470      470
  Lines       56127    56157       +30
===========================================
- Hits        40661    21933    -18728
- Misses      15466    34224    +18758

Flag
Coverage Δ

integration-tests
?

unit-tests
39.05% <0.00%> (-28.40%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rates/storage/db/src/implementation/mdbx/cursor.rs
76.22% <ø> (-8.40%)
:arrow_down:

crates/storage/db/src/implementation/mdbx/mod.rs
23.27% <0.00%> (-75.93%)
:arrow_down:

... and 280 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Limitations of the Schur decomposition?

I might be using the library incorrectly, but if not, then I may have found a limitation in the Schur decomposition algorithm on a 2x2 matrix. The decomposition as done in the following code leads to a unitary matrix which is identity and the supposedly upper triangular matrix is actually the original matrix.
Wolfram Alpha validation does not return the same result.
extern crate nalgebra as na;
use na::DMatrix;
fn main() {
    let mat = DMatrix::from_row_slice(2, 2, &[2.78, 12.89, -6.97, 3.14]);
    let (unitary, triang) = mat.clone().real_schur().unpack();
    println!("mat = {}", mat);
    println!("{} {}", unitary, triang);
}

Output:
> cargo run
   Compiling naexamples v0.1.0 (file:///home/chris/Workspace/rust/naexamples)
    Finished dev [unoptimized + debuginfo] target(s) in 1.96 secs
     Running `target/debug/naexamples`
mat =
  ┌             ┐
  │  2.78 12.89 │
  │ -6.97  3.14 │
  └             ┘

  ┌     ┐
  │ 1 0 │
  │ 0 1 │
  └     ┘

  ┌             ┐
  │  2.78 12.89 │
  │ -6.97  3.14 │
  └             ┘

Note: this is a blocker for #283 .

I think both nalgebra and wolfram are correct. The real schur decomposition is not unique. So if your 2x2 matrix has complex eigenvalues, any rotation matrix R can be chosen such that M = R (R* M R) R* where M designs the original matrix. Then the real-shur decomposition is composed of the unitary matrix R and the matrix R* M R. nalgebra (and Eigen as well) choose R = Id. I believe wolfram choose something else because it also restricts the 2x2 blocks to have opposite anti-diagonal elements.
Perhaps a method could be added to Schur to make its 2x2 blocks anti-diagnoal elements opposite as well.

I agree that the Schur decomposition is not unique. However, isn't the other matrix supposed to be an upper triangular matrix? That's also what Wikipedia says in Statement section.

The Real Schur decomposition is not the same as the Schur decomposition. The former is actually upper-quasi-triangular by keeping 2x2 blocks on its diagonal to avoid requirering complex values. You can refer to the section 7.4 "Eigenvalues and Real Schur forms" of the Golub et al. "Matrix Computations", 4-th edition book if you have it (as you mentioned in #283 ).
(By the way, I meant the RealSchur structure in my last comment. Sorry if that confused you, I'll eddit the comment to reflect that.).

Thanks, I was not aware of this situation concerning complex eigenvalues.
In the interest of potential future readers, I have attached the relevant excerpts from the book.

Thanks for the excepts !


multicall transactions are rejected

Hello, I am trying to do a mullticall, but the transaction is rejected.
{"status": "REJECTED", "transaction_failure_reason": {"code": "TRANSACTION_FAILED", "error_message": "Error at pc=0:12:\nGot an exception while executing a hint.\nCairo traceback (most recent call last):\nUnknown location (pc=0:161)\nUnknown location (pc=0:147)\n\nError in the called contract (0x5806908591457559439330610fc022ab0212c67548e55c8d51e9e5edf2b7dc5):\nError at pc=0:39:\nGot an exception while executing a hint.\nCairo traceback (most recent call last):\nUnknown location (pc=0:802)\nUnknown location (pc=0:753)\nUnknown location (pc=0:1745)\n\nTraceback (most recent call last):\n  File \"<hint6>\", line 1, in <module>\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starknet/core/os/syscall_utils.py\", line 230, in call_contract\n    syscall_ptr=syscall_ptr,\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starknet/core/os/syscall_utils.py\", line 507, in _call_contract_and_write_response\n    segments=segments, syscall_ptr=syscall_ptr, syscall_name=syscall_name\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starknet/core/os/syscall_utils.py\", line 738, in _call_contract\n    caller_address=caller_address,\n  File \"<string>\", line 11, in __init__\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starkware_utils/validated_dataclass.py\", line 24, in __post_init__\n    self.validate_dataclass()\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starkware_utils/validated_dataclass.py\", line 28, in validate_dataclass\n    self.validate_values()\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starkware_utils/validated_dataclass.py\", line 108, in validate_values\n    validated_field.validate(value=value, name=name_in_messages)\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starkware_utils/validated_fields.py\", line 79, in validate\n    stark_assert(self.is_valid(value=value), code=self.error_code, message=error_message)\n  File \"/app/src/starkware/starknet/services/batcher/starknet_batcher_venv-site/starkware/starkware_utils/error_handling.py\", line 175, in stark_assert\n    raise StarkException(code=code, message=message)\nstarkware.starkware_utils.error_handling.StarkException: (500, {'code': <StarknetErrorCode.OUT_OF_RANGE_CONTRACT_ADDRESS: 26>, 'message': 'contract address 0x0 is out of range'})"}, "transaction_hash": "0x47f3e3c8fc444d712e64de7ef34e0221b69a6aee2abc6f2fec97e32cea18a7d", "l2_to_l1_messages": [], "events": []}

'message': 'contract address 0x0 is out of range'
(https://alpha4.starknet.io/feeder_gateway/get_transaction_receipt?transactionHash=0x47f3e3c8fc444d712e64de7ef34e0221b69a6aee2abc6f2fec97e32cea18a7d)
This is how I do the multicall:
account.execute(
     [{
           contractAddress: eykarCommunityContract.address,
           entrypoint: "completeQuest",
           calldata: [
               questId,
               tokenId,
               "0"
             ],
       },
     undefined,
     { maxFee: "60240850062409", nonce: nonce }
   );

I could not find any examples of multicall in the documentation. So the data is probably badly structured in the multicall. Do you have any idea of the problem? Thank you in advance.

I can work on this

Data structure looks good to me.. maybe some issue with eykarCommunityContract? or eykarCommunityContract.address? Do you have your code somewhere which can help debugging the issue?

Data structure looks good to me.. maybe some issue with eykarCommunityContract? or eykarCommunityContract.address? Do you have your code somewhere which can help debugging the issue?

You're probably right, it was something like that. I recoded an example by hand and it works perfectly. Thanks!
Here is the code if it helps anyone:
const privateKey = require('./privateKey.json');
const starknet = require("starknet")
const { ec,  } = require("starknet")
const fs = require('fs')

const starkKeyPair = ec.getKeyPair(privateKey)

const accountAddress = "0x07FB3E808C103d2525d6F0C8Aac4bF5de46a87b34FF598B3b8e2Cd60974940d2"
const account = new starknet.Account(starknet.Provider, accountAddress.toLowerCase(), starkKeyPair)

const ethContract = new starknet.Contract(
    JSON.parse(fs.readFileSync("./ABI/ethContract.json")),
    "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
);

account.getNonce().then(nonce => {
    account.execute(
        [
            {
                contractAddress: ethContract.address,
                entrypoint: "approve",
                calldata: [
                    "0x05806908591457559439330610fC022aB0212C67548e55C8d51e9E5edF2b7Dc5",
                    "10",
                    "0"
                ],
            }
        ],
        undefined,
        { maxFee: "60240850062409", nonce: nonce }
    ).then(data => console.log(data))
})


Failing to create cluster when using GPU instance with ubuntu 18 and Slurm

Environment:

AWS ParallelCluster / CfnCluster version: 2.5.0
OS: Ubuntu 18.04
Scheduler: Slurm
Master instance type: g3.4xlarge
Compute instance type: g3.4xlarge

Bug description and how to reproduce:
Master instance initializes properly but compute instances get stuck in Initializing state in EC2 console and hence overall cluster setup fails.  I let parallelcluster initialize VPCs, security groups, etc. all on its own, they should all be default/valid (I did some manual verification to e.g. make sure VPC settings matched what the docs said they should be).
$ pcluster create -c /home/foo/.parallelcluster/config cluster1
Beginning cluster creation for cluster: cluster1
Creating stack named: parallelcluster-cluster1
Status: parallelcluster-cluster1 - ROLLBACK_IN_PROGRESS
Cluster creation failed.  Failed events:
  - AWS::AutoScaling::AutoScalingGroup ComputeFleet Received 2 FAILURE signal(s) out of 2.  Unable to satisfy 100% MinSuccessfulInstancesPercent requirement

Additional context:
Config file:
[aws]
aws_region_name = us-west-2

[global]
cluster_template = default
update_check = true
sanity_check = true

[aliases]
ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS}

[cluster default]
key_name = gpu_keypair
base_os = ubuntu1804
scheduler = slurm
master_instance_type = g3.4xlarge
compute_instance_type = g3.4xlarge
initial_queue_size = 2
max_queue_size = 2
maintain_initial_size = true
vpc_settings = default

[vpc default]
vpc_id = vpc-02de6aff5174ff11e
master_subnet_id = subnet-0cc14c110a85fdd4e

master /var/log/cfn-init.log: attached
master /var/log/cloud-init.log: attached
master /var/log/cloud-init-output.log: attached
master /var/log/jobwatcher: attached
master /var/log/sqswatcher: attached
cannot connect to compute nodes, no logs attached
cloud-init-output.log
cloud-init.log
cfn-init.log
jobwatcher.log
sqswatcher.log
Thanks in advance for your help!!

Hi David,
Have you checked for your account limits?
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html

This same thing is happenning to me.  Compute nodes continuously fail health checks for us-east1(b-f), but works fine for us-east1a.  See this issue: #1383

@DABH,
from your sqswatcher.log it looks like the compute nodes were created but failed to contact the master node for some reason. Could you check the events log in the CloudFormation Console and share the Status Reason you will find for the Compute Fleet failure event?
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html

@ddeidda I verified with AWS support that my service limits are fine, so that is not the issue here.  I’ll take a look at the CF console and report back what I find...

@DABH The issue referenced in https://github.com/aws/aws-parallelcluster/issues/1383 sounds very similar to what you're experiencing, I need to contents of the /var/log/cfn-init.log from the compute nodes to tell for sure.
To get this file you'll need to suspend the compute nodes from terminating, see https://github.com/aws/aws-parallelcluster/issues/1383#issuecomment-552572307 then SSH in.

@ddeidda , the CF console doesn't seem to report anything new, unfortunately:
2019-11-24 09:45:25 UTC-0800 | parallelcluster-cluster1 | ROLLBACK_IN_PROGRESS | The following resource(s) failed to create: [ComputeFleet]. . Rollback requested by user.
2019-11-24 09:45:24 UTC-0800 | ComputeFleet | CREATE_FAILED | Received 2 FAILURE signal(s) out of 2. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement
2019-11-24 09:45:23 UTC-0800 | ComputeFleet | CREATE_IN_PROGRESS | Received FAILURE signal with UniqueId i-072a5d0a98dfe9a16
2019-11-24 09:45:23 UTC-0800 | ComputeFleet | CREATE_IN_PROGRESS | Received FAILURE signal with UniqueId i-04d360965000a77c8

@sean-smith , I was able to prevent the compute nodes from terminating using your linked suggestion.  However, I couldn't ssh in; ssh just timed out when trying to connect to the nodes (not an issue on my end, some issue with the instances).  Any other ideas for how I might get into the nodes or otherwise debug this issue?  Thanks again for the help.

Im having a similar issue. The master node creation works fine however the compute nodes dont ever seem to launch. It cluster creation was working fine till last week. Seems to only started after AWS seemed to have push some upgrade to the system. My current limits for the on-demand standard instance type is stated at 4800 vCPUs so I doubt this is the issue. Here are the sqswatcher log for the master server. All other logs seems to have no significant errors.
sqswatcher.log

As a general clarification: this is a common error that occurs when the compute nodes fail their bootstrap phase. Although the reported error is the same, the root cause can be very different so I would encourage to have separate issues for different cluster configurations.
Now in order to understand why the compute nodes are failing the start-up phase we need to retrieve some logs from one of these nodes. Specifically here is the list of logs we need from a compute node:

/var/log/cfn-init.log
/var/log/cfn-init-cmd.log
/var/log/cloud-init.log

To retrieve those you can either suspend instance replacement in EC2 as suggested here and then try to ssh into the compute node from the master instance or ssh into the master node and check if there are any archives stored under /home/logs/compute directory. The logs store under /home/logs/compute are the logs coming from compute nodes that had been terminated because of some issue.
As a general recommendation: when facing such issues try to first remove any post-install script or custom ami and check if the cluster creates successfully in that case.
@DABH can you check if any logs are stored under the /home/logs/compute directory? You are not using any custom AMI nor post-install script right?
@Adigorla Can you try to retrieve the logs from a compute instance and open a separate issue so that we can figure out what's causing your cluster to break?

UPDATE: So turns out a quick and dirty fix seems to be setting update_check = false and allowing all inbound traffic, from any IP, in your Security Group. What I'm unsure why I needed to change these settings now because my original settings/template was working fine the week before last.

@demartinofra Unfortunately nothing is written to that directory or any dir like /home/{some user}/logs.  And, right, I am not using a custom AMI and am not using any post-install script, just trying to get the simplest possible configuration working :)
@Adigorla Where exactly did you set update_check = false?  I'd like to try out your fix...

@DABH you would need to update these settings in the .parallelcluster/config file. update_check = false should be added/modified in the [global] section of the config. But I think opening up the SG is the more important part of the fix. I looked through your log files and they dont seem similar to my error but still worth a try i guess. LMK if it works.

@Adigorla I tried your suggestions but unfortunately I get the same results, so we must be having different problems.  Thanks for the ideas though :)

This might be the same problem described here: https://github.com/aws/aws-parallelcluster/issues/1383#issuecomment-557662788
Can you please verify how many CIDR ranges are associated to the vpc used in the cluster?

Hi @demartinofra , the IPv4 CIDR range for the VPC used in the cluster is <IP_ADDRESS>/16 (that is the only CIDR block associated with the VPC).

Definitely enough :)
I'm sorry if this is getting a little bit frustrating. I'll try to go over your setup and logs again to see if I can spot the problem.

I tried to reproduce the problem by executing the following steps but the cluster created successfully in my account:
pcluster version
2.5.0

pcluster configure
Allowed values for AWS Region ID:
1. ap-northeast-1
2. ap-northeast-2
3. ap-south-1
4. ap-southeast-1
5. ap-southeast-2
6. ca-central-1
7. eu-central-1
8. eu-north-1
9. eu-west-1
10. eu-west-2
11. eu-west-3
12. sa-east-1
13. us-east-1
14. us-east-2
15. us-west-1
16. us-west-2
AWS Region ID [ap-northeast-1]: 16
Allowed values for EC2 Key Pair Name:
1. ***
EC2 Key Pair Name [***]:
Allowed values for Scheduler:
1. sge
2. torque
3. slurm
4. awsbatch
Scheduler [slurm]: 3
Allowed values for Operating System:
1. alinux
2. centos6
3. centos7
4. ubuntu1604
5. ubuntu1804
Operating System [ubuntu1804]: 5
Minimum cluster size (instances) [2]: 2
Maximum cluster size (instances) [2]: 2
Master instance type [g3.4xlarge]:
Compute instance type [t2.micro]: g3.4xlarge
Automate VPC creation? (y/n) [n]: y
Allowed values for Network Configuration:
1. Master in a public subnet and compute fleet in a private subnet
2. Master and compute fleet in the same public subnet
Network Configuration [Master in a public subnet and compute fleet in a private subnet]: 2
Beginning VPC creation. Please do not leave the terminal until the creation is finalized
Creating CloudFormation stack...
Do not leave the terminal until the process has finished
Stack Name: parallelclusternetworking-pub-20191129102949
Status: parallelclusternetworking-pub-20191129102949 - CREATE_COMPLETE
The stack has been created
Configuration file written to /Users/fdm/.parallelcluster/config
You can edit your configuration file or simply run 'pcluster create -c /Users/fdm/.parallelcluster/config cluster-name' to create your cluster

pcluster create -c /Users/fdm/.parallelcluster/config github-1479
Beginning cluster creation for cluster: github-1479
Creating stack named: parallelcluster-github-1479
Status: parallelcluster-github-1479 - CREATE_COMPLETE
MasterPublicIP: ***
ClusterUser: ubuntu

For now the issue seems to be confined to ubuntu18. At least I was able to create a cluster with centos 7.

We put together and tested a script to patch the issue you are facing and unblock your cluster creation. The script is the following:
#!/bin/bash

set -e

wget https://us.download.nvidia.com/tesla/418.87/NVIDIA-Linux-x86_64-418.87.01.run -O /tmp/nvidia.run
chmod +x /tmp/nvidia.run
/tmp/nvidia.run --silent --dkms --install-libglvnd
rm -f /tmp/nvidia.run

It takes around 50 seconds to execute the script and install the missing drivers. There are 2 alternative ways you can apply this fix:

Upload the script to an S3 bucket and use it as a cluster pre_install script as documented here. This means that every node of the cluster is going to take 1 additional minute to be bootstrapped.
Alternatively, if you don't want to spend any extra time at node start-up, you can create a custom ami as documented here and execute the script to install the drivers as part of the step to customize your instance. Then use the custom_ami with your cluster.

In the meanwhile we are going to work with priority on a permanent fix and provide a new official patch release as soon as possible.
Please let us know if you need additional guidance to apply the fix and again apologies for the inconvenience.

Thanks so much @demartinofra for figuring out the root cause of this and for working on fixes.  The workarounds are great for now but will keep an eye out for a permanent fix as well.  Feel free to close this issue as you see fit - thanks again!

Glad to hear that!
I'll keep this open so that you get notified as soon as the fix is released.

Fixed in https://github.com/aws/aws-parallelcluster/releases/tag/v2.5.1

This has reappeared in v3.0.0 ..
[2021-12-21T15:39:16+00:00] FATAL: Stacktrace dumped to /etc/chef/local-mode-cache/cache/cinc-stacktrace.out
[2021-12-21T15:39:16+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2021-12-21T15:39:16+00:00] FATAL: Errno::ENOENT: execute[run_nvidiasmi] (aws-parallelcluster::compute_slurm_config line 40) had an error: Errno::ENOENT: No such file or directory - nvidia-smi

error_exit 'Failed to run bootstrap recipes. If --norollback was specified, check /var/log/cfn-init.log and /var/log/cloud-init-output.log.'


net: sockets: Wrong binding when connecting to ll address

I think I found a bug when using the sockets. If you try to connect to a link local address but your device has more than one interface the net context will always be bound to the default interface. Therefore if the target is actually on the second interface the connection attempts will actually be made on the wrong interface.
This is because during the connect call at some point net_context_connect will call bind_default which will call net_context_bind to bind the net context. Then net_if_ipv6_select_src_iface is called to determine on which interface to bind. The call to net_if_ipv6_select_src_addr will return an unspecified address which leads to binding to the default interface because it cannot match using the IP address.

What network technology you are using, Ethernet or something else?

I was using Ethernet.

If you try to connect to a link local address but your device has more than one interface the net context will always be bound to the default interface.

This is actually expected if user has not called bind(). There is no way to know in which interface the target ll address is found (if it is not in neighbor cache already). So if the user has not called bind() to set the local end point which selects the network interface, then we are forced to select the default interface (as it is as good guess as any other way to select a network interface).
So in order this to work as expected, one need to call bind() to set the sending interface.


Issue with Script Loader calling setState on an unmounted component

When my component unmounts prior to the ScriptLoader finishing loading the scripts I get the following error:
"setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component."
The ScriptLoader should be listening for componentWillUnmount and not call the setState.

Merged, thanks for your contibution.


[CT-2916] Use a distinct flavor of Manifest, such as UnitTestManifest instead of base Manifest

In the initial unit testing branch we use a Manifest object to contain the special unit tests and mocked models. It might be better to use a different manifest class (like the MacroManifest), which could potentially contain extra methods for generating unit testing artifacts or results.

We need to think about how this metadata becomes available when you are and are not actually running unit tests (e.g. can we still get metadata about unit tests in production when you're not running unit tests in production).


How To make Idle animation for player and enemy ?

i Confused to make Idle animation for card , player or enemy ? sprite sheet or multiple sprite maybe green screen video.

If you wanted to animate the sprites of the enemies and the character you simply need to add an animated sprite, or animation player.

if you don't mind it, I close this for now as this is not a bug but an additional feature


Reduce size of uploaded notebooks on Anaconda.org

Anaconda Cloud recently put in a 25MB limit on rendering Jupyter notebooks, and some of the example notebooks are larger than that (landsat and census, at least).   Should reduce resolution or number of images to fit into the limit, to avoid the problem.

Turns out that the landsat and the census notebooks were the only ones over 25MB.  Fixed.


When fragments are exploded, highlighter is not highlighting upper storeys properly anymore

Describe the bug 📝
All fragments that are translated by exploder are not properly selectable by highlighter anymore.
Reproduction ▶
https://platform.thatopen.com/app
Steps to reproduce 🔢

Go to https://platform.thatopen.com/app and load ifc
Explode
Hover over the exploded elements

System Info 💻
System:
    OS: macOS 14.5
    CPU: (11) arm64 Apple M3 Pro
    Memory: 100.80 MB / 18.00 GB
Binaries:
    Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v20.10.0/bin/npm
Browsers:
    Chrome: 126.0.6478.56

Used Package Manager 📦
npm
Error Trace/Logs 📃
No response
Validations ✅

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a repository issue and not a framework-specific issue. For example, if it's a THREE.js related bug, it should likely be reported to mrdoob/threejs instead.
[X] Check that this is a concrete bug. For Q&A join our Community.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hey @maidi29! The platform app is using an older version of the library. Does this also happen to you in the latest version? You can take the template as a starting point.

Yes, in my app I use Version 2 of engine_components and it's the same issue there.

Solved from version<EMAIL_ADDRESS>and<EMAIL_ADDRESS>I'm publishing later today. Let me know otherwise!

Works perfectly now! Thanks a lot 🥇 ❤


Feature request - Variable masking

Feature overview
A masked variable would be one that is not displayed in the output of build logs, and instead masked over with a string such as xxxxxx.
Problem space
Some builds may want to make use of API tokens to make a callout to a third-party API during a run. As of now, they can do this by setting these tokens as a variable in either a build manifest, or via the UI, however these secrets would not be protected, and would be displayed in the build logs. It is correct that a user submitting a build could take additional steps to reduce the output of sensitive tokens in the build logs, but it would beneficial if the platform aided here too.
Additional context
Variable masking should be supported when creating a variable for use in a build via the UI. When a variable is masked it should be encrypted on the backend, and replaced with a string such as xxxxxx in build logs. Variables that are masked should be of a certain minimum length, this way we can ensure that we don't superfluously strip information from build logs when masking. Once a variable has been masked, its value cannot be viewed by the API, and only be viewed via the UI by the creator of said variable with password verification

This has been implemented and merged into the main branch. This is currently deployed on the hosted version of Djinn CI. I'm satisfied with the implementation and testing around it, closing.


RDKDEV-438: DisplayInfo: Include "tvhdrtypes" property on DisplayInfo REST API calls.

The DisplayInfo.cpp file is modified to invoke TVCapabilities() which basically passes an iterator to get the HDR types supported by TV, these values are then updated against new DisplayInfo property 'tvhdrtypes'.

Depended PR's:
https://github.com/rdkcentral/ThunderInterfaces/pull/221
https://github.com/rdkcentral/ThunderClientLibraries/pull/177

Hi @prajwal-tata
Can you please create a PR against latest dev sprint/23Q1?

Hi @prajwal-tata Can you please create a PR against latest dev sprint/23Q1?

Hello @pradeeptakdas we dont have a way to test with sprint/23Q1 branch changes.

Hi @pradeeptakdas , as @prajwal-tata mentioned, we don't have a way to test this on the latest sprint branch, so we can't be comfortable in doing so, unless the code matches with what we're using (@prajwal-tata , can you check?).
We can only commit to the branches/revisions we're using currently. For this and similar cases, we suggest to get this merged and then RDK can cherry pick to the latest sprint and test.

Hi @rjpdasilva , checked that there is already similar changes for fetching TV HDR formats with the sprint/23Q1 branch as "tvhdrcapabilities"

Hi @pradeeptakdas , as @prajwal-tata mentioned, we don't have a way to test this on the latest sprint branch, so we can't be comfortable in doing so, unless the code matches with what we're using (@prajwal-tata , can you check?).
We can only commit to the branches/revisions we're using currently. For this and similar cases, we suggest to get this merged and then RDK can cherry pick to the latest sprint and test.

Hi @rjpdasilva , checked with the code in sprint/23Q1 branch, could see that there is already similar code to fetch HDR of TV -> "tvcapabilities". So, dont think these changes are required there.

Hi @pradeeptakdas , as @prajwal-tata mentioned, we don't have a way to test this on the latest sprint branch, so we can't be comfortable in doing so, unless the code matches with what we're using (@prajwal-tata , can you check?).
We can only commit to the branches/revisions we're using currently. For this and similar cases, we suggest to get this merged and then RDK can cherry pick to the latest sprint and test.
yes @rjpdasilva think this could be more feasible, the changes dont exactly match.


Ability to manually select a different Steam game to boop.

Often, I find myself wanting to add an image from an edition to another :
Example :
I own "Dark Souls (Prepare to die Edition)" on Steam
But I prefer to add an image from the original "Dark Souls" (that I don't own) - from GridDB.
The database between "Prepare to die Edition" and the "normal" edition aren't shared, so I don't get the "Apply with BOOP" button on the GridDB "Dark Souls" images.
Currently this is not possible to automate this as far as I'm aware.
Thanks for the WONDERFUL program 👍

god that would be an awesome feature


Codeunit 5470 Graph Collection Mgt - Item - Exposing function InsertItem for AL development

Can you make function InsertItem externally available in Codeunit 5470 Graph Collection Mgt - Item?
From 14.0 we are not able anymore to make page extensions of API pages in AL.
Currently I am working on API page for Items where I am using native Item Entity page as template and therefore I need function InsertItem to be available for access from AL.

Was this just dropped?  No updates since 2019.  I see the AL page code:
https://github.com/microsoft/ALAppExtensions/blob/master/Apps/W1/APIV2/app/src/pages/APIV2Items.Page.al
but when I try to include the OnInsertRecord, I get this:
'Codeunit "Graph Collection Mgt - Item"' does not contain a definition for 'ModifyItem'AL(AL0132)


(PUP-5437) Add 'lookup_options' to the lookup explainer

The explainer will currently only report the actions that lookup
performs during traversal of global data binders and providers in
order to find the data for a given key. This commit adds the lookup
of the new 'lookup_options' to the report.
Since this might make the report quite verbose, this commit also
adds an extra '--explain-data' option to the lookup CLI. This option
is mutally exclusive to '--explain' and will yield a report where the
'lookup_options' traversal is excluded.

If this is for PUP 4.3.0, please retarget for stable

This is for 4.3.0

Closed to retarget to stable.


Fix hostname in Citadel service cert.

Fixes https://github.com/istio/istio/issues/8951.

Friendly ping :)

+Mandar
Sorry, I've been busy with the EDS changes.
/lgtm
/approve

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

Needs approval from an approver in each of these files:

security/OWNERS [costinm]

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


feat: CLI command to run validation

Closes #703
Summary of Changes
Add a new check command to validate Safe-DS files without generating code for them.

:tada: This PR is included in version 0.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
npm package (@latest dist-tag)
v0.6.0
GitHub release

Your semantic-release bot :package::rocket:


[Bug]: ERROR: session.py:73 - Error creating controller: Failed to initialize plugin agent_skills with exit code 126 and output: -bash: /opendevin/plugins/agent_skills/setup.sh: /bin/bash^M: bad interpreter: No such file or directory

Is there an existing issue for the same bug?

[X] I have checked the troubleshooting document at https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting
[X] I have checked the existing issues.

Describe the bug
I am a new user attempting to set up a development environment according to Development.md. While executing make run, the following error occurred:
11:46:16 - opendevin:INFO: mixin.py:43 - Initializing plugins in the sandbox
11:46:16 - opendevin:INFO: mixin.py:30 - Sourced /opendevin/bash.bashrc and ~/.bashrc successfully
11:46:16 - opendevin:INFO: mixin.py:60 - Copied files from [/mnt/c/s/OpenDevin/opendevin/runtime/plugins/agent_skills] to [/opendevin/plugins/agent_skills] inside sandbox.
11:46:16 - opendevin:INFO: mixin.py:68 - Initializing plugin [agent_skills] by executing [/opendevin/plugins/agent_skills/setup.sh] in the sandbox.
11:46:16 - opendevin:ERROR: session.py:73 - Error creating controller: Failed to initialize plugin agent_skills with exit code 126 and output: -bash: /opendevin/plugins/agent_skills/setup.sh: /bin/bash^M: bad interpreter: No such file or directory
Traceback (most recent call last):
  File "/mnt/c/s/OpenDevin/opendevin/server/session/session.py", line 71, in _initialize_agent
    await self.agent_session.start(data)
  File "/mnt/c/s/OpenDevin/opendevin/server/session/agent.py", line 47, in start
    await self._create_controller(start_event)
  File "/mnt/c/s/OpenDevin/opendevin/server/session/agent.py", line 104, in _create_controller
    self.runtime.init_sandbox_plugins(agent.sandbox_plugins)
  File "/mnt/c/s/OpenDevin/opendevin/runtime/runtime.py", line 89, in init_sandbox_plugins
    self.sandbox.init_plugins(plugins)
  File "/mnt/c/s/OpenDevin/opendevin/runtime/plugins/mixin.py", line 83, in init_plugins
    raise RuntimeError(
RuntimeError: Failed to initialize plugin agent_skills with exit code 126 and output: -bash: /opendevin/plugins/agent_skills/setup.sh: /bin/bash^M: bad interpreter: No such file or directory
^CINFO:     Shutting down
make: *** [Makefile:228: run] Interrupt

Searching for info on bad interpreter errors suggests that this may be a file containing an invalid Windows carriage return line ending. However, I don't yet have the knowledge of where the plugin setup.sh comes from to verify if that is the case. I am using Windows as my development environment. Although I am running make inside Ubuntu via WSL, I cloned the repository using Git for Windows so perhaps Git is inserting Windows line endings into a file and introducing the problem?
Current OpenDevin version
I am building from source from the main branch at commit hash 99284da4.

Installation and Configuration
make build
make setup-config
make run

config.toml:

[core]
workspace_base="/mnt/c/s/OpenDevinTest/workspace"
persist_sandbox=false

[llm]
model="gpt-4o"
api_key="REDACTED"
embedding_model="openai"

Model and Agent
No response
Operating System
Windows
Reproduction Steps
No response
Logs, Errors, Screenshots, and Additional Context
No response

This problem was indeed caused by Git adding CRLF to files. So not a Devin bug, but a configuration issue. I no longer have the error after turning off the git autocrlf setting like this:
git config core.autocrlf false
git rm --cached -r .
git reset --hard
make build
make run


Generalize plugin API

We should have done it earlier, it's way simpler now.

Oh, actually it's not. Even more, I added name to Plugin, this means this method makes no sense now. I'll remove it now.

@flash-gordon I recommend paying attention to coverage diffs in PRs. I've had situations like that few times and it helps in spotting dead code.


Create a new pull request by comparing changes across two branches

Description

Motivation & Context

Type of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring (non-breaking change)
[ ] Breaking change (fix or feature that would change existing functionality)

Checklist

[ ] I have read the contributing guidelines
[ ] My code follows the code style of the project (using npm run lint)
[ ] My change introduces changes to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Live previews

https://deploy-preview-{your_pr_number}--twbs-bootstrap.netlify.app/

Related issues

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 95.749%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
2022

Relevant Lines:
2072

💛  - Coveralls


Get rid of Stormpath

Something like FlaskLogin would be enough.
Stormpath adds a dependency on an external API, which makes development and configuration more complicated. It doesn't bring any significant benefits. Made some sense when the app lived on Heroku, since it was a drop-in addon.

Addressed in #33