refactor(parser): lexer replace Chars with Source

This PR replaces the Chars iterator in the lexer with a new structure Source.
What it does
Source holds the source text, and allows:

Iterating through source text char-by-char (same as Chars did).
Iterating byte-by-byte.
Getting a SourcePosition for current position, which can be used later to rewind to that position, without having to clone the entire Source struct.

Source has the same invariants as Chars - cursor must always be positioned on a UTF-8 character boundary (i.e. not in the middle of a multi-byte Unicode character).
However, unsafe APIs are provided to allow a caller to temporarily break that invariant, as long as they satisfy it again before they pass control back to safe code. This will be useful for processing batches of bytes.
Why
I envisage most of the Lexer migrating to byte-by-byte iteration, and I believe it'll make a significant impact on performance.
It will allow efficiently processing batches of bytes (e.g. consuming identifiers or whitespace) without the overhead of calculating code points for every character. It should also make all the many peek(), next_char() and next_eq() calls faster.
Source is also more performant than Chars in itself. This wasn't my intent, but seems to be a pleasant side-effect of it being less opaque to the compiler than Chars, so it can apply more optimizations.
In addition, because checkpoints don't need to store the entire Source struct, but only a SourcePosition (8 bytes), was able to reduce the size of LexerCheckpoint and ParserCheckpoint, and make them both Copy.
Notes on implementation
Source is heavily based on Rust's std::str::Chars and std::slice::Iter iterators and I've copied the code/concepts from them as much as possible.
As it's a low-level primitive, it uses raw pointers and contains a lot of unsafe code. I think I've crossed the T's and dotted the I's, and I've commented the code extensively, but I'd appreciate a close review if anyone has time.
I've split it into 2 commits.

First commit is all the substantive changes.
2nd commit just does away with lexer.current which is no longer needed, and replaces lexer.current.token with lexer.token everywhere.

Hopefully looking just at the 1st commit will reduce the noise and make it easier to review.
SourcePosition
There is one annoyance with the API which I haven't been able solve:
SourcePosition is a wrapper around a pointer, which can only be created from the current position of Source. Due to the invariant mentioned above, therefore SourcePosition is always in bounds of the source text, and points to a UTF-8 character boundary. So Source can be rewound to a SourcePosition cheaply, without any checks. I had originally envisaged Source::set_position being a safe function, as SourcePosition enforces the necessary invariants itself.
The fly in the ointment is that a SourcePosition could theoretically have been created from another Source. If that was the case, it would be out of bounds, and it would be instant UB. Consequently, Source::set_position has to be an unsafe function.
 Of course the parser won't create 2 Lexers at the same time. But still it's possible, so I think better to take the strict approach and make it unsafe until can find a way to statically prove the safety by some other means. Any ideas?
Oddity in the benchmarks
There's something really odd going on with the semantic benchmark for pdf.mjs.
While I was developing this, small and seemingly irrelevant changes would flip that benchmark from +0.5% or so to -4%, and then another small change would flip it back.
What I don't understand is that parsing happens outside of the measurement loop in the semantic benchmark, so the parser shouldn't have any effect either way on semantic's benchmarks.
If CodSpeed's flame graph is to be believed, most of the negative effect appears to be a large Vec reallocation happening somewhere in semantic.
I've ruled out a few things: The AST produced by the parser for pdf.mjs after this PR is identical to what it was before. And semantic's nodes and scopes Vecs are same length as they were before. Nothing seems to have changed!
I really am at a loss to explain it. Have you seen anything like this before?
One possibility is a fault in my unsafe code which is manifesting only with pdf.mjs, and it's triggering UB, which I guess could explain the weird effects. I'm running the parser on pdf.mjs in Miri now and will see if it finds anything (Miri doesn't find any problem running the tests). It's been running for over an hour now. Hopefully it'll be done by morning!
I feel like this shouldn't merged until that question is resolved, so marking this as draft in the meantime.

Interesting to see most of the speed ups come from identifier_tail, which is the only function that shows up from linter performance profiles.

The semantic performance change is flaky, we can safely ignore it.

Don't worry about the codspeed report, feel free to merge once you're satisfied with code since this is still marked as a draft.

Interesting to see most of the speed ups come from identifier_tail, which is the only function that shows up from linter performance profiles.

I'm a bit dubious about CodSpeed's flame graph diffs. I think the BYTE_HANDLERS jump table makes it difficult for it to "match up" the functions before and after, perhaps because they're all called core::ops::function::FnOnce::call_once. In this case, it shows one byte handler function as being 6 x faster (the one in green) but then another one is 99.76% slower (the one in red). I don't think either of those results is plausible, so likely it's comparing one byte handler before to a different one after in both cases.

The semantic performance change is flaky, we can safely ignore it.

I'm still a bit concerned it may possibly indicate UB. Miri run completed last night but the output was unreadable because it found 1150 memory leaks! (the ones we already know about) Am running it again with memory leak detection disabled. Will report back.
Can I ask: Have you ever seen flaky results with such a large margin (4%) before?
Also, now I've pushed the extra commit which added a comment, it's got much worse! (though that may be in part due to unrelated changes on main since last night)

I rebased and the report is correct now.
codspeed sometimes get flaky when there is a large memory allocation, don't worry about it.

Have rebased on top of #2301 to see if the lexer flame graph with named functions sheds any more light on the weird semantic benchmark.
Am also running Miri again (4 hours and counting!). If it doesn't find anything, I think we're all good. But I am nervous of merging this until Miri gives the all clear. There's so much unsafe raw pointer action in this PR it'd be easy for me to have made a mistake which causes UB.

Miri gives it a pass. Seems I was worrying too much.
So I think now ready to merge. But @boshen could you please merge #2301 and #2304 first? (if you're happy with them)

I'll run all the fuzzers when I wake up.

random bytes fuzzer: the parser timed out on $g<  g<g<(b<b<(r=b<(r=g<(i<b<(r=b=g<(i<b<(r=b<(gb=g<(i<b<(r=b<(g<(g<g<(i<b<fh?.<[h<(/(/, which is a know issue around rewind.
AST fuzzer passed.
I think we are good to go after the merge conflict is resolved.

Thanks very much for running the fuzzer. It feels like we can be more confident now that no problem with the changes introduced in this PR.
Have rebased on main, and now ready for merge once CI has passed.

CI passes. Have merged. Hooray! Thanks loads for all your help on this @boshen.


Feature request: ordered dictionary support

Can you tell me more details?

sometimes it is necessary to serialize dictionary into json with a custom order but in swift and many other languages dictionaries have no items order at all.


⚠ Samsung has degraded performance

In 1e802a7, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2180 ms

Resolved: Samsung performance has improved in c0a6e0e.


problems with freshly downloaded controlled vocabularies json

Trying to update the data model, but something is wrong with the new json I downloaded for controlled vocabulary:
import pandas as pd
# no problem
pd.io.json.read_json('/Users/***/Python/PmagPy/pmagpy/data_model/controlled_vocabularies_February_6_2017.json')
# fails
pd.io.json.read_json('/Users/***/Python/PmagPy/pmagpy/data_model/controlled_vocabularies_August_9_2018.json')

Both pass validations at jsonlint.com.  Sigh.

Well, this makes no sense.  I just pulled out the new json in a few chunks and pasted it into a different file.  And now it works.

@rminnett, I'm not sure if this is a concern for you, but it might be relevant for others trying to use the controlled vocabularies/suggested vocabularies json.
Neither file could be parsed by pandas, although jsonlint said they were both valid.  All I had to do to make each file work was to copy and paste its contents into a new json file, which initially had me very confused.
The diff between the working file and the failing file:
1c1
< {
---
> {

The problems turns out to be the initial character \ufeff.
https://stackoverflow.com/questions/17912307/u-ufeff-in-python-string
I can solve this by specifying the encoding 'utf-8-sig', but I wonder if others could run into this issue and be similarly confused?

Thanks! I wonder if one of the javascript packages changed to produce a JSON string with a leading BOM? I expected it to be UTF-8 encoded, but without the BOM. I'll look into it.


Access token is not automatically fetched when a request is used in a test

Expected Behavior
When a request uses the "Request-> OAuth 2.0 Access Token" to set an Authorization header I expect the test to automatically retrieve the access token.
I see no way to script this from the documentation.
Actual Behavior
An error occurs on the inso test execution.
Error: Failed to run the request. This is likely due to missing environment variables that are referenced in the request.
Reproduction Steps

Create a request which defines an OAuth2 authentication configuration. In insomnia I can use this to fetch an access token.
The request then defines an Authorization header, with a tag referencing the OAuth2 access token.
Create a simple test, which invokes this request and expects a 200 response.
Executing the test using inso run test

If you disable the Authorization header the error disappears, but obviously the test fails with a 401 error.
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
2023.4.0
What operating system are you using?
Windows
Operating System Version
Edition	Windows 11 Enterprise Version	22H2 Installed on	12/04/2023 OS build	22621.1992 Serial number	PW039BQ8 Experience	Windows Feature Experience Pack 1000.22644.1000.0
Installation method
Downloaded from Insomnia.rest
Last Known Working Insomnia version
No response

I've tried using request chaining as an alternative here, where there's a separately defined "Get access token" request, which the requests under test are configured to use in the Authorization header.
The response->body attribute tag is being used, with trigger behaviour "always resend". It still doesn't work.

I do have the same issue. I have a request for login and several authentication-dependent requests for other functions. I chain the request for the bearer token (I did try doing it as an environment variable, in the authorization tab in insomnia or trough the headers tab directly).
If I run the tests inside the "test" insomnia tab, it works just fine, but if I try to use the inso CLI, I get the same error. I debugged the chaining of the login request is the culprit, as it works as intended if I pass the token manually as raw data(which isn't a solution, because it would change every time I request a login with the user) and if I don't check the chained request (which isn't a solution, because it would return a 401 as it should if I don't pass a token). I did make sure I set "always resend the request when needed".
If it works for something, I did tested this request a few weeks ago with inso CLI, and they worked just fine, so I suspect it could be an issue with an update.

This is the response of the CLI version 3.19.0-beta.9

This is the response for the version 3.14.0

Hello @smacktoid ,
request chaining alternative work for me in 2023.5.6

Authorization fetching  works too but doesn't allow unvalidated ssl certificate.
in insomnia gui there is two differents options (validate certificate & Validate certificates during authentication) and inso run test --disableCertValidation seems uncheck only validate certificate)

Hi @sebwt
I just got round to trying request chaining as a way of obtaining a token again. I think I must have been running a very old version before, because it does work for me now on v8.4.5.
That being said, it is far from perfect. The request which we chain from to get the access token seems to be totally unaware of the selected environment in the CLI.
I had a Base Environment with a dummy host set on it, and then a "Dev environment" with my real host. When I run the test with the Dev environment I get lots of errors. Of particular note is:
[response tag] Response error Error: Couldn't resolve host name
It's only when I change the Base environment to use my real host that the test will start to pass, but this totally defeats the purpose of using environments.


Remove most consumer functions

This is based heavily off the work in #590, rebased onto main, with some changes to remove even more consumer uses. Consumer functions only have two remaining uses: non-ASCII ranges and Unicode lookups (for things like general category, binary properties, name, etc.).
This change primarily treats custom character classes as alternations around their contents, with set operations emitted as instructions instead of implemented via consumer function.

@swift-ci Please test

@swift-ci Please test

Oh nice, glad that PR was put to use 🎉

@swift-ci Please test

Benchmark results for this change on latest show big improvements for anything moving off consumer functions:
=== Regressions ================================================================
- CompilerMessages_All                    88.1ms    86.9ms     1.22ms       1.4%
- DiceRollsInText_All_Scalar              42.2ms    41.6ms      604µs       1.5%
- EmojiRegex_All_Scalar                   45.3ms    44.8ms      487µs       1.1%
- AnchoredNotFound_All                    13.5ms    13.1ms      374µs       2.8%
- EmailLookaheadNoMatches_All_Scalar      20.5ms    20.1ms      336µs       1.7%
- EmailLookaheadNoMatches_All             22.7ms    22.4ms      329µs       1.5%
- ReluctantQuantWithTerminal_Whole_Scalar 6.44ms    6.14ms      299µs       4.9%
- NotFound_All                            6.06ms    5.79ms      276µs       4.8%
- BasicBuiltinCharacterClass_All           7.7ms    7.48ms      227µs       3.0%
- EmailBuiltinCharacterClass_All          11.6ms    11.4ms      205µs       1.8%
- AnchoredNotFound_First_Scalar           5.69ms    5.49ms      202µs       3.7%
- HangulSyllable_All                         6ms     5.8ms      196µs       3.4%
- AnchoredNotFound_First                   8.8ms    8.63ms      169µs       2.0%
- Numbers_All_Scalar                      4.66ms     4.5ms      164µs       3.6%
- BasicBuiltinCharacterClass_All_Scalar   6.52ms    6.38ms      142µs       2.2%
- EmailLookahead_All_Scalar               16.8ms    16.7ms      125µs       0.8%
- EmailBuiltinCharacterClass_All_Scalar   11.5ms    11.3ms      125µs       1.1%
- NotFound_All_Scalar                        5ms    4.88ms      121µs       2.5%
- BasicRangeCCC_All_Scalar                5.95ms    5.85ms      102µs       1.7%
- Css_All                                 3.34ms    3.24ms      101µs       3.1%
- EmailLookaheadList                      3.83ms    3.73ms     99.2µs       2.7%
- ReluctantQuantWithTerminal_Whole        6.26ms    6.16ms     96.8µs       1.6%
- EmailLookaheadList_Scalar               3.63ms    3.53ms     93.8µs       2.7%
- BasicCCC_All_Scalar                     5.34ms    5.28ms     59.7µs       1.1%
- AnchoredNotFound_All_Scalar             9.07ms    9.01ms     59.5µs       0.7%
- LiteralSearch_All_Scalar                4.67ms    4.62ms     48.2µs       1.0%
- HangulSyllable_First                    2.76ms    2.72ms     37.1µs       1.4%
- HangulSyllable_First_Scalar             2.37ms    2.34ms       33µs       1.4%
- IPv6Address                              2.7ms    2.68ms     23.1µs       0.9%
- EagarQuantWithTerminal_Whole_Scalar      382µs     364µs     18.7µs       5.1%
=== Improvements ===============================================================
- EmailRFCNoMatches_All                     52ms     157ms     -105ms     -66.9%
- EmailRFCNoMatches_All_Scalar            48.4ms     126ms    -77.6ms     -61.6%
- symDiffCCC_All                          20.9ms    53.7ms    -32.8ms     -61.0%
- symDiffCCC_All_Scalar                     21ms    53.7ms    -32.8ms     -61.0%
- EmailRFC_All                            34.8ms    64.4ms    -29.6ms     -45.9%
- EmailRFC_All_Scalar                     34.1ms    47.7ms    -13.6ms     -28.5%
- IntersectionCCC_All                      7.8ms    19.8ms      -12ms     -60.7%
- IntersectionCCC_All_Scalar              7.82ms    19.7ms    -11.9ms     -60.4%
- SubtractionCCC_All                      8.61ms    19.1ms    -10.5ms     -55.0%
- SubtractionCCC_All_Scalar               8.71ms    19.2ms    -10.5ms     -54.7%
- MACAddress                              2.56ms    2.65ms    -92.9µs      -3.5%
- DiceNotation                            4.87ms    4.95ms    -85.5µs      -1.7%
- CaseInsensitiveCCC_All_Scalar           5.71ms    5.79ms    -78.7µs      -1.4%
- GraphemeBreakNoCap_All                  3.15ms    3.22ms    -72.8µs      -2.3%
- GraphemeBreakNoCap_All_Scalar           3.03ms    3.09ms    -67.1µs      -2.2%
- LiteralSearchNotFound_All_Scalar        4.35ms    4.41ms    -56.3µs      -1.3%
- IPv4Address                             2.42ms    2.47ms    -52.3µs      -2.1%
- IPv4Address_Scalar                      2.29ms    2.31ms    -16.3µs      -0.7%

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test


sbserver bug fixing

Lots of small bug fixes to get restore and cleanup working.
Signed-off-by: Maksym Pavlenko<EMAIL_ADDRESS>

/test pull-containerd-sandboxed-node-e2e


Availability in Flow for Community or on Community Home Page

I am unable to see this component in the list of custom components for a flow screen element.  I also tried to load it directly from a Lightning Community Home Page and could not see it there either.  Are there some setting  that I need to change?  I am new to both Communities and also to LWC.

The component is designed to work only from inside LWC component, so if you create a custom LWC component and put relatedList there it should work. Also, you need to expose your custom component to be used in an Flow. Here is an example - How to expose LWC to flow builder

Thank you, I will give this a try.
On Mon, Jul 6, 2020 at 6:13 AM Artyom<EMAIL_ADDRESS>wrote:

The component is designed to work only from inside LWC component, so if
you create a custom LWC component and put relatedList there it should work.
Also, you need to expose your custom component to be used in an Flow. Here
is an example - How to expose LWC to flow builder
https://salesforce.stackexchange.com/questions/255108/how-to-expose-lwc-to-flow-builder
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-654144319,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6WUR6Z46GRI2JN2TUTR2GPTXANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

I can create a LWC in the developer console and I've put in the .cmp file:
<aura:component implements="lightning:availableForFlowScreens"
access="global" >
but I have no idea how I would go about putting the relatedList in there
could you suggest what code I would use?  I am really new to this but very
much want access to the relatedList on a flow.
On Mon, Jul 6, 2020 at 6:13 AM Artyom<EMAIL_ADDRESS>wrote:

The component is designed to work only from inside LWC component, so if
you create a custom LWC component and put relatedList there it should work.
Also, you need to expose your custom component to be used in an Flow. Here
is an example - How to expose LWC to flow builder
https://salesforce.stackexchange.com/questions/255108/how-to-expose-lwc-to-flow-builder
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-654144319,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6WUR6Z46GRI2JN2TUTR2GPTXANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

I have exposed accountPage component for Flow, now you should be able to add the component to your flow.
Customization should be applied  for accountPage.html and accountPage.js files.
I see the snippet you provided. It's Lightening Aura, not LWC.
In order to develop/customize LWC component you should use VS Code and Salesforce extension package.
How to install VS Code - https://developer.salesforce.com/tools/vscode/
Quick Start with LWC - https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components

I have reinstalled it twice and it is still not showing in my flow screen
as an option.
On Tue, Jul 7, 2020 at 4:07 AM Artyom<EMAIL_ADDRESS>wrote:

I have exposed accountPage component for Flow, now you should be able to
add the component to your flow.
Customization should be applied for accountPage.html and accountPage.js
files.
I see the snippet you provided. It's Lightening Aura, not LWC.
In order to develop/customize LWC component you should use VS Code and
Salesforce extension package.
How to install VS Code - https://developer.salesforce.com/tools/vscode/
Quick Start with LWC -
https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-654675321,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6VHW3YL4GLZSME43MLR2LJSPANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

The ones I created in the developer console show up (they are extremely
basic) but I cannot get the relatedList to show up. These were created with
the code I sent earlier.
[image: image.png]
On Tue, Jul 7, 2020 at 4:07 AM Artyom<EMAIL_ADDRESS>wrote:

I have exposed accountPage component for Flow, now you should be able to
add the component to your flow.
Customization should be applied for accountPage.html and accountPage.js
files.
I see the snippet you provided. It's Lightening Aura, not LWC.
In order to develop/customize LWC component you should use VS Code and
Salesforce extension package.
How to install VS Code - https://developer.salesforce.com/tools/vscode/
Quick Start with LWC -
https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-654675321,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6VHW3YL4GLZSME43MLR2LJSPANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

I am not able to see your image.
Please look at my screenshot. accountPage component is available for Flow and works fine for me.
https://monosnap.com/direct/32NKLYO7bafQxKZTqvITErO8siXe99

Thanks for your reply I will keep trying.  Not sure what is hanging this up but I'm pretty persistent in trying to figure things out.  I'll let you know when I do in case someone else has the same problem.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Artyom<EMAIL_ADDRESS>Sent: Wednesday, July 8, 2020 8:55:39 AM
To: artyom-bazyk/relatedList<EMAIL_ADDRESS>Cc: webfactoryos<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [artyom-bazyk/relatedList] Availability in Flow for Community or on Community Home Page (#2)
I am not able to see your image.
Please look at my screenshot. accountPage component is available for Flow and works fine for me.
https://monosnap.com/direct/32NKLYO7bafQxKZTqvITErO8siXe99
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-655501137, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGJAI6WFWKUF2PRVP7T3RVTR2RUEXANCNFSM4OQSVOZA.

Ok, I've tried this in 2 orgs, one a small production org and also a dev
org.  No it absolutely will not show up in a flow screen custom component
area.  I see Lightning Components in the list but not this component.  Any
other suggestions?  Does anyone else have this working in a flow screen.  I
should not have to do anything but install it to get it to show up right?
On Wed, Jul 8, 2020 at 8:55 AM Artyom<EMAIL_ADDRESS>wrote:

I am not able to see your image.
Please look at my screenshot. accountPage component is available for Flow
and works fine for me.
https://monosnap.com/direct/32NKLYO7bafQxKZTqvITErO8siXe99
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-655501137,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6WFWKUF2PRVP7T3RVTR2RUEXANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

I do see it as an available page component but not as a flow screen
component.
On Wed, Jul 8, 2020 at 8:55 AM Artyom<EMAIL_ADDRESS>wrote:

I am not able to see your image.
Please look at my screenshot. accountPage component is available for Flow
and works fine for me.
https://monosnap.com/direct/32NKLYO7bafQxKZTqvITErO8siXe99
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-655501137,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6WFWKUF2PRVP7T3RVTR2RUEXANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

Please try to install the package again, I updated the link.
You will have more ways for customization, if you push the components on your org without installing the package.

Great progress!  I can now see the accountPage.  Unfortunately, those of us
who would like to use this are not all skilled in development.  When you
say push the components on your org, do you mean download the code and open
it up with Visual Studio Code?  I put this on my flow screen and it worked
great as designed!!!  I would however, like to open up related lists for
Contacts instead of Accounts and pass the ID of the contact in as a
parameter vs. a lookup field.   Is that possible and can you tell me how
would I do that?
On Thu, Jul 9, 2020 at 8:01 AM Artyom<EMAIL_ADDRESS>wrote:

Please try to install the package again, I updated the link.
You will have more ways for customization, if you push the components on
your org without installing the package.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-656085924,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6RIRAUGGNZYQGDILI3R2WWQRANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores

Nice to hear that it's working!
You got it right, just download the source code, open in VS Code and push to your org.
Your case sounds doable, only it would require development skills to adjust the component, so it's hard to tell you all the steps.

Ok,  well I'll see what I can do.  Thank you so much!
Shelley
On Thu, Jul 9, 2020 at 10:07 AM Artyom<EMAIL_ADDRESS>wrote:

Nice to hear that it's working!
You got it right, just download the source code, open in VS Code and push
to your org.
Your case sounds doable, only it would require development skills to
adjust the component, so it's hard to tell you all the steps.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/artyom-bazyk/relatedList/issues/2#issuecomment-656148849,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJAI6U2CQPNBVO3NZWZRJ3R2XFJJANCNFSM4OQSVOZA
.

--
Shelley
Webfactory Online Stores


Unable to use online node to fetch metadata for Construction API

Hi there! :wave:
Describe the bug
When testing our implementation of the rosetta Construction API, we had the offline_url of our construction config point to a node running in offline mode (so it has no peers and cannot sync). We use the /construction/metadata endpoint to fetch the correct chain state to construct a valid transaction (i.e: account nonce). However, upon tx submission, we saw a nonce too low error.
Create a construction config and set offline_url to the offline node.
Run the construction check, i.e:

rosetta-cli check:construction --configuration-file ./examples/configuration/ethereum.json

Inspect the endpoint calls on the offline node.

Expected behavior
Since the Construction API spec here states that /construction/metadata can be used to fetch dynamic information, like an account's nonce, we believe that it should not be requested from the offline node.
Additional context

Our construction config can be found here

Here are our construction check logs from rosetta-cli

2020/10/12 19:47:27 construction tester initialized with 1 accounts
2020/10/12 19:47:27 Setting account one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3 balance to<PHONE_NUMBER>626963184046359690 &{Symbol:ONE Decimals:18 Metadata:map[]}
2020/10/12 19:47:27 1 Balances Updated
2020/10/12 19:47:27 check:construction status server running on port 9090
2020/10/12 19:47:27 cleared 0 broadcasts
2020/10/12 19:47:27 Syncing 81
2020/10/12 19:47:28 processing workflow "transfer"
2020/10/12 19:47:28 looking for balance {"value":"10000000000000000","currency":{"symbol":"ONE","decimals":18}}
2020/10/12 19:47:28 looking for balance {"value":"0","currency":{"symbol":"ONE","decimals":18}} != to accounts [{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 processing workflow "create_account"
2020/10/12 19:47:28 REQUEST /construction/derive network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} public_key:{"hex_bytes":"0318616aa8f47c1115cd46a786a8176d7eb8c6752fbea6de2e4174ad21ee4e57e0","curve_type":"secp256k1"} metadata:null
2020/10/12 19:47:28 RESPONSE /construction/derive account_identifier:{"address":"one13dtqnwh23766ndf50vw9qufz2h3an490e87ehl","metadata":{"hex_address":"0x8b5609bAea8fb5A9B5347B1c50712255e3d9d4AF"}} metadata:null
2020/10/12 19:47:28 processed workflow "create_account" for job "0"
2020/10/12 19:47:28 processing workflow "transfer"
2020/10/12 19:47:28 looking for balance {"value":"10000000000000000","currency":{"symbol":"ONE","decimals":18}}
2020/10/12 19:47:28 looking for balance {"value":"0","currency":{"symbol":"ONE","decimals":18}} != to accounts [{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 processing workflow "create_account"
2020/10/12 19:47:28 REQUEST /construction/derive network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} public_key:{"hex_bytes":"03f519d50b1ff5af99ea5ad6e93f371342100c8bde79726a0df27433b4a0e458f6","curve_type":"secp256k1"} metadata:null
2020/10/12 19:47:28 RESPONSE /construction/derive account_identifier:{"address":"one1nst5e6dcs45ec83wewj5nqu5nzf9t2qpnh45sw","metadata":{"hex_address":"0x9C174ce9B885699C1e2ecBA5498394989255a801"}} metadata:null
2020/10/12 19:47:28 processed workflow "create_account" for job "1"
2020/10/12 19:47:28 processing workflow "transfer"
2020/10/12 19:47:28 looking for balance {"value":"10000000000000000","currency":{"symbol":"ONE","decimals":18}}
2020/10/12 19:47:28 looking for balance {"value":"0","currency":{"symbol":"ONE","decimals":18}} != to accounts [{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 processing workflow "create_account"
2020/10/12 19:47:28 REQUEST /construction/derive network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} public_key:{"hex_bytes":"0238747ade67a7e0d7342ef09884416b2dee6c74b9475209ec6bda01bdb5e4a3ff","curve_type":"secp256k1"} metadata:null
2020/10/12 19:47:28 RESPONSE /construction/derive account_identifier:{"address":"one1snvtzgfrjfpa7ryxwc49gm2ywv2zp4ntt0k8ua","metadata":{"hex_address":"0x84D8B121239243DF0C86762a546D44731420D66B"}} metadata:null
2020/10/12 19:47:28 processed workflow "create_account" for job "2"
2020/10/12 19:47:28 processing workflow "transfer"
2020/10/12 19:47:28 looking for balance {"value":"10000000000000000","currency":{"symbol":"ONE","decimals":18}}
2020/10/12 19:47:28 looking for balance {"value":"0","currency":{"symbol":"ONE","decimals":18}} != to accounts [{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 processing workflow "create_account"
2020/10/12 19:47:28 REQUEST /construction/derive network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} public_key:{"hex_bytes":"03c0c6c0629f7e8a983d25e744ff6019fae9e6bca12dac5f96132318ab51abcb24","curve_type":"secp256k1"} metadata:null
2020/10/12 19:47:28 RESPONSE /construction/derive account_identifier:{"address":"one1m4xneklse7yuqwjxnw6h926wunge9nrttth5mv","metadata":{"hex_address":"0xdd4d3CdBf0cf89c03A469bb572aB4eE4D192cC6b"}} metadata:null
2020/10/12 19:47:28 processed workflow "create_account" for job "3"
2020/10/12 19:47:28 processing workflow "transfer"
2020/10/12 19:47:28 looking for balance {"value":"10000000000000000","currency":{"symbol":"ONE","decimals":18}}
2020/10/12 19:47:28 looking for balance {"value":"0","currency":{"symbol":"ONE","decimals":18}} != to accounts [{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 processing workflow "create_account"
2020/10/12 19:47:28 REQUEST /construction/derive network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} public_key:{"hex_bytes":"03014bbd11905a93dc90ca9c07935b6981aa8f2cf951ab288ad3346e6f37f29013","curve_type":"secp256k1"} metadata:null
2020/10/12 19:47:28 RESPONSE /construction/derive account_identifier:{"address":"one15ws7gjzdud9n358049jqrtng05z8ynx9ppq89w","metadata":{"hex_address":"0xa3a1e4484dE34b38d0efA96401AE687d04724CC5"}} metadata:null
2020/10/12 19:47:28 processed workflow "create_account" for job "4"
2020/10/12 19:47:28 processing workflow "transfer"
2020/10/12 19:47:28 looking for balance {"value":"10000000000000000","currency":{"symbol":"ONE","decimals":18}}
2020/10/12 19:47:28 looking for balance {"value":"0","currency":{"symbol":"ONE","decimals":18}} != to accounts [{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 REQUEST /construction/preprocess network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} intent:[{"operation_identifier":{"index":0},"type":"Transfer","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":1},"related_operations":[{"index":0}],"type":"Transfer","status":"","account":{"address":"one13dtqnwh23766ndf50vw9qufz2h3an490e87ehl","metadata":{"hex_address":"0x8b5609bAea8fb5A9B5347B1c50712255e3d9d4AF"}},"amount":{"value":"204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}}] metadata:null
2020/10/12 19:47:28 RESPONSE /construction/preprocess options:{"operation_type":"Transfer","transaction_metadata":{}} required_public_keys:[{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}]
2020/10/12 19:47:28 REQUEST /construction/metadata network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} metadata:{"operation_type":"Transfer","transaction_metadata":{}} public_keys:[{"hex_bytes":"035511a8279528f916b85b875cc69bbee575110221c473de8c16e83bcf802e76ec","curve_type":"secp256k1"}]
2020/10/12 19:47:28 RESPONSE /construction/metadata metadata:{"gas_limit":21000,"gas_price":1000000000,"nonce":0,"transaction_metadata":{}} suggested_fee:[{"value":"21000000000000","currency":{"symbol":"ONE","decimals":18}}]
2020/10/12 19:47:28 REQUEST /construction/payloads network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} intent:[{"operation_identifier":{"index":0},"type":"Transfer","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":1},"related_operations":[{"index":0}],"type":"Transfer","status":"","account":{"address":"one13dtqnwh23766ndf50vw9qufz2h3an490e87ehl","metadata":{"hex_address":"0x8b5609bAea8fb5A9B5347B1c50712255e3d9d4AF"}},"amount":{"value":"204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}}] public_keys:[{"hex_bytes":"035511a8279528f916b85b875cc69bbee575110221c473de8c16e83bcf802e76ec","curve_type":"secp256k1"}]
2020/10/12 19:47:28 RESPONSE /construction/payloads unsigned_transaction:"{\"rlp_bytes\":\"8ICEO5rKAIJSCICAlItWCbrqj7WptTR7HFBxIlXj2dSvi6jJSZOXY2Jgfd3AgICAgA==\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}" payloads:[{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","hex_bytes":"ee657083a1d41278ebdee56420b6e26079aafdb5707720be9e3723a08d99186e","account_identifier":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"signature_type":"ecdsa_recovery"}]
2020/10/12 19:47:28 REQUEST /construction/parse network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} signed:false transaction:"{\"rlp_bytes\":\"8ICEO5rKAIJSCICAlItWCbrqj7WptTR7HFBxIlXj2dSvi6jJSZOXY2Jgfd3AgICAgA==\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}"
2020/10/12 19:47:28 RESPONSE /construction/parse operations:[{"operation_identifier":{"index":0},"type":"Gas","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-21000000000000","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":1},"related_operations":[{"index":0}],"type":"Transfer","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":2},"related_operations":[{"index":1}],"type":"Transfer","status":"","account":{"address":"one13dtqnwh23766ndf50vw9qufz2h3an490e87ehl","metadata":{"hex_address":"0x8b5609bAea8fb5A9B5347B1c50712255e3d9d4AF"}},"amount":{"value":"204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}}] signers:null metadata:null
2020/10/12 19:47:28 REQUEST /construction/combine network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} unsigned_transaction:"{\"rlp_bytes\":\"8ICEO5rKAIJSCICAlItWCbrqj7WptTR7HFBxIlXj2dSvi6jJSZOXY2Jgfd3AgICAgA==\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}" signatures:[{"hex_bytes":"376281ba02c7ee57a7261dd93694c5c65cbd5001983f6d3c456812b51ba83bff3a51becb3667baf376f8936df1588750f06fe08f8e122c4d7509c30b75eaa58601","signing_payload":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","hex_bytes":"ee657083a1d41278ebdee56420b6e26079aafdb5707720be9e3723a08d99186e","account_identifier":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"signature_type":"ecdsa_recovery"},"public_key":{"hex_bytes":"035511a8279528f916b85b875cc69bbee575110221c473de8c16e83bcf802e76ec","curve_type":"secp256k1"},"signature_type":"ecdsa_recovery"}]
2020/10/12 19:47:28 RESPONSE /construction/combine network_transaction:"{\"rlp_bytes\":\"+HCAhDuaygCCUgiAgJSLVgm66o+1qbU0exxQcSJV49nUr4uoyUmTl2NiYH3dwIAooDdigboCx+5XpyYd2TaUxcZcvVABmD9tPEVoErUbqDv/oDpRvss2Z7rzdviTbfFYh1Dwb+CPjhIsTXUJwwt16qWG\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}"
2020/10/12 19:47:28 REQUEST /construction/parse network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} signed:true transaction:"{\"rlp_bytes\":\"+HCAhDuaygCCUgiAgJSLVgm66o+1qbU0exxQcSJV49nUr4uoyUmTl2NiYH3dwIAooDdigboCx+5XpyYd2TaUxcZcvVABmD9tPEVoErUbqDv/oDpRvss2Z7rzdviTbfFYh1Dwb+CPjhIsTXUJwwt16qWG\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}"
2020/10/12 19:47:28 RESPONSE /construction/parse operations:[{"operation_identifier":{"index":0},"type":"Gas","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-21000000000000","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":1},"related_operations":[{"index":0}],"type":"Transfer","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":2},"related_operations":[{"index":1}],"type":"Transfer","status":"","account":{"address":"one13dtqnwh23766ndf50vw9qufz2h3an490e87ehl","metadata":{"hex_address":"0x8b5609bAea8fb5A9B5347B1c50712255e3d9d4AF"}},"amount":{"value":"204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}}] signers:[{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}}] metadata:null
2020/10/12 19:47:28 REQUEST /construction/hash network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} network_transaction:"{\"rlp_bytes\":\"+HCAhDuaygCCUgiAgJSLVgm66o+1qbU0exxQcSJV49nUr4uoyUmTl2NiYH3dwIAooDdigboCx+5XpyYd2TaUxcZcvVABmD9tPEVoErUbqDv/oDpRvss2Z7rzdviTbfFYh1Dwb+CPjhIsTXUJwwt16qWG\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}"
2020/10/12 19:47:28 RESPONSE /construction/hash transaction_identifier:{"hash":"0x0ddce2bea9b06b924ac8d0fe5f81ee68b77f9649d26eced7af6138c14b43e1e0"}
2020/10/12 19:47:28 QUEUE /construction/submit network_identifier:{"blockchain":"Harmony","network":"Testnet","sub_network_identifier":{"network":"shard 0","metadata":{"is_beacon":true}}} intent:[{"operation_identifier":{"index":0},"type":"Transfer","status":"","account":{"address":"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3","metadata":{"hex_address":"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34"}},"amount":{"value":"-204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}},{"operation_identifier":{"index":1},"related_operations":[{"index":0}],"type":"Transfer","status":"","account":{"address":"one13dtqnwh23766ndf50vw9qufz2h3an490e87ehl","metadata":{"hex_address":"0x8b5609bAea8fb5A9B5347B1c50712255e3d9d4AF"}},"amount":{"value":"204050090605710200071380416","currency":{"symbol":"ONE","decimals":18}}}] transaction_identifier:{"hash":"0x0ddce2bea9b06b924ac8d0fe5f81ee68b77f9649d26eced7af6138c14b43e1e0"} network_transaction:"{\"rlp_bytes\":\"+HCAhDuaygCCUgiAgJSLVgm66o+1qbU0exxQcSJV49nUr4uoyUmTl2NiYH3dwIAooDdigboCx+5XpyYd2TaUxcZcvVABmD9tPEVoErUbqDv/oDpRvss2Z7rzdviTbfFYh1Dwb+CPjhIsTXUJwwt16qWG\",\"is_staking\":false,\"from\":{\"address\":\"one155jp2y76nazx8uw5sa94fr0m4s5aj8e5xm6fu3\",\"metadata\":{\"hex_address\":\"0xA5241513DA9F4463F1d4874b548dFBAC29D91f34\"}}}"
2020/10/12 19:47:28 created transaction "0x0ddce2bea9b06b924ac8d0fe5f81ee68b77f9649d26eced7af6138c14b43e1e0" for job "5"
2020/10/12 19:47:28 processed workflow "transfer" for job "5"
2020/10/12 19:47:28 request failed: /construction/submit {Code:3 Message:transaction submission error Retriable:true Details:map[message:nonce too low node_version:Harmony (C) 2020. harmony, version v6359-v2.3.6-11-gffd3ab3f-dirty (danielvdm@ 2020-10-12T19:39:56-0700) rosetta_version:0.4.4 trace:File: construction_submit.go  Function: github.com/harmony-one/harmony/rosetta/services.(*ConstructAPI).ConstructionSubmit Line: 78]}: unable to broadcast transaction: unable to broadcast transaction 0x0ddce2bea9b06b924ac8d0fe5f81ee68b77f9649d26eced7af6138c14b43e1e0

Thanks for writing up this detailed issue, @Daniel-VDM. You are 100% correct in your theory!
I've approved and merged the PR you posted 🚀 !

I cut this release to make this fix available ASAP: https://github.com/coinbase/rosetta-cli/releases/tag/v0.5.10


Add Streaming support

This would be lit to add streaming support for large workloads.

This feature is probably the first thing to add as streaming has gained huge popularity over the last months with LLM.


Why introduce a third-party plugin core-js will throw some errors

I do not understand what you are asking for. Are you having issues with something? On a specific browser? What type of errors? Please provide more information.

As above, there are no extra operations

@JenayLee we're leaning toward core-js over something like pollyfill.io. did you have thoughts or want to weigh in? Worth noting that the needs of users leveraging our UMD build versus our PWA build are different.

@dannyrb @swederik Thank you for your answer


I cannot write some Portuguese characters inside Lapce.

Hello,
in Version 0.2.3 Linux fedora 36
á à ã ẽ é í â ê
simply don't appear.
ç will appear fine.
Thank you,
Best regards,
João

Maybe the fonts aren't installed on your computer? Or the font that you use for lapce does not have the glyphs you need

I have the same issue on Debian sid and Sway. From what I can tell the problem is that dead keys don't work.

In fact, it is an issue at the Druid UI toolkit. Lapce inherited this issue.

Is there something else than dead keys at play?
Otherwise, this issue might just be duplicate of https://github.com/lapce/lapce/issues/1094
as for the druid UI toolkit thing… it doesn't help that druid is being discontinued. sounds like a huge pain for lapce.


feat: Added extensions IsError()

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] Implemented tests for new features.
[x] I tested the features already implemented.
[x] Added usage examples in the readme.

:tada: This PR is included in version 2.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Mistakes in amiq_sv_c_python_how_to_connect_systemverilog_with_python

In client.cc, the _CODE macros are defined as strings. But they need to be integers and line up with (or preferably be used in) the code in interpret_errors().
In amiq_top.sv, line 51, the port order does not match the declaration in amiq_mux2_1.v
In amiq_top.sv, line 166:
delay=stimuli.sel.pop_front();
should be:
delay=stimuli.delay_sel.pop_front();
Thanks for an informative blog post!

Hello, @martinpriestley!
Thank you for reporting the issues! I will fix them right away.
I am glad to hear that you liked the blog post!


File format validation doesn't work with some formats

🐛 Bug report
I am using formik and yup for validation
this is my yup object
It is working, but I have noticed that this code doesn't support some formats
export function setAssetSchema(createMode,rules) {
    let {
        ASSET_NAME_MAX_LENGTH,
        ASSET_DESCRIPTION_MAX_LENGTH,
        ASSET_NAME_MIN_LENGTH,
        ASSET_DESCRIPTION_MIN_LENGTH,
        VIDEO_UPLOAD_MAX_SIZE_BYTES,
        AUDIO_UPLOAD_MAX_SIZE_BYTES,
        IMAGE_UPLOAD_MAX_SIZE_BYTES,
        ASSET_SUPPORTED_FORMATS
    } = rules;
    function checkType(type){
        if(isImage(type)){
            return IMAGE_UPLOAD_MAX_SIZE_BYTES
        }else if(isVideo(type)){
            return VIDEO_UPLOAD_MAX_SIZE_BYTES
        }else return AUDIO_UPLOAD_MAX_SIZE_BYTES
    }
    return Yup.object().shape({
        name: Yup.string()
            .min(ASSET_NAME_MIN_LENGTH, 'Too Short!')
            .max(ASSET_NAME_MAX_LENGTH, 'Too Long!')
            .required('Required'),
        description: Yup.string()
            .min(ASSET_DESCRIPTION_MIN_LENGTH, 'Too Short!')
            .max(ASSET_DESCRIPTION_MAX_LENGTH, 'Too Long!')
            .required('Required'),
        file: createMode && Yup
            .mixed()
            .required("Required")
            .test(
                "fileSize",
                "File too large",
                value => value && value.size <= checkType(value)
            )
            .test(
                "fileFormat",
                "Unsupported Format",
                value => value && ASSET_SUPPORTED_FORMATS.includes(value.type)
            )
    })
}

Current Behavior
My supported formats : [ "image/jpg", "image/jpeg", "image/png", "audio/mp3", "video/mp4", "video/mov", ]
But when I select this formats : .cmx, .sketch, .cdr
validation doesn't work

Expected behavior
All format which doesn't include in my supported formats array should be rejected by the validation

Reproducible example
I have partially used code from this example https://codesandbox.io/s/formik-file-input-with-validation-pn3vb
Your environment

Software
Version(s)

Formik
1.5.8

React
16.8.6

Browser
chrome

npm
6.10.2

Operating System
mac os

Is this a Formik or a yup question?

Is this a Formik or a yup question?

Probably you're right. My bad, sorry.

I think this problem is related to Formik. Because Formik needs to identify the type of input to pass the correct value to the validators. If the input type is a file, Formik must pass event.target.files to the validator. Otherwise, validators will always receive the file name and any validation would be very superficial.

YUP file upload not woking this example. when i click file upload button , it's throw error file is too large before uloading images. please anyone give solution
const schema = yup.object().shape({
bankname: yup.string().required(),
bankcode: yup.string().required(),
servicecode: yup.string().required(),
signincertificatealias: yup.string().required(),
intermediatecertificatealias: yup.string().required(),
rootcertificatealias: yup.string().required(),
privatekeyalias: yup.string().required(),
hsmindexvalue: yup.string().required(),
regbanklogo: yup
.mixed()
.required('You need to provide a file')
.test('fileSize', 'The file is too large', (value) => {
return value && value.size <= 1000000;
})
.test('type', 'We only support jpeg', (value) => {
return value && value.type === 'image/jpeg';
})
})


ISPN-6589 ProtobufIndexedFieldProvider may mistakenly report nested fields as unindexed

https://issues.jboss.org/browse/ISPN-6589

Rebased.

Updated.

Integrated, thanks Adrian!


AttributeError: module 'tensorflow.contrib.saved_model' has no attribute 'saved_keras_model'

System information

TensorFlow version:1.9.0
Doc Link: https://github.com/tensorflow/docs/blob/master/site/en/tutorials/keras/save_and_restore_models.ipynb

Describe the documentation issue
I followed the notebook and all okies until this line of code:
saved_model_path = tf.contrib.saved_model.save_keras_model(model, "./saved_models")
The error is:
AttributeError: module 'tensorflow.contrib.saved_model' has no attribute 'saved_keras_model'

You can try running the tutorial on google colab. For executing the script locally I would recommend upgrading your TensorFlow version.

Thanks @ymodak, I made it.


Pub/Sub give problem in AppEngine with Standard Environment with Java 7

Pub/Sub give problem in AppEngine with Standard Environment with Java 7
Hi, I have created Google PUB/SUB using topic. I get error in my Subscriber code. my code works on my local tomcat server but when I deployed it on Google cloud AppEngine with standard environment. It gives following error.
Could not initialize class com.google.cloud.pubsub.v1.Subscriber
Initialization of Subscriber instance is failed on Google cloud AppEngine whereas Subscriber is initialized in local tomcat
com.google.cloud.pubsub.v1.Subscriber subscriber = Subscriber.defaultBuilder(subscription,receiver).build();
I have used following Maven dependencies

com.google.appengine
appengine-api-1.0-sdk
1.9.54

com.google.api-client
google-api-client-appengine
1.21.0

javax.servlet
servlet-api

javax.servlet
servlet-api

com.google.guava
guava-jdk5

com.google.apis
google-api-services-pubsub
v1-rev8-1.21.0

com.google.cloud
google-cloud-examples
0.22.0-alpha

com.google.appengine.tools
appengine-gcs-client
0.5

com.google.http-client
google-http-client

com.google.appengine
appengine-remote-api
1.9.32

@neozwu can you comment on this?

I did not get the answer of my question. I once again describe  my problem in short. I have AppEngine with Standard Environment. Whenever I deploy my web app on AppEngine on standard environment. It  gives me as Error "java.lang.NoClassDefFoundError: Could not initialize class com.google.cloud.pubsub.v1.Subscriber". But same webapp application run fine on my local tomcat server. I want to know if AppEngine with Standard Environment does not support com.google.cloud.pubsub.v1.Subscriber initialization?

We do not expect PubSub (or other gRPC-based APIs) to work with Java 7 on AppEngine Standard. (See for example this comment).
It should work using Java 8 on AppEngine Standard.
It doesn't look like you have a direct dependency on the google-cloud-pubsub package (see here on github: https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-pubsub). If you are using Java 8 and seeing this problem, you could try adding this dependency.

Thanks michaelbauso,
AppEngine Standard by default uses jdk 7. I want to know to change AppEngine Standard to use jdk 8.

No worries! For Java 8, take a look at the documentation here: https://cloud.google.com/appengine/docs/standard/java/runtime-java8

I have followed the steps specified on URL  https://cloud.google.com/appengine/docs/standard/java/runtime-java8. I am getting following error file fire 'mvn appengine:update command.
java.io.IOException: Cannot run program "C:\jdk1.8.0_144\jre\bin\java.exe": Crea
teProcess error=206, The filename or extension is too long
Unable to update app: Cannot run program "C:\jdk1.8.0_144\jre\bin\java.exe": Cre
ateProcess error=206, The filename or extension is too long
Please see the logs [C:\Users\farhanm\AppData\Local\Temp\appcfg16888316327372592
11.log] for further information.

@ahzamfarhan Can you post a copy of your log?  (if it doesn't have any confidential info in it)

@ahzamfarhan Also, take a look at https://cloud.google.com/appengine/docs/standard/java/migrating-to-java8
for migration info.

Looks like the original issue has been clarified. If there are issues with moving to Java8 it may be best to create a new issue.


Permission issues with stack sampling on linux

The testing scripts are capturing stack traces of tests which time out which is very beneficial for debugging flaky tests.
It seems on some linux machines the chrome-bot user doesn't have permission for sampling stacks. We should find out why and fix it so we can get proper stack traces for all timeouts.
Example from this failure:
FAILED: none-vm-checked release_x64 pkg/kernel/test/baseline_type_propagation_test
Expected: Pass
Actual: Timeout
CommandOutput[vm]:
diagnostics: PID 5042 - process
    TID 5042:
    TID 5044:
    TID 5046:
    TID 5051:
    TID 5055:
    TID 5067:
    TID 5816:
    TID 6182:

    eu-stack: dwfl_thread_getframes tid 5042: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 5044: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 5046: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 5051: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 5055: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 5067: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 5816: Operation not permitted
    eu-stack: dwfl_thread_getframes tid 6182: Operation not permitted
    eu-stack: Couldn't show any frames.

on slave84-c3. It might be that all ComputeEngine slaves are having this issue.
/cc @mraleph @whesse

This is a buildbot configuration issue. I already opened an issue with Chrome infrastructure about this.

So I've looked into this and eu-stack is using ptrace to attach to the process. It seems like ptrace is disabled on the ComputeEngine VMs.
The way to fix it is:
# echo 0 > /proc/sys/kernel/yama/ptrace_scope

Turns out that chrome infrastructure is in fact installing a sysctl file to configure this, but it gets probably overruled:
# grep ptrace_scope /etc/sysctl.d/*
/etc/sysctl.d/10-ptrace.conf:kernel.yama.ptrace_scope = 1
/etc/sysctl.d/99-chrome-bot.conf:kernel.yama.ptrace_scope = 0
/etc/sysctl.d/99-gce.conf:kernel.yama.ptrace_scope=1

I think they get loaded in this order, so the 99-gce.conf file overrides the settings the others have set.

@whesse Could you let CIT know about this setting and the fact that the GCE image overrides it? Would be nice to get this into the image.

I've made this change now manually on 21 -c3 slaves. The change will persist until the next restart, but fortunately that doesn't happen very often.

@mkustermann Issue tracking this: https://bugs.chromium.org/p/chromium/issues/detail?id=646989

@fsc8000 Thanks for the link.

Chrome infrastructure rolled out a change which renamed the sysctl file (99-chrome-bot.conf -> 99-zz-chrome-bot.conf) to make it get sourced last.


max-age is always 2592000 for images (.png, .jpg etc.)

I've set the max-age value to 1 year in my tiny connect server:
var connect = require('connect');
var serveStatic = require('serve-static');

connect()
    .use(serveStatic(__dirname, {
        cacheControl: true,
        maxAge: '1 year'
    }))
    .listen(process.env.PORT);

This generally works great, giving me Cache-Control: public, max-age=31536000. But some resources, such as .png files, are delivered with the value 2592000 instead of 31536000. Is there something I'm doing wrong?

Weird. Using the exact code you posed, everything, even .png and .jpg are coming back as  Cache-Control: public, max-age=31536000  for me. Is the above code exactly what you're running to see the issue as well? If you change the max age to like 1 day do the .png and stuff change to be a day, or stay at  2592000 ?

Case closed. I was a victim of my own client cache... disabled cache in Chrome DevTools earlier but somehow the value stuck around a bit. So sorry for stealing your time!


Fix typo in CircleCI README and update links in main README

Hi 👋 . It's a very minor one, but this pull request includes minor corrections to documentation files to fix typographical errors.
Documentation updates:

CircleCI/README.md: Corrected a typo in the word "adding" in the section explaining how to prevent the "Error 137" by restricting CodeQL process RAM usage.
README.md: Fixed a typo in the word "documentation" in the guidance section for using CodeQL CLI.

I will retry with verified signatures.


Iot introduction with rainmaker

Workshop IoT introduction with RainMaker
Author: @pedrominatel

The changes have been reviewed internally.


Responsive GYM website

Title and Issue number

Title : Responsive GYM website
Issue No. : #336
Code Stack : HTML ,CSS and JavaScript
Close #336

Video (mandatory)
https://github.com/apu52/METAVERSE/assets/125661248/ceb84de8-c170-44b1-ae26-c44181b0abaa

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] I have updated the projectData.json file for my contribution
[x] I have added the img of my project in the assets/img section

Additional context (Mandatory )
Are you contributing under any Open-source programme?
I am workinh undet codepeak'23.

@Mayank77maruti  can you resolve the conflicts 😊


Bugfix: Pending Promise on Req Failure

Fixed an issue where not having an internet connection and trying to perform a speed test would result in the promise never resolving. Properly rejecting on error.

Changed var to let to be the same throughout the library.

Removed Console Log Statement as the error is now properly bubbled up.

Renamed _ to reject as this is typically what you see when dealing with promises. _ gives no context and is unclear.

Removed

.catch(error => {
      console.log(error);
    });

This code will never execute as you can't catch a new Promise.

@tance77 Thanks a lot for this! I'll merge and make a version bump to npm later on :tada:


🐛:  Fix Mobile View of Home Page

:red_circle: Title : Fix Mobile View of Home Page
:red_circle: Bug : Width of "AI-Powered Translations" box
:red_circle: Changes :

changing width of the Box from "px" to "%"

Screenshots 📷
before

After

:white_check_mark: To be Mentioned while taking the issue :

Full name :  Shivam Verma
What is your participant role?: GSSOC

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Please @Avdhesh-Varshney Assign me this Issue so that I can Create a PR for this.

@Avdhesh-Varshney
This is a "High Priority Issue". Need to be fixed as quick as possible, for better Mobile Experience


drivers: clock_control: stm32f0/f3: fix PREDIV configuration

Some STM32F0/F3 parts have PREDIV1 prescaler after PLLSRC input mux; others have PREDIV prescaler before the mux just for the HSE output. This PR aims to fix PREDIV1 support.
Tested on Nucleo-F303RE board.

BK was stale

BK was stale

this needs to be rebased!!


Add MethodArgumentNamesChecker rule

MethodArgumentNamesChecker rule is added similar to other naming checker rules.
PR for issue #222

Codecov Report

Merging #244 into master will increase coverage by 0.15%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #244      +/-   ##
=========================================
+ Coverage   87.35%   87.5%   +0.15%
=========================================
  Files          58      58
  Lines        1289    1305      +16
  Branches      121     118       -3
=========================================
+ Hits         1126    1142      +16
  Misses        163     163

Impacted Files
Coverage Δ

...org/scalastyle/scalariform/ClassNamesChecker.scala
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Cool. Thanks!


Autoconfig mechanism K-9 does not pass the email address

I was looking into this and found:
          Thunderbird's Autoconfig mechanism has now been available in K-9 Mail 6.7xx beta versions for a while.

Originally posted by @cketti in https://github.com/thunderbird/thunderbird-android/issues/865#issuecomment-1798419231
Currently K9 ask server with "GET" http://autoconfig.example.com/mail/config-v1.1.xml which is incorrect. It should ask with<EMAIL_ADDRESS>as parameter according to Mozilla Guidelines: https://wiki.mozilla.org/Thunderbird:Autoconfiguration
Related issue: https://github.com/rseichter/automx2/issues/27

Hey, thanks for filing the report. The autoconfig docs are likely not complete, I don't think anyone has made a concerted effort to adjust these for a while. There are some efforts to standardize autoconfig, but I don't think this work has been completed.
Looking at the Thunderbird Desktop implementation, the email address seems to be sent by default, but there is an about:config option to disable it. So I think implementations should expect that the emailaddress parameter may be missing. K-9's implementation may be a bit more conservative in never sending the email address.
Can automx be adjusted to accept not passing an email address instead?

Can automx be adjusted to accept not passing an email address instead?

Why ever would it?
K9 is the only MUA that has been reported to not send the required email address since automx2 was first released in 2019. The retired predecessor automx also expected the address to be sent. Transmitting an email address is also a requirement for Autodiscover (Microsoft) and Mobileconfig (Apple). Dynamic configuration often depends on a user's email address, it's as simple as that.
If K9 does not conform to a specification which has been in active use for the last decade or thereabouts, it is K9 which needs to be changed, not existing third party software. automx2 works just fine with a multitude of other MUAs across different platforms.

I think k9 use non-standard behaviour so it should (but will it) act according to mozilla own standards or documentation need to be updated/expanded to current standards based on mozilla and those standards need to be implemented.

The standards work I was mentioning is https://datatracker.ietf.org/doc/draft-bucksch-autoconfig/ which I don't think is how Thunderbird Desktop works today. If this is about updating the documentation on the wiki to say that the email address may not be sent, then that should be easy to do.
I acknowledge this can be useful in various situations where config depends on the email address. We've chosen to be more conservative in the initial implementation. If this feature is added to K-9 I think we should double check the data sharing implications, as we'd be sending an email address of the user which might not be what they expect. We may also need to make some changes to the privacy policy.
I'm not insinuating that automx is doing anything wrong, I was just wondering if there is a way for it to be more lenient in case no email is passed, in the meanwhile. I don't believe we can get to this very soon, as we'd need to check the mentioned data questions, and it may need some UX in case we should give the user the choice if they'd like to not send their email.

The technical requirement for the Autoconfig process is a GET request containing
<EMAIL_ADDRESS>. It must be a syntactically valid address, and automx2 matches the domain part against a locally configured set of domains. No domain match means "not my responsibility", and hence no configuration data will be returned. It is quite common to define different servers for different domains.
It does not matter to automx2 if the address is provided by the MUA or by a webserver acting as a proxy, as long as it is a valid address with a matching domain. If somebody were to engage in some clever HTTP request rewriting, automx2 would be none the wiser.
There are however certain aspects of the dynamic configuration which are not possible if some dummy address is used instead of "real" addresses. The mapping of email addresses to login names via LDAP comes to mind.

@kewisch the link you provided is draft: https://datatracker.ietf.org/doc/draft-ietf-mailmaint-autoconfig/  but even....
 This protocol is in production use since 15 years by major email
   clients, and the config database (used as fallback) contains
   configurations for over 50% of all email accounts.

   Currently, this protocol or parts of it has been implemented by:
...
   *  K9 Mail (https://k9mail.app)
...

And letter:
First step is to directly ask the mail provider and allow it to
   return the configuration.  This step ensures that the protocol is
   decentralized and the mail provider is in control of the
   configuration issued to mail clients.

   *  1.1. https://autoconfig.%EMAILDOMAIN%/mail/config-
      v1.1.xml?emailaddress=%EMAILADDRESS% **(Required)**
   *  1.2. https://%EMAILDOMAIN%/.well-known/autoconfig/mail/config-
      v1.1.xml **(Optional)**
   *  1.3. http://autoconfig.%EMAILDOMAIN%/mail/config-v1.1.xml
      **(Optional)**

So from my understanding DRAFT is telling that K9 does use this protocol, yet, it does not do the Required which is a bit strange, even for draft.
I understand that one could have privacy concern, yet we don't argue if we want send mail to MX server. If there is danger in sending mail address via parameter to domain that points Organization/Business/Person that is providing us the MX then I don't know what to think.
If one owns domain and want to use 3rd party server for MX then the one owning domain need to point DNS to that 3rd party Service (with or without autoconfig subdomain) so IMO in that case 3rd party already "know" the emailaddress of account.
In case of self-hosted/hosted on same domain via VPS - there is not real privacy danger.
Only case I would see privacy danger with sending emailaddress via parameter would be:

in case that 3rd party gain control over MX/autoconfig domain/server but then the discovering email address is the least important issue.
in case using 3rd party proxy there is always danger with sending anything that has value.

Also, the last thing I wanted to say is that imo, I never saw any client email application that would ask you if you want to send you "email" to "autoconfig domain", we can go one step further and say "why thunderbird send our domain to thunderbird server to get autoconfig there ??? " it didn't ask me if I want to... yet it does send and in most case failed to get configuration because most of those domains are small/medium mx servers.
The only setting I would see that has any sense here would be " [ ] Autoconfiguration " then according to standards that you propose in the draft client (thunderbird/k9) would send emailaddress to proper domain, and people that are afraid of loosing their privacy by sharing emailaddress to known domain could opt-out of that.
As @rseichter I can imagine that some configuration could be different for different user or per domain, but per domain basis is solved because autoconfig domain is the domain part from emailaddress, so even if MX domain is different from emailaddress domain then asking emailaddress autoconfig domain anything reveal use domain.
(hope I wrote it in a way you guys can understand it)

As @bigretromike mentioned, I believe that it boils down to this: Either K-9 uses Autoconfig and sends the required emailaddress parameter, or K-9 does not use Autoconfig over the Internet at all. K-9 could ask the user a Yes/No type question, but that's as far as it gets. I  don't think that offering this choice would even be beneficial.
Sending the email address is conditio sine qua non. I also agree that sending a user's address to a webserver run by their selected mail service provider — via HTTPS request — does not pose any risk or grounds for privacy concerns.

Hi,
When I first reported the issue...
https://github.com/thunderbird/thunderbird-android/pull/7655#issuecomment-1954675557
I was told, that K-9 Mail 6.603 doesn't support autoconfig despite this article https://blog.thunderbird.net/2023/06/thunderbird-for-android-k-9-mail-may-2023-progress-report that seems to say that Thunderbird’s Autoconfiguration (https://mzla.link/autoconfig) was integrated since May 2023.
It was then further discussed here https://github.com/thunderbird/thunderbird-android/issues/4721 to finally be redirected to https://forum.k9mail.app/t/autoconfig-url-emailaddress-not-supported/8336 where it was argued that it is unsafe to send email address so K9-Mail does not do it.
As argued in last article above, it appears to me essential for Thunderbird for Android to be enabled for autoconfig, even if it means to transmit the email address over. The Desktop version do it, so why not the Mobile app?
As a safeguard, I support like rseichter the idea to simply ask the end user to confirm the sending of email address via a Yes(configure automatically)/No(configure manually). This is a workaround that could already be implemented, though Thunderbird for Desktop does not do it so why would the mobile version need to do so? As an end-user I would expect Desktop and Mobile apps to behave the same way for autoconfig.
Currently while setting up a new account on Mobile app, by entering email address, pressing next and receiving a Configuration Not Found is really not user friendly nor intuitive.
Better more secure implementation of autoconfig can be worked on, but until widely publicly available, the old already working autoconfig process should be kept working.
Regards,

@richardleger Since you mentioned me explicitly: I want to emphasise that I don't think offering the end user a choice in this matter is beneficial in any way, shape or form.
In particular, choosing to opt out of autoconfig to avoid sending one's email address to an organisation which handed out said address in the first place is utterly nonsensical to me.

sending one's email address to an organisation which handed out said address in the first place is utterly nonsensical to me.

It is not that simple, because the address transit via a GET request and HTTP protocol rather than a POST request over HTTPS, the request and therefore the email address is visible in clear on any server it transit through over Internet till it reaches destination which causes a Privacy and Security concerned as it can be capture/sniffed in the process... Same for the answer with configuration details. That is my understanding of the issue, and it does make sense. I would add that in TB Desktop this is done automatically without user consent at the moment, so adding a consent step could be a temporary workaround the issue,  giving choice to end-user via an informed decision.
While some remedy shall address those concerns at some point, in the meantime, Thunderbird for Android shall behave like Thunderbird for Desktop in term of auto-configuration and provide the same user experience by enabling it already.
kewisch tagged this Post as enhancement so hopefully that would put it on the roadmap for improvement, but that should really be considered as a bug in the software and be fixed quickly.

It is not that simple, because the address transit via a GET request and HTTP protocol rather than a POST request over HTTPS

I have a pretty good grasp of how autoconfig works, if I say so myself (see here). HTTPS connections are used first. HTTP is merely a fallback, dating back to times when obtaining TLS certificates was a hassle (i.e. pre Let's Encrypt).
If a mail provider runs an autoconfig service without HTTPS, well, that's not a provider I would choose, although transmitting an email address in the clear is not something that worries me personally. The address will become "visible" anyway, or what is the point of having it?
In any case, K-9 can forgo the fallback to HTTP and use only HTTPS. It is also easy to check if the provider supports HTTPS in the first place, and inform the K-9 user if it does not.

Is there any update to this? My mail server (stalwart) requires this field to return valid information since I am serving multiple domains.

there is the syntax <username>%EMAILADDRESS%</username>. This would be enough in most cases as account-specific configs are rare.

@nxmndr Are they now? In automx2, I specifically added the ability of mapping email addresses to configurable LDAP attributes (i.e. the login name), because people need that feature. This requirement is not as rare as you may think, in particular in larger organisations with uniform sign-on for multiple systems.

Also we shouldn't encourage Microsoft like behavior on standards - where you do it halfway and halfway your way..

The standards says clearly that emailaddress part on https is REQUIRED
   *  1.1. https://autoconfig.%EMAILDOMAIN%/mail/config-
      v1.1.xml?emailaddress=%EMAILADDRESS% **(Required)**
   *  1.2. https://%EMAILDOMAIN%/.well-known/autoconfig/mail/config-
      v1.1.xml **(Optional)**
   *  1.3. http://autoconfig.%EMAILDOMAIN%/mail/config-v1.1.xml
      **(Optional)**


Update jasmine.d.ts

Adding beforeAll() and afterAll(), as described with the new version
https://github.com/jasmine/jasmine/blob/master/release_notes/2.1.0.md

@GlennQuirynen thanks mate!


possible typo in Getting Started guide

see: https://scikit-build-core.readthedocs.io/en/latest/getting_started.html#cmake-file

the nanobind tab has pybind11 stuff in the example CMakeLists.txt

Oops, that doesn't look right. IIRC this is including a file from docs/examples, so it's probably grabbing the wrong one.

Yes, this is a typo:
https://github.com/scikit-build/scikit-build-core/blob/04fa2c3210d2b2c7924a89594b0b69ccb22eb6c6/docs/getting_started.md?plain=1#L320


Adding diagnostic message when using TypeVar improperly

After more thought, should leave this PR for now.
We have the current issue:
T = TypeVar('T', bound='Comparator')

bound =  ... essentially means that T must be a subtype of whatever was passed in. I believe bound is actually a keyword only argument, which we do not handle in the instantiation of the Arguments in the constructor in ArgumentSet.
Currently, bound is seen as a second parameter to TypeVar, which we flag as a bad type because (in our example) 'Comparator' is a string value and not the string type which is required.
For an example look at test TypeVarStringConstraint .

Delayed until #1263 merges.


what is -i max parameter?

Hi.
What is -i max parameter?
Please explain about it.
Thank you

Hello Bro @ddadkhah this parameter is for maximum person can connect to ur server

by default and without -i option, how many person can connect to server?


Border doesn't update when resizing windows using keyboard

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
Yes
System Info and Version
 System/Version info
Hyprland, built from branch  at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259  (props: bump version to 0.42.0).
Date: Wed Aug 7 19:17:10 2024
Tag: v0.42.0, commits: 5069

flags: (if any)

System Information:
System name: Linux
Node name: **Hmmm private bro**
Release: 6.10.8-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Wed, 04 Sep 2024 15:16:37 +0000

GPU information:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:
  hyprexpo by Vaxry ver 1.0
  hyprwinwrap by Vaxry ver 1.0

======Config-Start======

Config File: /home/quelquun/.config/hypr/hyprland.conf: Read Succeeded

# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################

#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#

autogenerated = 0 # remove this line to remove the warning

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DVI-D-1,preferred,auto,auto,transform,0
monitor=HEADLESS-2,2048x1536,auto,auto

# See https://wiki.hyprland.org/Configuring/Keywords/ for more

# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox

# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf

# Set programs that you use
$terminal = kitty --single-instance
$browser = chromium # bye... thorium-browser
$fileManager = kitty --single-instance lf
$menu = $HOME/.config/scripts/app_launcher.py
$mainChat = signal-desktop

exec-once = xdg-open https://youtu.be/l0qvxPPISuY?t=10

# Some default env vars.
env = XCURSOR_SIZE,24
env = WLR_NO_HARDWARE_CURSORS,1
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
# Dark mode
env = GTK_THEME,Adwaita:dark
env = GTK2_RC_FILES,/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc
env = QT_STYLE_OVERRIDE,Adwaita-Dark
env = XKB_DEFAULT_LAYOUT,fr

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
    kb_layout = fr, us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

	numlock_by_default = true

    follow_mouse = 1

    sensitivity = 0.1 # -1.0 to 1.0, 0 means no modification.
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 5
    gaps_out = 20
    border_size = 3 # 2
    col.active_border = rgb(9E2A2B)
    col.inactive_border = rgba(59595900)

    layout = dwindle

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false
}

decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10

    blur {
        enabled = true
		new_optimizations = true
        size = 1
        passes = 6
    }

    drop_shadow = no
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)
}

animations {
    enabled = yes

    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 3, myBezier
    # animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 2, default, slidevert
}

dwindle {
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
}

master {
    # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    # new_is_master = true
}

misc {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
}

# bind = SUPER, grave, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable

plugin {
    hyprwinwrap {
        # class is an EXACT match and NOT a regex!
        class = kitty-bg
    }

    hyprexpo {
        columns = 3
        gap_size = 0
        bg_col = rgb(FFF3B0)
        workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1

        enable_gesture = true # laptop touchpad, 4 fingers
        gesture_distance = 300 # how far is the "max"
        gesture_positive = true # positive = swipe down. Negative = swipe up.
    }
}

# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
windowrulev2 = pin, title:(.*)(Picture-in-Picture)(.*)
windowrulev2 = workspace 6, class:Spotify
windowrulev2 = workspace 7, class:Signal
windowrulev2 = workspace 2, class:Chromium
windowrulev2 = size 50% 50%, title:(.*)(Chromium)(.*)
# windowrulev2= opacity 0.85,class:^(Thorium)
# windowrulev2= opacity 0.85,title:(VCV)(.*)

# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Return, exec, $terminal --hold fastfetch
bind = $mainMod, Backspace, killactive,
bind = $mainMod, C, exec, hyprpicker -a
bind = $mainMod, F, fullscreen
bind = $mainMod, B, exec, $browser
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, Space, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, H, togglesplit, # dwindle
bind = , Print, exec, grim -g "$(slurp -d)" - | swappy -f -
bind = $mainMod, D, exec, spotify-launcher
bind = $mainMod, Q, exec, xdg-open https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/KB_USA-standard.svg/400px-KB_USA-standard.svg.png # opens a querty keyboard
bind = $mainMod, T, exec, xdg-open https://translate.google.com/?sl=en&tl=fr # opens a traductor
bind = $mainMod, U, exec, $terminal $HOME/.config/scripts/rand_meme.sh
bind = $mainMod, N, exec, hyprshade toggle blue-light-filter

bind = $mainMod, Q, exec, hyprctl switchxkblayout at-translated-set-2-keyboard next

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# bind = $mainMod, Tab, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, code:10, workspace, 1
bind = $mainMod, code:11, workspace, 2
bind = $mainMod, code:12, workspace, 3
bind = $mainMod, code:13, workspace, 4
bind = $mainMod, code:14, workspace, 5
bind = $mainMod, code:15, workspace, 6
bind = $mainMod, code:16, workspace, 7
bind = $mainMod, code:17, workspace, 8
bind = $mainMod, code:18, workspace, 9
bind = $mainMod, code:19, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, code:10, movetoworkspace, 1
bind = $mainMod SHIFT, code:11, movetoworkspace, 2
bind = $mainMod SHIFT, code:12, movetoworkspace, 3
bind = $mainMod SHIFT, code:13, movetoworkspace, 4
bind = $mainMod SHIFT, code:14, movetoworkspace, 5
bind = $mainMod SHIFT, code:15, movetoworkspace, 6
bind = $mainMod SHIFT, code:16, movetoworkspace, 7
bind = $mainMod SHIFT, code:17, movetoworkspace, 8
bind = $mainMod SHIFT, code:18, movetoworkspace, 9
bind = $mainMod SHIFT, code:19, movetoworkspace, 10

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e-1
bind = $mainMod, mouse_up, workspace, e+1

bind = $mainMod, page_up, workspace, e-1
bind = $mainMod, page_down, workspace, e+1

bind = $mainMod SHIFT, page_up, movetoworkspace, e-1
bind = $mainMod SHIFT, page_down, movetoworkspace, e+1

bind = $mainMod, K, workspace, -1
bind = $mainMod, J, workspace, +1

bind = $mainMod SHIFT, K, movetoworkspace, -1
bind = $mainMod SHIFT, J, movetoworkspace, +1

$player = spotify
bind =, XF86AudioPlay, exec, playerctl --player=$player play-pause
bind =, XF86AudioPrev, exec, playerctl --player=$player previous
bind =, XF86AudioNext, exec, playerctl --player=$player next
bind =, XF86AudioStop, exec, playerctl --player=$player stop

bind =, XF86Mail, exec, xdg-open https://outlook.live.com/ & xdg-open https://mail.google.com/ &

bind =, XF86HomePage, exec, hyprlock
bind =, XF86Sleep, exec, hyprlock

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindm = $mainMod SHIFT, mouse:273, resizewindow 1

bind = $mainMod, KP_Left, resizeactive, -200 0
bind = $mainMod, KP_Right, resizeactive, 200 0
bind = $mainMod, KP_Up, resizeactive, 0 -200
bind = $mainMod, KP_Down, resizeactive, 0 200

debug:disable_logs = false

======Config-End========

Description
When using keys to resize windows, Borders are late (see screenshot)
Binds :
bind = $mainMod, KP_Left, resizeactive, -200 0
bind = $mainMod, KP_Right, resizeactive, 200 0
bind = $mainMod, KP_Up, resizeactive, 0 -200
bind = $mainMod, KP_Down, resizeactive, 0 200

How to reproduce

Add

bind = $mainMod, KP_Left, resizeactive, -200 0
bind = $mainMod, KP_Right, resizeactive, 200 0
bind = $mainMod, KP_Up, resizeactive, 0 -200
bind = $mainMod, KP_Down, resizeactive, 0 200

to your config
2. Resize !!
Crash reports, logs, images, videos
(the blur is an edit)

Here, I see the border bugging at the right, after pressing SUPER + Keyboard 4 (left)

same issue here

was having the same problem while changing conf during update to hyprland 0.43. rebooting fixed the issue, @freerig maybe it can work for you too?

No, unfortunatly, reboot doesn't works for me. I still have to slooowlly move my hand to the mouse.

fixed in 0.43


Update sr.coffee

adjusted the translation for the newest locale file

Thank you, and sorry for making you wait.

@Imperadeiro98 no problem :rabbit:


Create endpoints for CMS content types

The following content types in the CMS should have their endpoints from the API and expose available fields:

[x] page, data_use, dataset, event, gbif_participant, news, programme, project, resource.
[x] expose fields of the above content types.

Some specific types of field have to expose properly:

[x] entity reference fields
[x] term reference fields
[x] date fields
[x]  image fields
[x]  link fields
[x] file fields

URL alias resolving for new content type endpoints:

[x] URL alias resolving.

Example end points:
http://cms.gbif-dev.org/api/v1/page/82103
http://cms.gbif-dev.org/api/v1/data_use/82565
http://cms.gbif-dev.org/api/v1/dataset/82533
http://cms.gbif-dev.org/api/v1/event/59689
http://cms.gbif-dev.org/api/v1/gbif_participant/8512
http://cms.gbif-dev.org/api/v1/news/82784
http://cms.gbif-dev.org/api/v1/programme/82219
http://cms.gbif-dev.org/api/v1/project/82202
http://cms.gbif-dev.org/api/v1/resource/80496


Absorb actionlint into pre-commit

Fixes
Fixes #896 by @dhruvkb
Description
The current setup of running 'actionlint' as a separate workflow on push and pull requests can be problematic as it only reports issues after they have been pushed, which can be time-consuming and potentially cause problems for the development process.
This PR integrates actionlint into the pre-commit process.
Effects -

developers can run checks locally before committing and pushing, allowing them to catch any issues and fix them before they get pushed to the main branch.

eliminates the need for a separate workflow and instead incorporates the check as part of the Lint job inside the CI + CD workflow.

Checklist

[x] My pull request has a descriptive title (not a vague title like
Update index.md).
[x] My pull request targets the default branch of the repository (main) or
a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible
errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Weirdly actionlint is reporting our custom actions from .github/actions as incorrect. Actions have a different syntax compared to workflows and I expected actionlint to be aware of that. Maybe someone from @WordPress/openverse-maintainers might have any idea.

Actionlint can't lint actions, only workflows: https://github.com/rhysd/actionlint/issues/46
I think the issue is the files directive. The default files directive for actionlint already scopes it to .github/workflows. Adding the actions directory as well includes files that actionlint doesn't know what to do with. I think removing the files directive altogether is fine and just relying on the default: https://github.com/rhysd/actionlint/blob/main/.pre-commit-hooks.yaml#L14

Actionlint can't lint actions, only workflows (TIL): rhysd/actionlint#46

Wow. Pretty misleading name then!
I agree, dropping .github/actions/ from the linted files should suffice. That would mean deleting the files field altogether because we want to use the default value.
https://github.com/rhysd/actionlint/blob/5562294a5537e12c41501f4b0600f9633c2043cd/.pre-commit-hooks.yaml#L14

Rebasing to get the checks to re-run and update with the modified required checks list which now excludes the no-longer existent actionlint workflow.


Patch quote error

A silly error with in-memory caching.
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

LGTM!


UI: Add cluster selector on the connectors list page

The kafka connect cluster selector is shown on the last page of the wizard in the current mockups.  Instead, place the selector at the top of the ConnectorsPage - the select options can be populated via the service '/api/connect-clusters .  Making a selection would then populate the connector list (although that service is not available yet).  The selected cluster id will be needed when a new connector is created.

Dropdown selector was added with PR #86 - will log separate issue if there is any follow-on work.


Kata Containers 1.9.0-alpha0

qemu: use x-ignore-shared to implement vm template
virtiofs: Allow memory hotplug with virtiofs
Firecracker Add jailer support for firecracker
runtime: update govmm and move to virtio 1.0 for hotplugs
HV: kata-runtime support for ACRN hypervisor
versions: add crictl version which is compatible with OpenShift
versions: update CRI-O to v1.14.6
Fix fork exec test errors
ci: Verify and block merge if other projects are not updated
shimv2: Add missing page size to Hugetlb Stat

d14968b qemu: use x-ignore-shared to implement vm template
d392b22 virtiofs: Allow memory hotplug with virtiofs
050f8e9 runtime: Disable disable-modern for virtio QMP add
3e4989d vendor: update govmm and match code
4fed346 Firecracker: Enable jailer by default
78ea50c virtcontainers: Jailer: Add jailer support for firecracker
98a6973 virtcontainers: Add ACRN unit test cases
f246a79 virtcontainers: Add support for updating virtio-blk based container rootfs
d9a4157 virtcontainers: Add support for launching/managing ACRN based VMs
828e0a2 pkg/katautils: Add support for ACRN hypervisor config
adcac93 kata-check: Check and validate type-1 hypervisor for kata
4d26cee Make: Add ACRN hypervisor and generate configuration file
bdd8947 versions: add crictl version which is compatible with OpenShift
098501a versions: update CRI-O to v1.14.6
4968438 tests: Fix fork/exec test error
fcf9f9f test: Fix fd leak causing test error
5182a25 ci: Verify and block merge if other projects are not updated
da7f5f3 shimv2: Add missing page size to Hugetlb Stat

/test


INDEX Header Size appears misrepresented

Heya,
Just wanted to point out that the total of the values shown in the INDEX HEADER diagram is 32 bytes, while the size that appears to be represented in the labels would indicate that the total is 36 bytes (74-38). It looks like this is due to a "mystery" 4-byte padding that exists prior to the Index ID value - either that or the index ID is stored across 8 bytes instead of 4.
Thanks  again for all your work on this stuff!

Howdy, thanks for the report! You're definitely correct, the "Index ID" field is actually 8 bytes, not 4. You can actually see the read of the uint64 in lib/innodb/page/index.rb.
I will fix the diagram.

Fixed in 6e952a7!


IntelliSense popup object inspector should display type signature information at the very top

If I hover over the polygon object name in the last line of this source code:
let polygon = {
  y: "hello",
  z: "goodbye"
};
polygon.y += 5;

IntelliSense will display this popup:

It displays [x: string]: any; inside curly braces, but inside curly braces (in my opinion) must be only object properties. If I look quickly over that popup I can assume that object polygon has x,y,z properties, when in fact x property is absent. Therefore I propose to display that [x: string]: any; information at the most top line of that popup window.

This issue was moved to Microsoft/TypeScript#27316