Create "binarydir" (/usr/local by default) automatically & check permissions/ownership

Homebrew can be installed in different locations, although it may not happen very often and I'd personally discourage people from doing so, it happens in boxen.
This causes issues for Cask, because it expects existence of binarydir and existence of the parent dir - /usr/local which doesn't exist by default in a fresh OS X installation.
Debug: Executing 'brew cask install sourcetree'
Error: Execution of 'brew cask install sourcetree' returned 1: ==> Downloading https://downloads.atlassian.com/software/sourcetree/SourceTree_2.0.3.dmg
==> Symlinking App 'SourceTree.app' to '/Users/vagrant/Applications/SourceTree.app'
Error: Permission denied - /usr/local
==> Symlinking Binary 'stree' to '/usr/local/bin/stree'

It seems that there were only some historical reasons behind the exotic homebrew location and it should be fixed, but I think that Cask should not rely on the default location anyway.
I would send a fix that will check existence of default binarydir + tries mkdir -p before even trying to symlink casks into it (either with any cask installation or on homebrew-cask installation), if you agree?

So it turned out that this is more of a permission problem. I will run a few more tests on my VMWare/boxen setup to double check I'm right and then probably move onto testing/fixing the permissions problem.

@radeksimko thanks

@salimane Just FYI, I tested the whole provided list of casks above - installed them, launched each and then uninstalled. Both /usr/local and /usr/local/bin still have the same (correct) permissions so this conflict was either caused by something you installed outside of brewcask or by manually using/updating any app of that list or by boxen itself or any of its modules.
Either way I think, that brewcask could run stat on these directories each time user installs/uninstalls any cask and if the process changes anything, encourage the user to report such cask here. This way we can at least make sure that it's never caused by (un)installation process.
btw. the "correct" permissions given after installing homebrew & cask are following:
drwxrwxr-x root admin /usr/local
drwxr-xr-x %USER% admin /usr/local/bin

Just wanted to mention how I experienced this on a fresh installation of El Capitan with a fresh homebrew installed in a custom location (in my home dir).
The first thing I tried was to install the VLC cask, which apparently has a binary it would like to place into /usr/local/bin which, as mentioned before, does not exist.
So it just plainly fails. I might be missing something, but had expected that the (apparently optional) executable is simply skipped. Instead of trying to create that directory.
I also wanted to point out Apple's SIP which states about the /usr directory:

System Integrity Protection is designed to allow modifications of these protected parts only by processes that are signed by Apple...

Not sure whether that affects the desired implementation, but I thought I just mention it.
This is the output, just in case.
$ HOMEBREW_CASK_OPTS="--caskroom=/Users/me/caskroom --appdir=/Users/me/Applications" \
  /Users/me/homebrew/bin/brew cask install vlc

Downloading https://get.videolan.org/vlc/2.2.3/macosx/vlc-2.2.3.dmg
  ==> Verifying checksum for Cask vlc
  ==> Symlinking App 'VLC.app' to '/Users/me/Applications/VLC.app'
  ==> Symlinking Binary 'vlcwrapper' to '/usr/local/bin/vlc'

Error: Permission denied - /usr/local/bin
Most likely, this means you have an outdated version of homebrew-cask... (etc...)

$ brew cask list
Warning: nothing to list

$ stat -f '%Sp %Su %Sg' /usr/local
drwxr-xr-x root wheel

$ stat -f '%Sp %Su %Sg' /usr/local/bin
stat: /usr/local/bin: stat: No such file or directory

Since we’ll be merging with Homebrew, we should actually close this and just read whatever directory homebrew uses. Will open a discussion.


[$1000] BUG: Web/Safari - Opening the protect PDF modal and pressing TAB doesn’t focus on download/close button reported by @dhairyasenjaliya

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to any conversation
Send Protected PDF (if required)
Open Protected PDF
Press TAB key
Notice it will directly focus on enter the password instead of download/close button

Expected Result:
On pressing TAB should first focus on Download icon, pressing TAB again should focus on Close Icon (just like chrome)
Actual Result:
On pressing TAB it directly focus on enter the password (makes modal un-usable while app is on accessibility)
Workaround:
unknown
Platform:

Where is this issue occurring?

Web : Safari

Version Number: 1.2.18-1
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/196806708-c5e35438-7c4a-416d-9ecf-af760a83ecc6.mov
https://user-images.githubusercontent.com/43996225/196807039-11ff5ab8-8f0f-4508-9234-34cf64068c45.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhairyasenjaliya
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1666150625899149
View all open jobs on GitHub

How do you send a protected PDF exactly @kavimuru ?

@MitchExpensify  Added using add attachment from the compose box.

@MitchExpensify Do you need help with a password protected PDF? I can create one for you.

Thanks @JmillsExpensify , I figured it out!
I am unable to reproduce this issue. On web and desktop app, the download button is highlighted when I press "tab".
Can you confirm if you are still able to reproduce @dhairyasenjaliya ?

Waiting for proposals

Waiting for proposals

Upwork Job

Doubled!

Waiting for proposals

Doubled!

Waiting on proposals! Bumped thread here

Proposal
diff --git a/src/components/PDFView/PDFInfoMessage.js b/src/components/PDFView/PDFInfoMessage.js
index 5d583db40..898983f13 100644
--- a/src/components/PDFView/PDFInfoMessage.js
+++ b/src/components/PDFView/PDFInfoMessage.js
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import {View} from 'react-native';
+import {View, Pressable} from 'react-native';
 import Text from '../Text';
 import TextLink from '../TextLink';
 import Icon from '../Icon';
@@ -29,9 +29,11 @@ const PDFInfoMessage = props => (
         <Text>{props.translate('attachmentView.pdfPasswordForm.infoText')}</Text>
         <Text>
             {props.translate('attachmentView.pdfPasswordForm.beforeLinkText')}
-            <TextLink onPress={props.onShowForm}>
-                {` ${props.translate('attachmentView.pdfPasswordForm.linkText')} `}
-            </TextLink>
+            <Pressable onPress={props.onShowForm}>
+                <Text style={[styles.link]}>
+                    {` ${props.translate('attachmentView.pdfPasswordForm.linkText')} `}
+                </Text>
+            </Pressable>
             {props.translate('attachmentView.pdfPasswordForm.afterLinkText')}
         </Text>
     </View>
diff --git a/src/pages/home/report/ReportActionItem.js b/src/pages/home/report/ReportActionItem.js
index 27302710b..80af66ea8 100644
--- a/src/pages/home/report/ReportActionItem.js
+++ b/src/pages/home/report/ReportActionItem.js
@@ -168,10 +168,6 @@ class ReportActionItem extends Component {
                 onPressOut={() => ControlSelection.unblock()}
                 onSecondaryInteraction={this.showPopover}
                 preventDefaultContentMenu={!this.props.draftMessage}
-                onKeyDown={(event) => {
-                    // Blur the input after a key is pressed to keep the blue focus border from appearing
-                    event.target.blur();
-                }}
             >
                 <Hoverable resetsOnClickOutside>
                     {hovered => (

Details
There are two issues:

The main issue is introduced by #8443 to fix #7853 However the fix is not that effective, you can still get the focus border using TAB key. Besides it causes more issues specially on Safari. That's why I removed the onKeydown event listener
The second is more related to how Safari handles TAB and focus. After the first fix, you will be able to focus on Download and Close buttons or "Enter the password", but not in a sequence (either get stuck on the two buttons, or the text), unless you press Options(alt) + TAB then you can traverses all the three elements in sequence. To fix this we can simply wrap the "Enter the password" in a div (with tabindex attr) There is a related issue so I applied the fix suggested on #12058

This fixes this issue, #12058 (thanks to @huzaifa-99), #12554, and possibly other Safari related issues.
PS: This issue is not only related to the PDF modal, but to every popover, modal that get's called from inside the PressableWithSecondaryInteraction component
https://user-images.githubusercontent.com/16493223/201357798-af678e62-0064-4228-b808-03bb2705cf99.mp4

@s77rt Thanks for your proposal.
Few Questions:
-> Does your proposal recreate https://github.com/Expensify/App/issues/7853 issue?
-> Does this proposal on the other issue handle Safari problem as well?

@sobitneupane

Does your proposal recreate https://github.com/Expensify/App/issues/7853 issue?
Yes, the proposed fix does more harm than good. And as i said it's not effective, you can bypass the fix simply by pressing TAB.

Does https://github.com/Expensify/App/issues/12058#issuecomment-1307500529 on https://github.com/Expensify/App/issues/12058 handle Safari problem as well?
Yes, the second issue is caused by how Safari works, this is a very known behaviour on Safari. Possible fixes:

(require user interaction) simply use Option+TAB instead of TAB
(require use interaction) https://ebay.gitbook.io/oatmeal/help/fix-safari-tabbing
(does not require use interaction - chosen) use a div with tabindex attr instead of an anchor tag

And as i said it's not effective, you can bypass the fix simply by pressing TAB.

@s77rt It is an expected behavior https://github.com/Expensify/App/issues/7853#issuecomment-1054398902:

Yeah I think from an accessibility perspective, we want the blue outline when a message is "selected" to show a visual cue that the message item is in focus - but that being said, I would think the only way to select a message is to tab through the items. So I think maybe we should just get rid of this select + click behavior. Thoughts?

Fix of this issue should not recreate the other issue.

The discussion on #7853 is conflicting.
You either use both TAB and SHIFT or you don't.
SHIFT is also used select a message, example TAB+SHIFT to select the previous message.

Use TAB and SHIFT:
remove the onKeyDown event listener

Don't use TAB and SHIFT:
apply a style to PressableWithSecondaryInteraction
style={styles.noSelect}

Not every issue is a valid issue, and not every fix is a valid fix.

Proposal (Updated)
diff --git a/src/components/PDFView/PDFInfoMessage.js b/src/components/PDFView/PDFInfoMessage.js
index 5d583db40..898983f13 100644
--- a/src/components/PDFView/PDFInfoMessage.js
+++ b/src/components/PDFView/PDFInfoMessage.js
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import {View} from 'react-native';
+import {View, Pressable} from 'react-native';
 import Text from '../Text';
 import TextLink from '../TextLink';
 import Icon from '../Icon';
@@ -29,9 +29,11 @@ const PDFInfoMessage = props => (
         <Text>{props.translate('attachmentView.pdfPasswordForm.infoText')}</Text>
         <Text>
             {props.translate('attachmentView.pdfPasswordForm.beforeLinkText')}
-            <TextLink onPress={props.onShowForm}>
-                {` ${props.translate('attachmentView.pdfPasswordForm.linkText')} `}
-            </TextLink>
+            <Pressable onPress={props.onShowForm}>
+                <Text style={[styles.link]}>
+                    {` ${props.translate('attachmentView.pdfPasswordForm.linkText')} `}
+                </Text>
+            </Pressable>
             {props.translate('attachmentView.pdfPasswordForm.afterLinkText')}
         </Text>
     </View>
diff --git a/src/pages/home/report/ReportActionItem.js b/src/pages/home/report/ReportActionItem.js
index 27302710b..84febd28d 100644
--- a/src/pages/home/report/ReportActionItem.js
+++ b/src/pages/home/report/ReportActionItem.js
@@ -73,6 +73,7 @@ class ReportActionItem extends Component {
         this.popoverAnchor = undefined;
         this.state = {
             isContextMenuActive: ReportActionContextMenu.isActiveReportAction(props.action.reportActionID),
+            isFocusableVisible: false,
         };
         this.checkIfContextMenuActive = this.checkIfContextMenuActive.bind(this);
         this.showPopover = this.showPopover.bind(this);
@@ -85,7 +86,8 @@ class ReportActionItem extends Component {
             || this.props.hasOutstandingIOU !== nextProps.hasOutstandingIOU
             || this.props.shouldDisplayNewIndicator !== nextProps.shouldDisplayNewIndicator
             || !_.isEqual(this.props.action, nextProps.action)
-            || this.state.isContextMenuActive !== nextState.isContextMenuActive;
+            || this.state.isContextMenuActive !== nextState.isContextMenuActive
+            || this.state.isFocusableVisible !== nextState.isFocusableVisible;
     }

     componentDidUpdate(prevProps) {
@@ -168,10 +170,15 @@ class ReportActionItem extends Component {
                 onPressOut={() => ControlSelection.unblock()}
                 onSecondaryInteraction={this.showPopover}
                 preventDefaultContentMenu={!this.props.draftMessage}
-                onKeyDown={(event) => {
-                    // Blur the input after a key is pressed to keep the blue focus border from appearing
-                    event.target.blur();
+                onKeyDown={(e) => {
+                    if (e.key === "Tab") {
+                        this.setState({isFocusableVisible: true});
+                    } else {
+                        this.setState({isFocusableVisible: false});
+                    }
                 }}
+                onFocus={() => this.setState({isFocusableVisible: true})}
+                style={this.state.isFocusableVisible ? {} : styles.noSelect}
             >
                 <Hoverable resetsOnClickOutside>
                     {hovered => (

Details (Updated)
The issue #7853 addresses only SHIFT key but it actually applies to every key. I would say #7853 is a valid issue after all. However the proposed fix on #8443 is problematic.
In my updated proposal, instead of doing anything that affects accessibility, my solution is based on CSS. I have added a new state isFocusableVisible, if it's true then we let the outline/boxShadow to be shown just normally, if not we use the noSelect style which applies "none" to both the outline and boxShadow and thus fix the issue #7853 The value of isFocusableVisible is set to true only if we are pressing the TAB key or focusing on the element.
This fixes this issue, #7853, #12058, #12554, and possibly other Safari related issues

Heads up, we are fixing the Tab key focus on Enter password link in https://github.com/Expensify/App/issues/12058#issuecomment-1312066971.
cc: @sobitneupane

Thanks @parasharrajat.

@s77rt Your proposal does not complete solve the issue. On tabbing, the focus must rotate among download, close and enter the password.
Expected -> Download -> Close -> Enter the password -> Download ...
Actual -> Download -> Close -> Focus Lost -> Enter the password -> Focus Lost -> Download
https://user-images.githubusercontent.com/25876548/201663736-e1ae9ccb-7856-4379-9a77-f3d2b7e92360.mov

@sobitneupane
The expected behaviour is:
Download -> Close -> Enter the password -> Focus Lost -> Download ...
And that's the behaviour I'm getting on Safari 16.0 and on other browsers too.
App Version: 1.2.25-0 + Patch

Is there any way to get rid of onKeyDown event listener. It is causing many issues.

What issues? The current implemented onKeyDown is causing a lot of issues due to blur and messing with accessibility. In my proposal i changed the onKeyDown functionality and still providing a fix for #7853
Please retest

I am testing it on v1.2.27-3. Can you please test it on latest version.

Why is this expected behavior?

The expected behaviour is:
Download -> Close -> Enter the password -> Focus Lost -> Download ...

This should be the expected behavior

Expected : Download -> Close -> Enter the password -> Download ...

Also please update your proposal based on https://github.com/Expensify/App/issues/12010#issuecomment-1312070618

Heads up, we are fixing the Tab key focus on Enter the password link in https://github.com/Expensify/App/issues/12058#issuecomment-1312066971.

Your proposal has some conflict with the accepted proposal in the othe issue.

@sobitneupane
That's the behaviour I was getting on other browsers. I had to match Safari with the rest.
By the way, the lost focus issue is a regression and it's effecting all the browsers

regression from #12391
adding focusable is causing the issue

By the way, the lost focus issue is a regression and it's effecting all the browsers.

Then we should get rid of this regression first. Reported here

https://github.com/Expensify/App/pull/12718 might solve the issue. Will test once it is merged.

@sobitneupane I don't know if this is still a valid issue
The revert is not enough to fix the issue
The tracking got messy quickly. This issue is caused by two issues:

The fix of the first issue related to keydown event may no longer exists (due to a revert)
The fix of the second issue related to non-focusable "Enter the password" was based on @huzaifa-99 solution

I don't know if my proposals are eligible anymore, but I think finding the root cause and deducting that issue is caused by two separate issue have a value

Based on an internal discussion I am closing this issue because it relates to tab navigation is more accurately a new feature versus being a bug. I've place it on the accessibility milestone so it can be picked up down the road!


jdk 12.0.1

I had to run this url to get the jdk
Summary of the changes (Less than 80 chars)

InstallJdk.ps1 did not seem to have the right url
I could not find a jdk url that would let me hack the version number, so i made a script just for 12.0.1

Addresses #bugnumber (in this specific format)

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

Thanks for the suggestion @BenCoden. At the moment, we have intentionally chosen to stick with JDK 11 because it is the current JDK LTS. If there is a reason we should update to JDK 12, please open an issue and tag the @aspnet/build team.
Closing as we are not planning to take this PR at the moment. If we did update to JDK 12, we would go about implementing this by updating global.json instead and ensuring the JDK 12 is mirrored into our 'netcorenativeassets' blob store. But thank you for the contribution!
-Nate

Let me leave some words. I was following BuildFromSource.md and was running into an issue when trying to run .\restore.cmd, because I didn't have JDK up. I was downloading the JDK from the links on the doc. Then I found InstallJdk.ps1
but the script was failing, because the URL in it is bad. So maybe we don't need 12.0.1 but a new script is still needed.
The environment I am using is win10 and VS 19 preview.  Fresh install all across the board.

I made changes Thursday that caused these problems. I merged some fixups this morning. Give the latest master branch a try and let me know if you are still having trouble.


Shrink Docker image size

Investigate the feasibility of significantly shrinking the Docker image size, i.e., making the action run faster. It will likely involve static binaries and smaller base images.
The following are relevant and may be used to accomplish this task:

https://github.com/nh2/static-haskell-nix
https://github.com/utdemir/ghc-musl

https://github.com/haskell-actions/hlint-scan/commit/aad60f79573d9e2bd8274bc8afe9ed6fee205b87


[FIX] keep annotation from data dict even for column of numeric values

Fixes #11

Changes proposed in this pull request:

do not skip annotation of column levels if those levels are already annotated in the participants.json
avoid annotating levels twice (1 and "1" by casting all levels as string)
do not skip yes/no binar columns

Checklist

[x] PR has an interpretable title with a prefix ([ENH], [BUG], [DOC], [INFRA], [MAINT])
[x] PR links to Github issue with mention Closes #XXXX
[ ] Tests pass
[x] Code is properly formatted

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

@surchs
this should fix it
This adds a lot of lines to the TSV but most them should have annotations already.
I also decided to not "skip" columns that have a "yes/no" content because those should not add too many lines in the output.
Sorry if the diff of the TSV is not cleaner: I also sorted the levels before adding them to the TSV so that any eventual future diff will be cleaner.

Thanks so much @Remi-Gau for this super-fast PR. I'll take a look right away

super-fast PR

could have been quicker... I got distracted...


Enchance Table Select Dialog (sap.m.TableSelectDialog) to have focus on input field when opened

Hi there guys,
This is an enhancement request.
The Table Select Dialog (sap.m.TableSelectDialog)should have its focus set on the input field so when opened, the user can directly start typing letters.
This is a very nice enhancement as the control itself is intended to be used when having more than 200 options. With that amount of options most of the people will start typing in order to find the desired value instead of just scrolling.

Hello @malkoto1,
Thank you for the suggestion.
We consulted with our keyword interaction expert and for now the behavior will remain unchanged.
Currently when we have items in the List the first list item is focused, if there are none list items the focus is on the Search field.
When TableSelectDialog is opened and focus is on the List the user can press "Shift" + "Tab" and the focus will move to the Search field.


camel-rest should load automatically for routes using Rest DSL

Currently examples/RestWithRestlet.java fails unless --dependency=camel-rest is explicitly set:
$ kamel run --name=rest-with-restlet --dependency=camel-restlet examples/RestWithRestlet.java --dev
...
[1] Exception in thread "main" org.apache.camel.FailedToCreateRouteException: Failed to create route route2: Route(route2)[From[rest://get:/hello?consumerComponentName=r... because of Failed to resolve endpoint: rest://get:/hello?consumerComponentName=restlet&routeId=route2 due to: No component found with scheme: rest
[1] 	at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:100)
[1] 	at org.apache.camel.impl.DefaultModel.start(DefaultModel.java:346)
[1] 	at org.apache.camel.impl.DefaultModel.startRoute(DefaultModel.java:320)
[1] 	at org.apache.camel.impl.DefaultModel.startRouteDefinitions(DefaultModel.java:313)
[1] 	at org.apache.camel.impl.DefaultModel.startRouteDefinitions(DefaultModel.java:292)
[1] 	at org.apache.camel.impl.AbstractModelCamelContext.startRouteDefinitions(AbstractModelCamelContext.java:330)
[1] 	at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2555)
[1] 	at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2387)
[1] 	at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2404)
[1] 	at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2385)
[1] 	at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:97)
[1] 	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2296)
[1] 	at org.apache.camel.main.Main.doStart(Main.java:117)
[1] 	at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:97)
[1] 	at org.apache.camel.main.MainSupport.run(MainSupport.java:196)
[1] 	at org.apache.camel.k.main.ApplicationRuntime.run(ApplicationRuntime.java:70)
[1] 	at org.apache.camel.k.main.Application.main(Application.java:44)
[1] Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: rest://get:/hello?consumerComponentName=restlet&routeId=route2 due to: No component found with scheme: rest
[1] 	at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:779)
[1] 	at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:55)
[1] 	at org.apache.camel.impl.engine.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:114)
[1] 	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:334)
[1] 	at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:95)
[1] 	... 16 more

Which version of camel-k you are using? I could not reproduce this issue using version 0.3.4
Below is a log of the steps taken to reproduce.

$ kamel version
Camel K Client 0.3.4
$ kamel run --name=rest-with-restlet --dependency=camel-restlet examples/RestWithRestlet.java --dev                                                                           git:(tags/0.3.4|)
integration "rest-with-restlet" created
integration "rest-with-restlet" in phase Building Context
integration "rest-with-restlet" in phase Deploying
integration "rest-with-restlet" in phase Running
[1] Monitoring pod rest-with-restlet-694996b794-x7jc7[1] Starting the Java application using /opt/run-java/run-java.sh ...
[1] exec java -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:+ExitOnOutOfMemoryError -cp ./resources:/etc/camel/conf:/etc/camel/resources:/etc
/camel/sources/i-source-000:dependencies/com.sun.xml.bind.jaxb-core-2.3.0.jar:dependencies/com.sun.xml.bind.jaxb-impl-2.3.0.jar:dependencies/commons-codec.commons-codec-1.5.jar:dependencies/commons-io.commons-io-2.6.
jar:dependencies/commons-logging.commons-logging-1.1.3.jar:dependencies/javax.servlet.javax.servlet-api-3.1.0.jar:dependencies/net.jcip.jcip-annotations-1.0.jar:dependencies/org.apache.camel.camel-core-2.24.0.jar:dep
endencies/org.apache.camel.camel-http-common-2.24.0.jar:dependencies/org.apache.camel.camel-restlet-2.24.0.jar:dependencies/org.apache.camel.k.camel-k-adapter-camel-2-0.3.3.jar:dependencies/org.apache.camel.k.camel-k
-runtime-core-0.3.3.jar:dependencies/org.apache.camel.k.camel-k-runtime-jvm-0.3.3.jar:dependencies/org.apache.commons.commons-lang3-3.8.1.jar:dependencies/org.apache.httpcomponents.httpclient-4.3.2.jar:dependencies/o
rg.apache.httpcomponents.httpcore-4.3.1.jar:dependencies/org.apache.httpcomponents.httpmime-4.3.jar:dependencies/org.apache.james.apache-mime4j-core-0.7.2.jar:dependencies/org.apache.logging.log4j.log4j-api-2.11.2.ja
r:dependencies/org.apache.logging.log4j.log4j-core-2.11.2.jar:dependencies/org.apache.logging.log4j.log4j-slf4j-impl-2.11.2.jar:dependencies/org.jooq.joor-java-8-0.9.11.jar:dependencies/org.restlet.jee.org.restlet-2.
3.12.jar:dependencies/org.restlet.jee.org.restlet.ext.httpclient-2.3.12.jar:dependencies/org.slf4j.slf4j-api-1.7.25.jar org.apache.camel.k.jvm.Application
[1] OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
[1] 2019-07-24 11:34:35.042 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.ContextConfigurer@654f0d9c
[1] 2019-07-24 11:34:35.047 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.ContextLifecycleConfigurer@50b472aa
[1] 2019-07-24 11:34:35.048 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.RoutesConfigurer@4facf68f
[1] 2019-07-24 11:34:35.049 INFO  [main] ApplicationRuntime - Add listener: org.apache.camel.k.listener.RoutesDumper@15c43bd9
[1] 2019-07-24 11:34:35.064 INFO  [main] ApplicationRuntime - Listener org.apache.camel.k.listener.ContextConfigurer@654f0d9c executed in phase ConfigureContext
[1] 2019-07-24 11:34:35.065 INFO  [main] ApplicationRuntime - Listener org.apache.camel.k.listener.ContextLifecycleConfigurer@50b472aa executed in phase ConfigureContext
[1] 2019-07-24 11:34:35.093 INFO  [main] RoutesConfigurer - Loading routes from: file:/etc/camel/sources/i-source-000/RestWithRestlet.java?language=java
[1] 2019-07-24 11:34:35.575 INFO  [main] DefaultTypeConverter - Type converters loaded (core: 195, classpath: 10)
[1] 2019-07-24 11:34:35.587 INFO  [main] ApplicationRuntime - Listener org.apache.camel.k.listener.RoutesConfigurer@4facf68f executed in phase ConfigureRoutes
[1] 2019-07-24 11:34:35.587 INFO  [main] DefaultCamelContext - Apache Camel 2.24.0 (CamelContext: camel-k) is starting
[1] 2019-07-24 11:34:35.588 INFO  [main] ManagedManagementStrategy - JMX is enabled
[1] 2019-07-24 11:34:35.739 INFO  [main] DefaultCamelContext - StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
[1] 2019-07-24 11:34:35.823 INFO  [main] DefaultCamelContext - Route: route1 started and consuming from: direct://hello
[1] Jul 24, 2019 11:34:35 AM org.restlet.engine.connector.NetServerHelper start
[1] INFO: Starting the internal [HTTP/1.1] server on port 8080
[1] 2019-07-24 11:34:35.839 INFO  [main] DefaultCamelContext - Route: route2 started and consuming from: restlet://http://<IP_ADDRESS>:8080/hello?restletMethods=GET
[1] 2019-07-24 11:34:35.839 INFO  [main] DefaultCamelContext - Total 2 routes, of which 2 are started
[1] 2019-07-24 11:34:35.840 INFO  [main] DefaultCamelContext - Apache Camel 2.24.0 (CamelContext: camel-k) started in 0.253 seconds
[1] 2019-07-24 11:34:35.840 INFO  [main] ApplicationRuntime - Listener org.apache.camel.k.listener.RoutesDumper@15c43bd9 executed in phase Started

On another tab creating a proxy to integration.

$ kubectl port-forward rest-with-restlet-694996b794-x7jc7 8080:8080
Forwarding from [::1]:8080 -> 8080
Forwarding from <IP_ADDRESS>:8080 -> 8080

Finally on a third tab testing the service

$ curl localhost:8080/hello
Hello World

@ipolyzos Yeah, I should've noted that it was an issue with the latest snapshot:
$ kamel version
Camel K Client 1.0.0-M1-SNAPSHOT

Im having the same behavior :/


Unable to see any exception or logging message after importing mediapipe

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
None
OS Platform and Distribution
Windows 11
Mobile device if the issue happens on mobile device
No response
Browser and version if the issue happens on browser
No response
Programming Language and version
Python 3.9.12
MediaPipe version
No response
Bazel version
No response
Solution
any
Android Studio, NDK, SDK versions (if issue is related to building in Android environment)
No response
Xcode & Tulsi version (if issue is related to building for iOS)
No response
Describe the actual behavior
no output

Describe the expected behaviour
show the raised valueError

Standalone code/steps you may have used to try to get what you need
import mediapipe

raise ValueError("12345")

Other info / Complete Logs
No response

@Ziwen510 We are not able to reproduce this issue at our end. We have tried in Colab and Windows 11 both. Would you please provide complete recreational steps?
Also, please let us know the Mediapipe version you are using since we reproduced it with the latest one.

@Ziwen510 We are not able to reproduce this issue at our end. We have tried in Colab and Windows 11 both. Would you please provide complete recreational steps? Also, please let us know the Mediapipe version you are using since we reproduced it with the latest one.

I can reproduce this issue by creating a Python file anywhere and typing the above
import mediapipe

raise ValueError("12345")

It outputs nothing but I get the ValueError once I comment the import.
It happens both in my cmd terminal and vscode terminal.
I use the latest 0.10.1

i have the same problem in 0.10.1

I have the same problem. I don't know what the problem is. When I import mediapipe. I can't raise any exceptions.


Add trace norm to eigenvector function for dense operators

I ran into a problem when using the function steadystate.eigenvector(L::DenseSuperOperator). It was producing wrong results. Digging around a bit and comparing it to the analogous function for sparse operators - which gave correct results - I found that the trace normalization was missing for dense operators.

Coverage remained the same at 0.0% when pulling 6b94d16353aabd9cbf0964ff2f2b0383478b70a2 on david-pl:steady-eigen-fix into bbee68df4c7c469d78315f655a74f22d7e78b242 on bastikr:master.


[Bug] Reuse same image with different format, custom fetcher not working as expected ?

Hi,
I have an app where i use the same image multiple times but with totally different format.
I currently have implemented a custom fetcher which should be working, setting the image after download with proper format but it isn't, code below
The format i have for parameter is applying a resize.
I tested this with a custom controller, i display the image as a thumbnail first and i have a detail view which is displaying a bigger image, but the detail view is unfortunatly displaying the thumbnail.
Both images have the same url but format and resize methods are different.
 `    private static func fetchImageForDifferentFormat(imageView: UIImageView, imageName: String, format: Format<UIImage>) {
    let cache = Shared.imageCache
    // trying to fetch the image with specific format

    cache.addFormat(format)
    cache.fetch(key: imageName, formatName: format.name, failure: { error in
        // image does not exist, trying to fetch the original image from memory
        cache.fetch(key: imageName, formatName: HanekeGlobals.Cache.OriginalFormatName, failure: { error in
            // image does not exist, need to fetch from URL
            cache.fetch(URL: NSURL(string: imageName)!, formatName: HanekeGlobals.Cache.OriginalFormatName, failure: { (error) in }, success: { image in

                // set image to cache with original format for ulterior use
                cache.set(value: image, key: imageName, formatName: HanekeGlobals.Cache.OriginalFormatName, success: { (image) in
                })
                // set redimensionned image to imageView and store it in cache
                cache.set(value: image, key: imageName, formatName: format.name, success: { (image) in
                    imageView.image = image
                })
            })}, success:  { image in
                // image exists in memory with original format, need to be set at proper format and cached

                cache.set(value: image, key: imageName, formatName: format.name, success: { (image) in
                    imageView.image = image})

        })} , success:  { image in
            // image exists with proper size in memory
  // breakpoint succeed
            imageView.image = image
    })
}`

I put some breakpoints in the code but the behaviour i have makes no sense, the breakpoint i called "breakpoint succeed" is called multiple times for the same image, first when the method is called (the image is not there yet with this format) and then at the end of EVERY error callback.
I don't get it

Managed to fix it, was an upscaling problem


SNOW-1803120:[API Coverage] type_name, simple_string, json_value, json in all data types

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
<!---
In this section, please add a Snowflake Jira issue number.
<p>Note that if a corresponding GitHub issue exists, you should still include
the Snowflake Jira issue number. For example, for GitHub issue
https://github.com/snowflakedb/snowpark-python/issues/1400, you should
add "SNOW-1335071" here.
--->
Fixes SNOW-1803120

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.
[x] I acknowledge that I have ensured my changes to be thread-safe. Follow the link for more information: Thread-safe Developer Guidelines

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

please also fill PR description


Strange import in sdk-client-v3 makes it impossible to build with Bun

This import makes the build fail when I build into a project using the Bun bundler and it seems to be an incorrect import
https://github.com/commercetools/commercetools-sdk-typescript/blob/078a76ec4cfbe7a768e1f6096ee085eb6cbbf5c7/packages/sdk-client-v3/src/middleware/create-http-middleware.ts#L2

Hi @rasmusbe
Can I see your bun build.{js|ts} file or how you are carrying out the build, I would like to see if I can reproduce it.
Also, you paste the error stack here as well.
Thanks

I just tried and I was able to build and bundle all the packages within the workspace into a dist directory using the snippet below
// build.js
await Bun.build({
  outdir: './dist',
  entrypoints: [
    './packages/history-sdk/src/index.ts',
    './packages/importapi-sdk/src/index.ts',
    './packages/ml-sdk/src/index.ts',
    './packages/platform-sdk/src/index.ts',
    './packages/sdk-client/src/index.ts',
    './packages/sdk-client-v3/src/index.ts'
  ],
});

Never mind, seems to have been something corrupt with my node_modules, it seems to be working now


Consider deprecating RegistryAuthenticator and always passing credentials in request

We'll have to explore the implications of this, like does it slow down our build process and does it always work.

Closing since we do need RegistryAuthenticator

There might be a TODO comment we need to delete somewhere then, not sure.


Upgrade from 3.6 to 3.7 RMQ

When we do update/migrate from 3.6 to 3.7(3 nodes cluster), we get the mentioned below error . After all the nodes gets updated, sometimes the cluster never comes up.
2018-05-17 06:23:04.073 [error] <0.5.0>
Error description:
init:do_boot/3
init:start_em/1
rabbit:start_it/1 line 445
rabbit:'-boot/0-fun-0-'/0 line 296
rabbit_upgrade:run_mnesia_upgrades/2 line 155
rabbit_upgrade:die/2 line 212
throw:{upgrade_error,"\n\n****\n\nCluster upgrade needed but other disc nodes shut down after this one.\nPlease first start the last disc node to shut down.\n\nNote: if several disc nodes were shut down simultaneously they may all\nshow this message. In which case, remove the lock file on one of them and\nstart that node. The lock file on this node is:\n\n /var/vcap/store/rabbitmq/mnesia/db/nodes_running_at_shutdown \n\n****\n\n\n"}
Log file(s) (may contain more information):

In-place upgrades from RabbitMQ 3.6 to 3.7 are not supported. This was discussed recently here.
Please refer to this documentation chapter: Upgrading RabbitMQ Using Blue-Green Deployment Strategy, and this article by Pivotal RabbitMQ experts: Blue-Green Application Deployments with RabbitMQ.

Hi @harishankard, this is a limitation in the core RabbitMQ product.  One approach is to progressively shut down all but one nodes in the cluster (allowing time for queue mirroring etc...), perform the upgrade, then scale the cluster back up.  It it recommended to stop all apps and drain the queues first, otherwise the single node can become overloaded.

Hi @harishankard - We're closing this issue given we've provided a way forward and we're currently not looking at automating this process just yet.  We would be interested in feedback on whether this works for you.

Hi @blgm - When we used deprecated clutterer plugin, this error was not coming up.

That's because rabbitmq-clusterer modifies the way nodes are started, so the error is effectively delayed. See Restarting Cluster Nodes and Cluster Upgrade doc guides.


Fix cors and log dir

fix cors request error from front page
2.fix log dir config

some  bugs need be fixed


Dynamic reload command, toggled by single bind key

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[ ] zsh
[x] fish

Problem / Steps to reproduce
I've been trying to create a toggle bind key, that switches hidden files on/off during the fzf-cd-widget command with a single bind key (ctrl-h). It looks like the reload action gets evaluated on start, so altering $FZF_ALT_C_COMMAND during runtime or passing a function will not change the reload function.
I figured the only way it's possible is to abuse the query string {q} as that one is variable. This is my working solution:
# fzf.fish

set -gx FZF_ALT_C_COMMAND "fd --ignore-file=$HOME/.rgignore --type directory"
set -gx FZF_ALT_C_OPTS "--header 'Toggle hidden: ⌃h' --bind 'start:execute-silent(fzf_cd_toggle init)' --bind 'ctrl-h:transform-query(fzf_cd_toggle pre {q})+reload(eval {q})+transform-query(fzf_cd_toggle post)'"

function fzf_cd_toggle
    set -f query_file /tmp/fzf-alt-c-query
    set -f toggle_file /tmp/fzf-alt-c-toggle
    set -f command_a "$FZF_ALT_C_COMMAND"
    set -f command_b "$FZF_ALT_C_COMMAND --hidden"

    switch $argv[1]
        case init
            # Reset state
            rm $toggle_file &>/dev/null
        case pre
            # Temporarily store the query string
            echo $argv[2] >$query_file

            if rm $toggle_file &>/dev/null
                # Toggle state was on
                set -f command $command_a
            else
                # Toggle state was off
                # Turn it on by creating the file
                touch $toggle_file
                set -f command $command_b
            end

            # Return the applicable command
            # This will temporarily override the query string {q} and gets evaluated in the reload action
            echo $command

            # ^ That is the sole purpose of this function: to have a dynamic reload command during fzf's lifetime on a single key binding
        case post
            # Restore the query string
            echo (cat $query_file)
    end
end

It temporarily stores the query string to a file, changes the query to the toggle command, that gets evaluated during reload, and then the query string is restored. The existence of $toggle_file determines the on/off state (I tried setting a global variable first but that didn't work).

(still image)
Any suggestions?

I was able to do it like this on bash
export FZF_ALT_C_COMMAND_TOGGLE="
  if [[ ! -e /tmp/alt-c ]]; then
    touch /tmp/alt-c
    echo foo
  else
    rm -f /tmp/alt-c
    echo bar
  fi
"
export FZF_ALT_C_COMMAND='rm -f /tmp/alt-c; eval "$FZF_ALT_C_COMMAND_TOGGLE"'
export FZF_ALT_C_OPTS="
  --header 'Toggle hidden: ⌃h'
  --bind 'ctrl-h:reload:eval \"$FZF_ALT_C_COMMAND_TOGGLE\"'
"

FYI, there is an open discussion on how we can achieve this without using a temp file by exposing some internal states of fzf. See #3354.


[PiPDU DevLog] Building the Server Software

Assets Required

idk, code snippets?

Talking point

Functional requirements
Setting up the Arduino for interacting w/ the hardware
Establishing serial connection between the Arduino and the Raspberry
Setting up a basic API server
Customizing the routes
Setting up the metrics endpoint
Setting up custom hooks

Category: How To
Tags:

raspberry Pi
arduino
prometheus

Languages:

python
c++


[Windows] Failed to initiate GUI while using .TTC fonts

[Environment]
Windows 10 22H2 x64
extraterm v0.68.0
[Issue]
This program could not handle OpenType Font Collection (.TTC) fonts correctly.

Introduction to OpenType Font Collection

An OpenType Font Collection (formerly known as TrueType Collection) is a means of delivering multiple OpenType font resources in a single file structure. The format for font collections allows font tables that are identical between two or more fonts to be shared. Font collections containing outline glyph data (TrueType, CFF, CFF2 or SVG) are most useful when the fonts to be delivered together share many glyphs in common. By allowing multiple fonts to share glyph sets and other common font tables, font collections can result in a significant saving of file space.

OpenType font files should use the extension .OTF, .TTF, .OTC or .TTC. (The extension may be upper or lower case.) The extensions .OTC and .TTC should only be used for font collection files.

Source: OpenType font file (OpenType 1.9) - Typography | Microsoft Learn

The program will crash after setting the font of terminal to a .TTC font. I have tested be5invis/Sarasa-Gothic and adobe-fonts/source-han-sans, both of them will cause the same issue. While launching the program again after the crash, no GUI was created, three processes were created, which are extraterm, Vmmem and Qode.js JS Runtime for Qt. The Qode.js process will exit seconds after it been launched, and then the main process, and vmmem may also stop after minutes of inavtive.
In the document for Qt 6.4, it says TTC is supported.

Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported.
Source: QFontDatabase Class | Qt GUI 6.4.1

And Calibre 6, which is also built with Qt6, support TTC fonts correctly. So I think this may be an implementation issue, not the Qt6 framework.
#304 may be related.
[Steps to reproduce]

Set the default font to a .TTC font, the program will crash.
Start the program again, the main process will be created, but the GUI would not show up. And the process will exit minutes after.
Set the font to a .TTF or .OTF font will make it work again.

[Config]

Click me
{
"commandLineActions": [],
"sessions": [
  {
    "uuid": "6f270b82-00c3-442f-9c9f-e002a5a26ed8",
    "name": "PowerShell Core",
    "type": "windows-console",
    "exe": "pwsh.exe",
    "args": "",
    "initialDirectory": null
  },
  {
    "uuid": "bc53e522-f99f-4da6-bfaa-b83efcdca2a0",
    "name": "WSL Default",
    "type": "wsl",
    "useDefaultShell": true,
    "shell": "",
    "args": "",
    "distribution": "",
    "initialDirectory": "",
    "extensions": {}
  },
  {
    "uuid": "4886fb8e-6ceb-4416-b135-48ca6ec86d21",
    "name": "WSL Debian",
    "type": "wsl",
    "useDefaultShell": true,
    "shell": "",
    "args": "",
    "distribution": "Debian",
    "initialDirectory": null
  },
  {
    "uuid": "d0e63509-3abc-4f5d-bef3-ba02e718422c",
    "name": "CMD",
    "type": "windows-console",
    "exe": "cmd.exe",
    "args": "",
    "initialDirectory": "",
    "extensions": {}
  },
  {
    "uuid": "77c248c5-d802-4732-8d02-607148ac4505",
    "name": "PowerShell",
    "type": "windows-console",
    "exe": "powershell.exe",
    "args": "",
    "initialDirectory": null
  }
],
"autoCopySelectionToClipboard": true,
"blinkingCursor": false,
"cursorStyle": "block",
"frameRule": "frame_if_lines",
"frameRuleLines": 10,
"keybindingsName": "pc-style",
"minimizeToTray": false,
"showTrayIcon": false,
"scrollbackMaxFrames": 100,
"scrollbackMaxLines": 10000,
"terminalFont": "Sarasa Term J",
"terminalFontSize": 13,
"terminalDisplayLigatures": true,
"terminalMarginStyle": "normal",
"tipCounter": 0,
"tipTimestamp": 0,
"titleBarStyle": "native",
"uiScalePercent": 100,
"windowBackgroundMode": "opaque",
"windowBackgroundTransparencyPercent": 50,
"closeWindowWhenEmpty": true,
"middleMouseButtonAction": "paste",
"middleMouseButtonShiftAction": "paste",
"middleMouseButtonControlAction": "paste",
"rightMouseButtonAction": "context_menu",
"rightMouseButtonShiftAction": "context_menu",
"rightMouseButtonControlAction": "context_menu",
"activeExtensions": {},
"themeTerminal": "itermcolors-terminal-theme-provider:Two Dark.itermcolors",
"windowConfiguration": {
  "0": {
    "isMaximized": true,
    "x": 0,
    "y": 23,
    "width": 1500,
    "height": 938
  }
}
}

[Log]

Click me
2022-12-15 12:13:48.050 INFO [main #0] Recording logs to  C:\Users\explo\AppData\Roaming\extratermqt\Config\extraterm.log
2022-12-15 12:13:58.178 INFO [main #0] User extension directory is: C:\Users\explo\AppData\Roaming\extratermqt\Config\extensions
2022-12-15 12:13:58.179 INFO [ExtensionManager #0] Scanning 'C:\Program Files\extratermqt\extensions' for extensions.
2022-12-15 12:13:58.184 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\About'.
2022-12-15 12:13:58.188 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Autocomplete'.
2022-12-15 12:13:58.191 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Autolink'.
2022-12-15 12:13:58.192 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CommunityTerminalThemes'.
2022-12-15 12:13:58.195 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CopyBlock'.
2022-12-15 12:13:58.197 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CopyLink'.
2022-12-15 12:13:58.198 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DefaultKeybindings'.
2022-12-15 12:13:58.199 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DefaultTerminalTheme'.
2022-12-15 12:13:58.201 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DirectoryCommands'.
2022-12-15 12:13:58.203 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DownloadBlock'.
2022-12-15 12:13:58.206 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Find'.
2022-12-15 12:13:58.209 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ImageBlock'.
2022-12-15 12:13:58.212 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InjectShellIntegration'.
2022-12-15 12:13:58.214 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InsertEmoji'.
2022-12-15 12:13:58.222 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InternalCommands'.
2022-12-15 12:13:58.224 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ITermColorsTerminalThemeProvider'.
2022-12-15 12:13:58.227 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\OpenLink'.
2022-12-15 12:13:58.229 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ProxySessionBackend'.
2022-12-15 12:13:58.231 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ProxySessionEditor'.
2022-12-15 12:13:58.233 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\StyleGuide'.
2022-12-15 12:13:58.237 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\TerminalTitle'.
2022-12-15 12:13:58.239 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\TLDRPages'.
2022-12-15 12:13:58.242 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\WindowsConsoleSessionBackend'.
2022-12-15 12:13:58.244 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\WindowsConsoleSessionEditor'.
2022-12-15 12:13:58.245 INFO [ExtensionManager #0] Starting extension 'about'
2022-12-15 12:13:58.266 INFO [ExtensionManager #0] Starting extension 'autocomplete'
2022-12-15 12:13:58.272 INFO [ExtensionManager #0] Starting extension 'autolink'
2022-12-15 12:13:58.278 INFO [ExtensionManager #0] Starting extension 'community-terminal-themes'
2022-12-15 12:13:58.278 INFO [ExtensionManager #0] Starting extension 'copy-block'
2022-12-15 12:13:58.281 INFO [ExtensionManager #0] Starting extension 'copy-link'
2022-12-15 12:13:58.285 INFO [ExtensionManager #0] Starting extension 'default-keybindings'
2022-12-15 12:13:58.285 INFO [ExtensionManager #0] Starting extension 'default-terminal-theme'
2022-12-15 12:13:58.285 INFO [ExtensionManager #0] Starting extension 'directory-commands'
2022-12-15 12:13:58.288 INFO [ExtensionManager #0] Starting extension 'download-block'
2022-12-15 12:13:58.315 INFO [ExtensionManager #0] Starting extension 'find'
2022-12-15 12:13:58.324 INFO [ExtensionManager #0] Starting extension 'image-block'
2022-12-15 12:13:58.331 INFO [ExtensionManager #0] Starting extension 'inject-shell-integration'
2022-12-15 12:13:58.331 INFO [ExtensionManager #0] Starting extension 'insert-emoji'
2022-12-15 12:13:58.344 INFO [ExtensionManager #0] Starting extension 'internal-commands'
2022-12-15 12:13:58.345 INFO [ExtensionManager #0] Starting extension 'itermcolors-terminal-theme-provider'
2022-12-15 12:13:58.383 DEBUG [itermcolors-terminal-theme-provider] ITermColorTerminalThemeProvider activating
2022-12-15 12:13:58.383 INFO [ExtensionManager #0] Starting extension 'open-link'
2022-12-15 12:13:58.387 INFO [ExtensionManager #0] Starting extension 'proxy-session-backend'
2022-12-15 12:13:58.481 INFO [ExtensionManager #0] Starting extension 'proxy-session-editor'
2022-12-15 12:13:58.486 INFO [proxy-session-editor] ProxySessionEditorExtension activate
2022-12-15 12:13:58.500 INFO [ExtensionManager #0] Starting extension 'styleguide'
2022-12-15 12:13:58.503 WARN [ExtensionManager #0] Unable to load C:\Program Files\extratermqt\extensions\StyleGuide\dist\StyleGuideExtension.cjs. Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Program Files\extratermqt\extensions\StyleGuide\dist\StyleGuideExtension.cjs' imported from C:\Program Files\extratermqt\main\dist\main.cjs
2022-12-15 12:13:58.503 INFO [ExtensionManager #0] Starting extension 'terminal-title'
2022-12-15 12:13:58.529 INFO [ExtensionManager #0] Starting extension 'tldr-pages'
2022-12-15 12:13:58.534 INFO [ExtensionManager #0] Starting extension 'windows-console-session-backend'
2022-12-15 12:13:58.569 INFO [ExtensionManager #0] Starting extension 'windows-console-session-editor'
2022-12-15 12:13:58.598 WARN [ConfigDatabase #0] Unable to find config for key  system
2022-12-15 12:13:58.754 INFO [LocalHttpServer #0] Local HTTP IPC server running on http://<IP_ADDRESS>:6302/50b7c553c562fac235b294f1103f0b8b

It is currently using Qt5. I plan to update NodeGui from Qt5 to Qt6 in the coming months.

@Explorare Can you test this problem again using the latest Extraterm release. It is on Qt6 these days.

Just tested on v0.71.0 and still got the same issue.
[Log]

Click me
 ```
2023-03-19 00:32:28.455 INFO [main #0] Recording logs to  C:\Users\explo\AppData\Roaming\extratermqt\Config\extraterm.log
2023-03-19 00:32:40.442 INFO [main #0] User extension directory is: C:\Users\explo\AppData\Roaming\extratermqt\Config\extensions
2023-03-19 00:32:40.443 INFO [ExtensionManager #0] Scanning 'C:\Program Files\extratermqt\extensions' for extensions.
2023-03-19 00:32:40.447 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\About'.
2023-03-19 00:32:40.451 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Autocomplete'.
2023-03-19 00:32:40.452 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Autolink'.
2023-03-19 00:32:40.454 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Colorizer'.
2023-03-19 00:32:40.455 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CommunityTerminalThemes'.
2023-03-19 00:32:40.458 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CopyBlock'.
2023-03-19 00:32:40.460 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\CopyLink'.
2023-03-19 00:32:40.461 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DefaultKeybindings'.
2023-03-19 00:32:40.462 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DefaultTerminalTheme'.
2023-03-19 00:32:40.463 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DirectoryCommands'.
2023-03-19 00:32:40.465 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\DownloadBlock'.
2023-03-19 00:32:40.467 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Find'.
2023-03-19 00:32:40.469 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ImageBlock'.
2023-03-19 00:32:40.471 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InjectShellIntegration'.
2023-03-19 00:32:40.473 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InsertEmoji'.
2023-03-19 00:32:40.477 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\InternalCommands'.
2023-03-19 00:32:40.479 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ITermColorsTerminalThemeProvider'.
2023-03-19 00:32:40.480 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\OpenLink'.
2023-03-19 00:32:40.482 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ProxySessionBackend'.
2023-03-19 00:32:40.483 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\ProxySessionEditor'.
2023-03-19 00:32:40.484 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\StyleGuide'.
2023-03-19 00:32:40.487 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\TerminalTitle'.
2023-03-19 00:32:40.488 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\Tips'.
2023-03-19 00:32:40.489 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\TLDRPages'.
2023-03-19 00:32:40.490 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\UpdateChecker'.
2023-03-19 00:32:40.492 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\WindowsConsoleSessionBackend'.
2023-03-19 00:32:40.493 INFO [ExtensionManager #0] Read extension metadata from 'C:\Program Files\extratermqt\extensions\WindowsConsoleSessionEditor'.
2023-03-19 00:32:40.494 INFO [ExtensionManager #0] Starting extension 'about'
2023-03-19 00:32:40.523 INFO [ExtensionManager #0] Starting extension 'autocomplete'
2023-03-19 00:32:40.527 INFO [ExtensionManager #0] Starting extension 'autolink'
2023-03-19 00:32:40.530 INFO [ExtensionManager #0] Starting extension 'colorizer'
2023-03-19 00:32:40.541 INFO [ExtensionManager #0] Starting extension 'community-terminal-themes'
2023-03-19 00:32:40.541 INFO [ExtensionManager #0] Starting extension 'copy-block'
2023-03-19 00:32:40.545 INFO [ExtensionManager #0] Starting extension 'copy-link'
2023-03-19 00:32:40.548 INFO [ExtensionManager #0] Starting extension 'default-keybindings'
2023-03-19 00:32:40.549 INFO [ExtensionManager #0] Starting extension 'default-terminal-theme'
2023-03-19 00:32:40.549 INFO [ExtensionManager #0] Starting extension 'directory-commands'
2023-03-19 00:32:40.552 INFO [ExtensionManager #0] Starting extension 'download-block'
2023-03-19 00:32:40.568 INFO [ExtensionManager #0] Starting extension 'find'
2023-03-19 00:32:40.576 INFO [ExtensionManager #0] Starting extension 'image-block'
2023-03-19 00:32:40.582 INFO [ExtensionManager #0] Starting extension 'inject-shell-integration'
2023-03-19 00:32:40.582 INFO [ExtensionManager #0] Starting extension 'insert-emoji'
2023-03-19 00:32:40.592 INFO [ExtensionManager #0] Starting extension 'internal-commands'
2023-03-19 00:32:40.593 INFO [ExtensionManager #0] Starting extension 'itermcolors-terminal-theme-provider'
2023-03-19 00:32:40.607 DEBUG [itermcolors-terminal-theme-provider] ITermColorTerminalThemeProvider activating
2023-03-19 00:32:40.608 INFO [ExtensionManager #0] Starting extension 'open-link'
2023-03-19 00:32:40.611 INFO [ExtensionManager #0] Starting extension 'proxy-session-backend'
2023-03-19 00:32:40.832 INFO [ExtensionManager #0] Starting extension 'proxy-session-editor'
2023-03-19 00:32:40.836 INFO [proxy-session-editor] ProxySessionEditorExtension activate
2023-03-19 00:32:40.845 INFO [ExtensionManager #0] Starting extension 'styleguide'
2023-03-19 00:32:40.847 WARN [ExtensionManager #0] Unable to load C:\Program Files\extratermqt\extensions\StyleGuide\dist\StyleGuideExtension.cjs. Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Program Files\extratermqt\extensions\StyleGuide\dist\StyleGuideExtension.cjs' imported from C:\Program Files\extratermqt\main\dist\main.cjs
2023-03-19 00:32:40.847 INFO [ExtensionManager #0] Starting extension 'terminal-title'
2023-03-19 00:32:40.865 INFO [ExtensionManager #0] Starting extension 'tips'
2023-03-19 00:32:40.871 INFO [ExtensionManager #0] Starting extension 'tldr-pages'
2023-03-19 00:32:40.876 INFO [ExtensionManager #0] Starting extension 'update-checker'
2023-03-19 00:32:40.888 INFO [ExtensionManager #0] Starting extension 'windows-console-session-backend'
2023-03-19 00:32:40.916 INFO [ExtensionManager #0] Starting extension 'windows-console-session-editor'
2023-03-19 00:32:40.952 WARN [ConfigDatabase #0] Unable to find config for key  system
2023-03-19 00:32:41.192 INFO [LocalHttpServer #0] Local HTTP IPC server running on http://<IP_ADDRESS>:42973/a5ae44b8da6433502375637fb9e19d92
```

I figured out that he root cause of this issue may be the malfunction of the ligatures support.
I came across this issue #420 and find an interesting error log:

On line 2 it blamed an error about the calt OpenType feature, here is the description for it from Adobe:

This feature, in specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Like ligatures (though not strictly a ligature feature), contextual alternates are commonly used to harmonize the shapes of glyphs with the surrounding context.

The setting for this feature in the config file is terminalDisplayLigatures and the default value is true. And the setting in the GUI is Enable Ligatures below the font settings.
I mistakenly thought that it's a compatibility issue with TTC fonts, but those fonts are built to support modern OpenType features, including calt.
Here are some test results.

Fonts
Format
calt support
calt ON

cascadia-code
TTF
yes
work as intend

cascadia-code
OTF static
yes
work as intend

FiraCode
TTF
yes
crashed

Iosevka
TTF
yes
work as intend

Consolas
TTF
yes(?)
no difference

Ink Free
TTF
NO
crashed

source-code-pro
OTF
NO
no dirrerence

Sarasa Term J
TTC
yes
crashed

You can find programming fonts with ligatures support here Programming Fonts - Test Drive
You can see if one font supports ligatures or not using FontDrop!.

Thank you for looking into this. From the stack trace you put here it looks like the gsub table is missing. I guess it is possible that the calt table is also missing. Either way it will have to carefully check for the existence of both before it blindly goes crash.

But for Sarasa Term J, it supports calt and works as intend in Windows Terminal. But extraterm seems having issue to load the calt table. I'm wondering what's the difference that makes cascadia-code works but Sarasa Term J not.
I'm pretty fine with ligatures disabled to use Sarasa Term J for CJKV support. A quick patch to stop the program from crashing while calt is not loaded successfully is enough. Maybe a complete fix for calt tablet support in the future will be awesome. Thank you for this great project.

Since per @Explorare Iosevka itself is working, maybe it is related to the TTC format?

I've tried the TTF version of Sarasa Term J and it works as intend. So the broken support for GSUB in TTC format is the root cause?

I've been digging into this and have found a test case where it hangs, spinning CPU. There can always be another bug.

SourceHanSans is working fine now in Extraterm. I'll do a release in the next few days. Thanks for everyone's help here.


use correct contact for Vienna

it's probably MA19, neither stadtschulrat nor bezirksvorstehung(en).
needs to be checked though:
https://www.wien.gv.at/stadtentwicklung/architektur/aufgaben.html

That can be fixed by modifying the cities.json

we'll add a prefix "Wien" in front of the bezirksname.
all entries will have their respective zip code, but use the same www and email (that of MA19).


Historical User Data

Hello,
I'm new to this API and I would like to know if someone knows how to get Historical User Data. I can't figure out how to get my Balance from a Week ago or a Month or  a Year, because If I know the amount of BTC I had I can calculate my profit at a given time.
Thanks in advance
Harry

Hi.
I'm not sure what information you are looking for since balance and profit are two different concepts. But from this endpoint, you will get the account balance calculated in BTC on that day. https://binance-docs.github.io/apidocs/spot/en/#daily-account-snapshot-user_data
Btw, this question would be more suitable to raise in the forum. https://dev.binance.vision/


SELECT .. JOIN support

We now have WHERE clause support, which should be useful for implementing this.

first pass here https://github.com/penberg/limbo/pull/143

@jussisaurio I think we can probably close this now that #204 is merged? Sure there may be bugs, but the bulk of joins is now done?

Yeah I mean some weirdos use RIGHT JOIN etc so we need to do those too, but separate issues are probably fine for those


Figure out how to collect Cloudtrail logs using Amazon Data Firehose

Suppose I own an AWS account, and I want to export Cloudtrail events from AWS to an Elastic cluster.

export Cloudtrail events to CloudWatch
set up a Firehose delivery stream
set up a subscription filter to send Cloudtrail events to a delivery stream

Limitations

supports EC (Elastic Cloud) deployments only
does not support PrivateLink yet (but it's coming soon)

Export CloudTrail events to CloudWatch
The first step is to create a trail in CloudTrail.

choose trail attributes
log events
review & create

choose trail attributes
There are a few standard options:

name
encryption options

CloudTrail exports data to an S3 bucket. It doesn't seem possible to opt out from S3. Optionally, we can send the CloudTrail events to CloudWatch as logs.
Enable CloudWatch logs and confirm the log group name.

log events
Select the event types you want to send to Elastic.

review & create
Review all your previous choices and confirm to create a trail.
Verify
Visit the log group on CloudWatch, an make sure there are events from the CloudTrail trail we just created.

Set up a Firehose delivery stream
We now have a CloudWatch log group with events coming from CloudTrail.
The guide https://www.elastic.co/guide/en/kinesis/current/aws-firehose-setup-guide.html is a great source to set up a fire hose delivery stream to send data to Elastic Cloud.
Essential steps

Collect ES endpoint and API key from your deployment on EC.

delivery stream setup

Elastic endpoint URL
API key
content encoding: gzip
retry duration: 60 (default)
Backup settings: failed data only to an s3 bucket

now we have a firehose delivery with

source: direct put
destination: elastic
parameters:

es_datastream_name: logs-aws.cloudtrail-default

Set up a subscription filter to send CloudTrail events to a delivery stream
The Firehose delivery stream is ready to send logs to our Elastic Cloud deployment.

visit the log group
create an Amazon Data Firehose subscription filter

Create an Amazon Data Firehose subscription filter

Choose destination
Grant permission
Configure log format and filters

Choose destination
Select the delivery stream we create in the previous step
Grant permission
Trust relationship:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "logs.us-east-1.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringLike": {
                    "aws:SourceArn": "arn:aws:logs:us-east-1:<account-id>:*"
                }
            }
        }
    ]
}

Policy:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:PutRecord",
            "Resource": "arn:aws:kinesis:us-east-1:<account-id>:stream/<stream-name>"
        }
    ]
}

Configure log format and filters
Log format: Amazon CloudTrail

Verify
With the new subscription filter running, CloudWatch starts routing new CloudTrail log events to the Firehose delivery stream.
Now it is time to open Kibana and look for CloudTrail logs.


Fixed displaying a table with bindings, attributes and references

The table was almost impossible to read with the current code.

@kamil-mrzyglod,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@lindydonna Please review these proposed changes. Thanks.

Ok now I see that the source is referenced here and it's displayed correctly :)


Update New-ExchangeCertificate.md

Issue #9760

Docs Build status updates of commit dbfe63e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-ExchangeCertificate.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add Evaluate to  scatter_elements_update

Add Evaluate to scatter_elements_update
original spec:
https://gitlab-icv.inn.intel.com/inference-engine/dldt/blob/master/docs/ops/movement/ScatterElementsUpdate_3.md

You need to set the output shape based on the shapes of the argument tensors; otherwise it won't work if the inputs are dynamic. To test, make an evaluate test with a parameter that has dynamic shape.


Unclear behavior with resolve preview

Describe the ~bug~ (Not really a bug, but more of a question)
It's unclear to me why resolve shows different in some situations. Using the Scala language server, Metals, we have different levels of completeness to our completionItem resolve responses. In Scala 2 we have a more robust response and when the resolve comes back, it shows what I'd expect it to. I'll give an example. Let's say we have the following method:
def doThing[A](a: A) = a

The resolve for this will come back and look like this:
[Trace - 07:47:17 PM] Sending response 'completionItem/resolve - (56)'. Processing request took 5ms
Result: {
  "label": "doThing[A](a: A): A",
  "kind": 2,
  "detail": "[A](a: A): A",
  "documentation": {
    "kind": "markdown",
    "value": ""
  },
  "preselect": true,
  "sortText": "00000",
  "filterText": "doThing",
  "insertTextFormat": 2,
  "textEdit": {
    "range": {
      "start": {
        "line": 11,
        "character": 2
      },
      "end": {
        "line": 11,
        "character": 3
      }
    },
    "newText": "doThing($0)"
  },
  "data": {
    "symbol": "example/Main.doThing().",
    "target": "file:/Users/ckipp/Documents/scala-workspace/sanity/?id\u003dsanity"
  }
}

When you see this work it looks like so:

Notice that the generic [A] never appears.
In Scala 3, for the same piece of code the resolve item will look like this:
[Trace - 07:48:13 PM] Sending response 'completionItem/resolve - (465)'. Processing request took 0ms
Result: {
  "label": "doThing[A](a: A): A",
  "kind": 2,
  "detail": "[A](a: A): A",
  "sortText": "00001",
  "filterText": "doThing",
  "textEdit": {
    "range": {
      "start": {
        "line": 61,
        "character": 0
      },
      "end": {
        "line": 61,
        "character": 1
      }
    },
    "newText": "doThing"
  },
  "additionalTextEdits": []
}

When you try to complete it, you see this:

Notice the [A] is included here.
I'm trying to understand given these two resolves, why one shows the [A] and the other doesn't. I don't expect you to try to reproduce this since it would take a lot of setup, but I'm hoping that by looking at the two resolves you'll be able to quickly tell maybe why the second is showing the [A].
Expected behavior
I'd expect them both to be the same.

Hope this isn't closes. Still have never found an answer to this, so I'm still curious why this is happening.

I now use nvim-cmp which doesn't have this issue, so I'll go ahead and close.


Make lambdas serialisable

Right now they are not, and it's preventing users from serialising code with lambdas. I don't see any reason why they could not be serializable like the rest, though I wonder if our comprehensions are as well.
Java 8 does not make lambdas serialisable by default because it's a bit more expensive I suppose, given that they don't generate anonymous classes like we do, but if it's just that, it doesn't apply to us. Java 8 lambdas have to be made explicitly serialisable with a cast.
If we ever end up reimplementing our lambdas to Java 8 lambdas perhaps we should consider also making this opt-in from the start? If yes, how? Can we annotated lambdas?

Actually, we just make AbstractCallable java.io.Serializable and done, end of story.

No objection @gavinking @tombentley ?

Well the objection would be: can we continue to support this when we change the implementation of function refs to use method handles?

MethodHandle is not Serializable, but neither is java.lang.Method. Not sure why, though, since Java 8 lambdas can be Serializable and it's trivial to write a custom serialiser to get back the right Method since Class is Serializable and you only need to save the class, the method name and signature.
For MethodHandle it's probably due to the fact that there are no real instances of the SAM type, so there's no anonymous class to point to which saves the captured values: they're given to the constructor of the MethodHandle which may not have an internal representation that can be serialised.
Honestly, I think it's too early to tell what we will or not be able to do. We may have to require an annotation on serialisable lambdas in the future, but at least fixing this now solves a real current use-case.

Right, so what I'm saying is that if we make "lambdas" serializable now, we might need to break that in future.

Yes, but we don't know yet. And if we do we'll likely find a way to support it. Perhaps a compiler flag can automatically consider every lambda as annotated serializable. I'm not too worried.

I'm not too worried.

Certainly :)

Scala's dealt with this. Y'all should look at spores: http://docs.scala-lang.org/sips/pending/spores.html


feat: added new methods: feed_metadata_get() and feed_download()

Also, main documentation is updated and simplified.

LGTM


Multicase region maps

This PR adds a plotting script that makes plots that are show a temporal average in a specified region for a number of cases (up to 10).
I have done some testing that seems to be working. There could be some additional tweaks needed to get annotation/spacing/etc worked out better.
I would like help to make sure I hooked up the website integration correctly.
Although the resulting plots look pretty simple, there is a surprising amount of stuff built into this. Some of it might be useful for future ADF modules to provide common tools. Others might be obfuscated by using intake-esm or such.
One hack that is included here is that the script looks for a non-standard entry in the config file called region_multicase. The script uses this dictionary to determine what region to use, how to do temporal sampling, and possibly use a subset of the variables. This might be a bad precedent to set for ADF, but I wasn't sure how else to let users get this info into the script.
The plots are based on Meg Fowler's plots that have been shown recently to look at the Lab sea issue. An example of the plots that get made is shown here:

@nusbaume -- Okay, your comments all make sense. I think I took care of all of them, and just pushed it. Let me know if you see anything else that should be changed.


change --machine flag for flutter test to report test progress as JSON

This is so that the IntelliJ Flutter plugin can report test progress using a nice UI.

@devoncarew

lgtm


Default SceneInstance and Scene

We have been discussing here https://github.com/stride3d/stride/discussions/1253 code-only approach and we are looking for options to update engine if possible to simplify certain defaults being created without Stride Game Studio.
Describe the solution you'd like
We are going to add else branch so we can ensure that Scene is never null here
https://github.com/stride3d/stride/blob/b9b2dbb380f39ea02dab3c65cc0ae1b68e7c2f51/sources/engine/Stride.Engine/Engine/SceneSystem.cs#L115-L121
else
{
   SceneInstance ??= new SceneInstance(Services) { RootScene = new Scene() };
}

Describe alternatives you've considered
We discussed an alternative to create a default Scene in the extension also described in the discussion above but decided rather to update engine instead in this case.
Additional context
Empty scene is created when using Stride Game Studio so if the code-only approach is used there should also be a default empty Scene created.

You can assign this to me. Thanks.

Wow, sweet.  I just came here planning to submit this issue.  Glad to see you "already on it!" :)   Looks like we're of similar mindset here.
Along with this change, should also come "Game.DefaultSettings" concept, so that we don't require the ".sdgamesettings" asset from Stride Editor.

@najak3d, thanks for your comments and suggestions here and in the discussion. In the working code-only prototype Game.DefaultSettings is not needed 😀. The plan is that you literally just create a new .NET 6 console app, reference Stride package(s) and you are done.
I will further elaborate on your other comments from the discussion separately.
I am going to create a new issue "Code-Only implementation" where I summarise all from the discussion https://github.com/stride3d/stride/discussions/1253.
And ask the community for further updates and suggestions.
Thanks 😀

Can you create this as a Samples Suite - that starts out with a scrollable menu of samples.   Click one, and it takes you to that sample scene.  Then you can have several for GUI, some for Physics, some for 1st person controller, etc...
Once you have a structure like this, it makes it trivial to add new samples, and makes it easier to collaborate.  Call the solution "StrideCodeSamples" -- and it can have 50-100 such samples in the list.   Might even have a double-layered list -- to categorize them by topic -- e.g.   Physics, vs UI vs Material Effects .   Then each of those groups has 2+ samples.

Once you have a structure in place like that, we can make the list of "desired samples", then anyone (like me) with some time to implement one, can go ahead and add it.

Urho has something like this with like 60 samples..  It was very appealing, and gave us the immediate perception of "Completeness" and "Quality" -- because all samples ran equally well on Windows, iOS, and Android.    That should be the goal of this whole project --- always work on the main platforms.   Download the zip, unzip  and double-click the .sln -- and poof, you see it working perfect everywhere.   BOOM!   You'll have more customers quickly.
In open-source world, of course, that means more pain/headaches, because customers are a pain.   But then, money-making opportunity arise, which then makes customers a very sweet prospect.

And most likely, "more customers" will mean "more contributors", which helps everyone.


Install setuptools to make Towncrier fork work with Python 3.12

Keep CI alive while we do not have Towncrier fork updated
sample issue from other repo https://github.com/oasisprotocol/oasis-wallet-web/actions/runs/6692075152/job/18180527014?pr=1747

Can we solve this problem with pip install setuptools?

Indeed, in Python 3.12 the setuptools are no longer pre-installed in virtual environments so one needs to explicitly install them via pip install setuptools [1], [2].


Explicitely cast boost::optional into bool for functions returning bool

Fixes issue #6.
Also don’t crash when input file doesn’t exist, and don’t silently do nothing when output file isn’t creatable.

Please create separate PRs for unrelated functionality in the future.
Other than that, thanks!

... actually, the summary of this one is already misleading. Please split it into two PRs.

Fixed this issue.


🐛 Bug Report: Local catalog definitions not working on Docker image (using docker-compose)

📜 Description
After following the guide to create a multi-stage build, I ran into some problems when running the container.
It's not easy or straightforward to use local catalog definitions with the Docker image. This is surprising to be left out of the docs, because even the sample app you get after running nx @basecamp/create-app comes with local catalog definitions (in the example folder).
I tried adding this to the dockerfile for the multi-stage build:
# just below this line
COPY packages packages
# add this
COPY examples examples

I also tried to add that on other places, such as at the end just before the app-config file is copied, but doesn't seem to work either.
Other users have found the same problem using different setups.
👍 Expected behavior
I'd expect the Docker tutorial to cover this behavior (using local catalog files)
(Or at least, if this were not possible, I'd expect the tutorial to warn about this limitation.)
👎 Actual Behavior with Screenshots
Trying to use local catalog definition files in a Docker repository gives this errors:
catalog warn file <file>.yaml does not exist

It's unclear if this is a problem with the path or location where things have been copied.
👟 Reproduction steps
My current setup starts from a fresh @backstage/create-app installation, then uses the multi-stage docker file from the docs, except I removed the sqlite installation, and added the app-config.production.yaml file to be loaded. The Dockerfile looks like this:
# Stage 1 - Create yarn install skeleton layer
FROM node:16-bullseye-slim AS packages

WORKDIR /app
COPY package.json yarn.lock ./

COPY packages packages

# Comment this out if you don't have any internal plugins
# COPY plugins plugins

RUN find packages \! -name "package.json" -mindepth 2 -maxdepth 2 -exec rm -rf {} \+

# Stage 2 - Install dependencies and build packages
FROM node:16-bullseye-slim AS build

USER node
WORKDIR /app

COPY --from=packages --chown=node:node /app .

# Stop cypress from downloading it's massive binary.
ENV CYPRESS_INSTALL_BINARY=0
RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \
    yarn install --frozen-lockfile --network-timeout 600000

COPY --chown=node:node . .

RUN yarn tsc
RUN yarn --cwd packages/backend build
# If you have not yet migrated to package roles, use the following command instead:
# RUN yarn --cwd packages/backend backstage-cli backend:bundle --build-dependencies

RUN mkdir packages/backend/dist/skeleton packages/backend/dist/bundle \
    && tar xzf packages/backend/dist/skeleton.tar.gz -C packages/backend/dist/skeleton \
    && tar xzf packages/backend/dist/bundle.tar.gz -C packages/backend/dist/bundle

# Stage 3 - Build the actual backend image and install production dependencies
FROM node:16-bullseye-slim

# From here on we use the least-privileged `node` user to run the backend.
USER node

# This should create the app dir as `node`.
# If it is instead created as `root` then the `tar` command below will fail: `can't create directory 'packages/': Permission denied`.
# If this occurs, then ensure BuildKit is enabled (`DOCKER_BUILDKIT=1`) so the app dir is correctly created as `node`.
WORKDIR /app

# Copy the install dependencies from the build stage and context
COPY --from=build --chown=node:node /app/yarn.lock /app/package.json /app/packages/backend/dist/skeleton/ ./

RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \
    yarn install --frozen-lockfile --production --network-timeout 600000

# Copy the built packages from the build stage
COPY --from=build --chown=node:node /app/packages/backend/dist/bundle/ ./

# Copy any other files that we need at runtime
COPY --chown=node:node app-config.yaml app-config.production.yaml ./

# This switches many Node.js dependencies to production mode.
ENV NODE_ENV production

CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.production.yaml"]

(as mentioned earlier, I tried adding COPY commands in different parts of this file to include my folder with local catalog definitions, but couldn't make it work)
Then I created a docker-compose file that looks like this:
version: "3.9"
services:
  backstage:
    build: .
    ports:
      - "7007:7007"
    environment:
      POSTGRES_SERVICE_HOST: postgres
      POSTGRES_SERVICE_PORT: 5432
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      GITHUB_TOKEN: <secret>
    links:
      - postgres
  postgres:
    image: postgres:14.1-alpine
    restart: always
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    ports:
      - '5432:5432'
    volumes:
      - postgres:/var/lib/postgresql/data
volumes:
  postgres:
    driver: local

The containers can be run with docker-compose up (or docker-compose up --build to run without cache)
📃 Provide the context for the Bug.
🖥 Your Environment
❯ yarn backstage-cli info
yarn run v1.22.19
$ /Users/francisco/Projects/backstage/node_modules/.bin/backstage-cli info
OS:   Darwin 22.3.0 - darwin/x64
node: v16.19.1
yarn: 1.22.19
cli:  0.22.5 (installed)
backstage:  1.12.0

Dependencies:
  @backstage/app-defaults                          1.2.1
  @backstage/backend-app-api                       0.4.1
  @backstage/backend-common                        0.18.3
  @backstage/backend-dev-utils                     0.1.1
  @backstage/backend-plugin-api                    0.5.0
  @backstage/backend-tasks                         0.5.0
  @backstage/catalog-client                        1.4.0
  @backstage/catalog-model                         1.2.1
  @backstage/cli-common                            0.1.12
  @backstage/cli                                   0.22.5
  @backstage/config-loader                         1.1.9
  @backstage/config                                1.0.7
  @backstage/core-app-api                          1.6.0
  @backstage/core-components                       0.12.5
  @backstage/core-plugin-api                       1.5.0
  @backstage/errors                                1.1.5
  @backstage/eslint-plugin                         0.1.2
  @backstage/integration-aws-node                  0.1.2
  @backstage/integration-react                     1.1.11
  @backstage/integration                           1.4.3
  @backstage/plugin-api-docs                       0.9.1
  @backstage/plugin-app-backend                    0.3.43
  @backstage/plugin-auth-backend                   0.18.1
  @backstage/plugin-auth-node                      0.2.12
  @backstage/plugin-catalog-backend                1.8.0
  @backstage/plugin-catalog-common                 1.0.12
  @backstage/plugin-catalog-graph                  0.2.28
  @backstage/plugin-catalog-import                 0.9.6
  @backstage/plugin-catalog-node                   1.3.4
  @backstage/plugin-catalog-react                  1.4.0
  @backstage/plugin-catalog                        1.9.0
  @backstage/plugin-github-actions                 0.5.16
  @backstage/plugin-org                            0.6.6
  @backstage/plugin-permission-common              0.7.4
  @backstage/plugin-permission-node                0.7.6
  @backstage/plugin-permission-react               0.4.11
  @backstage/plugin-proxy-backend                  0.2.37
  @backstage/plugin-scaffolder-backend             1.12.0
  @backstage/plugin-scaffolder-common              1.2.6
  @backstage/plugin-scaffolder-node                0.1.1
  @backstage/plugin-scaffolder-react               1.2.0
  @backstage/plugin-scaffolder                     1.12.0
  @backstage/plugin-search-backend-module-pg       0.5.4
  @backstage/plugin-search-backend-node            1.1.4
  @backstage/plugin-search-backend                 1.2.4
  @backstage/plugin-search-common                  1.2.2
  @backstage/plugin-search-react                   1.5.1
  @backstage/plugin-search                         1.1.1
  @backstage/plugin-tech-radar                     0.6.2
  @backstage/plugin-techdocs-backend               1.6.0
  @backstage/plugin-techdocs-module-addons-contrib 1.0.11
  @backstage/plugin-techdocs-node                  1.6.0
  @backstage/plugin-techdocs-react                 1.1.4
  @backstage/plugin-techdocs                       1.6.0
  @backstage/plugin-user-settings                  0.7.1
  @backstage/release-manifests                     0.0.9
  @backstage/test-utils                            1.2.6
  @backstage/theme                                 0.2.18
  @backstage/types                                 1.0.2
  @backstage/version-bridge                        1.0.3
✨  Done in 1.92s.

👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Arguably, this whole process is meant to be building a production setup. Those won't typically have any example data in them. Not sure that what you mention here is really a shortcoming; we never intended the docker builds to produce something that perfectly mirrors the local dev.
I think the reason you don't see the examples even after copying, is probably that they end up in a directory inside the container which doesn't match what the production app-config actually points to. Paths will definitely differ here and there from your local to the production image.

I was thinking about leaving a local folder with defintiions, not for example data, but for high level data of the org like teams and systems... Not sure where to put those... I guess I'll have to create a repo just for those definitions then 🤔


RBAC based Azure Cache for Redis deployment

[Enter feedback here]
It's wonderful to see the redis cache supports aad authentication, my project want to access the redis cache by using this way.
of course we need to deploy an Azure Cache for Redis, but is there any document to describe the properties we need to fill to deploy a redis cache with RBAC? (like create a managed identity user or enable the aad authentication by arm template or bicep)

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: a06f1183-a468-8a9c-1dc4-4fb5dab23397
Version Independent ID: 6314fa56-29a9-293a-bd68-08593dab5e10
Content: Use Azure Active Directory for cache authentication - Azure Cache for Redis
Content Source: articles/azure-cache-for-redis/cache-azure-active-directory-for-authentication.md
Service: cache
GitHub Login: @flang-msft
Microsoft Alias: franlanglois

Hi @wakinpang ,
Thanks for sharing this feedback. We will look into this and update as appropriate.
Hi @flang-msft,
Could you please look into this request, thanks.

We have updated this content with more information about using Microsoft Entra. Also we produced this template for using Microsoft Entra ID with ARM and Bicep.

#please-close


Moving PoC stuff to a PoC layout

Its more versatile, still hard coded to use PoC though, but ready to unhook that

lgtm :shipit:


Re-enable Gatekeeper upstream test

Testcases were skipped due to addon framework change
Signed-off-by: Yu Cao<EMAIL_ADDRESS>

/retest


add base64_urlsafe

add base64_urlsafe encoding support for sigs and keys to oop
implementation.

Hi,
I needed this, so sent it back.
Thanks for all your work on this to date.
ta
Jeff


improve tick formatting

Axis tick formatting was only ever half implemented, even after pull request #216 added local time zones, because it only handled timestamp formatting with d3-time-format – formatting of normal numbers with d3-format was omitted entirely. This pull request more thoroughly implements Vega Lite's format instruction.

The need for explicit handling of null and undefined inside the formatAxis() function here raises the question of whether it might be smarter to instead extend the argumentKey() function. Those two values could be coerced to the strings "null" and "undefined", after which everything else in the memoization function would continue to work normally.


Issue 2746: Remove breadcrumbs from all pages

issue 2746 https://github.com/orgs/opensearch-project/projects/74/views/5?pane=issue&itemId=59588549
Description
references to Breadcrumbs have been removed from site. The breadcrumbs are still there in the frontmatter, I have just removed the rendering of them.
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

Before

After

Issue: #2746


Update scom-management-pack-use-2019.md

Adding a new section on the what's new section. @jambirk please review.

@Ariantor  approved


Name obfuscation using buildid

I've noticed that when you run go tool buildid on the the binary produced by garble, the value returned includes the buildid that was using when compiling the main package. I'm unsure if buildids from other packages feature in the final binary (happy to go searching if wanted). The slight issue I note from this is that it offers a piece of information that makes it somewhat easier to brute force the original names from the main package. By way of example:
$ cat main.go
package main

import "fmt"

func main() {
        w := wrapper{}
        fmt.Println(w.String())
}

type wrapper struct {
        val string
}

func (w wrapper) String() string {
        if w.val == "" {
                panic("empty")
        }
        return w.val
}
$ garble build
$ ./tmp
panic: empty

goroutine 1 [running]:
main.zz52X_Y_6.String(...)
        z0.go:16
main.main()
        z0.go:7 +0x39

So we have zz52X_Y_6 as a obfuscated name.. now:
$ cat guess.go
package main

import (
	"crypto/sha256"
	"encoding/base64"
	"fmt"
	"io"
	"os"
	"strings"
)

var (
	words = []string{"i", "j", "k", "err", "String", "Error", "error", "wrapper"}
	b64   = base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_z")
)

func main() {
	buildID, name := os.Args[1], os.Args[2]
	ids := strings.Split(buildID, "/")
	salt := ids[1] // seems to be consistently this element
	for _, word := range words {
		h := hashWith(salt, word)
		if name[1:9] == h {
			fmt.Printf("hit! %s = %s\n", name, word)
		}
	}
}

func hashWith(salt, value string) string {
	const length = 8

	d := sha256.New()
	io.WriteString(d, salt)
	io.WriteString(d, value)
	sum := b64.EncodeToString(d.Sum(nil))

	return sum[:length]
}
$ go tool buildid tmp
9ZkA5Dw59qQzeQ8yU2Ub/PImGb-ruZkrufOw2flzK/w9Eeihvs9tlM-J2A1jux/d_DMQBAPNPqDNOc0UMbp
$ go run . 9ZkA5Dw59qQzeQ8yU2Ub/PImGb-ruZkrufOw2flzK/w9Eeihvs9tlM-J2A1jux/d_DMQBAPNPqDNOc0UMbp zz52X_Y_6
hit! zz52X_Y_6 = wrapper

Obviously this is a low skill method and this is by no means disastrous.  Programmer vocabulary is arguably fairly limited ;) And the fact the salt is not secret in this particular instance certainly makes it easier to pull off.
In any case, I was wondering if perhaps seed should be set by default? This is written in the hashWith function but by default it is empty.

Nicely spotted - this is indeed a problem, and one I hadn't realised existed. I was under the impression that the final binary didn't have any build ID embedded in it.
If one uncomments a couple of lines in garble to show what build ID is used as the hashing salt, you're correct that it's present in the final binary:
$ garble build -o garbled .
# test/main
[garble] 2020/06/19 18:14:38 "w" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zicVXHWnl"
[garble] 2020/06/19 18:14:38 "wrapper" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zDcsYJSwT"
[garble] 2020/06/19 18:14:38 "w" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zicVXHWnl"
[garble] 2020/06/19 18:14:38 "wrapper" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zDcsYJSwT"
[garble] 2020/06/19 18:14:38 "val" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zxcn4U6jc"
[garble] 2020/06/19 18:14:38 "w" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zicVXHWnl"
[garble] 2020/06/19 18:14:38 "wrapper" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zDcsYJSwT"
[garble] 2020/06/19 18:14:38 "w" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zicVXHWnl"
[garble] 2020/06/19 18:14:38 "val" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zxcn4U6jc"
[garble] 2020/06/19 18:14:38 "w" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zicVXHWnl"
[garble] 2020/06/19 18:14:38 "val" hashed with "U8UqYsCeBDH0AeLnxXcJ" to "zxcn4U6jc"
$ go tool buildid garbled
n-LfGWbW6yGMNB5VL6lA/U8UqYsCeBDH0AeLnxXcJ/KydQyT9mXfnDK0DyRy1t/ExA-ABc6qYi2Whcgt-4F

Hopefully we can fix this by just stripping buildid information from the binary, just like we do with module information.

Yeah, this is just part of the binary:
$ readelf -x .note.go.buildid garbled

Hex dump of section '.note.go.buildid':
  0x00400f9c 04000000 53000000 04000000 476f0000 ....S.......Go..
  0x00400fac 6e2d4c66 47576257 3679474d 4e423556 n-LfGWbW6yGMNB5V
  0x00400fbc 4c366c41 2f553855 71597343 65424448 L6lA/U8UqYsCeBDH
  0x00400fcc 3041654c 6e785863 4a2f4b79 64517954 0AeLnxXcJ/KydQyT
  0x00400fdc 396d5866 6e444b30 44795279 31742f45 9mXfnDK0DyRy1t/E
  0x00400fec 78412d41 42633671 59693257 68636774 xA-ABc6qYi2Whcgt
  0x00400ffc 2d344600                            -4F.

Currently investigating if there is a simple way to not generate that.

Luckily, if we drop the -buildid flag from the linker, and that makes it not include the text section in the binary. So we're all good. Fix incoming.