Fix for issue #2913 - Log and trace activity don't let you set the Label property

#2913

added Label property to LogAction and TraceActivity

Pull Request Test Coverage Report for Build 97393

0 of 0   changed or added relevant lines in 0 files are covered.
1786 unchanged lines in 244 files lost coverage.
Overall coverage decreased (-0.3%) to 77.987%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Facebook/FacebookAdapterOptions.cs
1
86.67%

/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/ApplicationBuilderExtensions.cs
1
71.43%

/libraries/Microsoft.Bot.Builder.AI.LUIS/LuisApplication.cs
1
96.36%

/libraries/Microsoft.Bot.Builder.AI.LUIS/V3/LuisApplication.cs
1
96.43%

/libraries/Microsoft.Bot.Builder.AI.LUIS/V3/LuisUtil.cs
1
96.35%

/libraries/Microsoft.Bot.Builder/BotStateSet.cs
1
85.0%

/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/BaseInvokeDialog.cs
1
87.5%

/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/Case.cs
1
87.5%

/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/EditActions.cs
1
93.75%

/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/EndTurn.cs
1
81.82%

Totals

Change from base Build 97233:
-0.3%

Covered Lines:
19337

Relevant Lines:
24795

💛  - Coveralls

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Integration.AspNet.Core.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Testing.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Streaming.dll compared against version 4.6.3

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Integration.AspNet.Core.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Testing.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Streaming.dll compared against version 4.6.3


[Accessibility]A11y_VSCode_KeyboardShortcuts_ScreenReader: NVDA is reading "Search Keybindings" twice.

Environment Details:
VSCode Version : 1.24.0
OS Version : Win10
Additional Details:
Screenreader,NVDA[2018.2],MAS1.3.1
Repro Steps:
1.Launch VS Code while NVDA is ON.
2.Navigate to Settings icon in Activity Bar->Press Enter->Select "Keyboard Shortcuts" from dropdown.
3.Navigate to "Search Keybinding" edit text field
4.Observed that screenreader is reading "Search Keybinding" twice.
Actual:
While reading through the screen reader as NVDA, it is reading "Search Keybinding" edit text field twice.
here, NVDA is reading "Search Keybinding" edit "Search Keybinding"
Expected:
NVDA should reads the button name as "Change Keybinding" button along with the placeholder value
Recommendations:
Refer below link which is repository of bug fixes code snippets:
https://microsoft.sharepoint.com/teams/msenable/mas/pages/browse-fixes.aspx
User Impact:
User will not understand the placeholer text and exact value of placeholder becuase NVDA reads the both placeholder text as well as placeholder value.
MAS Reference:
MAS1.3.1- https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={54f28d1f-a2d1-4dcd-84e1-5c9b87e8aba4}
Attachment For Reference:
[Accessibility]A11y_VSCode_KeyboardShortcuts_ScreenReader.pptx
Does this issue occur when all extensions are disabled?: Yes

https://github.com/Microsoft/vscode/issues/51999


Update the     README.md file to describe the     repo.

This PR now has a lot of commits in it, but doesn't match the description. It would be good to make one PR changing the readme as desired, then another PR with the other changes. Keep the PRs focused and atomic.

I tried, however it won’t let me make a different pull request.
On Tue, Jun 9, 2020 at 10:46 AM Sujeet Akula<EMAIL_ADDRESS>wrote:

This PR now has a lot of commits in it, but doesn't match the
description. It would be good to make one PR changing the readme as
desired, then another PR with the other changes. Keep the PRs focused and
atomic.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ayomide321/step/pull/2#issuecomment-641391590, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AD2UU6OI2LD2W6T6Z4OXZ4TRVZKN5ANCNFSM4NYYJ3LQ
.

OK, well since this makes almost no change to README, why don't you update the PR title (and add a description) about what actually is in the PR?

Here's how to move the most recent n commits from one branch into another: https://stackoverflow.com/a/1628584

What's the status of this PR? It looks like you added more commits, was that intentional? Can you please make the requested changes?

I tried to make a new branch with the new commits. I don’t know if I did it
right or not.
On Wed, Jun 17, 2020 at 11:37 AM Sujeet Akula<EMAIL_ADDRESS>wrote:

What's the status of this PR? It looks like you added more commits, was
that intentional? Can you please make the requested changes?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ayomide321/step/pull/2#issuecomment-645481001, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AD2UU6NLXKBLWE2PONA3B4DRXDWOLANCNFSM4NYYJ3LQ
.

Closing this in favor of https://github.com/ayomide321/step/pull/3 which has the same work.


Units cannot be modified in the 3D Layout modeler.

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
Open the 3D Layout modeler.
Then enter the following code:
aedtapp.modeler.model_units = "dm"
You will see in the bottom right corner that units are not modified.
Steps To Reproduce
N/A
Which Operating System are you using?
Windows
Which Python version are you using?
3.8
Installed packages
N/A

I think this is a bug of the native API. Can you submit to our Developers? @MaxJPRey


Some of the metrics appear to be getting counted twice.

metrics.msg_processed.inc() and metrics.extract_success.inc() appear to be getting called twice.  Also, it looks like those metrics are getting called in the success and failure cases.
On exception, the logic is falling through to the postprocess method
which assumes that the system_profile section of the facts will be
populated.  I don't think you want to call postprocess unless the
extraction was successful.

/retest


Add an option to install the latest available version

It would be nice to have such option, something like:
phpbrew install latest

Done in master.


tests: Validate that null vllm_args are accepted

This is a follow-up to #2040

[X] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[X] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

Note to reviewers: common.py is largely (refactored) code from test_lab_serve.py


Add FieldName to model binding context

Adds a new property, FieldName, to ModelBindingContext. The FieldName is
the name of whatever code-element is being bound, regardless of what
model-prefix is in use.
This is needed for cases like the Header model binder. We always want to
use the property/parameter name and we don't care about model prefixes.

Other misc cleanup in this PR:

Removed 'magical' behavior of MBC properties in favor of explicit init in tests
Cleaned up API for creating a 'child' context, and used it more consistenly

/cc @dougbu

             _defaultPropertyFilter = (context, propertyName) => true;```

should be like:

```private static readonly Func<ModelBindingContext, string, bool>
             DefaultPropertyFilter = (context, propertyName) => true;```

due to Pascal case i guess?

:watch:

@dougbu  updated

:shipit:


Add api for clusterpp

What type of PR is this?
/kind feature

What this PR does / why we need it:

implement api for cluster propagation policy

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

/assign @RainbowMango @samzong


Build inference manager apps in docker-compose

Nick was having issues starting the docker-compose in the inference manager tests, because he doesn't run tests through Make, and the docker-compose relies on images that are built locally.
You can tell docker-compose "build this image from a local Dockerfile", so this patch does that – which slightly reduces our dependency on Make.
I'd like some eyes on this from @jamieparkinson when he's feeling better, as he wrote pretty much all this code and will know if I'm missing something.

Closing as doesn't work – as Jamie says in Slack, this doesn't play well with sbt.

Closing as doesn't work – as Jamie says in Slack, this doesn't play well with sbt.


Alignment/placement of the "public domain list" could be better.

Description
Currently the placement of the whole public domain list isn't at its best.
Expectation
Wouldn't it be better if we expand or adjust the width of the columns or maybe place the table at the centre of the page.
That way the page looks more occupied and good too.
Screenshots
currently it looks like:

Environment

Device: Laptop
OS: (eg. iOS 13.5; Fedora 32)
Browser: Chrome
Version: (eg. 13; 73)
Other info: (eg. display resolution, ease-of-access settings)

Additional context

Resolution

[x] I would be interested in resolving this bug.

@TimidRobot Let me know what your thoughts are.


add configuration to disable listening on ipv6

Fix #368

This change is

Coverage decreased (-0.008%) to 45.37% when pulling 812ff196cfe34e08d0bb86543ad83d9ac3e39a95 on gianrubio:disable-ipv6 into 75124bc9f124ec3b95ea8b0ca43a0f905bac36e6 on kubernetes:master.

@gianrubio please rebase

I can confirm that this fixes the nginx ingress controllers on our systems where ipv6 is not enabled.

@aledbf done!

/lgtm

Coverage increased (+0.01%) to 46.297% when pulling 63b5f2f1c5cf793f5de8884efda0936dc93d6a7a on gianrubio:disable-ipv6 into f1062e07bc2121ca22f476e44c71275c6b137350 on kubernetes:master.

Coverage increased (+0.01%) to 46.297% when pulling 63b5f2f1c5cf793f5de8884efda0936dc93d6a7a on gianrubio:disable-ipv6 into f1062e07bc2121ca22f476e44c71275c6b137350 on kubernetes:master.

Coverage increased (+0.01%) to 46.297% when pulling 63b5f2f1c5cf793f5de8884efda0936dc93d6a7a on gianrubio:disable-ipv6 into f1062e07bc2121ca22f476e44c71275c6b137350 on kubernetes:master.

Coverage increased (+0.01%) to 46.297% when pulling 63b5f2f1c5cf793f5de8884efda0936dc93d6a7a on gianrubio:disable-ipv6 into f1062e07bc2121ca22f476e44c71275c6b137350 on kubernetes:master.

@gianrubio thanks!

Thanks!

how achive this from helm chart


Avoid problematic encodings in Zlib specs

Avoid problematic encodings in Zlib specs

This is good, even though not as readable, it avoids relying on very specific semantics of the effect of the magic encoding comment on string literals. Actually, some of these specs fail without the magic encoding comment.
So :+1: and let's get this merged, thanks!

👍

@eregon Let me run this past you. The parser gem reads the "ascii-8bit" magic encoding string, converts the 'file string' from ascii-8bit to utf-8 (encoding_valid? == true) and then throws away the magic string encoding. However at this point the 'file string' is still just a set of utf-8 characters including the characters [",,x,8,0,"] - the encoding has changed and the original encoding has been thrown away. Later on, when it comes to parsing, the magic string is `skipped' , and the escaped string is parsed as having an encoding of utf-8. Therefore magic encoding is being ignored when it comes to actual source code strings. This is how it appears to work from looking at the code.

@eregon Oh yes, the file /  `file string' is simply:
``
encoding: ascii-8bit
"\x80"
''


error on compile fail

Implementation of #10 issue

ok I've cleaned up the commits and git diff. It is ready for a review.

Thanks!


🌱 Fix dependabot release branch config to bump only patch versions

With the recent introduction of release branch configuration for dependabot, it is pushing bumps for minor versions of dependancies as well. We don't want minor version bumps for release branches. Setting it to patch versions.
Signed-off-by: Kashif Khan<EMAIL_ADDRESS>

/cc @tuminoid @lentzi90 @Sunnatillo @adilGhaffarDev

/override metal3-centos-e2e-integration-test-main metal3-ubuntu-e2e-integration-test-main


Add web socket support to Relic

We should support web sockets in Relic to make it possible to communicate in real-time. We can add an abstract WebSocketRoute, which will automatically upgrade the connection. A helper method for this based on shelf_web_socket can be placed in the serverpod_relic_helpers package (see #2495).
The handleCall method is overridden to call an abstract method that handles the upgraded connection.
@override
Future<void> handleWebSocketChannel(Session session, IOWebSocketChannel channel);

We may also want to add properties and/or overrides to WebSocketRoute for things like protocol, allowed origins, ping interval, etc.

You may want to consider using the WebSocket interface - it has simpler semantics than WebSocketChannel.
But I don't think that it is a big deal.


Support for Gmail actions

So we can send messages with quick action shortcuts like this:

To test you need to send an email with same from and to addresses. I just sacrificed a rooster and put a request so we can make this official and send these actions to our users.
For now only the ViewAction is supported. We could add support to One-Click actions/others in the future.

They rejected my application to be able to send those a year and a half ago

haha! did you request for Heroku?

No just for myself.

assholes. I'll let you know if/when I hear from them

@will tldr: google will allow us to use gmail schema, but we'll have to request for permission for every single damn case we have.
I'd like to merge this so if anyone wants to request permission they can use Telex to send themselves a sample email to test, and then send that same email to Google to request authorization for the schema use.
Thoughts?

Yeah, it'd be cool. The only thing other thing is maybe we should start some sort of producer capabilities document, and also update minitel?

looks good, ship it (maybe on Monday?)

Thanks!


visualize_job does not work unless you use cq_editor

I have recently switched from cq_editor to ocp_cad_viewer extension for vs code. Running visualize_job does not work but visualize_job_as_edges does

It may very well be that AIS based rendering requires changes to ocp_cad_viewer like it required for cq-editor ( https://github.com/CadQuery/CQ-editor/pull/317 ). For cq-editor these changes were pretty simple.

Preliminary testing shows that render performance is actually slightly better with 100k random lines using TopoDS_Edge rather than AIS_Line.
It is slightly slower to generate Edges though.
However there doesn't seem to be any easy way of configuring the color of an edge in OpenCASCADE

Fixed by #31 - opened #36 for making the visualization more informative in ocp-vscode.


Regression: Form display alignment issue on Firefox

While using MDL v1.0.6, I've been bitten by the same issue as described in #788 where button does not properly allign on Firefox (works properly on Safari/Chrome).
CodePen using the same example as in #788: http://codepen.io/anon/pen/yYGrNO
This is a regression introduced in version 1.0.3 onwards as if you change the css back to version 1.0.2 in CodePen, it aligns properly on Firefox (tested on latest Firefox v42.0 on OSX 10.11).
Regression was introduced in commit 92d2ef2.
Changing the display property of .mdl-textfield__input back to inline-blockfixes the issue.
Happy to make a PR, but unsure how it may impact other layout issues.

I'm not sure what the best method for us to handle this would be, since changing to block was to fix another specific problem (and at the time it worked properly in each engine.) Thanks for reporting the regression.

Ah, taking a look the fix only went into master it may have never been cherry-picked into mdl-1.0 for a patch release. So, could already be fixed in 1.1, just won't make it into a 1.0 series patch (since we are focusing on 1.1 now over more patch releases.)

@Garbee So this issue has been fixed in master and will be rolled out with 1.1? Can we close this?

I'd assume so. But I'd like to pull master clean and verify once I'm home just to be certain it is fixed for 1.1.

Just verified and it seems to be working correctly for me from master. Which means 1.1 will include the fix.

:+1: Thanks @Garbee !

This seems to be recurring in 1.3.0 https://codepen.io/anon/pen/WRLRjb. Looks good in Chrome but not in firefox.


Allow admin users to delete comments through the last comments widget.

I want to create an admin page where I can quickly scan through the latest posted comments and have the ability to delete them if needed.
I can use the latest comments widget to see the most recent comments but the only way I can delete an undesirable comment is by manually visiting the page and deleting the comment as an admin user.
If I had the same power to do this using the last comments widget it would help speed up the process of deleting comments on sites that have the remark comments engine on multiple pages.

Not sure I get it. Do you want to create admin page? If so, PRs are welcome and API supporting it already in place. Or you asking for some delete functionality as a part of recent comments widget? If so, I don't think this widget is the right place for such admin actions.
Generally speaking, admin panel/dashboard is nice to have

"Or you asking for some delete functionality as a part of recent comments widget?"
Yes, that's what I meant. The delete functionality wouldn't have to come from the recent comments widget though. That was just an idea.
I just think it would be great to have the ability to moderate comments, but after the comments have been posted. So, I could visit the moderation page; view all the recently posted comments across my site and delete the comments I don't like for whatever reason.
If I have remark comments on hundreds or even thousands of pages it would be nice to be able to manage those comments from one place.


How to run the repo?

Hello,
apologies for the question, I am not an expert in node.js or vite.js .
I am having difficulties running this project.
I clone the repo, install the dependencies with npm install, and when I then run npm run dev and go to http://localhost:3000/ , I get the following error in the terminal:
[vite] Internal server error: Compilation failed
-- MISSING SOURCE DIRECTORIES ----------------------------------------- elm.json

I need a valid elm.json file, but the "source-directories" field lists the
following directories:

    plugins/casemgm/generated
    plugins/casemgm/src

I cannot find them though. Are they missing? Are there typos?

Dependencies ready!

What am I missing? Is there anything else I need to install/run before?
Thanks!

This will be fixed in the upcoming release. In the meantime you need to remove the two directories from elm.json by hand.


feat(parser): serialize to estree

We need to:

[ ] align the smaller parts to estree by modifying the AST structs directly
[ ] write serde serializers for the bigger ones
[ ] Have an AST pass that rewrites all Unicode-8 span positions to Unicode 16, depending on https://github.com/oxc-project/oxc/issues/959

@ArnaudBarre I see from your Github repos that you mostly code in JS/TS, so I don't know if you're comfortable writing Rust. But if you are, would you consider assisting with this?
What I'm thinking is that rather than building out further your OXC prettier parser layer in JS, could you instead submit the changes upstream in OXC?
For the mismatches where all that's needed is changing field names, it's as simple as e.g.:
pub struct ComputedMemberExpression<'a> {
     #[cfg_attr(feature = "serde", serde(flatten))]
     pub span: Span,
     pub object: Expression<'a>,
+    #[cfg_attr(feature = "serde", serde(rename = "property"))]
     pub expression: Expression<'a>,
     pub optional: bool, // for optional chaining
 }

Where difference is snake_case vs camelCase:
#[derive(Debug, Hash)]
-#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type"))]
+#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type", rename_all = "camelCase"))]
#[cfg_attr(all(feature = "serde", feature = "wasm"), derive(tsify::Tsify))]
pub struct NewExpression<'a> {
    #[cfg_attr(feature = "serde", serde(flatten))]
    pub span: Span,
    pub callee: Expression<'a>,
    pub arguments: Vec<'a, Argument<'a>>,
    pub type_parameters: Option<Box<'a, TSTypeParameterInstantiation<'a>>>,
}

To cover all the node.importKind = node.importKind.type transforms, I think all we need is:
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
-#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type", rename_all = "camelCase"))]
+#[cfg_attr(feature = "serde", derive(Serialize), serde(rename_all = "camelCase"))]
#[cfg_attr(all(feature = "serde", feature = "wasm"), derive(tsify::Tsify))]
pub enum ImportOrExportKind {
    Value,
    Type,
}

Obviously, there are other more complex changes to be made which will require manual impl of serde::Serialize (horrible!), but if we could at least deal with the simpler ones first in this manner, that'd make it easier to see what's remaining.
If you're not comfortable with Rust, no worries. I can make the changes, and your work on identifying what they are would be a huge help with that. Please just let me know which way you'd like to go.

@Boshen I think you mentioned that you previously had a branch where you'd written the impl Serde::Serializes for translation to ESTree. Do you have any idea what might be? I can do it from scratch, but if you already did it and can find that code...

Never done Rust but adding metadata to structs or refactoring property names via IDE should be doable!

Thanks for your willingness! I'm very happy to help if you need any pointers.
Boshen may be happy for us to rename the actual Rust struct property names, but to start with I'd suggest just using serde(rename) (like ComputedMemberExpression example above). This will alter the JSON output, without changing the actual Rust types, so no API changes for anyone consuming OXC as a Rust lib.
To test out changes you make via the Node API, you can build with:
cd napi/parser
npm run build

That builds the Rust binary, and also a JS binding napi/parser/index.js which you can import from your NodeJS code with a relative import e.g. import { type ParserOptions, parseSync } from "../../oxc/napi/parser/index.js";.
Just to explain what the complex-looking #[cfg_attr(...)] syntax is about:
Support for JSON serialization is only included in the build if you compile with the serde "feature" enabled. serde is the serialization library, and it's relatively heavy, so it's only included if the consumer requests it by enabling the "feature" (it's enabled in the Node API build).
#[cfg_attr(feature = "serde", serde(rename = "property"))] says to compiler "ignore everything else in this #[...] unless 'serde' feature is enabled".
Hope this is useful background. Please excuse me if I'm telling stuff that you already know/is obvious. It wasn't obvious at all to me when I started learning Rust!

I can help with the changes, but I prefer a test infrastructure in-place first 😁

Yes, makes sense. Would you want to set that up, or shall I look into it?

Probably running prettier tests with oxc-prettier-parser in CI?

I imagine that'd do it. If we wanted to be really thorough, could also run Acorn's tests which I assume will specifically test every possible AST node type. But I don't think Acorn supports TypeScript, so would maybe need typescript-eslint's tests too. Not sure how much time setting all that up would take, so maybe not worth it.

Let's start with the AST nodes with a slight name mismatch

To change type names e.g.:
#[derive(Debug, Clone)]
-#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type"))]
+#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type", rename = "NumericLiteral"))]
 #[cfg_attr(all(feature = "serde", feature = "wasm"), derive(tsify::Tsify))]
pub struct NumberLiteral<'a> {
    #[cfg_attr(feature = "serde", serde(flatten))]
    pub span: Span,
    pub value: f64,
    #[cfg_attr(feature = "serde", serde(skip))]
    pub raw: &'a str,
    #[cfg_attr(feature = "serde", serde(skip))]
    pub base: NumberBase,
}

Yes, makes sense. Would you want to set that up, or shall I look into it?

I'll look into it.

To change type names e.g.:

I'll just change the struct names instead 😅

According the the prettier documentation, it seems like we just need to align with @typescript-eslint/typescript-estree:
https://prettier.io/docs/en/options.html#parser

"typescript" (via @typescript-eslint/typescript-estree) First available in v1.4.0

By making a new package that exports the exact same stuff as https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/typescript-estree
as then patch prettier's package.json's "@typescript-eslint/typescript-estree": "7.0.1" with our own package.
The final setup would just be running yarn test.

@overlookmotel Thanks a lot for the explication!
Yeah the main blocker will be adding comments to the AST.
I don't know how this can be done with performance in mind, but even for bundles/minifiers related task done all in rust, having, being able to check if functions have special comments will be required. I know that esbuild does does some heuristic to keep comments only in places where it might contain some bundler information, but for formatting purpose all comments are needed :/

We have comments in an array, I'll get it returned to JS.

Released napi<EMAIL_ADDRESS>
Returned comments
Renamed AST nodes:

TSESTree
OXC

ArrowFunctionExpression
ArrowExpression

NumericLiteral
NumberLiteral

TSThisType
TSThisKeyword

TSTypeOperator
TSTypeOperatorType

(Property isn't changed yet)

Cool I'll keep you updated tonight with my next blocker!

@Boshen Can we also rename the fields in Rust types to match ESTree? e.g. ComputedMemberExpression's expression -> property.
Personally, I think yes, as it'll be more familiar to contributors, and it sounds like breaking changes are not a big deal pre-1.0, but maybe there's some other context I'm not aware of.

Actually Property in TSESTree map to BindingProperty & ObjectProperty so we have the same situation as for identifiers in #2521

Let me sit on renaming these spec names to estree names for a bit. I'm in favor of full estree compatibility but I need to think about the consequences and maintainability issues.

うーん...思ったより難しくて、AST だけではなく、より多くの情報が必要です
https://github.com/prettier/prettier/blob/53111dd6553084c5108a10d5aa91d1c4bbb75454/src/ language-js/parse/typescript.js#L15-L18

I think @sosukesuzuki might give you something advice.

I got my first mismatch because of utf-8/utf-16 mismatch. I saw that sourcemap have been merged, does this mean that the parser now tracks utf-16 positions?

As far as I can see, this is only in the codegen so far. We could do UTF-8 -> UTF-16 mapping in the lexer, but problem is where to store the UTF-16 spans - we don't want to add them to the AST as that'd be an extra 8 bytes for every AST node. It needs to be done, but exactly how is a bit of an open question.
Maybe we could move "line tables" creation from codegen to the parser. But we should probably discuss that on #959.
By the way, I see you're banging out PRs at breakneck pace. Brilliant. If you really hadn't touched Rust before, then I must say you're a very quick learner!

Yeah better to discuss this there!
Thanks! I was told Rust error messages are great and I can confirm. And in IDE copilot chat is also really cool when navigating in unknown codebase. For now I've always stopped when it worked so I don't always understand things, if I want to do more serious things I will read the book!

By the way, I'm keeping #2457 up to date on top of all the changes to AST you're making. So far, all the changes are working for "raw" transfer too. We're getting there...

We reached the consensus of serializing to a estree compatible AST, all other issues can be raised separately.

Re-opening this so we can track progress towards this goal in one place. It's proved a little difficult using separate issues for each change, as many of them are tiny changes, and often interconnected.
@ArnaudBarre Can we catch up on where we're up to, and what remains?
I'd imagine quite a bit of what's left you'll be able to make the changes Rust-side just by adding #[serde(rename)] tags. But please do let me know which parts likely need custom Serialize impls, and I can write them.
I've been following your prettier-oxc-parser JS-side transform and trying to implement what I can, but I'm getting to the point where I can't follow all of it.
For example, in a bunch of types, there is setProp(node, "typeArguments", node.typeParameters) which looks like renaming the field, but then node.typeParameters isn't deleted.
By the way, part of my motivation to implement all transforms on Rust-side is it makes it much easier to keep #2457 in sync with all these changes. If it's all done in serde, then I can just make sure that parse_sync_raw's output matches parse_sync.

This is not exhaustive but should cover all 'types' of differences to resolve:

Part of the AST is still based on the "import assertion" spec and should be updated. I want to tackle this I think it's a good next for me to do.
setProp(node, "typeArguments", node.typeParameters) is not a mistake, it's because TSESLint deprecated typeParameters in multiple nodes for typeArguments but keep both for now for backward compatibility. I'm not sure what is the right move for OXC here. For ref: https://github.com/typescript-eslint/typescript-eslint/pull/5384
Sometimes node are missing boolean, like prefix: true on UnaryExpression. I don't yet know how to do that in serde
StaticMemberExpression, ComputedMemberExpression & PrivateFieldExpression need to be serialized to MemberExpression with few changes
StringLiteral, BooleanLiteral, ... need to be serialized as Literal with raw value set. For BigInt it would still requires some re-parse on the JS side, this is painful to have to revisit the full AST for that...
modifiers is not an ESTree concept. So anytime there is this prop in OXC it probably means you need to set one or two boolean on the equivalent node. Examples are VariableDeclaration.declare, ClassExpression.abstract, TSEnumDeclaration.const. My take here is that it will make the AST more clean and easy to explore to have named booleans on nodes instead of a comment to say which one are 'allowed'. But I don't know the implication of this.
Some types that are nullable in OXC default to empty array in ESTree, like TSInterfaceDeclaration.extends, ClassExpression.implements
FunctionBody is a BlockStatement in ESTree
FormalParameters is closer to ESTree now, but should be inlined directly into <node>.params in multiple nodes
TSMappedTypeModifierOperator is boolean | '-' | '+' | undefined in TSESTree, I think my conversion is incomplete at the moment
UsingDeclaration is a VariableDeclaration (Not done in my wrapper)

Some changes could be seen as rename only, but as soon we touch the name of the nodes the type generation became complex to handle that why I didn't push more PRs for that for now.
For info the TSUnionType hack is really prettier specific.

Thanks loads for writing this up. A slightly daunting list. Thank god we are doing this as a team effort!

Part of the AST is still based on the "import assertion" spec and should be updated. I want to tackle this I think it's a good next for me to do.

OK great. If I've understood you right, this sounds like maybe we should alter the Rust types to align better, rather than translating in serde. @Boshen Do you agree?

setProp(node, "typeArguments", node.typeParameters) is not a mistake, it's because TSESLint deprecated typeParameters in multiple nodes for typeArguments but keep both for now for backward compatibility. I'm not sure what is the right move for OXC here. For ref: fix: rename typeParameters to typeArguments where needed typescript-eslint/typescript-eslint#5384

Ah I see. In https://github.com/typescript-eslint/typescript-eslint/pull/5384#issuecomment-1416962804 they say "in v7 we remove the old property". v7 landed last month but unfortunately it doesn't look like they followed through on that. Nonetheless, the old typeParameters was deprecated in v6 which is now 1 major behind.
In my view, I think we should just rename the field to typeArguments, and go with that. If it turns out later that duplicate typeParameters field is required for compat with e.g. old ESLint plugins, we could deal with it then.
Duplicating the field would require a custom impl serde::Serialize and I think these are best avoided as much as possible as it makes Oxc's code less maintainable.

Sometimes node are missing boolean, like prefix: true on UnaryExpression. I don't yet know how to do that in serde

I don't think you can with what serde offers out-of-the-box. We can do it with a custom Serialize impl, but maybe I can come up with a better way. Please leave that question with me for a bit...

StaticMemberExpression, ComputedMemberExpression & PrivateFieldExpression need to be serialized to MemberExpression with few changes

I can do this. Now we've done it with identifiers, we have a good path to follow, won't take long.

StringLiteral, BooleanLiteral, ... need to be serialized as Literal with raw value set.

Ditto.

For BigInt, because it's not in the JSON spec, it would still requires some work on the JS side but this can be done as part of the reviver function when deserializing.

I think we can do this in serde. Looks like JS AST doesn't need to contain an actual BigInt (see @typescript-eslint/parser and acorn). value field is a string "(BigInt) 10n".
Again, requires a custom impl Serialize. Grr! Another one for my list.

modifiers is not an ESTree concept. So anytime there is this prop in OXC it probably means you need to set one or two boolean on the equivalent node. Examples are VariableDeclaration.declare, ClassExpression.abstract, TSEnumDeclaration.const. My take here is that it will make the OXC AST more clean and easy to explore to have named booleans on nodes instead of a comment to say which one are 'allowed'. But I don't know the implication of this.

If compat with ESTree is now a primary goal for Oxc, then yes I agree. @Boshen?

Some types that are nullable in OXC default to empty array in ESTree, like TSInterfaceDeclaration.extends, ClassExpression.implements
FunctionBody is a BlockStatement in ESTree

I'll look into these 2. Hopefully can use #[serde(serialize_with)] for these.

FormalParameters is closer to ESTree now, but should be inlined directly into <node>.params in multiple nodes

I'll take a look. May be quite simple.

TSMappedTypeModifierOperator is boolean | '-' | '+' | undefined in TSESTree, I think my conversion is incomplete at the moment
UsingDeclaration is a VariableDeclaration (Not done in my wrapper)
Not sure yet, but the structure of hashbang, comments & directives needs some updates

OK, let's leave these for now until you've identified exactly what's needed.

Some changes could be seen as rename only, but as soon we touch the name of the nodes the type generation became complex to handle that why I didn't push more PRs for that for now.

As above, we now have a good path to follow for these, but it's a bit tricky. Totally fine to leave it to me / Boshen.

But the biggest blocker to make my repo public is the utf16 conversion. The time to print some large files goes in seconds with the dump implementation, and because I saw you plan to solve that I don't want to optimize for it.

We have agreed a way forwards for this, but it's not going to happen soon. All the optimized search routines I wrote in lexer will need to be rewritten, and will need to make sure this change doesn't destroy performance in the process. The last 2 of those optimizations are still a WIP at present, and I would like to get them finished and merged first before embarking on the next thing, and we also need to figure out how to test it. So it's a multi-step process (and not the easiest problem to start with).
So UTF-8 to UTF-16 translation will have to be on JS side for now. You may want to spend a bit of time optimizing it, if there's low-hanging fruit to be picked, but be aware it'll all be replaced later on.

Some good news is that my repo successfully gave the same output of prettier on ~500 TSX files, ~8k dts files & 10k files inside my node_modules. This is obviously a very biased dataset, but still promising!

That is extremely good news! Nice one! This effort is proving a long road, but I do feel like we're getting there...

@Boshen To avoid you wading through all the above, just to flag that the 2 items which I think most need your input are "import assertions" and modifiers.

Kind of curious the steps of how oxc pass the serialized ast to the js. If I understand correctly, it should be:
(oxc AST in rust) => (serialize to json rust string) => pass json rust string(utf8) to js => (node napi convert utf8 to utf16 to get json js string) => JSON.parse json js string to get estree.
The "(node napi convert utf8 to utf16 to get json js string)" step is the classical communication cost we talk about between rust and js for NAPI-RS program.
If serde could emit utf16 string directly, by using v8::String::NewExternalTwoByte API, we could pass the string generated in rust to js without any overhead.
(oxc AST in rust) => (serialize to json utf16 string) => pass json utf16 string to js  => JSON.parse json utf16 string to get estree.

Kind of curious the steps of how oxc pass the serialized ast to the js

You have it right - Rust types serialized to JSON with serde.
I was not aware that there's a further conversion involved in NAPI from UTF-8 to UTF-16. As I understand it, V8 also supports UTF-8 strings internally, so I'd assumed it used that string representation (the "OneByte" in v8::String::NewExternalOneByte). Maybe that assumption is incorrect - we'd need to look into it. But as far as I'm aware, serde only supports outputting JSON as UTF-8.
We could also pass the JSON from Rust to JS as a Uint8Array and then use TextDecoder to convert to a JS string on JS side, if it's faster. But if that does turn out to be faster than letting napi-rs handle the string transfer, really that should be addressed in napi-rs, as it's a very common use case.
In any case, the end goal is to transfer ASTs to JS with binary transfer (#2409), which doesn't involve strings at all, and will be much faster than any JSON-based scheme. Current POC is x3-4 faster than JSON, but I expect it to get faster still once it's optimized. The POC works (output is correct for all inputs I've tested it on), but it needs a solid block of tests to cover all edge cases, and one technicality with the allocator needs sorting out. All in all, I'd guess it'll be ready in about 2 months (my time to work on it is limited at present). Is the need for faster transfer more urgent than that? Do you think we need to try to optimize the current JSON-based scheme in the meantime?
By the way, this issue "serialize to estree" is orthogonal to the question of how the AST is transferred - it relates to the shape of the JS AST. We're currently working on aligning JS AST with ESTree by using serde, but AST transfer POC (#2457) is also tracking the changes, so switching over from one to the other should be seamless.

This isn't really relevant to this issue, but since we're discussing it here already...
I looked further into the new external string APIs in NAPI. NAPI since NodeJS v20.4.0 also provides a method node_api_create_external_string_latin1. This is partially exposed by napi-rs (only in sys crate at present, with "experimental" feature). We could make serde_json output pure ASCII (see https://github.com/serde-rs/json/issues/907) and then use the external_string_latin1 API to transfer that JSON string to JS without any memory copy. This would be simpler and faster than converting to UTF-16.
But... I suspect buffer-based AST transfer will be ready before these APIs become fully supported in napi-rs.

I am looking at several tools to parse code atm and benchmarking their performance (none-Rust related sadly):

hermes-parser
typescript compiler API
tree-sitter
ast-grep
V8 + node add on

found this issue provided great value, drop by to say thanks

Hi @zmzlois. Thanks for letting us know our ramblings provided some useful background!
By the way, we met at the JS Monthly meetup last week. I'm the one who asked you what the moral of the story of the tale of bundlers was. Very much enjoyed your talk.


Themes: switch to using ruby_prompt_info()

Changes themes displaying RVM or other Ruby version info to use the central ruby_prompt_info function. This supports more Ruby versioning mechanisms, reduces copy-and-paste code, and avoids "zsh: no such file or directory: /Users/username/.rvm/bin/rvm-prompt" when run on machines that do not have RVM installed.
Changes the prefix/suffix variable names to ZSH_THEME_RUBY_PROMPT_PREFIX and ZSH_THEME_RUBY_PROMPT_SUFFIX, since they apply to all Ruby versioning mechanisms, not just RVM.
Allows empty ZSH_THEME_RUBY_PROMPT_PREFIX and ZSH_THEME_RUBY_PROMPT_SUFFIX.
Fixes #4272
Closes #4523 (by providing a jenv_prompt_info stub)

Would love to see this merged!


[WEB-434] Moves HTM School content from .org to .com

Move the content over, updated configs of both sites, updated links on .org, updated snapshots. Test passing:
Test Suites: 96 passed, 96 total
Tests:       158 passed, 158 total
Snapshots:   4 updated, 146 passed, 150 total

@brev @lscheinkman please review

@rhyolight You'll want to move the HTM School link from the .org sitemap to the .com sitemap too. Maybe a school url var in numenta.com's config.toml?

Good point. I am also aware that numenta.com/htm-school is not on the numenta.com sitemap or linked anywhere from there. We'll address that with future numenta.com updates to match the .org ones we're going now.

FYI I did update the numenta.org sitemap to link to {links.out.school}, and the numenta.com sitemap does not link to it yet (fine for now).


Control plane deleted in wrong order/TF pod logs missing (?)

How to categorize this issue?
/area control-plane logging ops-productivity
/kind enhancement
/priority normal
What would you like to be added:
I checked a cluster that couldn't be deleted because of infra dependencies:
$ k get pods
NAME                                         READY   STATUS              RESTARTS   AGE
daily-curator-1592268360-fgw25               0/1     Completed           0          137m
elasticsearch-logging-0                      2/2     Running             0          18d
etcd-events-0                                2/2     Running             0          18d
etcd-main-0                                  2/2     Running             0          18d
gardener-resource-manager-549878d987-mkskc   1/1     Running             0          11h
hourly-curator-1592275260-cvzb6              0/1     Completed           0          22m
kibana-logging-5f44699c95-txjzs              2/2     Running             0          18d
kube-controller-manager-9f655d794-lgkpg      0/1     ContainerCreating   0          2d16h
kube-scheduler-76f7bff879-h5hcw              0/1     CrashLoopBackOff    748        39h
term-6224465904394368752                     1/1     Running             0          8m12s

What I noticed was:

There was no API server anymore, but dependent components. This is more cosmetic as it creates somewhat needless additional confusion to ops/support staff. The expectation is that the components get deleted in reverse order of creation.
I couldn't find the TF pod logs in the logging stack, but maybe I was looking wrong? The only thing I saw were scheduler logs. Where are the TF pod logs? Dropped after the TF pod issue (constant retries that flooded fluentd that then dropped all else)?

Why is this needed:
(1) is about less noise/avoidable errors and (2) about finding the logs for what the cluster operation error refers to.

I couldn't find the TF pod logs in the logging stack, but maybe I was looking wrong? The only thing I saw were scheduler logs. Where are the TF pod logs? Dropped after the TF pod issue (constant retries that flooded fluentd that then dropped all else)?

Actually the provider extensions log the full content of the logs of a terraform Pod after its execution. See https://github.com/gardener/gardener/blob/a3c0c1f06848b44e8492319c83e51b8f99cd3901/extensions/pkg/terraformer/terraformer.go#L204-L212
When I search for logs of a terraformer Pod, I go to the seed Kibana (where the logs from non-Shoot namespaces go, incl. the logs of the extension controllers) and I filter the logs by the extension Pod name as kubernetes.pod_name,is,gardener-extension-provider-<provider> and search for "<shoot-name>".

Thanks @ialidzhikov.
Out of curiosity: We have had issues some weeks ago with TF logs flooding fluentd that couldn't be put into the logging stack, because it was gone, wasn't that the case?
Overall: Having to collect control-plane-local and seed-extension-global logs to piece together the view of a cluster makes trouble-shooting a cluster harder. Then again, that's nothing really new.

There was no API server anymore, but dependent components. This is more cosmetic as it creates somewhat needless additional confusion to ops/support staff. The expectation is that the components get deleted in reverse order of creation.

I think we decided to do this on purpose in the early days of Gardener: We never explicitly deleted the other components to "save the code" and we relied on the namespace controller that cleans everything when we delete the shoot namespace. Do you suggest to change this now?

I couldn't find the TF pod logs in the logging stack, but maybe I was looking wrong? The only thing I saw were scheduler logs. Where are the TF pod logs? Dropped after the TF pod issue (constant retries that flooded fluentd that then dropped all else)?

Can you share the Shoot spec? With #2320 logs are discarded in case the shoot's purpose is testing (or if hibernated, but that seems to not be the case according to what you posted in the description).

/title Deploy logging stack as early as possible in shoot reconciliation flow
for now :)

Fixed by #2750
/close


File Not Found Exception when build the program in LSL Unity

Hi community,
I am using the Unity 2020.3.20f1 and Emotiv Insight headset.
When I try on the editor mode in Unity, the program is works.
But when I try to build it out the program it shows error and didn't work.
Any kind of help or direction would be appreciated.
Thanks in advance.

Hi Community,
I have figured out the solution. It is the file path that build the .dll file is correct. So, it just need to change to the correct path, then the problem will be solved. Thank you.


Possibility to hide menu

On GNOME / Ubuntu at least the menu shows permanently (assume it’s not an issue with macOS top menus):

Would be really cool if either the menu is hideable or doesn’t show by default, as it takes a full row.

See gitspeak/gitspeak#391

Maybe you could look into this @scanf? Should be a simple config option I think. See electron docs

Sure, can look at it this weekend.


Generating SBOM and signing docker images

Pull Request Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[x] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

Description
This PR is mainly focused on changing the docker image release process to add the generation of a SPDX SBOM file in json format and attach it to the tagged images via cosign and it will also add the sign of those images using the Mia-Platform public key.
In adding this new functions it will also add:

pinning all actions to their sha for a better security posture against supply chain attack and for preparing the generation of build attestation in the future
add a devcontainer configuration to allow people to run them locally or use it for codespaces
update dependabot with actions and devcontainer configuration
add a new dependency review action
pinned docker layers inside Dockerfile for better security posture against supply chain attacks
remove LABEL directive that is superseded via the meta step in the release process
move the security check via sysdig from an internal pipeline to the official action
update npm dependencies to the latest minor and patch releases

PR Checklist

[x] The commit message follows our guidelines included in the CONTRIBUTING.md
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Relevant CHANGELOG is updated

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.956%

Totals

Change from base Build<PHONE_NUMBER>4:
0.0%

Covered Lines:
520

Relevant Lines:
592

💛  - Coveralls


spring.cloud.stream.sendto.destination not honoring explicit binder environment

spring.cloud.stream.sendto.destination is not honoring the explicit binder environment(child context), and is trying to fetch default binder assignment from parent context which is resulting in following exception.
2020-02-11 09:58:20.022 ERROR 93060 --- [oundedElastic-1] o.s.integration.handler.LoggingHandler   : org.springframework.messaging.MessageHandlingException: error occurred in message handler [bean 'supplier_integrationflow.router#0' for component 'supplier_integrationflow.org.springframework.integration.config.ConsumerEndpointFactoryBean#0']; nested exception is java.lang.IllegalStateException: A default binder has been requested, but there is more than one binder available for 'org.springframework.cloud.stream.messaging.DirectWithAttributesChannel' : kafka2,kafka1, and no default binder has been set., failedMessage=GenericMessage [payload=byte[8], headers={id=c7453ba8-2ec1-bbda-21ad-08b93013040b, spring.cloud.stream.sendto.destination=topic-out, contentType=application/json, timestamp=1581443900010}]
        at org.springframework.integration.support.utils.IntegrationUtils.wrapInHandlingExceptionIfNecessary(IntegrationUtils.java:191)
        at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:187)
        at org.springframework.integration.handler.AbstractMessageHandler.onNext(AbstractMessageHandler.java:219)
        at org.springframework.integration.handler.AbstractMessageHandler.onNext(AbstractMessageHandler.java:57)
        at org.springframework.integration.endpoint.ReactiveStreamsConsumer$DelegatingSubscriber.hookOnNext(ReactiveStreamsConsumer.java:165)
        at org.springframework.integration.endpoint.ReactiveStreamsConsumer$DelegatingSubscriber.hookOnNext(ReactiveStreamsConsumer.java:148)
        at reactor.core.publisher.BaseSubscriber.onNext(BaseSubscriber.java:160)
        at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:123)
        at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:426)
        at reactor.core.publisher.EmitterProcessor.onNext(EmitterProcessor.java:268)
        at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:793)
        at reactor.core.publisher.FluxCreate$BufferAsyncSink.next(FluxCreate.java:718)
        at reactor.core.publisher.FluxCreate$SerializedSink.next(FluxCreate.java:153)
        at org.springframework.integration.channel.FluxMessageChannel.doSend(FluxMessageChannel.java:63)
        at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:453)
        at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:403)
        at org.springframework.integration.channel.FluxMessageChannel.lambda$subscribeTo$2(FluxMessageChannel.java:83)
        at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:189)
        at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:398)
        at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:484)
        at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
        at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: A default binder has been requested, but there is more than one binder available for 'org.springframework.cloud.stream.messaging.DirectWithAttributesChannel' : kafka2,kafka1, and no default binder has been set.
        at org.springframework.cloud.stream.binder.DefaultBinderFactory.doGetBinder(DefaultBinderFactory.java:183)
        at org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinder(DefaultBinderFactory.java:134)
        at org.springframework.cloud.stream.binding.BindingService.getBinder(BindingService.java:362)
        at org.springframework.cloud.stream.binding.BindingService.bindProducer(BindingService.java:257)
        at org.springframework.cloud.stream.binding.BinderAwareChannelResolver.resolveDestination(BinderAwareChannelResolver.java:125)
        at org.springframework.cloud.stream.function.FunctionConfiguration$1.lambda$afterPropertiesSet$0(FunctionConfiguration.java:188)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.integration.handler.LambdaMessageProcessor.processMessage(LambdaMessageProcessor.java:97)
        at org.springframework.integration.router.AbstractMessageProcessingRouter.getChannelKeys(AbstractMessageProcessingRouter.java:84)
        at org.springframework.integration.router.AbstractMappingMessageRouter.determineTargetChannels(AbstractMappingMessageRouter.java:202)
        at org.springframework.integration.router.AbstractMessageRouter.handleMessageInternal(AbstractMessageRouter.java:170)
        at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:170)

Sample Project: https://github.com/ncheema/spring-cloud-stream-bug
Spring cloud stream version: 3.0.2.BUILD-SNAPSHOT
@SpringBootApplication
public class Application {
    private EmitterProcessor<Message<String>> processor = EmitterProcessor.create(false);

    @Bean
    public Supplier<Flux<Message<String>>> supplier() {
        return () -> processor;
    }

    @Bean
    public Consumer<Flux<String>> consumer() {
        return msg -> msg
                .map(m -> MessageBuilder
                        .withPayload(m)
                        .setHeader("spring.cloud.stream.sendto.destination", "topic-out")
                        .build())
                .doOnNext(processor::onNext)
                .subscribe();
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

spring.cloud.stream:
  function.definition: supplier;consumer;
  bindings:
    supplier-out-0:
      destination: topic-out
      binder: "kafka1"
    consumer-in-0:
      destination: topic-in
      binder: "kafka2"
  binders:
    kafka1:
      type: kafka
      environment:
        spring:
          cloud:
            stream:
              kafka:
                binder:
                  brokers: localhost:9092
    kafka2:
      type: kafka
      environment:
        spring:
          cloud:
            stream:
              kafka:
                binder:
                  brokers: localhost:9092

Why do you have the value in quotes? - binder: "kafka2"

@olegz I removed the quotes but the issue is still present.
@sobychacko I agree binder must be specified.  this issue is tailored at spring.cloud.stream.sendto.destination which lets us alter the destination topic via headers.
  @Bean
    public Consumer<Flux<String>> consumer() {
        return msg -> msg
                .map(m -> MessageBuilder
                        .withPayload(m)
                        .setHeader("spring.cloud.stream.sendto.destination", "topic-out")
                        .build())
                .doOnNext(processor::onNext)
                .subscribe();
    }

The issue is very closely related to (https://github.com/spring-cloud/spring-cloud-stream/issues/1880) where the parent context was used rather than the child context
updated exception log
[bean 'supplier_integrationflow.router#0' for component 'supplier_integrationflow.org.springframework.integration.config.ConsumerEndpointFactoryBean#0']; nested exception is java.lang.IllegalStateException: A default binder has been requested, but there is more than one binder available for 'org.springframework.cloud.stream.messaging.DirectWithAttributesChannel' : kafka2,kafka1, and no default binder has been set., failedMessage=GenericMessage [payload=byte[8], headers={id=8b7de95a-6f07-8ad5-b0f5-780297eed494, spring.cloud.stream.sendto.destination=topic-out, contentType=application/json, timestamp=1581466207264}]

Taking another stab at explaining the problem, hopefully this would help clarify.
Given a multibinder config, where the destination topic for a supplier  is set dynamically via spring.cloud.stream.sendto.destination header,   doesn't function unless spring.cloud.stream.defaultBinder is set to same binder as the destination binding's binder.
Breakdown:
Consumer is settings spring.cloud.stream.sendto.destination is set via header
@SpringBootApplication
public class Application {
    private EmitterProcessor<Message<String>> processor = EmitterProcessor.create(false);

    @Bean
    public Supplier<Flux<Message<String>>> supplier() {
        return () -> processor;
    }

    @Bean
    public Consumer<Flux<String>> consumer() {
        return msg -> msg
                .map(m -> MessageBuilder
                        .withPayload(m)
                        .setHeader("spring.cloud.stream.sendto.destination", "topic-out")
                        .build())
                .doOnNext(processor::onNext)
                .subscribe();
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Non functional config
this  config throws the following error.
A default binder has been requested, but there is more than one binder available
spring.cloud.stream:
  function.definition: supplier;consumer;
  bindings:
    supplier-out-0:
#      destination: topic-out
      # destination topic is set via header spring.cloud.stream.defaultBinder
      binder: kafka1
    consumer-in-0:
      destination: topic-in
      binder: kafka2
  binders:
    kafka1:
      type: kafka
      environment:
        spring:
          cloud:
            stream:
              kafka:
                binder:
                  brokers: localhost:9092
    kafka2:
      type: kafka
      environment:
        spring:
          cloud:
            stream:
              kafka:
                binder:
                  brokers: localhost:9092

Working Config
Config works, as we are settings spring.cloud.stream.defaultBinder to supplier binder (kafka1)
spring.cloud.stream.defaultBinder: kafka1
spring.cloud.stream:
  function.definition: supplier;consumer;
  bindings:
    supplier-out-0:
#      destination: topic-out
      # destination topic is set via header spring.cloud.stream.defaultBinder
      binder: kafka1
    consumer-in-0:
      destination: topic-in
      binder: kafka2
  binders:
    kafka1:
      type: kafka
      environment:
        spring:
          cloud:
            stream:
              kafka:
                binder:
                  brokers: localhost:9092
    kafka2:
      type: kafka
      environment:
        spring:
          cloud:
            stream:
              kafka:
                binder:
                  brokers: localhost:9092

is your topic really dynamic? You seem to hard code the value of sendTo to be topic-out at all times.
Also, your bootstrap can be greatly simplified if you just use a single Function instead of a pair of Consumer and Supplier.
@SpringBootApplication
public class Application {

    @Bean
    public Function<Flux<String>, Flux<Message>> function() {
        return value -> MessageBuilder
                        .withPayload(value)
                       // .setHeader("spring.cloud.stream.sendto.destination", "topic-out") not sure if this is needed at all
                        .build();
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

and then refer to input as function-in-0 and output as function-out-0

is your topic really dynamic?
Yes, in our use case topic is dynamic.  I am however hard coding in sample code to keep it simple.

Thank you for the simplification. Our actual use-case requires EmitterProcessor, so kept that in the sample as well.
If you and team would like I can change the sample to be a dynamic topic.

What do you mean ...requires EmitterProcessor...? The use of EmitterProcessor is just means to an end primarily for cases where data arrives from external (non-binder) system such as rest endpoint etc. In your case you have two binders, one for input and one for output. You can simply connect it with function (as described).
No, no need to change, i understand the issue, so let me see what we can dig up

Ok, l confirmed this is a bug. Perfect timing though as we were about to release 3.0.2, so we
'll fix it before he release.

Actually changed it to enhancement since it really never worked

@ncheema Actually I just re-read what @sobychacko  said earlier and that is correct, you do have miss-configuration, so let me try to explain it a bit differently.
When you specify spring.cloud.stream.<something>.*, the <something> is the name of the binding. You always send/receive messages to/from bindings. The bindings could further be mapped to destinations which correspond to the actual queues/exchanges/topics etc. in your broker.
This means that in your configuration:
...
bindings:
    supplier-out-0:
        destination: topic-out
        binder: kafka1
...

. . . the binding name is supplier-out-0 and it is further mapped to a broker destination topic-out in the kafka1 binder. So when you send message to ("spring.cloud.stream.sendto.destination", "topic-out") the system simply could not resolve the binder for dynamic binding topic-out.
If you were to change it to:
...
bindings:
    topic-out:
        binder: kafka1
...

(as Soby suggested earlier) then everything would work as expected.
So to summarise, dynamic binding resolution only works with a single binder or in case of multiple binders for cases when binding names are known  ahead of time. If they are not the behavior you describe is actually expected behavior. That said I am not against adding this as a feature, so feel free to change the description of the original issue or let me know if you're ok with it and I'll do it. Basically something like "Add support for dynamic binding resolution in multiple binder scenarios when binding names are not known ahead of time".
We would probably require another header
.setHeader("spring.cloud.stream.sendto.destination", "topic-out")
.setHeader("spring.cloud.stream.sendto.binder", "kafka1")

@olegz, @sobychacko suggestion  indeed solves the problem. I apologize for not thoroughly reading @sobychacko' suggestion earlier.
regards to your comment for

What do you mean ...requires EmitterProcessor...? The use of EmitterProcessor is just means to an end primarily for cases where data arrives from external (non-binder) system such as rest endpoint etc. In your case you have two binders, one for input and one for output. You can simply connect it with function (as described).

our use-case:  input is of type List<String> and  output is to publish each element of the list as a separate message(Message<String>).  Not sure how to accomplish this without the usage of the EmitterProcessor(sample below).
@SpringBootApplication
public class Application {
    private EmitterProcessor<Message<String>> processor = EmitterProcessor.create(false);

    @Bean
    public Supplier<Flux<Message<String>>> supplier() {
        return () -> processor;
    }

    @Bean
    public Consumer<List<String>> consumer() {
        return msg -> msg.forEach(
                m -> processor.onNext( MessageBuilder
                        .withPayload(m)
                        .setHeader("spring.cloud.stream.sendto.destination", "topic-out")
                        .build()));
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@olegz
I am using dynamic topic in the header with multiple binder and getting the error
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IllegalStateException: A default binder has been requested, but there is more than one binder available for

We would probably require another header as you suggested
.setHeader("spring.cloud.stream.sendto.destination", "topic-out")
.setHeader("spring.cloud.stream.sendto.binder", "kafka1")

Is there any other  workaround for this ?

@natraj09 have you read the previous comments? It appears that there is a workaround or even a solution

@olegz I already read through the comments and tried out various options.
My destination is dynamic and it cannot be statically mapped.


Failed expo assertion

When doesnt_work() is uncommented, the code:
object Vec3 {x, y, z}

def abs(x):
  if x < 0.0:
    return -1.0 * x
  else:
    return x

def works():
  return Vec3 {x: 0, y: 1, z: 0}

#def doesnt_work():
#  return Vec3 {x: 0.0, y: 1.0, z: 0.0}

def main():
  return "Hello, World!"

yields the error:
assertion failed: expo >= -63 && expo <= 63
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
exit status: 101

HVM has a bug in it's conversion of f32 to f24 and it's unable to read the number 0.0. We already have a fix we're working on.
I'll close and move to the HVM repo


List Initialization in Java

Proposed title of article
List Initialization in Java
Introduction paragraph (2-3 paragraphs):
Collection has a child interface called Java.util.List. It's a sorted collection of objects that can store duplicate values. List supports positional access and insertion of members because the insertion order is preserved. ArrayList, LinkedList, Vector, and Stack classes implement the List Interface.
In this article, we will learn how to initialize these lists in java.
Key takeaways:
-Initializing a list using Collections class methods.
-Initializing a list using List.add() method.
-Initializing a list using Arrays.asList().
-Initializing a list using Java 9 List.of().
References:
N/A

Good afternoon and thank you for submitting your topic suggestion @SusanKiptoo.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@SusanKiptoo Unfortunately, this topic is already covered in numerous tutorials and official documentation. Feel free to suggest another topic. Thanks


Error using inat bird model with opencv detect.py

I'm trying to run the inat bird object detection model with opencv, I changed the model and labels files in /home/pi/google-coral/examples-camera/opencv/detect.py to mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite, inat_bird_labels.txt respectively.
Please, note that I had done this with raspicam's classify_capture.py and it works fine.
When I run the open model on the CLI using the command 'python3 detect.py', I get the error
Traceback (most recent call last):
  File "detect.py", line 133, in <module>
    main()
  File "detect.py", line 109, in main
    objs = get_output(interpreter, score_threshold=args.threshold, top_k=args.top_k)
  File "detect.py", line 57, in get_output
    class_ids = common.output_tensor(interpreter, 1)
  File "/home/pi/google-coral/examples-camera/opencv/common.py", line 53, in output_tensor
    output_details = interpreter.get_output_details()[i]
IndexError: list index out of range

Any help on this issue?

Hi Memmusty,
The model you selected, mobilenet_v2_1.0...  is a classification model, not a detection model:  https://aihub.cloud.google.com/p/products%2F5ea70ed9-9bd7-41e5-898f-e1509e8793bd
That's why that model works with the classify_capture.py code.
Try a mobilenet_ssd model for detection.


As a user, I want to see all the tip proposers

Currently we have top 11 tip proposers, but that's not enough, I want to see the list contains all the proposers, ranked by the proposed tip count.

Figma link
Preview


Fix instructions on local build.

Also add a note to clarify that ratel needs to be in your GOPATH to
correctly run the build script.

This change is

Thank you for the fix


Rev4A features (laser TEC setpoint, max integration time etc)

XS-Series

update EEPROMEditor to let startup_temp_degC be used for laser TEC as well as detector TEC
fixed DetectorTemperatureFeature on ambient detectors
enforce eeprom.max_integration_time_ms
StatusIndicators show laser unavailable when battery low

refactoring

moved BatteryFeature, StatusIndicators to ctl

@samiebee43, any issues?  This was used for 4.0.15.

In the future I would rather merge to main without approval than cut a release from a branch. Main should always be the same or more recent than the last release candidate.


Maven: Add speedment:init goal

Add a new goal to the speedment-maven-plugin to generate a minimal speedment.json-file with the most basic options specified as command-line-parameters. This would make it possible to initialize, load and generate code without launching the UI.
 I'll see if I can find time to work on this over the weekend / next week.

Since this functionality is already in place, is there a reason it is still open? Or has it not been officially released yet?


Update Website text from portal to microservices

[ ] Have you followed Contribution Guidelines

Hello @lakhanmandloi, This is a auto-generated response.  Click the URL for review pull request - http://39.www-qa.sunbird.org .

Hello @lakhanmandloi, This is a auto-generated response.  Click the URL for review pull request - http://39.www-qa.sunbird.org .


Adding a Read more button in news section

Is your feature request related to a problem? Please describe.
The news in the news section needs to have a link that redirects user to the source of it.
Describe the solution you'd like
Added a read more button for each news with the links of each news

please assign me this issue under SWOC'24


[bug] Contributor instructions have a missing script

Describe the bug
The contributor instructions state that one needs to run pnpm test:prepublish but it fails with
ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command "test:prepublish" not found

Did you mean "pnpm prepublish"?

The auto-suggested command seems to work.
Expected behavior
pnpm test:prepublish to be a script that does something
Additional context

Fedora Linux 40 (KDE Plasma) x86_64
pnpm 9.0.6

Thank you! I will fix it asap:)

Fixed it.


Error: Vk auth is invalid for this user

Hello,
I am using flutter_login_vk with parse server. Several weeks ago similar code (with 1.0.0 version of flutter_login_vk) and similar configuration was working fine. Now I am getting this error when I try to login. I noticed that latest Android SDK version for vk is 3.4.0 but plugin uses 3.2.2 version. Is this the reason that I am getting this error?
final ParseResponse response = await ParseUser.loginWith(
        "vkontakte", authData,
      );

I get following error:
I/flutter ( 9656): ╭-- Parse Response
I/flutter ( 9656): Class: _User
I/flutter ( 9656): Function: ParseApiRQ.loginWith
I/flutter ( 9656): Status Code: 101
I/flutter ( 9656): Type: ObjectNotFound
I/flutter ( 9656): Error: Vk auth is invalid for this user.
I/flutter ( 9656): ╰--

void vkLogin() async {
    vk = VKLogin();
    await vk.initSdk();
    final res = await vk.logIn(scope: [
      VKScope.email,
      VKScope.photos,
    ]);
    if (! res.isError) {
      print("LoginView: vkLogin not error");
      final loginResult = res.asValue!.value;
      if (! loginResult.isCanceled) {
        print("LoginView: vkLogin not cancelled");
        var accessToken = loginResult.accessToken;
        vkAccessToken = accessToken!.token;
        vkUserId = accessToken.userId;
        await vkLoginWithToken();
      } else {
        print("Login cancelled");
      }
    } else {
      print("Logged in failed");
    }
}

Future<void> vkLoginWithToken() async {
    print("LoginView: vkLoginWithToken");
    if (vkAccessToken == null) return;
    if (await vk.isLoggedIn) {
      email = await vk.getUserEmail();
      var profile1 = await widget.data!.vk.getUserProfile();
      var profile = await profile1.asFuture;
      firstName =  profile!.firstName;
      lastName =  profile.lastName;
      pictureUrl = profile.photo200!;
      // Login to parse with vk
      var authData = {
        "id": vkUserId!,
        "access_token": vkAccessToken!
      };
      final ParseResponse response = await ParseUser.loginWith(
        "vkontakte", authData,
      );
      if (response.success) {
        // User is logged in, test with ParseUser.currentUser()
        currentUser = await ParseUser.currentUser();
      } else {
        print("Logged in failed");
      }
    } else {
      print("Unexpected error");
    }
}

Same project was working fine with flutter_login_vk version 1.0.0 several weeks ago. Now 1.0.0 is not working anymore either.
I get this log from parse server when ParseUser.loginWith executed:
I/flutter ( 9656): ╭-- Parse Response
I/flutter ( 9656): Class: _User
I/flutter ( 9656): Function: ParseApiRQ.loginWith
I/flutter ( 9656): Status Code: 101
I/flutter ( 9656): Type: ObjectNotFound
I/flutter ( 9656): Error: Vk auth is invalid for this user.
I/flutter ( 9656): ╰--

Now I get it =)
Looks like accessToken is correct, because you can load profile information with VKLogin.getUserProfile(). This and the fact that version 1.0.0 was working and now it doesn't, suggests that there are some problem with ParseUser.loginWith or VK changed something.
If you can trace requests to VK from Parse Server and responses, that might be provide some useful information.

I reported this issue at parse server too. I was not sure if it is related to parse server or flutter_login_vk.
So I tested the same code with iOS simulator and it works at iOS. In this case the problem should not be related to parse server.
Is it possible to related with android sdk 3.2.2? As far as I know 1.0.0 was using android sdk 1.6.7. Android sdk upgraded from 1.6.7 to 3.2.2? And I noticed that 1.0.0 was using ios sdk 1.6.1 and 2.1.0 is using ios sdk 1.6.2.

This problem occurs only at android devices, and does not occur at iOS devices.

When I try to use 1.0.0 or 1.0.1 version I get this error. If we can fix this, I maybe use old version to login to vk.
E/flutter ( 4762): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type 'Null' is not a subtype of type 'int' in type cast
E/flutter ( 4762): #0      new VKAccessToken.fromMap (package:flutter_login_vk/src/models/vk_access_token.dart:14:38)
E/flutter ( 4762): #1      new VKLoginResult.fromMap (package:flutter_login_vk/src/models/vk_login_result.dart:18:29)
E/flutter ( 4762): #2      VKLogin.logIn (package:flutter_login_vk/src/vk_login.dart:178:43)
E/flutter ( 4762): <asynchronous suspension>
E/flutter ( 4762): #3      _LoginViewState.vkLogin (login.dart:176:17)
E/flutter ( 4762): <asynchronous suspension>

Sometimes I also get this error
E/flutter ( 7717): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(API_ERROR, Get profile error: null, {apiCode: -101, message: null}, null)

If you can trace requests to VK from Parse Server and responses, that might be provide some useful information.

Problem still exists. How can I trace requests to VK from Parse Server and responses?

Hey! Can you try version from GitHub, branch 16.android-sdk-3.4? Does it have a problem too?
https://github.com/Innim/flutter_login_vk/tree/feature/16.android-sdk-3.4

Hey! Can you try version from GitHub, branch 16.android-sdk-3.4? Does it have a problem too?
https://github.com/Innim/flutter_login_vk/tree/feature/16.android-sdk-3.4

I am sorry for late reply. I was busy with another project and I didn't have time to test this branch but I have another feedback from parse-server issue of github. And I think I have a solution for this problem. I don't know if it is a workaround or perfect solution. But I can login with vk now.
As a summary, I added VKScope.offline skope when login to vk. And it seems to working fine now. You may consider to update the documentation for this.
https://github.com/parse-community/parse-server/issues/6936#issuecomment-999413972


Does destinations able to fully backup ?

The sync --destinations looks like key:value for destinations name and some hash key not full destinations information.
How can I backup and restore destinations ? Thanks

@sendme365 Thanks for reporting an issue. This feature is currently not there but would be good to have. I'll put this as part of backlog and work on this. Feel free to contribute back and have PR for the same.


Aggressive Warning

Warning: A component is contentEditable and contains children managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.

Is this needed for every onChange? Seems to do justice just on the component mounting.
Ps. This project made my day.

Yeah, this is tracking on the React repo: https://github.com/facebook/react/issues/5837

Ps. This project made my day.

:D


Paranal altitude should be 2147

https://github.com/gammasim/gammasim-tools/blob/0db4fe45ff9fefca57c6d7e14a4f12b7bf0f6ced/data/corsika/corsika_parameters.yml#L65
The Paranal altitude I see in the Prod5 configuration files is 2147m, is there a reason why this is 2150 here?

Fixed in #163


Unable to create aquasec_role_mapping_saas

Terraform Version
terraform 1.3.7
terraform-provider-aquasec_v0.8.24
Affected Resource(s)
Please list the resources as a list, for example:

aquasec_role_mapping_saas

If this issue appears to affect multiple resources, it may be an issue with Terraform's core, so please mention this.
Terraform Configuration Files
resource "aquasec_role_mapping_saas" "post_user" {
  csp_role = aquasec_role.post_user.role_name

  saml_groups = [
    "xxx",
    "yyy"
  ]
}

Debug Output
---
Panic Output
---
Expected Behavior
TF runs without errors, mapping is created
Actual Behavior
Terraform v1.3.7
on linux_amd64
Initializing plugins and modules...
aquasec_role_mapping_saas.post_user: Creating...
aquasec_role_mapping_saas.post_admin: Creating...
╷
│ Error: error calling /v2/samlmappings, error: {"status":403,"id":"00000000-0000-0000-0000-000000000000","code":1,"message":"Access denied","errors":["The request is missing the session token. Please login."]}
│
│   with aquasec_role_mapping_saas.post_admin,
│   on access.tf line 98, in resource "aquasec_role_mapping_saas" "post_admin":
│   98: resource "aquasec_role_mapping_saas" "post_admin" {
│
╵
╷
│ Error: error calling /v2/samlmappings, error: {"status":403,"id":"00000000-0000-0000-0000-000000000000","code":1,"message":"Access denied","errors":["The account session is malformed. Please login again."]}
│
│   with aquasec_role_mapping_saas.post_user,
│   on access.tf line 107, in resource "aquasec_role_mapping_saas" "post_user":
│  107: resource "aquasec_role_mapping_saas" "post_user" {
│
╵

~One thing that I observe while creating it via the UI is that the HTTP method (PUT vs. POST) could be wrong?: sso.go~
(func createSsoBasic() seems to be used only in non-SaaS environment)
Steps to Reproduce
Define aquasec_role_mapping_saas and apply it.
Important Factoids
SaaS platform
References
---

Okay found it out using https://github.com/mitmproxy/mitmproxy:


fix radar chart negative value rendering bug if startAtZeroEnabled is false for issue #166

For issue #166
we have to check if Double(yMin) / interval will be  -1<x<0, if this is the case, ceil(x) would be 0. but I think we need it to be -1.
In order to render the negative values correctly,
 _yAxis.axisMinimum = _yAxis.entries[0];

is the key.
I have been thinking about different ways to fix. But I was suddenly realized the whole reason is the axisMinimum is not changed while the entries have been modified. Add this line solved my problem, and other radar charts remain good on my side. So I think this should be the correct way to fix it.
@danielgindi you must double check here, because I am not sure if you missed to set it, or you intend not to set _yAxis.axisMinimum.

I still need to understand the different situations to see what you did here... Could you supply samples - before/after?

This is mainly about issue #166. Current logic for negative values has defect, especially for radar chart. Go to #166 to see all the details and the screenshot before and after.
You can try on your side, just turn off startAtZeroEnabled, and feed a nagative value. We need to use floor instead of ceil for negative values.
For radar chart, _yAxis.axisMinimum = _yAxis.entries[0]; is missing for correctly rendering negative values;
For commit: fix drawing out of bound negative value axis labels issue:
If the axis contains negative values, it will draw out of the bound; I have a screenshot in issue #166 as well.
For commit: drawExtras should also be included before restoring clipped context:
I think drawExtras should be included in the clipped context; otherwise it will render out of the chart.

I will close this since this mixed up some different issue here, though it is quite slight. I will use different branch for this issue.

OK, split done. see pull request #207, #208, #209


Fix HTTPHeaderDict implementation for multiple headers

Allow all headers to have multiple values
Special-case how cookie, set-cookie, and set-cookie2 are presented/handled
Trim some extraneous whitespace

Fixes #561

Please look very carefully at this pull request while reviewing it.
Specifically, for the three header names that were special cased, I do not return all of the values when you do
header_dict['set-cookie']

Only the first one in the list. If all header values are needed, then you must use ```HTTPHeaderDict.getlist``

What do we think the odds are that anyone is calling getlist for those headers?

Closing in favour of #563.


PhantomJS dependency failing

><EMAIL_ADDRESS>install /Users/.../esds-build/node_modules/phantomjs-prebuilt
> node install.js

PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-macosx.zip
Saving to /tmp/phantomjs/phantomjs-2.1.1-macosx.zip
Receiving...

Error making request.
Error: connect ETIMEDOUT <IP_ADDRESS>:443
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14)

Please report this full log at https://github.com/Medium/phantomjs
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/me/.npm/_logs/2018-02-21T21_07_01_450Z-debug.log

This issue was due to an internal npm registry hiccup. From the public reg, everything is working fine.


Receipt & Grace Period.

There is no documentation for receipt and when we use subscription with free trial then no information when it will expire and when complete subscription will expire. I am unable to find proper documentation. There is no prior information when free trial will finish and when make payment for selected subscription.

I'm sorry but the available documentation is what I have the bandwidth for. The example project should be understandable, the README should get you off the ground, and the public API of the framework is thoroughly commented. I am obviously open to other people submitting richer documentation resources, via pull requests.


How to use this library?

Hello, what are the dependencies? How can I use your library in my Android Studio on Ubuntu / Linux? I've been researching a lot and it's very difficult to get something. If you can give me detailed instructions I will be very grateful.

@VSecur you just need to follow the instructions available here: https://github.com/SandroMachado/openalpr-android#usage
You can also check the sample app available here: https://github.com/SandroMachado/openalpr-android/tree/master/Sample/OpenALPRSample

Do I need OpenALPR? I was seeing other issues and I realized that if you want to use for Brazilian boards I need to recompile.

Yup, the current version only supports US and EU.

So should I compile following these instructions (dasd) and copy the runtime_data folder with the files to Brazilian boards?

Yes, you need to compile the library and move it to the runtime_data folder.
Yes, I really need to update to the latest version of openalpr, but unfortunately it is not easy and requires a lot of time. I also created an issue in the parent project to include the Android binaries for each release. You can do a +1 in that issue, that will help a lot in the process of keeping this library sync with this one.


onSnap ignores boundaries

onSnap ignores boundaries and reports where it would have snapped to if boundaries were not defined.
See example at https://snack.expo.io/@devlinb/github.com-wcandillon-can-it-be-done-in-react-native:bonuses-horizontal-slider
The two sliders are set to not be able to go past each other, each shows the last reported onSnap index.
If one of the sliders is slammed into the other one, its index will go past its physical position, even though the slider's actual position is correct.

Nevermind was using some re-implementation not the original.


What is the meaning of the parameter in IP_global.cfg？

I have a problem with the floorplan phase of OpenRoad-flow.
Its macro positioning is always wrong and it reports segment fault.
Finally I found IP_global.cfg, but I don't understand what the parameter inside means

// Global Fin
set ::FIN_PITCH 0.0025
// Global Row Height
set ::ROW_HEIGHT 1.4
// Global Placment Height
set ::SITE_WIDTH 0.19
// Global Halo Width Vertical Edge
set ::HALO_WIDTH_V 15.12
// Global Halo Width Horizontal Edge
set ::HALO_WIDTH_H 22.4
//Global Vertical Channel Width
set ::CHANNEL_WIDTH_V 19.95
//Global Horizontal Channel Width
set ::CHANNEL_WIDTH_H 18.8

ヽ(✿ﾟ▽ﾟ)ノ Hope to get help form you.

look in src/TritonMacroPlace/doc/

Thank you for solving the problem ！


Pytorch3d compatibility with Pytorch_Geometric

❓ Questions & Help
Are the 2 compatible?

Yes, PyTorch3d builds upon PyG.

Hi,
Are you sure you are refering to Pytorch3D and not to Torch Points 3D?
I say it because the latter clearly builds on Pytorch Geometric, but not the former. I cannot find any Pytorch Geometric dependency in Pytorch3D, and it is being a bit of a headache to get both (Pytorch3D and Pytorch Geometric) working together.
Best regards,
Víctor