Add CLA and cla-bot

As a part of our open source strategy, we plan to add a contributor licensing agreement (CLA) to this repository. The CLA should grant copyright license on all contributions to Lilypad and Lilypad users. It should not restrict how contributions are used outside of the Lilypad project. We will use the Apache Software Foundation individual contributor license (https://www.apache.org/licenses/icla.pdf) as a starting point.
To streamline the process of submitting and accepting CLAs, we will accept a signed commit to a document in the repository to indicate agreement. We will use cla-bot (https://colineberhardt.github.io/cla-bot/#installing-cla-bot) to assist in automating checks for submitted CLAs.

Closed by #308 and #311.


fix FIXMEs in Ouroboros.Consensus.Node

@edsko I may have got the ProducerId and ConsumerIds in the wrong places.

Awesome, thanks so much :) Although this code has changed a lot in my branch, and least I can now see how I should adjust the networking stuff. Much appreciated :)


Emmet: lorem10 or loremn not working anymore.

Issue Type: Feature Request
lorem *10 or lorem *100 used to work and give a single para of lorem but 10 times its size and so on. But now it doesn't  seem to work. Please fix this as this feature was quite handy.
VS Code version: Code 1.69.0 (92d25e35d9bf1a6b16f7d0758f25d48ace11e5b9, 2022-07-07T05:28:36.503Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No

Probably related to #154375

yes, i can fix it by Cltr + space to make the drop down appear then click tab. but thats not as convenient.
Everyone laved the loremn, pn, divn..etc please bring it back quickly (^-^)/

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Store input in variable - Gum.

I use a package named Gum to beautify my software (terminal app). So, it's a mini-shell where when I type "help" it outputs the list of commands. But, for that, I need to store the user input of the Gum input. See source code below.
#!/bin/sh

# Customize Console
# set-title FBD

echo "Undertale Jokes, that's all. Mainly. You know, as ya want."

while true
  do

    #Input
    PRT=$(gum input > history.txt --placeholder " Enter Command")

    # Logic
    if PRT=="list"; then
        echo "exit"
        echo "list"
        echo "rules"
    fi
    if PRT=="exit"; then
        exit
    fi
    if PRT=="rules"; then
        echo "There is not much rules but :\n
        1. Be silly and trolly
        2. Don't insult or any things like that
        3. Always have a Sans sticker in your desktop wallpaper
        4. Chew gum while using the software
        5. Every Arch user shoulds ay "I use Arch, BTW" every day on the chat.\n"
    fi

done

For now, when I exec the software, I have the gum input, but ... See a how it actually works :
Undertale Jokes, that's all. Mainly. You know, as ya want.
exit
list
rules

I typed rules

Done : new code. the problem was comparaison.


Add an API to get an OpenAPI definition of the model API

This is a stopgap measure until we implement a custom tree-ware API navigator UI.

Decided to generate the OpenAPI spec from the core gradle plugin instead. So marking this as closed.


kube-bench: [FAIL] 1.2.21 Ensure that the --audit-log-maxbackup argument is set to 10 or as appropriate (Automated)

this can be lumped into https://github.com/vexxhost/magnum-cluster-api/issues/31


FLPATH-663: Pass logged-in user name to the backend

It would be good if we can switch to passing down just tokens and the BE will resolve them to a username

It would be good if we can switch to passing down just tokens and the BE will resolve them to a username.
https://backstage.io/docs/auth/identity-resolver

indeed but I think that in reality it is not possible


AES-GCM IV

Hi,
As per my understanding, the IV for AES GCM tests (when "ivgen" is 8.2.1) is to be generated by the device under test.  Is this correct?  It that is so, while sending the response back to the NIST server, are we also supposed to send the IV that is generated along with the CT!?
Also, how is the Tag generated in these cases!?
Regards,
Sathya.

For testing to meet 8.2.1, the NIST server generates the IV.
For testing to meet 8.2.2, the unit under test generates and returns the IV.
When using isSample, the NIST server always generates the IV regardless of whether 8.2.1 or 8.2.2 is used.
Tag generation is part of the AES-GCM algorithm specification, see https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf

For testing to meet 8.2.1, the NIST server generates the IV.
For testing to meet 8.2.2, the unit under test generates and returns the IV.
When using isSample, the NIST server always generates the IV regardless of whether 8.2.1 or 8.2.2 is used.
Tag generation is part of the AES-GCM algorithm specification, see https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf

Thank you the response!
Sathya.


fix: modified sendRawTransaction to also poll MN for transaction's validity for Timeout and ConnectionDropped error

Description:

Modifies EthImpl.sendRawTransaction() to poll the MN for the transaction's validity not only for transactions that were successfully submitted to the network but also in cases of Timeout and ConnectionDropped errors.
Removes the MN instance in SDKClient.
Fixes unit tests in eth_sendRawTransaction.spec.ts to align with the new update.

Related issue(s):
Fixes #3207
Notes for reviewer:

The primary focus is on the EthImpl.sendRawTransaction. Please refer to the code comments for a clearer understanding of the rationale behind the changes.
The sdkClient.ts was only modified to remove the MN instance and update a couple of log message and code comments

Checklist

[x] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

I like the idea to remove the MN client from the sdkClient, however I think we should only change whats in the catch block of the sendRawTransaction. Current changes are confusing and worsening the readability at least from my POV. We can maybe discuss and brainstorm a better way, where we only change the catch block, since we only want new logic when error is thrown.

@quiet-node I like the idea to remove the MN client from the sdkClient, however I think we should only change whats in the catch block of the sendRawTransaction. Current changes are confusing and worsening the readability at least from my POV. We can maybe discuss and brainstorm a better way, where we only change the catch block, since we only want new logic when error is thrown.

@konstantinabl
Thanks for the concern yeah it’s a valid one!
However, I believe modifying the current implementation of sendRawTransaction in this way is essential for integrating the new logic, while still supporting the previous functionality. Sticking to the old implementation just because it's less confusing could limit our ability to capture and handle errors robustly. This adjustment enables us to securely capture the correct errors, handle them effectively, and reuse the mirror node polling logic in a more logical and consistent way. While it may initially seem unfamiliar, I believe this modification actually streamlines the process rather than adding complexity, allowing the codebase to evolve and adapt to new requirements.


Change language around ordering of identity

The previous language is unclear as it references SQL Server and Azure SQL which do guarantee the ordering of identity creation. Language change to make it clearer that Synapse SQL pool is in contrast to SQL Server and Azure SQL.

@lmoloney : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@XiaoyuMSFT - Would you review this pull request? Thanks.

@ktoliver The proposed change is not correct.   The original text is accurate - "The IDENTITY property doesn't guarantee the order in which the surrogate values are allocated, which reflects the behavior of SQL Server and Azure SQL Database. However, in Synapse SQL pool, the absence of a guarantee is more pronounced."
SQL server and Azure SQLDB also have the same design where identity property doesn't guarantee the order.

@XiaoyuMSFT Thanks for the review.
@lmoloney Per the author's feedback, we'll close the PR because the original version is correct. Thank you for taking the time to contribute to the documentation.

@XiaoyuMSFT I think there is some complexity to this and I think change is required.
In SQL Server - As a general rule if I insert 100 values as separate transactions with IDENTITY(1,1) the value for the last transaction would be 100.
In Synapse SQL - depending on the nature of the distributions it is possible that the last transaction would get a value of 6000 (60 x 100).
The functional impact of this is that people who have used SQL Server for a DW design relying on MAX(Identity) get very different behavior. This is not uncommon in SQL Server DWs (even though it might be bad-practice). Therefore I think a change needs to be made to make this VERY clear for users.
I'm happy to propose some more changes on this basis.

@lmoloney In SQL Server and Azure SQL database, the IDENTITY property doesn't guarantee the order in which the surrogate values are allocated either.  It just does not happen as often as in Azure Synapse Analytics.  So the current text is accurate and no change is needed.


FBrf0236359 Eichler2017 - few remaining terms

Addition of olfactory PN terms (need to sort out functional systems #57 )
Then could add sensory classes of KCs

See also Marin2020 paper for modality of glomeruli/PNs


Add tests!!!

I had the same thought :).
What testing library do you prefer? I have experience with mocha and jest.

I think either is fine, but prefer jest atm mostly for the simplicity it offers.
I was thinking unit tests, and also a daily smoke test. The Amazon service is fairly brittle as it parses html using puppeteer. it would be great to know when it breaks, so it can be fixed.


Could tell me the reason why you changed the joint sequences from openpose

No reason. The order is not important.

Thanks. But I have another question. I think the preprocessing file 'generate_json_mask.py' doesn't not generate a masklist txt. After that, you try to use this '/home/code/panhongyu/datasets/coco/masklist/train2017.txt', which seems not exist.

Yes, you're right. I forgot to write it.

Besides abovementioned, I tried the code in visualize_input.ipynb. It seems that the CocoFolder.py doesn't generate correct heatmaps. Is that my problem or maybe your code of Mytransforms.py doesn't coordinate with the lateset version? Thanks for you reply!

Sorry. Forgot to update the file. Updated now.


WKWebView: Inability to update on actual iPhone, though Simulator works

After deploying a new version, the simulator can update itself without restarting the app (without any issues), but for a physical iPhone, the following error occurs:
file:///var/mobile/Containers/Data/Application/248629FC-C77B-4A89-917F-B286E7F1C0B0/Library/Application%20Support/vu.space.mobile/cordova-hot-code-push-plugin/2016.01.12-10.17.28/www/index.html
[Error] Failed to load resource (index.html, line 0)

If I manually shut down the app and re-open it, it will have the updated code.
Tested on an iPhone 6 Plus, iOS 9.2 - same specs for Simulator.
One possible wrench thrown in the mix might be that we're using cordova-plugin-wkwebview-engine.

This occurs whether manually calling chcp.installUpdate() or allowing it to occur automatically on "resume".

Understood, will try to reproduce it on my device.

Yes, it seems the problem is with cordova-plugin-wkwebview-engine. For some reason it doesn't load index page from the external storage.

@nikDemyankov First off: this is just pure awesome stuff.
I just want to get this running with WKWebView, could you point me in the right direction or is there anything else I can help with?
Best regards

@nikDemyankov FYI My issue is currently the same, but I can't even restart the app and get the new resources - we just get a blank page after an update is made.

@nikDemyankov Confirmed manual update in simulator without WKWebView.

@hussfelt thanks. Not sure at the moment. I just need to sit down and check what is wrong and how it can be fixed. It's more the timing issue for me. But now I'm starting to plan, what to be done in the next release, so will work on that one soon.

@nikDemyankov tell me where to pour the :beer: !

I think it has something to do with the bug in WKWebView -  https://issues.apache.org/jira/browse/CB-10237 . Although, it does work fine on emulator (both iOS 8 and 9), but it doesn't reload the page automatically on the real device (iOS 9). It just silently ignores reload request and that's it. Will keep digging.

@nikDemyankov <3 Thanks! You are plain awesome. :santa:

@nikDemyankov Could a fix be to use some sort of local proxy server for those requests? Something like this: https://github.com/shazron/CB-8838/tree/master/plugins/cordova-labs-local-webserver

@Manduro Yes, that could help. There is another WKWebView plugin, which uses that approach (or something similar). The trick is to make it work with external www folder. And to restart it, when update is installed. I just don't want to make things more complicated then they are already...

@nikDemyankov I've looked into that plugin as well, but it is for pre cordova-ios 4 and won't be supporting it as the new cordova-plugin-wkwebview-engine plugin is officially supported for 4.
I understand you don't want it any more complicated, but I do think that WKWebView is very important to support as it comes with lots of benefits.

@Manduro that's true :)

@nikDemyankov has there been a resolution to this? All files except for index.html update on iOS9 devices. I was a day away from pushing to the app store and ran into this "stale index.html" issue. Let me know if we are close.
Thanks a bunch for an amazing plugin! :sunny:

@jboothe Am I understanding you correctly that everything works in combination with the WKWebView except it does not update the index.html file?
In that case this could clearly be a documented tradeoff - I'd live with having to update the app through AppStore for index.html fixes until we have a solution for the core issue...

@jboothe no, unfortunately at the moment I couldn't fix that. Not sure even how to do it correctly. There is an idea from @Manduro to use local web server for showing pages. Haven't tried it yet, but it scares me a little: kind of hack-ish way...
@hussfelt No, the problem is not with the documentation. Index page is updated properly without WKWebView. The problem is that for each new release plugin creates new folder (more details here). On simulator WKWebView has no problem with changing working directory after the update. But on a real device - it does. If it started showing files from /2015.12.01-12.01.33/www/ - it's not gonna switch to /2015.13.01-15.01.00/www/ until the full restart.

Perhaps we have different issues since my app does not employ the cordova-plugin-wkwebview-engine.
To be clear, I experience the following on iOS 9 devices but not in the emulator: When following Nik's 6 steps here, all but the index.html page update and updates only occur when closing and reopening the app.
Oddly, performing a cordova build and cordova run would not show ANY changes of any file on the device but did show in the emulator.  Only a cordova-hcp build and cordova-hcp deploy would update the app (again, with exception to index.html and a close/reopen was needed). Changing the ios-CFBundleVersion had no impact.

Renamed the thread to better define, what it is about :)
@jboothe yes, I think it relates to your question https://github.com/nordnet/cordova-hot-code-push/issues/125 . We can continue discussion about your problem in there. I'll try to reproduce it on my iOS 9 device. But I think it has something to do with the configuration files setup.

nikDemyankov wrote:  “On simulator WKWebView has no problem with changing working directory after the update. But on a real device - it does. If it started showing files from /2015.12.01-12.01.33/www/ - it's not gonna switch to/2015.13.01-15.01.00/www/ until the full restart.”
Hi nik.
That’s a documented ‘feature’ of the WkWebView since ios 9.0:

(WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL

Parameters
URL	The file URL to navigate to.
readAccessURL	The URL to allow read access to.
Return Value
A new navigation for the given file URL.
Discussion
If readAccessURL references a single file, only that file may be loaded by WebKit. If readAccessURL references a directory, files inside that file may be loaded by WebKit.
In fact if you think about it, it’s not just that an update will fail to show up until the user performs a full restart, it’s also true that the unpacking of the bundled www inside the app to the initial hotcode push external www folder won’t be used until after a full restart. So, the fix needs to happen in two places. On startup and on update.
And the only fix I can think of, aside from re-instantiating the wkwebview with the new updated file url and all plugins, is to always use the same well-known folder to load files from. I guess that means on an update, you would have to delete the current files that are being “served” and copy the new ones into the same folder. If the user was doing something important, I’m thinking that could lead to some data corruption / race conditions. But if you could inform the user that this was about to happen and ensure that they weren’t doing anything important during an update, it might be passable. Not sure about rollbacks and update errors….
I forked your excellent repo and implemented this hack. Works on an ios 9.2 ipad and Cordova 5.0.0 with Cordova ios 4.0.1 and cordova-plugin-wkwebview-engine 1.0.2 and cordova-hot-code-push-plugin 1.2.5

Hi @bluoma ,

And the only fix I can think of, aside from re-instantiating the wkwebview with the new updated file url and all plugins, is to always use the same well-known folder to load files from. I guess that means on an update, you would have to delete the current files that are being “served” and copy the new ones into the same folder. If the user was doing something important, I’m thinking that could lead to some data corruption / race conditions. But if you could inform the user that this was about to happen and ensure that they weren’t doing anything important during an update, it might be passable. Not sure about rollbacks and update errors….

Actually, the first versions of the plugin was doing exactly that :) But I had to move to "new release -> new folder" scheme because of the problems you described, plus:

There was a css caching issue: web view didn't want to reload css files. In order to see the changes in them you had to change the path of the css file. For example, add ?timestamp parameter to it's path.
No normal backup system. Right now previous version is used as a backup in case, if current one is broken.

So, moving to "new release -> new folder" scheme solved some nasty problems and made plugin much more stable. But, unfortunately, brought problem with the wkwebview. Didn't know about it, when migrated to the new scheme...

@nikDemyankov @bluoma Couldn't this be fixed by putting the release folders inside a common chcp folder? Or does the readAccessURL disallow subdirectories as well when it references a directory?
Another possibility might be to put the index.html's in their own folder, using index-{release}.html files, with some sort of solution for file references inside index.html.

@Manduro "does the readAccessURL disallow subdirectories as well when it references a directory?"
Well, every release subdirectory is a child of "cordova-hot-code-push-plugin/". So I think the answer is yes, it disallows subdirectories.
Now that I re-read my original post, I think I should have said that this behavior of wkwebview, not to allow reloading from a different readAccessURL, is undocumented behavior. Maybe someone should file a radar:// on Apple to correct the docs or allow reloads from a different folder. ??

Couldn't this be fixed by putting the release folders inside a common chcp folder? Or does the readAccessURL disallow subdirectories as well when it references a directory?

Basically, they are all already inside common chcp folder. But maybe setting allowingReadAccessToURL to that common folder might help. Should try that, thanks for the idea.

Here's Telerik's overview of the good, bad & ugly of Cordova WKWebView Plugin. ...might provide some insight into solving this problem.

@nikDemyankov just noticed that if the content folder is created under the application's tmp/ directory, this error doesn't occur. So if you edit HCPFilesStructure.m and change the 3rd line below to reference "tmp/":
// construct path to the folder, where we will store our plugin's files
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *supportDir = [fileManager applicationSupportDirectory];

I don't see the error:
Sandbox: com.apple.WebKit(829) deny(1) file-issue-extension
Sandbox: com.apple.WebKit(830) deny(1) file-read-data
and reloads happen fine onResume. Seems like WebKit2's sandbox rules need fixing. I don't know if using /tmp is really a workable solution. FYI, I also tried "Documents" and "Library/caches" and those both fail for me.

@bluoma thanks for the info, will check it out. But tmp folder is not a great thing, since it can be removed by the OS when free space is needed. So the app can end up without his www folder and would have to use the one from the assets.

Good news everyone: seems like some sort of solution has been found. Currently all release folders are stored like this:
/some/path/Library/Application Support/<PACKAGE_NAME>/cordova-hot-code-push-plugin/<RELEASE_VERSION>/www/index.html

When new update comes - new <RELEASE_VERSION> folder is created and webview loads index.html from it.
By default, wkwebview doesn't allow to switch to another folder. In the CDVWKWebViewEngine.m WK plugin set's readAccessURL to the folder, that is 1 level up to the index.html.
So, the fix is to set it pointing to /some/path/Library/Application Support/<PACKAGE_NAME>/cordova-hot-code-push-plugin/. This way wkwebview will allow loading index.html from different subfolders.
Thanks @Manduro for pointing in the right direction. Now I need to figure out, how to set this readAccessURL to point to the correct folder in the chcp, instead of manually changing CDVWKWebViewEngine.m from the Xcode.

@nikDemyankov Great news! Seems like an easy solution :)

Hi @nikDemyankov. First thanks for the awesome work !
If I understood properly, the approach you mention on your previous comment is only valid for Cordova WKWebView Plugin, not for Telerik WKWebview plugin, right ?

Hi, @MarcBT. Thanks :)
Yes, that is correct: for Telerik WKWebView there, probably, should be another fix. As we discussed in https://github.com/nordnet/cordova-hot-code-push/issues/127 - it stopped working after I switched from setting startPage to wwwFolder. Reason for that was to support # in the index page.
I will try to upload in the dev branch fix for wkwebview today, and then will start looking into telerik version.

Ok, thanks for the fast answer. Have a good day.

Okey, cordova-plugin-wkwebview-engine should now work with chcp. Uploaded a fix in the dev/1.3.0 branch. Want to add some more stuff before releasing new version. But you can try it out already, if you want.

Released in v1.3.0. CHCP plugin should now work with cordova-plugin-wkwebview-engine. If not - please, reopen the issue.

@nikDemyankov I can only use Teleriks wkwebview, can is it possible to ship a fix for that as well?

@barocsi yes, but can't give you any dates when... There is already task for this: https://github.com/nordnet/cordova-hot-code-push/issues/98

So this is not working for me, at least not with https://github.com/driftyco/cordova-plugin-wkwebview-engine
This is the first WkWebview Engine, with a XHR polyfill hack, that allows remote and local XHRs with a breeze. I don't know if its possible for you to fix this.
I have 1.4.0 installed, the simulator will update, but not the real device.

@Hirbod have you tried with original wkwebview plugin? Also, have you tried to launch the app via Xcode instead of console (just as an experiment)?

First question: no, I did not. Cause it does not work for my use case (no local XHR on file:/// possible = useless, as I can't use my frameworks)
Second: No, I will try and give you a feedback.

@Hirbod hi, it seems that we are using same technologies... :)
Did you find a solution, we have the same problem with driftyco's plugin

@cvaliere no, I did not. I am sticking to the simulator currently, so "real time testing" with on a real device is not possible currently. Lauching with or without Xcode did not change anything @nikDemyankov
In my case, it's not a big deal, as I am developing inside simulator 99% of time, but it would be a nice to have.


Fetch token pair historical data via tRPC

What is the purpose of the change

To save on costs, mildly cache token pair historical data on our edge mid layer instead of always querying from clients. This also refactors some UI config store query logic, and adds some queries for pool data.

ClickUp Task
ClickUp Task URL
Brief Changelog

Add server side queries, with 3 minutes of caching per pool + tokens + time duration combo
Move add CL config to web package, extracting historical price query store
Replace historical price query store in ObservableHistoricalAndLiquidityData. This is used in the position detail views and charts on pool detail page
Use getPool query for some pool data in above stores and on CL pool detail page

Testing and Verifying

All functionality should still work in CL add liquidity
All data should be accurate on CL pool detail pages
Increase CL liquidity should work

This seems slower that what's live on app.osmosis.zone

This seems slower that what's live on app.osmosis.zone

I think it's because it adds an extra hop between browser and data services, through the edge network. But, it is cached for 3 mins so many users would only hop once (on the edge, which should be closer to their machine)


Multiple DefinePlugin instances cause aggressive cache invalidation due to collisions

Bug report
When multiple instances of DefinePlugin are inserted into the compilation, constants unkeyed by an instance identifier (specifically VALUE_DEP_PREFIX and VALUE_DEP_MAIN) cause inconsistent hash values causing massive cache invalidations (in our case making webpack believe 90% of modules had changed on any file change).
Although its uncommon for developers to use multiple instances of DefinePlugin, some plugins like webpack-plugin-serve automatically inject their own instances.
What is the current behavior?
Multiple instances cause hash inconsistency causing all modules to be considered changed
What is the expected behavior?
The DefinePlugin hash should only change if the defineplugin inputs change
Other relevant information:
webpack version:  5.90.3
Node.js version: v20.11.1
Operating System: OSX
Additional tools:

Please create reproducible test repo, because I can't reproduce it, also webpack-plugin-serve is deprecated, please don't use it

Oh, the problem is here - https://github.com/shellscape/webpack-plugin-serve/blob/master/lib/index.js#L168, it is always a unique value, so webpack invalidates caches, we can't fix it here, sorry

Interesting, will dig in a bit more. That said the following patch does seem to fix my issue
diff --git a/lib/DefinePlugin.js b/lib/DefinePlugin.js
index ed02a3cbd2d5d2c49aa2d49bc1732ab6b47ea004..27a49fa9e649f7111118031fd54185373c169766 100644
--- a/lib/DefinePlugin.js
+++ b/lib/DefinePlugin.js
@@ -306,11 +306,12 @@ const toCacheVersion = code => {

 const PLUGIN_NAME = "DefinePlugin";
 const VALUE_DEP_PREFIX = `webpack/${PLUGIN_NAME} `;
-const VALUE_DEP_MAIN = `webpack/${PLUGIN_NAME}_hash`;
 const TYPEOF_OPERATOR_REGEXP = /^typeof\s+/;
 const WEBPACK_REQUIRE_FUNCTION_REGEXP = /__webpack_require__\s*(!?\.)/;
 const WEBPACK_REQUIRE_IDENTIFIER_REGEXP = /__webpack_require__/;

+let instanceCount = 1;
+
 class DefinePlugin {
 	/**
 	 * Create a new define plugin
@@ -318,6 +319,10 @@ class DefinePlugin {
 	 */
 	constructor(definitions) {
 		this.definitions = definitions;
+		// patch support multiple instances
+		this.value_dep_prefix = `webpack/${PLUGIN_NAME}-${instanceCount} `;
+		this.value_dep_main = `webpack/${PLUGIN_NAME}-${instanceCount}_hash`;
+		instanceCount += 1;
 	}

 	/**
@@ -349,7 +354,7 @@ class DefinePlugin {
 				const mainHash = createHash(compilation.outputOptions.hashFunction);
 				mainHash.update(
 					/** @type {string} */ (
-						compilation.valueCacheVersions.get(VALUE_DEP_MAIN)
+						compilation.valueCacheVersions.get(this.value_dep_main)
 					) || ""
 				);

@@ -359,14 +364,14 @@ class DefinePlugin {
 				 * @returns {void}
 				 */
 				const handler = parser => {
-					const mainValue = compilation.valueCacheVersions.get(VALUE_DEP_MAIN);
+					const mainValue = compilation.valueCacheVersions.get(this.value_dep_main);
 					parser.hooks.program.tap(PLUGIN_NAME, () => {
 						const buildInfo = /** @type {BuildInfo} */ (
 							parser.state.module.buildInfo
 						);
 						if (!buildInfo.valueDependencies)
 							buildInfo.valueDependencies = new Map();
-						buildInfo.valueDependencies.set(VALUE_DEP_MAIN, mainValue);
+						buildInfo.valueDependencies.set(this.value_dep_main, mainValue);
 					});

 					/**
@@ -377,8 +382,8 @@ class DefinePlugin {
 							parser.state.module.buildInfo
 						);
 						buildInfo.valueDependencies.set(
-							VALUE_DEP_PREFIX + key,
-							compilation.valueCacheVersions.get(VALUE_DEP_PREFIX + key)
+							this.value_dep_prefix + key,
+							compilation.valueCacheVersions.get(this.value_dep_prefix + key)
 						);
 					};

@@ -648,7 +653,7 @@ class DefinePlugin {
 					Object.keys(definitions).forEach(key => {
 						const code = definitions[key];
 						const version = toCacheVersion(code);
-						const name = VALUE_DEP_PREFIX + prefix + key;
+						const name = this.value_dep_prefix + prefix + key;
 						mainHash.update("|" + prefix + key);
 						const oldVersion = compilation.valueCacheVersions.get(name);
 						if (oldVersion === undefined) {
@@ -678,7 +683,7 @@ class DefinePlugin {
 				walkDefinitionsForValues(definitions, "");

 				compilation.valueCacheVersions.set(
-					VALUE_DEP_MAIN,
+					this.value_dep_main,
 					/** @type {string} */ (mainHash.digest("hex").slice(0, 8))
 				);
 			}

hm, we use mainHash.update("|" + prefix + key);, so each value should be uniuq, can you use console.log() for https://github.com/webpack/webpack/blob/main/lib/DefinePlugin.js#L322 and run build, so we will get all values and I will look, if you have something secret just change it for *** for me

Can you try to remove 'process.env': { NODE_ENV: '"development"' } from the first invocation?

Cam u email me I do not know how to even access assets I need some truthful and trustworthy to help will u

<EMAIL_ADDRESS>

I'll close this issue. In the end it appears the cause by webpack-plugin-serve injecting a new instance of DefinePlugin on every watch run. I don't think this is standard enough to require any support on webpacks end. I was able to patch around it and am in the process of migrating to webpack-dev-server
https://github.com/shellscape/webpack-plugin-serve/blob/b19fce1db5f881af603879b8bb9c555c16ae394f/lib/index.js#L266-L268


Fixed data race with client trace flag

This was introduced with https://github.com/nats-io/gnatsd/commit/ec3115ad210cbf8ad0fa1dc722db8975181bec67
Signed-off-by: Ivan Kozlovic<EMAIL_ADDRESS>

Coverage increased (+0.2%) to 91.135% when pulling 0c11279946aa67102b4dfc90cb17821ecaccedbd on fix_trace_race into b46d3fbcd9933892b4f3cad45bf577e09332ff48 on master.


Action vs Civi

I didn't see this on the agenda for the meeting. Let's discuss more next week, but it sounds like the problem with Civi is simply one of basic layout?
@tvol @rebeccalendl

Thinking more about this, is this related only to forms generated by Civi (aka Profiles)?

@rebeccalendl Any thoughts on this?

Sorry, I had updated my comment on this in a googledoc to you and not here. I though we decided to hold on Action for now, so not pressing, that seemed to be the consensus. Let me know if I'm missing something.


Is there any way to make two xcode projects for iOS Build device and simulator once build process?:

Hi There,
Thanks sharing good tool
Is there any way to make two xcode projects for iOS Build device and simulator once build process?:
When I trided to build action using your tools , it looked created one project under  same folder Il2cpp folder
Actually I am making ios xcframework using two unity xcode projects manually
I think the above question would be very helpful if possible :)

I found the answer myself and closed the issue.
I can configure two release types.


Tangle of 10 in bracket pairs

There are 10 nodes in the image above, so I suspect that is why the tangle is "10".

This is out of scope.


Propagate context in migrations

This is to allow timeouts in migration operations.
This is related to issue #595 and issue #347.

@nbarbey Please rebase on main

@nbarbey Mind rebasing one more time?


Add Agentok Studio to the Showcase

Code of Conduct

[X] I have read and agree to the xyflow contributor Code of Conduct

Project Name
Agentok Studio
Project Description
AutoGen Visualized - Visual Tools for Multi-Agent Development.
Project Tags
workflow,LLM,open source,agentic app,multi-agent,autogen
Open Source

[X] This project is Open Source

Link to the project website
https://github.com/hughlv/agentok
Link to project demo
https://studio.agentok.ai/
Used Library
React Flow
Upload a Project Screenshot

Anything else?
No response

Thanks for submitting! We'll add this to the showcase in pull request #463


Make pgbedrock work with CloudSQL

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/29
Originally created by @tayloramurphy on 2018-06-07 19:43:45

I have an issue open on the project (https://github.com/Squarespace/pgbedrock/issues/12) about getting this working. Doesn't seem like a terribly heavy lift.
The project is Apache 2, so we should be good to go there.
Features I'd like to see:

Runs on every pipeline to validate permissions
Execute changes if there are discrepancies

Nice to have would be to log the change as well

View 23 previous comments from the original issue on GitLab


Instructions for Task: timeout injection

This shows how to use Kubernetes+Istio to set up a frontend and slow backend, then how to use an Istio to add a timeout to the backend.  It is intended as very simple documentation for the Task of setting up a timeout on a service that is sometimes slow.

Jenkins job istio/presubmit passed

Closing per @geeknoid request


Updating the files that need to be considered with sync.yml

Updating the files that we want to push out to sync.
I think all of these make sense. Not sure if we need ottr-fy.R?
IMPORTANT:
config_automation.yml needs to be updated to use the updated docker image:
rendering-docker-image: 'jhudsl/base_ottr:main'

So, the reason I had asset files and subdirectories listed out individually instead of just syncing the whole assets directory was in case any downstream repos decided to put some of their own book-specific assets in the assets directory.  I didn't want to clobber them or make PRs harder.  Not sure how often that'll happen in reality?

The only one I found was the gdscn word doc template. Happy to change it back.

Haha, I'm too slow with my comments :)  Either way is fine with me.

hehe! I think it's probably the most cautious solution. I'm on board :)

Closes #196 (does the this work if I add it after the PR has been merged?)


DDC: RenderingContext.getExtension() returns instance of NativeJavaScriptObject

tests/lib_2/html/webgl_extensions_test.dart fails when run in DDC, because it expects RenderingContext.getExtension() to return instances of types like AngleInstancedArrays, OesVertexArrayObject, DrawBuffers, etc.
Type 'NativeJavaScriptObject' is not a subtype of type 'AngleInstancedArrays' in strong mode

We worked a lot with WebGL on Dart in the past, but were always using dart2js which doesn't provide a great developer experience. It's just to slow. WebGL support isn't first class in Dart, but the language has so many benefits in bigger projects compares to plain JS.
For a new project we decided to switch to DDC, but after short while we run into this issue.
I wonder if this issue is a general problem that isn't easy to solve right now, or if it's just "somebody has to do it". I would volunteer to solve this issue, but I'm not an expert in DDC.
Looking at the Dart source code doesn't gave me a good idea where to start, so I decided to create a minimal example:
  final canvas = querySelector('#output') as CanvasElement;
  final context = canvas.getContext3d();
  OesVertexArrayObject vao = context.getExtension('OES_vertex_array_object');
  print(vao)

When debugging the generate JavaScript I noticed that the OesVertexArrayObject value returned by getExtension doesn't have a _is_OesVertexArrayObject field in its' prototype. In general, the type of web_gl.OesVertexArrayObject is initialized correctly and has this field.
If I compare the behavior to other methods, like getFramebuffer that returns an instance of Framebuffer and the underlining JavaScript type WebGLFramebuffer, I notice that WebGLFramebuffer is a type that is defined in the window context, but OesVertexArrayObject isn't.
In general there seem to be two types, one Dart type and a native JavaScript type, usage of them seems to be compatible. If I understand it correctly, registerExtension is responsible for applying the relationship between Dart and JavaScript types during bootstrapping.
While this works for WebGLFramebuffer, it doesn't work for OesVertexArrayObject as it doesn't exists in the window context. So I guess the problem is that the relationship between the Dart and the JavaScript type is missing because the type is unknown to the Dart bootstrapping code.
While I now know WHY it doesn't work, I still have no idea how I fix this. So I tried to write a polyfill and found the applyExtension function that does exactly what I would expect. It patches an object that couldn't be initialized during bootstrapping:
https://github.com/dart-lang/sdk/blob/ae5d4973abf64df76d1eaef306d596c6d82b7db7/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/classes.dart#L388-L394
So I ended up with this ugly code:
import 'dart:html';
import 'package:js/js_util.dart';

void fixWebGLExtensions() {
  callMethod(window, 'eval', [
    '''
const dartSdk = require('dart_sdk');
const dart = dartSdk.dart;

const nativeGetExtension = WebGLRenderingContext.prototype.getExtension;
WebGLRenderingContext.prototype.getExtension = function (name) {
    const extension = nativeGetExtension.apply(this, [name]);
    const extensionTypeName = extension.__proto__.constructor.name;
    dart.applyExtension(extensionTypeName, extension);
    return extension;
};
'''
  ]);
}

This code uses some internal APIs that might change and break in the next DDC version. So be warned and avoid using it in your code 😉. This is an intermediate solution that helps me continuing with my work, but I would still like to see this issue closed.
With my new knowledge about applyExtension, I headed back into the SDK source code and found two additional functions for dart2js and the ddc:
https://github.com/dart-lang/sdk/blob/f7a300fc69e224145539814f5228c222ee7cea9d/sdk/lib/_internal/js_runtime/lib/js_helper.dart#L3480-L3482
https://github.com/dart-lang/sdk/blob/c572fbf0db3d6e10fc5fec259874de520aecf34e/sdk/lib/_internal/js_dev_runtime/private/js_helper.dart#L796-L799
With that knowledge and the linked issue about the SqlTransaction that seems to have the similiar problem found this templating mechanism:
https://github.com/dart-lang/sdk/blob/5721d8af6d8755fa6f70f3951de2c451c57bf12f/tools/dom/templates/html/impl/impl_Database.darttemplate#L5-L22
So I guess to solve this issue we need to implement something similiar into the already existing template of WebGLRenderingContext. Which could look like this:
  @JSName('getExtension')
  Object getExtension_impl(String name) {
    var extension = getExtension();
    var typeName = // Some magic to get the type name of the native object
    applyExtension(typeName , extension );
    return extension;
  }

Now only the magic for the typeName is missing. In JavaScript it could be extension.__proto__.constructor.name, however I'm afraid there is no equivalent in Dart, But I guess that's where the JS() macro comes into play. I don't know how it works and what the parameters are, but maybe this would be the correct code:
var typeName = JS('String', '#.__proto__.constructor.name', extension);

The behavior of the JS macro is just guessed, the first argument is the name of the return type, second the templated code where # is a placeholder and the other arguments are inserted into the placeholder. I couldn't find any documentation about it.
I don't know if this helps to fix the issue, but at least it was a nice journey through the Dart SDK. Maybe the details help somebody else in the future 😄. I would be interested in some feedback on the solution and what is necessary to land it in the SDK (is the solution acceptable, do we need additional tests beside the ones mentioned in this issue, how can I test and run this locally?).

Just stumbled across my workaround and noticed that my previous message is over a year old. I wonder if somebody can help me to fix this? Maybe @terrylucas

The latest Chrome Dev release (87) broke my workaround. Looks like the constructor of OesVertexArrayObject got removed.
I had to replace
        const extensionTypeName = extension.__proto__.constructor.name;
        dart.applyExtension(extensionTypeName, extension);

with
function resolveTypeName(obj) {
  return Object.prototype.toString.call(obj).slice(8, -1);
}

...

          const extensionTypeName = resolveTypeName(extension);
          extension.__proto__.constructor = {prototype: extension.__proto__};
          dart.applyExtension(extensionTypeName, extension);


can we get a "clean" option for build

That will delete .pyc files in the project, sometimes conflicts can occur.  Example if we move around files/modules to different folders then there can be leftover .pyc files that might cause an issue if you forget to change your imports.

For whoever integrates this, we also need to think about supporting this when no project is loaded.


Is there support for $bumpmap?

can someone tell me what is and what isn't supported?

If its normalmap yes. Heightmap no.

thanks!


debugger icons license/attribution

Fixes #1813.
It might also be a good idea to add a notice to the top-level LICENSE.rst and/or README.rst that these icons (and the ubuntu font) are covered under a different license.

Can you remove the front matter and include only the license? The license itself has all the necessary information.

Can you remove the front matter and include only the license? The license itself has all the necessary information.

I agree that there was some redundancy (also caused by the fact that the LICENSE part on the website differs from the readme.txt included with the download).
How about trimming it down to this?
Silk icon set 1.3 by Mark James<EMAIL_ADDRESS>
This work is licensed under the [Creative Commons Attribution 2.5 License](http://creativecommons.org/licenses/by/2.5/). All I ask is that you include a link back to [this page](http://www.famfamfam.com/lab/icons/silk/) in your credits.

It can can also be used under the [Creative Commons Attribution 3.0 License](http://creativecommons.org/licenses/by/3.0/) with the following requirements:

> As an author, I would appreciate a reference to my authorship of the Silk icon set contents within a readme file or equivalent documentation for the software which includes the set or a subset of the icons contained within.

Just the license please.

It satisfies the quoted statement.

I suppose so. I preferred to be cautious and not make that determination when it was much less effort to include a bit of extra text. But it's your call. Will this do?
Silk icon set 1.3 by Mark James<EMAIL_ADDRESS>http://www.famfamfam.com/lab/icons/silk/
License: [Creative Commons Attribution 2.5](https://creativecommons.org/licenses/by/2.5/) or [Creative Commons Attribution 3.0](https://creativecommons.org/licenses/by/3.0/).

I wanted to reword this a bit more and rebase, but seems you've disabled the option that lets maintainers push to your branches. I've moved your commit to #1941.


I'm having issues using example cmd

@Command
class Mood : SlashCommand() {
@Command
fun mood(event: SlashCommandInteractionEvent) {
event.reply("How are you?").addActionRow(
success("good", "Good"), danger("bad", "Bad")
).queue()
}
@Button
fun good(event: ButtonInteractionEvent) {
    event.editMessage("That's good to hear!").setActionRow().queue()
}

@Button
fun bad(event: ButtonInteractionEvent) {
    event.editMessage("Oh no! Here, have some \uD83C\uDF68!").setActionRow().queue()
}

}
java.lang.IllegalArgumentException: Unknown button good
at dev.ruffrick.jda.commands.event.ButtonInteractionListener.onEvent(ButtonInteractionListener.kt:21)
at dev.ruffrick.jda.kotlinx.event.SuspendEventManager$handle$1.invokeSuspend(SuspendEventManager.kt:38)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
when I try to click the buttons it does this

That exception is thrown when the CommandRegistry can't find any command associated with that button. Are you sure you correctly registered and updated the command?

So, how do I correct so

As the example in the readme states:
fun main() {
    val jda = JDABuilder.createLight("token")
        .useSuspendEventManager()
        .build()

    val commandRegistry = CommandRegistryBuilder()
        .addCommands(PingCommand(), HelloCommand(), GreetCommand())
        .build()

    commandRegistry.updateCommands(jda)
}

val intents: Collection<GatewayIntent> = GatewayIntent.getIntents(GatewayIntent.ALL_INTENTS)
val shardBuilder = DefaultShardManagerBuilder.createDefault(
    "token", intents
).setMemberCachePolicy(MemberCachePolicy.ALL).setChunkingFilter(ChunkingFilter.ALL)
    .setActivity(Activity.watching("for New Shards")).useSuspendEventManager().build()

val commandRegistry = CommandRegistryBuilder().addCommand(Ping()).build()

commandRegistry.updateCommands(shardBuilder)

I do have this?

Suggestion this would be easier if you had a support discord or something

https://discord.gg/Hs4mkEk2


Updates to tgmath functions for CGFloat

These changes bring CGFloat in line with the other FloatingPoint types.  Some of this stuff is now defined at the protocol level, so we can get rid of it at the concrete type level, with an obsoleted message.  A couple other functions have been deprecated for all types, with protocol or tgmath replacements.

Build failed
Swift Test Linux Platform
Git Sha - b7a6768689247486fcd7a93c71576d5db9d047d0

@swift-ci Please smoke test.


Color references are lost after "sync/create variables"

Describe the bug
Semantic (alias) color references are lost both in plugin and variables.
(see recording below)
To Reproduce
Steps to reproduce the behavior:

Update plugin to latest version 1.38.5
Trigger the "sync variables" or "create variables" actions from the plugin
Color variables are plain hex values instead of referencing global/core colors
And the worst is that now also all semantic/alias color tokens in the plugin have lost their reference to the global colors and are suddenly plain hex values too!

Expected behavior
Color references are not lost/gone, but respected as was the case before v1.38.5.
Screenshots or Screencasts

Figma reference file
https://www.figma.com/file/U80LRxwNLD6Kn82PcrmxMi/Github-Issue-2399?type=design&node-id=0%3A1&mode=design&t=rnbjYlOZKdfRPAHN-1

Hey @henrilouis, good to know I'm not the only one! I hope this issue will be fixed as soon as possible. It is unacceptable to lose (color) references, as they are the core of what tokens are about.

Hey everyone, sorry for the issue. We are looking into it right away

@jolantis @henrilouis we are in the process of fixing the bug, in the meanwhile we have done a version rollback on the plugin. Big apologies from the team.

Thanks for the quick effort @esthercheran and team!

@SorsOps thanks for the quick response on Friday, but it's not fully fixed for me!
When I trigger "create variables", the plugin doesn't create all variabel types anymore:"type": "spacing" and "type": "borderRadius" are not showing up as variables!
I've also tested it in an empty/new file, but the same issue. :(

Hey @jolantis, the fix hasn't been merged and released yet which is probably why you're still facing some issues.


Source code was changed, but flutter run previous code.

Hi guys,
Since I upgrade to flutter 1.17. I use Android studio (macOS) develop new feature, source code was changed, but nothing changed when I run it. It used old code. How to fix this problem ?
Thanks!

Hi @honvidan
Where you using experiencing this issue? Android Studio or VS code? You sure changes are being saved?
can you please provide your flutter doctor -v and flutter run --verbose?
Also, to better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

Hi @TahaTesser
I used Android Studio to develop Flutter apps. I also can't hot reload, always LOST connection from iOS simulator every saving file code. I just changed little like a text on screen and hot reload, restart or even rebuild but nothing changed on the app. This issue is NOT happend before version 1.12.
I also tested on android emulator. this issue does not happen
below is flutter doctor:

honvidan@Dans-MacBook-Pro-2 house_map % flutter doctor -v
[✓] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.4 19E287, locale en-VN)
• Flutter version 1.17.0 at /Users/honvidan/flutter
• Framework revision e6b34c2b5c (5 days ago), 2020-05-02 11:39:18 -0700
• Engine revision 540786dd51
• Dart version 2.8.1
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/honvidan/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.4.1, Build version 11E503a
• CocoaPods version 1.9.1
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 45.1.1
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] VS Code (version 1.44.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.10.1
[✓] Connected device (1 available)
• iPhone 11 Pro Max • D67CA381-DDB6-4240-826F-48B199756D8B • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-4 (simulator)
• No issues found!

Hey @honvidan try running the command flutter clean In the cwd ( current working directory ) to clean the cache that might cause the emulator not run the respective app.

Hi @Andy-Python-Programmer
I also tried flutter clean.
I downgrade to flutter v1.12.13 hotfix 9. Everything is ok.

@Andy-Python-Programmer please do not suggest clean as a workaround for bug reports. This prevents us from being able to fix the issue and will contribute to lower quality flutter releases.

@honvidan to help we would need verbose logs from a flutter run where the changes didn't get saved or where it crashed unexpectedly.

@jonahwilliams I could not give the logs because I have downgrade to flutter version 1.12.13 hot fix 9.
Thank you!


fix: missing builtins

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Multiple GPU support?

Is there any plan to have multiple gpu support? And/or the ability to select what gpu to used if many are available?

It's on the TODO list (#195 ), but nobody has volunteered to do the work yet. It should be relatively straightforward to select which GPU to use. More work to distribute inference among two or more GPUs.

Dully noted, thank you lstein. Here's reading of interested on the subject:
https://github.com/NickLucche/stable-diffusion-nvidia-docker
Repo that does it already:
https://stackoverflow.com/questions/54216920/how-to-use-multiple-gpus-in-pytorch

@lstein Any progress on this front?

you can perform this now by setting CUDA_VISIBLE_DEVICES=0 in one terminal and launching invokeai --web and setting CUDA_VISIBLE_DEVICES=1 in another terminal and launching invokeai --web --port 9191. but you have to keep switching back and forth between the two browser tabs. But since I am running a 1050ti as one gpu and a 1030 as the other I have plenty of time to switch :-) I can only scale and delete images with the 1030 as it only has 2gb of ram.
It would be nice to be able to specify 2 GPUs or more, then in the UI have a setting for if you want a reserved GPU. So if you had 2 gpus defined and one reserved when you hit invoke it would only use one but you would be able to scale images or do impainting or perform face reconstruction or even just delete bad images. You could also start another batch or renders with different setting. if you didn't have a GPU set as reserved when you hit invoke it will just use all gpus if you have images set to more than one.


assymetric padding processing for convolution and pooling...

We should first update convolution and pooling operators to support asymetrical padding.


standard-release-process.md: Add info how to deal with upstream

@m-iwanicki @PLangowski, how is this PR related to https://github.com/zarhus/docs/pull/5 ?

@artur-rs I was waiting for @PLangowski review so it could be merged to his PR.
Not sure if we actually need/want to deal with upstream this way or just work directly on upstream repository.

This PR mostly dealt with case when upstream SRC_URI links pointed to private repositories while downstream used different links so e.g. it could be built. There are probably better ways to do that e.g. setting premirrors or mirrors variable.


jsonrpc: small cleanup.

Remove come commented out code and fix some comments.

[approve ci autest]

[approve ci autest]

[approve ci autest]

Cherry-picked to v10.0.x


Add automation to automatically release zipped apps

Closes #559
Whenever a commit is pushed to master:

Automatically bump version
Compress each app directory into a zip file
Create a release and upload all the zipped apps

Issue for app: #[issue number here]
App pull request

[ ] This is a new app
[ ] I am improving an existing app (redesigns/code "makeovers")

About

Playground deployment URL (new version):
Current gallery app URL: (delete this line if inapplicable)
Python app repository link: (delete this line if you are working on a Python app)

Workflow

[ ] I have created a branch in the appropriate monorepo, and the
elements necessary for successful deployment are in place.
[ ] If the app is a redesigned and/or restyled version of an
existing gallery app, I've summarized the changes requested in the
appropriate Streambed issue and confirm that they have been applied.
[ ] If the app is on the Dash Gallery portal, I have added a link to
the GitHub repository for the source code in the portal description.
[ ] If the app is a reimplementation of a Python gallery app for the
DashR gallery, the app in this PR mimics, as closely as possible,
the style and functionality of the existing app.=
[ ] I have removed all Google Analytics code from the app's
assets/ folder.

The pre-review review
I have addressed all of the following questions:

[ ] Does everything in my code serve some purpose? (I have removed
any dead and/or irrelevant code.)
[ ] Does everything in my code have a clear purpose? (My code is
readable and, where it isn't, it has been commented appropriately.)]
[ ] Am I reinventing the wheel? (I have used appropriate packages to
lessen the volume of code that needs to be maintained.)

What if we only ever had one release available? ie after uploading the new release we delete the previous one(s)? This feels like a bit of a misuse of the release mechanism, but it would make https://github.com/plotly/dash-sample-apps/releases much cleaner, and folks would likely just go there and download the zip they want.

Yeah it shouldn't be too hard.
I guess it does make it cleaner, although Github seems to automatically hide the assets of older releases to make it easier to navigate.

Moreover replacing the version number with "latest" automatically resolves it. Though I agree it looks a lot cleaner when you look at the tags.
I think one potential advantage will be to more easily access older versions of a certain app, especially if we start versioning based on dash's major version (e.g. dash-sample-apps v1.* corresponds to dash v1.*, etc.) as we start refactoring older apps using new syntax (e.g. pattern matching). However this can still be done by simply cloning the entire repo, which shouldn't be too big of a problem once we refactor the git history and move the data files to plotly/datasets.

Thanks, I updated the readme with your suggestions; will merge now.

separate note: wouldn't we want to suggest the same pattern above when cloning the whole repo? ie cd into the app dir, set up the virtual env in that dir, and run the app from there? The way we describe it now with running things from the repo root makes it unclear how to handle app-specific venvs.

I think it's a good idea. In fact I feel a lot of the readme might be confusing for the community; it feels to me it was written for internal use. Would be nice to refactor the entire readme and move some parts to contributing.md


Separate CSP policy for different controllers

Is there a way to set separate csp policies for different controllers in rails?

ensure_security_headers csp: {
   ...
}

Per controller should override the parent controller behavior. Otherwise, you can build / set headers manually by using the classes directly
class NotApplicationController < ApplicationController
  before_filter :csp

  def csp
    csp = SecureHeaders::Headers::ContentSecurityPolicy.new(config)
    response['content-security-policy'] = csp.value
  end
end

the first solution above worked! thanks.


TEST01 not sure what to run in verify_performance

Hi,
I run this line:
$ python verify_performance.py -r mobilenet_v1/accuracy/mlperf_log_detail.txt -t mobilenet_v1/performance/mlperf_log_detail.txt
And get this response:
Verifying performance.
reference score = 0
test score = 0
TEST FAIL: Test score invalid
I am not sure if I'm giving the right files to the test. If I'm wrong, what files should I use?
Thanks.

The summary file is mlperf_log_summary.txt
I'll update the documentation. Thanks!

Hi @georgelyuan, does the flag -r refers to the mlperf_log_summary.txt file generated in accuracy mode and -t to the file generated in performance mode?, if so, should we include both files mlperf_log_summary.txt in the audit directory structure?, I see it is required only for performance at
the submission_rules.adoc https://github.com/mlperf/policies/pull/16/commits/7107b86f0e9ca1026217cfdb6df477641856692b


Nukies cannot place withdrawn telecrystals into their PDAs

Description

Probably the uplink pda change pr
Reproduction

Screenshots

Additional context

they dont have uplink pdas??? even commander and medic have radios

It would seem the terminology is off, I believe they meant uplinks. Uplinks cannot take TC, disabling any pooling for Nukies.

Apparently not even traitors can put their telecrystals back?

It's latejoin traitor pretty sure

Apparently not even traitors can put their telecrystals back?

They can, they just have to have the uplink ringtone set in order to so.


Username indexing for autocomplete fields

Great article about it:
http://patshaughnessy.net/2011/11/29/two-ways-of-using-redis-to-build-a-nosql-autocomplete-search-index
It would be useful for things like this:

...didn't I add this months ago?


drop external uuid4 fork for simpler mbedtls driven implementation

For mbedos, I used the builtin mbedtls functions to seed uuid (instead of various platform specific implementations):
int uuid4_init(void) {
  int ret = 0;
  mbedtls_entropy_context entropy;
  mbedtls_ctr_drbg_context ctr_drbg;
  const unsigned char pers[13] = {"Arduino_Seed"};
  size_t off = sizeof(uint64_t) / sizeof(unsigned char);
  size_t n = off * 2;
  unsigned char pointer[n]; // create char pointer to long number
  mbedtls_ctr_drbg_init(&ctr_drbg);
  mbedtls_entropy_init(&entropy);

  ret = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, pers, sizeof(pers));
  if (ret != 0) {
    mbedtls_ctr_drbg_free(&ctr_drbg);
    mbedtls_entropy_free(&entropy);
    return UUID4_EFAILURE;
  }
  for (size_t i = 0; i < n; i++) {
    ret = mbedtls_ctr_drbg_random(&ctr_drbg, &pointer[i], 4);
    if (ret != 0) {
      mbedtls_ctr_drbg_free(&ctr_drbg);
      mbedtls_entropy_free(&entropy);
      return UUID4_EFAILURE;
    }
  }
  for (size_t i = 0; i < 2; i++) {
    seed[i] = 0;
    for (size_t j = 0; j < n / 2; j++) {
      seed[i] =
          seed[i] | ((uint64_t)pointer[i * off + j] << j * sizeof(unsigned char) * 4); // 8/2 = 4 - byte to bit offset
    }
  }

  mbedtls_ctr_drbg_free(&ctr_drbg);
  mbedtls_entropy_free(&entropy);
  return UUID4_ESUCCESS;
}

I think it makes a lot of sense to consolidate uuid4 implementation into at_chops and rely on existing dependencies for providing seeding.

We can keep and site the code, but include the two (very short) files into atchops

A solution has been merged


Use a proper check in the backend for knowing Headlamp is in desktop

We are using !in-cluster to indicate we are in the desktop version, but while this works in most cases, it's not a very direct check and an override of this flag can have implications if Headlamp is hosted with in-cluster=false.
So let's add a proper check for whether we are in-desktop. Otherwise, we can also add feature flags for each feature we're restricting to in-desktop.

We have moved the features like dynamic-clusters to their own flags, so this issue is no longer valid IMO.


Can't install setuptools via ez_setup.py at Centos 7

hi!
OpenStack Rally project uses https://bootstrap.pypa.io/ez_setup.py to install setuptools. We have own CI to check that there is no problem with building our project an ubuntu-xenial and centos 7.
Today CI job for Centos 7 started failed.  http://logs.openstack.org/30/406630/2/check/gate-rally-install-centos-7/30c2f92/console.html#_2016-12-05_11_39_51_808435

it looks like this issue occurred due to old version of virtual env.


progress bar keeps changing length and module numbers keeps changing position

During the "Python" compilation step, the changing module names length constantly changes the progress bar length and module counter position. This is visually displeasing and makes it harder than necessary to actually read those counters.
One (hopefully easy) way to fix this would be to pad the module names with whitespace. Initially use an arbitrary reasonable number and then use to the longest module name ever seen (probably capped to avoid pathologically long module names making the progress bar too small). Bonus points if the module counter is also padded to avoid even more resizing.

The counter increasing during phase 1 from 1 to infinity, due to the way we optimize out from start point. It's only pass 1, but right now pass2 is so fast, it is not noticeable anyway. Terminal size is actually a known thing in tracing, we could consider it, and for larger widths make use of the extra space.
I I kind of assume that tqdm must allow for keep the sizes of areas in the progress bar more stable.

The values for total and n are not possible to format it seems. It would be nice if it said   99/100 at least, and  9/10, but that would require overloading tqdm functionality, for which I am not prepared right now.
But giving the bar a fixed width is looking very unfamiliar, but makes sense, esp. for smaller terminal sizes, it now just cuts of module names or leaves out that area entirely, which is perfectly fine.
So that's small fix, and on factory right now.

Thanks for the quick reaction (as always).

Part of the current pre-release.

Works nicely, thanks!

Part of the 0.9 release that I just made.


fix(deps): drop dependency on through2

This may help shed some light on it:
https://github.com/googleapis/nodejs-firestore/pull/618#event-2337855128

In particular, through2 overrides the default _destroy with an implementation that passes this through to the next stream.

@JustinBeckwith my vote would be that we close this issue, like the firestore issue; but that we start lobbying through the tooling group to address some of the shortcomings in the streams API.

From what I can tell - it looks like this should magically start to work with Node 10 and up, so I'm totally supportive of just waiting this one out.  I don't like dependencies 🙃


[DOCS] Update CLI page formatting closer to models

Is your feature request related to a problem? Please describe.
The CLI page  should be closer to the Models page making use of:

More admonitions, i.e. notes / warnings / tips

More graphics/screen GIFs showing how the CLI works scubas this MLflow animated GIF

More annotations

Describe the solution you would like
As noted in the problem area, please provide more extensive documentation for the CLI.

Additional context

take


[Bug] Doors don't open when interacted with in the shoulder surfing perspective

This sounds absurd I know, but right clicking the doors while in this perspective makes the sound play but the door doesnt open. It isn't some sort of rendering glitch, they are actually still closed. Going into normal first person or third person and right clicking a door works just fine, however.

1.16?

Please provide the resulting crash log from pressing F3 + C for 10 seconds while ingame.

I'm having a similar issue, got a lot of other mods loaded though so idk how helpful the log will be :p
crash-2021-06-04_11.13.25-client.txt

Got a similar issue, however I got a lot of other mods running so idk how helpful the log will be :p.
crash-2021-06-04_11.13.25-client.txt

Yeah this issue is likely caused by another mod installed alongside shoulder surfing. The easiest method would be to split the list in half and figure out in which half the crash occurs. If you found the half, repeat the method again until you know which mod causes the issue. This would greatly speedup a potential fix.

Found it, conflict seems to be with the better third person mod: https://www.curseforge.com/minecraft/mc-mods/better-third-person

Nice! I will look into it in the next few days and see what i can do.

many thanks :D!

So i did some further testing and for it turned out to be an issue of Better Thrid Person itself. If you only install that mod doors will not open properly. It has nothing to do with shoulder surfing.

Turns out this is a known issue: https://www.curseforge.com/minecraft/mc-mods/better-third-person/issues/11


Spyder not able to recognise the system executables on the PATH

Problem Description
Spyder not able to recognise the system executables on the PATH
ClientAuthenticationError: DefaultAzureCredential failed to retrieve a token from the included credentials.
Attempted credentials:
	EnvironmentCredential: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot this issue.
	ManagedIdentityCredential: ManagedIdentityCredential authentication unavailable, no response from the IMDS endpoint.
	SharedTokenCacheCredential: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.
	AzureCliCredential: Azure CLI not found on path

The first one on the path is the az executable
print(sys.path)
['/opt/homebrew/bin/az',

If giving full path then it works
!/opt/homebrew/bin/az --version
azure-cli                         2.58.0 *

Hey @leonardshi-norias, thanks for reporting. It's not clear what you're trying to do but you need to add /opt/homebrew/bin/az to your PATH env variable (not to sys.path, that only works for Python modules) and the start Spyder from a terminal for the changes to take effect.


Failing computer_vision_fine_tuning example

Hello,
I noticed in the current master branch, the computer_vision_fine_tuning example fails to run with the following error.
TypeError: __init__() got an unexpected keyword argument 'root_data_path'

The error lies in the fact that root_data_path is being passed to pl.LightningModule.__init__ from main .
https://github.com/PyTorchLightning/pytorch-lightning/blob/e721b1f51f50d61b6ed77d628e8e08fbae18f2eb/pl_examples/domain_templates/computer_vision_fine_tuning.py#L452
This can be fixed by removing the **kwargs in super().__init__(**kwargs). I don't see any arguments in the parser that actually need to be passed to the parent class so It would not lead to bugs due to ignoring the leftover passed arguments.
https://github.com/PyTorchLightning/pytorch-lightning/blob/e721b1f51f50d61b6ed77d628e8e08fbae18f2eb/pl_examples/domain_templates/computer_vision_fine_tuning.py#L185
In addition, it seems like the logging is done in the "outdated" method with the return {'log': {logging_dict}} instead of the self.log_dict(logging_dict) / self.log(val), would it be in the interest of the project to update it?
https://github.com/PyTorchLightning/pytorch-lightning/blob/e721b1f51f50d61b6ed77d628e8e08fbae18f2eb/pl_examples/domain_templates/computer_vision_fine_tuning.py#L275-L280
https://github.com/PyTorchLightning/pytorch-lightning/blob/e721b1f51f50d61b6ed77d628e8e08fbae18f2eb/pl_examples/domain_templates/computer_vision_fine_tuning.py#L290-L292
would you be interested in me submitting a PR fixing these issues?
Kindest wishes,
Sebastian
related to #4694

would you be interested in me submitting a PR fixing these issues?

that would be absolutely amazing! please do!

Hello @awaelchli I created the PR in: https://github.com/PyTorchLightning/pytorch-lightning/pull/5229
let me know what you think.
Kindest wishes!

Closing since it was fixed and merged in https://github.com/PyTorchLightning/pytorch-lightning/commit/17a0784c5e9789ec06e720f5f4a06a80756e73fa

Closing since it was fixed and merged in https://github.com/PyTorchLightning/pytorch-lightning/commit/17a0784c5e9789ec06e720f5f4a06a80756e73fa


Relative Path not work for Remote Kernel

Environment data

VS Code version: 1.63.2
Jupyter Extension version: v2021.11.1001550889
Python Extension version: v2021.12.1559732655
OS (Windows | Mac | Linux distro) and version: MacOS
Python and/or Anaconda version: 3.7.3
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Jupyter server running: Remote

Describe
When i use remote kernel in vscode-jupyter, it cannot use the relative path, the Notebook File Root is not work for ${fileDirname}

Can you provide more details about what behavior you are experiencing vs what you expect?
If you run a cell with the following, do you get the location of the notebook that you're currently running?
import os
print(os.getcwd())

I run the remote kernel by using command line jupyter notebook and set the remote kernel in vscode according to the uri.
I run the same code in browser and vscode, and this is the different results.

I run the remote kernel by using command line jupyter notebook and set the remote kernel in vscode according to the uri.
I run the same code in browser and vscode, and this is the different results.

OK, I can repro. It looks like ${filenameDir} is returning the location of the remote kernel, rather than the location of the notebook.

There's a minor thing we can do here for remote running on localhost. Since we know the directory is probably accessible on the localhost we could special case the situation.
If the remote is truly remote, it's a more complex problem to deal with.

@jiahao-shen, can you provide us some information as to why you're using remote features to connect to your localhost? Thanks!

Our use case is a JupyterHub instance that spawns a personal JupyterLab in a Kubernetes cluster. Some files are only accessible in mounted directories inside the Kubernetes pod. Therefore I am:

Attaching to the pod via the Kubernetes extension
Connecting to the remote Jupyter Server via the Jupyter extension

#7976
maybe these two issues are talking about the same thing?

@TTTPOB I agree. Remote servers cannot use jupyter.notebookFileRoot because that value doesn't make any sense. For localhost, we can probably make an exception, but for a true 'remote' server this will never work.

@TTTPOB I agree. Remote servers cannot use jupyter.notebookFileRoot because that value doesn't make any sense. For localhost, we can probably make an exception, but for a true 'remote' server this will never work.

yes I think we can definitely make an exception for a localhost jupyter server
I might suggest that simply offer a regex or something to let user determine whether to treat the jupyter server as a local server, here is a common situation:
A low performance server A, with like 100G RAM and 16 cores;
A high performance workstation B, with like 1T RAM and 144 cores;
They have mounted the same filesystem
users sshed into the server A, and launched vscode there, but want to let the server running on workstation B.
(and @StefanBrand seems have a more complicated version of this)
so I think instead of hardcode the localhost server into the extension, a configurable rule may be more suitable.
And also the extension let pylance treat the import statement as relative to the file (#8285 ) , will this be a source of inconsistancy?
I just encountered this inconsistency that I saw the relative import worked fine so I thought the jupyter kernel is running in the ${fileDirname}, but it turns out it is running on the dir where I starts the jupyter server.
So, if the "treat as local rule" feature implemented as last, I think pylance should obey the same rule as well

I'm wondering how we might do this. Remote is rather hard to get the 'relative' ness of working directories correct because the same file system isn't on both machines. But maybe if the user specified a 'local' as 'remote' rule we could assume you started your remote server at some location? Maybe you give it to us? Then from there we make an assumption that's the same relative path as the workspace?

Pylance is a separate issue. It has to live where your source files are. It needs access to the file system in order to parse them. And in order for it to 'live' somewhere, there needs to be a VS code extension host running there (either through remote ssh or desktop)

But maybe if the user specified a 'local' as 'remote' rule we could assume you started your remote server at some location? Maybe you give it to us? Then from there we make an assumption that's the same relative path as the workspace?

Y, I think so.
for the example above, workstation B has an ip address of <IP_ADDRESS>, so I want all jupyter servers on workstation B treated like "local" servers, because server A and workstation B have the same filesystem (let user decide this part)
And to make workstation B to be treated as a "local" server, we enable a option like Treat as Local Regex, and fill it in with ^http://192\.168\.7\.1.*
I think the extension won't have to decide whether the remote server and the current machine has the same filesystem (it's rather difficult! ), let user to define it.

I do not completely follow the examples with the IP addresses. For my use-case, I'm attached to a Kubernetes pod. VSCode is aware of the file system because it let's me choose a workspace folder E.g. when I attach to the pod, I choose /home/jovyan/my-project as the workspace folder. Inside the workspace there would be two modules, one importing functions from the other.

Suggestion:
Make it clear the remote file paths and the like do not work for remote kernels.

I have a slightly different setup but the problem seems to be the same:
I use a devcontainer setup, have the jupyter extension installed there and connect to a local kernel.
Location is set to filenameDir.
When I create a new jupyter notebook via code (not saved to disk up to now) and run this code:
import os
print(os.getcwd())

I do get /workspace like expected
output from vs code jupyter extension:
info 09:40:27.182: Starting Jupyter Session startUsingPythonInterpreter, .jvsc74a57bd0d4d1e4263499bec80672ea0156c357c1ee493ec2b1c70f0acce89fc37c4a6abe./opt/conda/python./opt/conda/python.-m#ipykernel_launcher (Python Path: /opt/conda, EnvType: Conda, EnvName: 'base', Version: 3.10.8 | packaged by conda-forge | (main, Nov 22 2022, 08:26:04) [GCC 10.4.0]) for 'Untitled-1.ipynb' (disableUI=false)
info 09:40:27.187: Computing working directory for resource 'Untitled-1.ipynb'
info 09:40:27.338: Process Execution: > /opt/conda/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
> /opt/conda/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
info 09:40:27.519: Process Execution: > /opt/conda/bin/python -m pip list
> /opt/conda/bin/python -m pip list
info 09:40:27.805: Process Execution: > /opt/conda/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9008 --control=9006 --hb=9005 --Session.signature_scheme="hmac-sha256" --Session.key=b"df65e3cf-41e8-4a0a-9034-fae423ab4419" --shell=9007 --transport="tcp" --iopub=9009 --f=/home/jovyan/.local/share/jupyter/runtime/kernel-v2-359RVd5OXzL7SgM.json
> /opt/conda/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9008 --control=9006 --hb=9005 --Session.signature_scheme="hmac-sha256" --Session.key=b"df65e3cf-41e8-4a0a-9034-fae423ab4419" --shell=9007 --transport="tcp" --iopub=9009 --f=/home/jovyan/.local/share/jupyter/runtime/kernel-v2-359RVd5OXzL7SgM.json
info 09:40:27.805: Process Execution: cwd: /workspace
cwd: /workspace
info 09:40:28.284: ipykernel version & path 6.19.2, /opt/conda/lib/python3.10/site-packages/ipykernel/__init__.py for /opt/conda/bin/python
warn 09:40:30.912: StdErr from Kernel Process /opt/conda/lib/python3.10/site-packages/traitlets/traitlets.py:2544: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.
  warn(

warn 09:40:30.921: StdErr from Kernel Process /opt/conda/lib/python3.10/site-packages/traitlets/traitlets.py:2495: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'df65e3cf-41e8-4a0a-9034-fae423ab4419' instead of 'b"df65e3cf-41e8-4a0a-9034-fae423ab4419"'.
  warn(

info 09:40:30.942: Kernel Output: NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.

To exit, you will have to explicitly quit this process, by either sending
"quit" from a client, or using Ctrl-\ in UNIX-like environments.

To read more about this, see https://github.com/ipython/ipython/issues/2049

info 09:40:30.944: Kernel Output: To connect another client to this kernel, use: --existing kernel-v2-359RVd5OXzL7SgM.json

info 09:40:31.201: Started Kernel base (Python 3.10.8) (pid: 2276)
error 09:40:31.239: stat() failed for "untitled:Untitled-1.ipynb?jupyter-notebook" [Error (FileSystemError): Der Dateisystemanbieter mit relativem Dateipfad "untitled:Untitled-1.ipynb?jupyter-notebook" konnte nicht aufgelöst werden.
	at Function.c (/vscode/vscode-server/bin/linux-x64/1ad8d514439d5077d2b0b7ee64d2ce82a9308e5a/out/vs/workbench/api/node/extensionHostProcess.js:96:26282)
	at Object.stat (/vscode/vscode-server/bin/linux-x64/1ad8d514439d5077d2b0b7ee64d2ce82a9308e5a/out/vs/workbench/api/node/extensionHostProcess.js:96:24413)
	at runMicrotasks (<anonymous>)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async b.exists (/home/jovyan/.vscode-server/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:7:20750)
	at async b.getWorkingDirectory (/home/jovyan/.vscode-server/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2083864)
	at async u.getCode (/home/jovyan/.vscode-server/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2078752)
	at async Promise.all (index 1)
	at async t.Kernel.gatherInternalStartupCode (/home/jovyan/.vscode-server/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2038671)
	at async t.Kernel.initializeAfterStart (/home/jovyan/.vscode-server/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2037418)
	at async t.Kernel.createJupyterSession (/home/jovyan/.vscode-server/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2034663)] {
  code: 'Unknown'
}
info 09:40:36.017: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8821ms
info 09:40:36.210: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8688ms
info 09:40:36.316: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8924ms
info 09:40:36.400: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8878ms

Now I save the notebook to disk. VS Code automatically opens the new file:
info 09:42:53.002: Starting Jupyter Session startUsingPythonInterpreter, .jvsc74a57bd0d4d1e4263499bec80672ea0156c357c1ee493ec2b1c70f0acce89fc37c4a6abe./opt/conda/python./opt/conda/python.-m#ipykernel_launcher (Python Path: /opt/conda, EnvType: Conda, EnvName: 'base', Version: 3.10.8 | packaged by conda-forge | (main, Nov 22 2022, 08:26:04) [GCC 10.4.0]) for '/workspace/test56.ipynb' (disableUI=false)
info 09:42:53.006: Computing working directory for resource '/workspace/test56.ipynb'
info 09:42:53.089: Process Execution: > /opt/conda/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
> /opt/conda/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
info 09:42:53.370: Process Execution: > /opt/conda/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9008 --control=9006 --hb=9005 --Session.signature_scheme="hmac-sha256" --Session.key=b"f17db154-82c2-458a-ae60-576e33fa8248" --shell=9007 --transport="tcp" --iopub=9009 --f=/home/jovyan/.local/share/jupyter/runtime/kernel-v2-359xMhjnim1f0j0.json
> /opt/conda/bin/python -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9008 --control=9006 --hb=9005 --Session.signature_scheme="hmac-sha256" --Session.key=b"f17db154-82c2-458a-ae60-576e33fa8248" --shell=9007 --transport="tcp" --iopub=9009 --f=/home/jovyan/.local/share/jupyter/runtime/kernel-v2-359xMhjnim1f0j0.json
info 09:42:53.370: Process Execution: cwd: /workspace
cwd: /workspace
info 09:42:54.198: ipykernel version & path 6.19.2, /opt/conda/lib/python3.10/site-packages/ipykernel/__init__.py for /opt/conda/bin/python
warn 09:42:55.419: StdErr from Kernel Process /opt/conda/lib/python3.10/site-packages/traitlets/traitlets.py:2544: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.
  warn(

warn 09:42:55.420: StdErr from Kernel Process /opt/conda/lib/python3.10/site-packages/traitlets/traitlets.py:2495: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'f17db154-82c2-458a-ae60-576e33fa8248' instead of 'b"f17db154-82c2-458a-ae60-576e33fa8248"'.
  warn(

info 09:42:55.475: Kernel Output: To connect another client to this kernel, use: --existing kernel-v2-359xMhjnim1f0j0.json

info 09:42:55.696: Started Kernel base (Python 3.10.8) (pid: 2980)
info 09:42:55.713: UpdateWorkingDirectoryAndPath in Kernel
info 09:42:58.844: Cancel all remaining cells true || Error || undefined
info 09:43:01.424: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8411ms
info 09:43:01.533: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8408ms
info 09:43:01.555: Got env vars with python /opt/conda/bin/python, with env var count 51 and custom env var count 48 in 8439ms

Run the code again and now it prints / for root directory. which is not expected.

I now managed to use VS Code to my (remote, tmux'ed) running jupyter-lab - I remotely run vs-code and connect to localhost:port. This keeps my notebook kernels alive even when I disconnect. All very nice - only this issues here, i.e. that notebook kernels start in the workspace dir but not in the subfolder, where the ipynb file is, holds me back from using vs-code for jupyter notebooks. Any help is appreciated.

@pfarndt
You could try VS Code Server with tunnels
See ehre https://code.visualstudio.com/docs/datascience/notebooks-web#_remote-tunneling-with-vs-code-server
Basically this will let you run VS Code on the remote machine and have all of the same features you have as when running locally

I disconnect from the vs code tunnel, the kernel terminates

Looks like you are after https://github.com/microsoft/vscode-jupyter/issues/3998
Please upvote that issue

For those who are interested, I discovered a very much undocumented way to make it work.
My only hope is that developers, who will see it, won't be pissed off by me using this trick.
And if they are, I also hope that they will excuse me and not change their internal api much for this to survive at least few seasons.
{
"jupyter.runStartupCommands": [
        "import os",
        "__t=os.path.dirname(__vsc_ipynb_file__)",
        "%cd {__t}",
        "del __t"
    ],

Maybe, you can like it - and they will accept it as DeFacto solution.

y only hope is that developers, who will see it, won't be pissed off by me using this trick.

@thoth291 thanks for the great research and sharing this with the community,
no we will not be annoyed by this work around.
The variable is officially supported, though not documented as its meant for some internal tooling.

and they will accept it as DeFacto solution.

Unfortunately that will not work everwhere.
I'm assuming you are connecting to localhost, if you were to connect to a remote kernel (something that is not running on your machine), then this would not work.

@pfarndt , @DonJayamanne - thank you for encouragement and support!
So that you would know - I'm connected to remote kernel and this does work.
We are hosting our jupyter server setup using jupyter hub.
Then I generate token for my default server at jupyter hub.
And after selecting existing server as described in the settings shared above - it works perfectly well.
I also have to admit that I use remote dev extension through ssh - and I have setup my remote shell initialization in a way to see all available conda kernels.
Unfortunately I cannot share with you any videos - but trust me - since it does work on remote - and that was the whole reason for me to research it in the first place.
Another thing is that I NEVER use local jupyter kernel - all my work is on remote machines.

I confirm that the above workaround works for python kernels. I assume that the code is injected into a starting kernel, which then has the cwd as the dir of the ipynb file. However, I am a julia person and the above code does not work.
Even if I "inject" valid julia code:
{
"jupyter.runStartupCommands": [
        "qq=78",
        "cd(\"subdir\")"
    ],
}

it is not executed. Neither is the variable qq defined, nor the cwd changed. Is there a way to make this trick also work for julia?
To make this more general it would probably be nice to have an environment variable __vsc_ipynb_file__ which is set for all sorts of kernels to access.

With the latest update __vsc_ipynb_file__ no longer works. It was working well before.

The variable is officially supported, though not documented as its meant for some internal tooling.

I'm using this version:
Version: 1.77.1 (user setup)
Commit: b7886d7461186a5eac768481578c1d7ca80e2d21
Date: 2023-04-04T23:21:11.906Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: Yes
And it works just fine - my extensions also up to date.

Potentially related on Stack Overflow: How to set the file path of a remote jupyter notebook in VSCode?

I just came up with my own solution, put the following code in the first cell of your notebook and run it first. It searches upwards from the current directory until it finds a .git folder, which is the root of my project, then sets it to the current working directory.
import os
import sys

def setup_project_root(start_path='.'):
    """Find the project root, set it as the current working directory, and add it to sys.path."""
    current_path = os.path.abspath(start_path)
    while True:
        if '.git' in os.listdir(current_path):
            project_root = current_path
            break
        parent_path = os.path.dirname(current_path)
        if parent_path == current_path:  # We've reached the root directory
            raise Exception("Could not find project root (.git directory not found)")
        current_path = parent_path

    # Change the current working directory to the project root
    os.chdir(project_root)
    print(f"Current working directory set to: {os.getcwd()}")

    # Add project root to sys.path if it's not already there
    if project_root not in sys.path:
        sys.path.insert(0, project_root)
        print(f"Added {project_root} to sys.path")

setup_project_root()

It wouldn't work if you're not using git, but perhaps you could adapt it to use some other way to mark your project root (maybe it can stop when it finds a requirments.txt file, which is only located in project root, or something).

@thoth291 Your solution looks nice. But I could not get it work. My system info are:
Version: 0.40.1
VSCode Version: 1.91.1
Commit: 58b91712431381a1b75817cd3437cee35dddcb30
Date: 2024-08-24T02:52:24.035Z
Electron: 29.4.0
ElectronBuildId: undefined
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Darwin arm64 23.6.0
I was wondering are you still using the same workaround?

the __vsc_ipynb_file__ variable seems work file when kernel launched for the first time for the notebook file, but if the kernel is restarted, will get NameError: name '__vsc_ipynb_file__' is not defined

Adding the following to my User settings.json worked for me:
    ...
    "jupyter.runStartupCommands": [
        "import os",
        "__t = os.path.join(os.getcwd(), '.work')",
        "if not os.path.exists(__t): os.makedirs(__t)",
        "%cd {__t}",
        "del __t"
     ],
    ...

"jupyter.runStartupCommands": [
    "import os",
    "__t = os.path.join(os.getcwd())",
    "if not os.path.exists(__t): os.makedirs(__t)",
    "%cd {__t}",
    "del __t"
],

Removed ".work".  Working for me.
Thank you @shdarrina


NullPointerException (NPE) thrown when updating a DA with a different Service Function Definition, when the SG is binded with the DA

Description
NullPointerException (NPE) thrown when updating a DA with a different Service Function Definition. SG is binded with the DA
Expected Behavior
The DA edit/update should have been successful with a Passed job
Actual Behavior
DA edit fails when a different Service Function definition (Image) is selected
Steps to Reproduce
Create a DA (e.g. da-1) using Setup > Distributed Appliances. Use an image with 1 nic interface.
Now edit the above DA using a different Service Function Definition. use an image with 2-nic interface.
A warning is received which asks for comfirmation if you want to make the change.
Click on OK.
DA edit Job fails - Failed Task shows Null Pointer Exception
Note - That the Sg is binded with this DA
Additional Information
Screenshot

Logs
NPE-Editing-DA.txt
java.lang.NullPointerException
at org.osc.core.broker.service.tasks.conformance.openstack.deploymentspec.OsDAIConformanceCheckMetaTask.executeTransaction(OsDAIConformanceCheckMetaTask.java:194)
at org.osc.core.broker.service.tasks.TransactionalMetaTask.lambda$execute$0(TransactionalMetaTask.java:51)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.tasks.TransactionalMetaTask.execute(TransactionalMetaTask.java:50)
at org.osc.core.broker.job.TaskNode.run(TaskNode.java:308)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Environment

OSC Version/Build: Version: 1.0.0-SNAPSHOT (Build:30-g1a88e9b, 2017-07-24T19:39:58Z)
Cloud Provider Info:
Plugin Info: NSC SDN Controller, ISM Manager
Other:

Status

[ ] Reproduced
[ ] In Progress
[ ] Validated     =>    Verified in Version/Build:

Dmitry checked in a fix in build - 1.0.0-SNAPSHOT (Build:46-gecba891, 2017-08-10T20:04:18Z).
Tested with the above build and verified that on editing the DA and changing the Service Function Definition, passes now. (Do not see an NPE any more as seen previously).
Hence we can close this bug.

Port-Not-found.txt

Tried creating the DS without using the floating IP. Then the DA edit passes.

@opensecuritycontroller/osc_triage
The bug is not a repro with NPE any more.
I will be opening another bug with 'port not found' error.

New issue opened for port could not be found error - https://github.com/opensecuritycontroller/osc-core/issues/444


Suppress noisy errors in eBPF telemetry

What does this PR do?
This PR extends the eBPF map update macros to suppress certain noisy errors.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


SteamVR fails with code -203 on Fedora

Description

SteamVR fails with code -203 and the Oculus Quest 2 screen is stuck on "The steam will begin soon Please wait..."

I have found that version ALVR v20.0.0-dev02+nightly.2022.11.26 is the first nightly build to have this problem
ALVR v20.0.0-dev03+nightly.2022.12.27 - Fails on Laptop and Desktop
ALVR v20.0.0-dev02+nightly.2022.12.01 - Fails on Laptop
ALVR v20.0.0-dev02+nightly.2022.11.28 - Fails on Laptop
ALVR v20.0.0-dev02+nightly.2022.11.27 - Fails on Laptop
ALVR v20.0.0-dev02+nightly.2022.11.26 - Fails on Laptop and Desktop
ALVR v20.0.0-dev01+nightly.2022.11.20 - Works on Laptop and Desktop
ALVR v20.0.0-dev00+nightly.2022.10.30 - Works on Laptop

Running on Laptop as: __NV_PRIME_RENDER_OFFLOAD=1 ./ALVR-x86_64.AppImage
Running on PC as: ./ALVR-x86_64.AppImage
General Troubleshooting

[x] I carefully followed the instructions in the README and successfully completed the setup wizard
[x] I read the ALVR Wikis here and here

Environment
Hardware
Laptop: https://linux-hardware.org/?probe=d1f63174e4
Desktop: https://linux-hardware.org/?probe=7aab4546f6
Installation
ALVR Version: ALVR v20.0.0-dev03+nightly.2022.12.27
SteamVR Version: 1.24.7
Install Type:

[x] Packaged (exe, deb, rpm, etc)
[ ] Portable (zip)
[ ] Source

OS Name and Version: Fedora Linux 37 (Workstation Edition)

I have the same issue. Ubuntu 22.04.1, GPU: RTX 2060
I was only able to run 19.0.0 stable


Enhancements to "More" menu

Here's how it looks like currently:

The "Donate" link should be changed to be themed like the rest, it no longer makes sense to have it different from the others
I'd propose to change the order of links to: Q&A, Asset Library, Devblog, Events, Donate, Contact
Maybe we can add the so-far unreferenced License page there too, let's say between Events and Donate

Of course a more in-depth overhaul of the menu sections might be sensible, but it can be discussed further in #3. The points in this issue are meant to be easy to fix right now.

Updated the More menu to address all the issues. I also took away the active class from the devblog item since none of the other items use it.


Fixes for issue #1326: Enhance Contact us page UI with animation hove…

Related Issue
Fixes:  #1326
Description
This pull request addresses Issue #1326, which involves ensuring consistent styling across form inputs and enhancing the user experience by standardizing hover effects, border colors, and padding across the contact form fields. The adjustments ensure a cohesive look for the form elements, providing visual uniformity when fields are hovered over or focused on.

Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify):

Screenshots
After

Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

bad pr