Question: How can we rely on specific fields in rules?

Hello, first of all thanks for the great lib!
I have a a question. In docs there is a rule defined and used as:
const isOwner = rule()(async (parent, args, ctx, info) => {
  return ctx.user.items.some(id => id === parent.id)
})

const permissions = shield({
  /* ... */
  User: {
    secret: isOwner
  },
})

The rule uses parent.id which is ID of user to determine if the user is a owner. From what I've been able to understand by playing with this library, we can't really rely on any field of parent.
Let's say the client queries something like:
query {
  me {
    id
    secret
  }
}

Where me is a Query which returns current user - then everything is correct. However, what if client queries a Query:
query {
  me {
    # notice the missing ID
    secret
  }
}

then the parent.id in isOwner rule is undefined and we can't correctly decide whether the user is owner or not.
How can the isOwner rule be implemented correctly? Is there even a way to do that?
Thanks!

Hey @nemcek 👋
That's an interesting question, and indeed you are right! The current version doesn't support fragments. Fragments are a way of telling graphql resolver which information your resolver requires to work correctly.
The next version of shield should introduce this with the following syntax. Right now, we fully depend on graphql-tools PR and grpahql-middleware fragments support which should land in no time.
const nestedRule = rule({
  cache: 'strict',
  fragment: 'fragment UserID on User { id }',
})(async ({ id }, args, ctx, info) => {
  return somethingWithID(id)
})

I hope this covers your idea. Tell me if you have any thoughts on this as well! 🙂

Oh, sweet!
Just to be sure I understood it correctly. In the next version if I use rule with a fragment, for example as:
const isOwner = rule({
    fragment: 'fragment UserID on User { id }',
})(async (parent, args, ctx, info) => {
  return ctx.user.items.some(id => id === parent.id)
})

then I can be sure that parent.id will be populated, right?
If that's the case then shield solves all my use-cases. Love it!

Yeah, that’s exactly that! Perfect 🚀🎉

Is it live? parent is always undefined even when I set cache: 'strict' (the fragment part doesn't even matter):
const isOwner = rule({
  cache: 'strict',
  fragment: 'fragment Id on Item { id }',
})(async (parent, args, ctx: Context, info) => {
  console.log(parent) // undefined
  return true
})

Note: I'm using:
"apollo-server-express": "^2.0.5",
"graphql-middleware": "^1.7.1",
"graphql-shield": "^3.2.0",

Hey @kratam 👋
Could you also provide schema and rules? Also, you should note thay you have to use fragmentReplacements returned by middleware; maybe we should indicate that in the docs.

Wow, super fast response! :) How can I pass fragmentReplacements to ApolloServer?

Hey 👋
Sorry for the delayed response. fragmentReplacements are part of schema forwarding; graphql-binding supports this using fragmentReplacements parameter.
Besides that, you could also use standalone transforms which are supported by ApolloServer, especially ReplaceFieldWithFragment
https://www.apollographql.com/docs/graphql-tools/schema-transforms.html#Other
I hope this helps you with your problem 🙂

Yes, thank you! For anyone else having the same problem, it should look like this:
const { fragmentReplacements, schema } = applyMiddleware(
  plainSchema,
  permissions,
)

// create transforms array for transformSchema
const transforms = [new ReplaceFieldWithFragment(schema, fragmentReplacements)]
// apply transformations
const finalSchema = transformSchema(schema, transforms)

What libraries are transformSchema and ReplaceFieldWithFragment from?

I believe transformSchema from graphql-tools is now called wrapSchema

It looks like ReplaceFieldWithFragment should be accessible from @graphql-tools/delegate according to this thread, but I'm getting the following error:
Module '"@graphql-tools/delegate"' has no exported member 'ReplaceFieldWithFragment'

Has anyone been able to configure fragmentReplacements for NestJS and Apollo Server? It looks like ReplaceFieldWithFragment may deprecated now.

ReplaceFieldWithFragment is straight up non-existent anymore and I have yet to find a full replacement for this part:

const transforms = [new ReplaceFieldWithFragment(schema, fragmentReplacements)]
// apply transformations
const finalSchema = transformSchema(schema, transforms)


script/bootstrap failure installing<EMAIL_ADDRESS>/ node-gyp

The build script tries to install<EMAIL_ADDRESS>which fails due to incompatibilities with recent V8 headers (I'm running the latest node 4 from nvm).
$ script/build
…
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (~/var/co/git/atom/build/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.2.0-10-generic
gyp ERR! command "~/var/co/git/nvm/versions/node/v4.1.1/bin/node" "~/var/co/git/atom/build/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd ~/var/co/git/atom/build/node_modules/runas
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! Linux 4.2.0-10-generic
npm ERR! argv "~/var/co/git/nvm/versions/node/v4.1.1/bin/node" "~/var/co/git/atom/build/node_modules/.bin/npm" "--userconfig=~/var/co/git/atom/build/.npmrc" "install" "--loglevel" "error"
npm ERR! node v4.1.1
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls runas
npm ERR! There is likely additional logging output above.

Root cause is the runas version; npm install<EMAIL_ADDRESS>fails, npm install<EMAIL_ADDRESS>succeeds.

Fixed in https://github.com/atom/atom/pull/8926


:recycle: chore: migrate @evmts/bundler to NodeNext

Description
Migrate @evmts/bundler to NodeNext
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #562

PR #563

PR #564   👈

This comment was auto-generated by Graphite.

#553

closes https://github.com/evmts/evmts-monorepo/issues/516


Entry point should be optional when running sonobuoy gen plugin

Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Currently when running sonobuoy gen plugin you need to either specify -c $ENTRYPOINT or use the default entrypoint of ./run.sh. For some test plugins though, it may be easier to just go with the container image's already defined entrypoint. If the container image was made specifically for running these tests, then it just needs to be run and the entrypoint does not need to be explicitly provided.
For running a set of plugins where there may be a mix of entrypoints, it's certainly possible to inspect the container image to see its entrypoint, then pass that in to the sonobuoy gen plugin call so they match. But especially when things are being scripted, this adds some extra complexity. Another option given was to just remove the entrypoint line from the resulting YAML emitted from sonobuoy gen plugin, which is probably an easier option.
It would be nice to either not have this requirement, or to have a way to pass something like -c "" to the command to have it skip including the entrypoint in the plugin YAML.
Some discussion here: https://kubernetes.slack.com/archives/C6L3G051C/p1661179994256429

Hoping to keep this around. I may be able to spend some time on it soon.


const_defined does not work with namespaced models

If history is enabled and a namespaced model gets deleted, this throws a "wrong constant name" error message.
I added the .try just to be extra safe.

Test needed!

Pb has been solved in Ruby 2 years ago :disappointed_relieved:
Very sorry for this.


Standard library of custom BigQuery functions

BigQuery supports dataset-level custom functions that are publicly reusable. This can be a useful way to abstract away boilerplate SQL needed for common routines. Here's an example of a query that generates custom functions for CWV analysis. We could also write functions for other HA-centric use cases like URL manipulation, HTTP header parsing, etc.
We can maintain the functions in GH for source control as SQL files, which also lets the community submit improvements to existing custom functions or submit their own custom function ideas if they're generally useful.
A nice-to-have is a CI process that runs unit tests on the functions and executes their SQL to update them on BigQuery.

Definitely a MUST after the legacy cleanup.


I added a repository to the "made in iran" collection

Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[x] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

I added a repository to the "made in iran" collection

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Hi,
Thanks for starting this pull request. In order to review it for acceptance, we need to make sure that all of the prerequisites are satisfied. I see that you checked this, but it is incorrect, since you are the creator of the repository:

I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee)

This is a requirement so that we can maintain a high level of independence in this project. Please update if you are able to verify that you meet that requirement.
Thanks!


Fix doc typos in pass_manager_drawer

Signed-off-by: Paul S. Schweigert<EMAIL_ADDRESS>Follow-on from #9128
Fixes a docstring typo in the pass_manager_drawer function.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
67032

Relevant Lines:
78648

💛  - Coveralls


KAFKA-3740: Add configs for RocksDBStore

This is the part I of the work to add the StreamsConfig to ProcessorContext.
We need to access StreamsConfig in the ProcessorContext so other components (e.g. RocksDBWindowStore or LRUCache can retrieve config parameter from application)

Thanks @HenryCaiHaiying , one general comment:
I'm not sure if we should return the whole StreamsConfig object from the ProcessorContext, since this is a top-level class and hence may better be not exposed to developers working as lower-levels. Instead, how about adding a slightly different API:
Map<String, Object> appConfigs();  /* return all the key-value pairs in properties */
Map<String, Object> appConfigsWithPrefix(String);  /* return all the key-value pairs started with the prefix in properties, this can be implemented via AbstractConfig.originalsWithPrefix */

Other than this, this patch LGTM.

Updated the PR according to the comments, please take a look.

LGTM overall, just a minor comment on doc string.

Updated the javadoc according the comment, please take a look.

Merged to trunk. Leaving the JIRA ticket open for the second part. Thanks @HenryCaiHaiying .


Added Myself

Added Myself

Thanks for your valuable contribution!

Thank you for the contribution!
Please leave a star ⭐ on the repository.

Already starred your repository.
On Sun, Oct 1, 2023, 2:52 PM Ayush Sarodey @.***> wrote:

Thank you for the contribution! Please leave a star ⭐ on the repository.
—
Reply to this email directly, view it on GitHub
https://github.com/ayushsarode/CardConnect-HacktoberfestEdition23/pull/16#issuecomment-1742019103,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCZ5KJIGKMFBQV2COQHZUTDX5EY5HANCNFSM6AAAAAA5OBQZA4
.
You are receiving this because you authored the thread.Message ID:
@.***
.com>


Changed Hero title and button fontsize

Ticket(s)
Required unless this is just a change to documentation.
https://airtable.com/appfJZShN8K4tcWHU/tblXQZfKPAJIjV4cL/viw1QjNDGjEZjG4PW/recBuY8DUR9sYCFqh?blocks=hide
Type of change
Please delete any options that are not relevant
New feature (non-breaking change which adds functionality)
Description
Changed Increase hero text size: to 50px;
Increase button titles font size to 19px
Fixes # (issue)
Screenshots
Before
After
Checklist:
[ X] I have performed a self-review of my own code
[X ] I have commented my code, particularly in hard-to-understand areas
[ X] I have made corresponding changes to the documentation (if applicable)
[X ] My changes generate no new warnings
[ X] I have added tests that prove my fix is effective or that my feature works (if applicable)
[X ] New and existing unit tests pass locally with my changes

cool did not know how rem works thanks for the info


How to use this with SSH remote

Or: Do you plan to add REH binaries?

@GitMensch Actually, everytime I build, it makes reh archives. I didn't think anyone wanted or used it, because isn't that just the web version of VSCode? Because in that case there's really no point, and Codium doesn't offer any benefit over upstream. Codium is for people who want compiler optimization, to use it on old OSes i.e. windows 7, or because they dislike the vscodium logo.

No, the REH version is needed for using SSH (or is version WSL) remote. For this the communication goes to a server with the same hash number, which is different for Codium.

@GitMensch OOOO ok. I will release the reh archives alongside them from now on. Thnx. Sorry I didn't before, I could have the whole time because it builds it as part of the whole compilation process, I just didn't think it was necessary. I never use the web version, ssh, or the tunnel introduced recently, so I didn't know anything about it.

@GitMensch Latest 1.87.2 version has REH for Linux and Windows > https://github.com/Alex313031/codium/releases/tag/<IP_ADDRESS>75

Than you. The codium_reh works on my boxes; to have that automatically installed by Open SSH Remote one can configure (=override) its setting remote.SSH.serverDownloadUrlTemplate
https://github.com/jeanp413/open-remote-ssh/blob/8191939de706952fa035f80a6fce0e85f85495f6/package.json#L81
But the installation would have to be done manually for now, as its install script expects it to have in gzip'd tar format, not as zip file https://github.com/jeanp413/open-remote-ssh/blob/8191939de706952fa035f80a6fce0e85f85495f6/src/serverSetup.ts#L318-L343
To ease that and allow automatic installation - can you please adjust the reh binaries to be made available as tar.gz?

Jut out of interest: your binaries include node 16.17.1; is there a plan to increase that or is that version necesary to support older environments?

@GitMensch Yeah, next release I can leave them as .tar.gz
And well, as you know this fork is using Node 16 and Electron 22 for old OS support, i.e. Windows 7/8/8.1 & Ubuntu 18.04/Debian 9.

@GitMensch How are the reh archives working for you now? I am making Linux and Windows ones, using Node 16 (same node as the Electron 22.3.27 that this fork is using)

I've tested them directly after your last update and they worked fine, only the naming schema difference to VSCodium reh binaries was creating extra effort to get the automated download working (I've opted for a manual download back then instead).
If not adjusted so far I'd suggest to use the schema from VSCodium. In any case this issue should be closed-fixed.

@vcip If you noticed, I started offering reh archives for all platforms. You can just download from my releases instead of upstream.

remote.SSH.experimental.serverBinaryName can be used to override the hash, if there's no matching REH binary.
remote.SSH.serverDownloadUrlTemplate allowsyou to swap the default VSCodium, for example to Alex' build (as they likely have a different sha you'd either have to also use that fork instead of VSCodium or again, adjust the binary server name config)

@GitMensch @vcip Turns out this is an error on my part. I don't publish the hashes for all the files.


Support Substrait's VirtualTables

Which issue does this PR close?

Closes #10530
This is my first (but hopefully not last!) contribution to DataFusion, and I'm pretty new with Rust as well - so all feedback on both style and details is very much welcome!
Rationale for this change

What changes are included in this PR?
Adds support for Substrait's VirtualTables, ie. tables with data baked-in into the Substrait plan instead of being read from a source.
Adds conversion in both ways (Substrait -> DataFusion and DataFusion -> Substrait)

Are these changes tested?

Tested through round-trip tests, similar to other Substrait support.
Are there any user-facing changes?

More support through Substrait

Thanks @Blizzara  -- I started the CI on this PR

@jonahgao @alamb I think this is ready by me :)

@jonahgao @alamb this last one is ready now too :)


Fix Invalid Namespace Hanging

If you try and connect to an Invalid namespace you get an error back - but without any handler you end up just hanging (this issue was previously described in more detail here: invisibleroads#84)
I'm not sure whether this belongs in this SocketIO "namespace" or the parent EngineIO - welcome to adjust. Also welcome to adjust on the exception (whether Socket IO specific or another generic Python one)

@feus4177 any ideas on this - it's pretty annoying to have to have to extend the class every time just to add this in :(

Hey, sorry about the delay, I was on vacation. It looks like you've got the right idea but could you change it to just ConnectionError and add the import statement?

Apologies for the delay! Implemented the ConnectionError as you requested. Hope you had a nice holiday :)

Alright thanks.


Feat: Adding regex for input fields

Describe the feature
Add a regex for :

CUID as an email (with a helper text telling it must contain an @ symbol
Password (generic strong password rules)

Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm a GSSOC'24 contributor
[ ] I want to work on this issue

Hi! I would love to work on this issue. I have worked with HTML, CSS and JS for about a year now and I hope I can make a valid contribution to this issue! Thanks!

Sure @Arya-Hari , it's yours! Happy contributing 🚀

Willing to work on this issue!
Can you please reassign it to me?

Sure @Pranav0606 , go ahead

Hey @Pranav0606 , any updates on this?


addGlobalStore examples are not present

Currently the Processor API equivalent of a GlobalKTable (ie. builder.addGlobalStore) is not documented well enough and how does it work.
Some examples for this would be much appreciated.

Never mind. It was quite simple actually but maybe the documentation can clarify a bit.
Here's my understanding.
Global State Stores use the inputTopic itself as the changelog topic. ie. When an application is started all records in the topic are loaded as it is into the state store using a separate thread.
Once the changelog has been consumed any new records on the inputTopic are passed to the Processor instance returned by the ProcessorSupplier passed during the call to addGlobalStore(). YOU MUST ONLY DO stateStore.put(key, value) or stateStore.delete(key) depending on if the record is a tombstone or not.

@hashhar https://github.com/apache/kafka/pull/6803 😄


Set size of Dx12 swapchain to associated windows

Problem
IDXGIFactory::CreateSwapChainForHwnd allow swapchain's width and height as zero. When replay the trace, GFXR creates 0x0 window to replay. https://learn.microsoft.com/en-us/windows/win32/api/dxgi1_2/nf-dxgi1_2-idxgifactory2-createswapchainforhwnd#remarks
Solution
Inject a metadata block right before CreateSwapChainXXX() call and record the proper swapchain size. Replace the proper swapchain size by the metablock during replay.

CI gfxreconstruct build queued with queue ID 189940.

CI gfxreconstruct build # 4233 running.

CI gfxreconstruct build # 4233 passed.

CI gfxreconstruct build queued with queue ID 207392.

CI gfxreconstruct build # 4321 running.

CI gfxreconstruct build # 4321 passed.

CI gfxreconstruct build queued with queue ID 210660.

CI gfxreconstruct build # 4363 running.


Enable markdown in slack attachments #251

Required for all non-trivial PRs

[x] Rebased/mergable
[ ] Tests pass
[ ] CHANGELOG.md updated
[x] Sign CLA (if not already signed)

@nathanielc Does this pull can be merged ?

@xuqingfeng Sorry for the really long delay. We have been in freeze mode for the 1.1 release. That is over now and I can take a look at this PR.
My first question is, should this be a user option to enable mark down formatting?

Everyone loves markdown, no need to add another option.

Everyone loves markdown, no need to add another option.

OK, I agree :)
Can you update the test here to reflect this change?

@nathanielc done

@xuqingfeng Everyting looks good to go. Can you rebase of master and add a CHANGELOG entry? Then I can merge on green. Thanks!

@nathanielc sure
Could you check if it's ok?


Update services to last versions

Add RabbitMQ for tx service

I tested your branch, this is completely broken for me testing on Ubuntu 21.04.

I tested your branch, this is completely broken for me testing on Ubuntu 21.04.

What do you mean by broken?


Disambiguate generics application

The current implementation uses simple lookup to determine whether an var expression refers to a generics, and use this information to disambiguate between a potential genApp expr or normal comparison expr.
However, when we want to add generic methods, the simple lookup will not work.
For example,
__generic<TPattern : IBRDFPattern, TInterpolant: IVertexInterpolant>
float test(TPattern pattern, TInterpolant vertInterps)
{
    float rs = pattern.evalPattern<TInterpolant>(vertInterps);
    return rs;
}

Since lookup of evalPattern will not return any result (because we are not in the right scope looking for evalPattern, the parser will just treat the < as comparison operator.
We need to figure out a systematic method for such disambiguations. It seems that the easiest way is to use a two-pass parser. A hacky way is to just record all seen generic names, and check if the last encountered token has a previously recorded generics name. This will work for most cases but is not actually correct.

@tfoleyNV, what is your opinon on this? I would like to go ahead and turn our parser into a two pass parser. The executeActionInner() logic needs to change to invoke a coarseParser first, then use CoarseParsingResult to existing Parser to get the final AST.

See this link for a discussion of the disambiguation logic that goes on in C#:
https://books.google.com/books?id=g6axWRRpJZwC&lpg=PA79&ots=HAYnnpNu3O&dq=C%23 generic parser disambiguation&pg=PA78#v=onepage&q=C%23 generic parser disambiguation&f=false
I've implemented this kind of approach multiple times (including in an HLSL "compatible" compiler) and never had users run into the ambiguous cases.

PR #251 introduces speculative parsing that addresses this issue.


Removed /build from gitignore

the documentation build wasn't being pushed because of the .gitignore line
Now you can see the working point of the documentation.
Navigate into the docs/build/html path
Double click index.html

I'm new to docs - what is the purpose of that file tree?


haskellPackages: unbreak

Motivation for this change
The packages build:

bustle
llvm-hs
llvm-hs-pretty

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Looks good, thanks for fixing these up!


Add env flag for running tests with pycodestyle

Proof of concept for #1. Curious if others think this is actually useful or not.
Add optional support for a PEP8_VALIDATE env flag for running prettier output from tests into pycodestyle. If pycodestyle returns any errors, the test fails. There is no impact if the PEP8_VALIDATE flag is not set.
I did my best choosing an appropriate subset of pycodestyle errors, but it will likely will need more tweaking.
Adds pycodestyle as a vendor dependency.
Several tests currently fail with the PEP8_VALIDATE flag enabled:

Click to view output

Summary of all failing tests
 FAIL  tests/python_comments/jsfmt.spec.js
  ● comments.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:1:6: E261 at least two spaces before inline comment
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● comments.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:1:6: E261 at least two spaces before inline comment
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

 FAIL  tests/python_expressions/jsfmt.spec.js
  ● expressions.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:37:4: E231 missing whitespace after ','
    stdin:110:11: E203 whitespace before ':'
    stdin:334:18: E231 missing whitespace after ','
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● expressions.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:37:4: E231 missing whitespace after ','
    stdin:110:11: E203 whitespace before ':'
    stdin:334:18: E231 missing whitespace after ','
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

 FAIL  tests/python_tuple/jsfmt.spec.js
  ● tuple.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:13:4: E231 missing whitespace after ','
    stdin:14:4: E231 missing whitespace after ','
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● tuple.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:13:4: E231 missing whitespace after ','
    stdin:14:4: E231 missing whitespace after ','
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● tuple.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:13:4: E231 missing whitespace after ','
    stdin:14:4: E231 missing whitespace after ','
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

 FAIL  tests/python_strings/jsfmt.spec.js
  ● strings.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:43:1: E265 block comment should start with '# '
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● strings.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:43:1: E265 block comment should start with '# '
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

 FAIL  tests/python_lambdas/jsfmt.spec.js
  ● lambdas.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:4:9: E126 continuation line over-indented for hanging indent
    stdin:6:9: E126 continuation line over-indented for hanging indent
    stdin:8:47: E203 whitespace before ':'
    stdin:9:5: E131 continuation line unaligned for hanging indent
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● lambdas.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:4:9: E126 continuation line over-indented for hanging indent
    stdin:6:9: E126 continuation line over-indented for hanging indent
    stdin:9:5: E131 continuation line unaligned for hanging indent
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● lambdas.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:4:9: E126 continuation line over-indented for hanging indent
    stdin:6:9: E126 continuation line over-indented for hanging indent
    stdin:8:47: E203 whitespace before ':'
    stdin:9:5: E131 continuation line unaligned for hanging indent
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

 FAIL  tests/python_long/jsfmt.spec.js
  ● hello.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:1:1: E302 expected 2 blank lines, found 0
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● hello.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:1:1: E302 expected 2 blank lines, found 0
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

  ● hello.py - python-verify

    expect(received).toEqual(expected)

    Expected value to equal:
      ""
    Received:
      "stdin:1:1: E302 expected 2 blank lines, found 0
    "

      at Object.test (tests_config/run_spec.js:46:63)
          at new Promise (<anonymous>)
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

Test Suites: 6 failed, 118 passed, 124 total
Tests:       15 failed, 165 passed, 180 total
Snapshots:   113 passed, 113 total
Time:        12.275s
Ran all test suites in 2 projects.

This looks great to me! I think that having this option, even if it's not on or enforced by default, makes it a lot easier to start tracking down and fixing inconsistencies/issues as we start to get more feature complete. I'd be in favor of merging this in :D

@patrick91 Do you have any feedback for this PR?

@ryanashcraft I'm so sorry for the delay, I've been busy with PyCon Italia and other things, the PR looks great! I'll merge it and we can enable pycodestyle on CI later


XD-2854 [1.1.x] Add migration code changes

This code checks for existing stream definitions and update
the module definitions if they don't exist.

squashed and merged as ce5ff05e87e7b0a917811104ab41e87d82e3419a


Why do PTQ and QTA automatically output different ONNX shapes?

💡 Your Question
Regarding the Quantization-Aware training for YOLO-NAS, I followed the procedure here, but it seems that the input and output format is different between the ONNX output at PTQ and the ONNX output after QTA.
The shape of the ONNX at PTQ seems to match the input and output of the following code, which is the “Batch Format” referred to in this document, but the ONNX output after QTA has a completely different output shape.
from super_gradients.common.object_names import Models
from super_gradients.training import models

model = models.get(Models.YOLO_NAS_S, pretrained_weights="coco")

export_result = model.export("yolo_nas_s.onnx")

The following images show the properties of each ONNX as confirmed by NETRON: the first is PTQ and the second is QTA.

I would appreciate an answer as to why the two ONNX formats are different and how to use the ONNX output after QTA to infer the image.
Thank you.
Versions
PyTorch version: 2.2.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.6 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.31
Python version: 3.8.10 (default, May 26 2023, 14:05:08)  [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.15.0-92-generic-x86_64-with-glibc2.29
Is CUDA available: True
CUDA runtime version: 11.3.109
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 4090
Nvidia driver version: 545.29.06
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Byte Order:                         Little Endian
Address sizes:                      39 bits physical, 48 bits virtual
CPU(s):                             32
On-line CPU(s) list:                0-31
Thread(s) per core:                 1
Core(s) per socket:                 24
Socket(s):                          1
NUMA node(s):                       1
Vendor ID:                          GenuineIntel
CPU family:                         6
Model:                              183
Model name:                         13th Gen Intel(R) Core(TM) i9-13900KF
Stepping:                           1
CPU MHz:                            3000.000
CPU max MHz:                        5800.0000
CPU min MHz:                        800.0000
BogoMIPS:                           5990.40
Virtualization:                     VT-x
L1d cache:                          576 KiB
L1i cache:                          384 KiB
L2 cache:                           24 MiB
NUMA node0 CPU(s):                  0-31
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Not affected
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Not affected
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr flush_l1d arch_capabilities
Versions of relevant libraries:
[pip3] numpy==1.23.0
[pip3] onnx==1.13.0
[pip3] onnx-graphsurgeon==0.3.27
[pip3] onnx-simplifier==0.4.35
[pip3] onnxruntime==1.13.1
[pip3] onnxsim==0.4.35
[pip3] pytorch-quantization==2.1.2
[pip3] torch==2.2.0
[pip3] torchmetrics==0.8.0
[pip3] torchvision==0.17.0
[pip3] triton==2.2.0
[conda] Could not collect

Thank you for your response.
So you are saying that at this time QAT only has a benchmark function? Or is there another way for QAT to perform object detection on an image or video and check the results other than train_from_recipe?

@BlueRayi I am closing this issue down as since https://github.com/Deci-AI/super-gradients/pull/1879 both QAT and PTQ use the dedicated model's .export() method, and shapes should be the same.


AuthServer.py cannot connect to voice service

Alexa device SDK version 1.3 master
platform: macosx 10.13.2
hw: mac book pro Mid 2015, 2,5GHz intel Core i7
Sum up:
When trying to refresh token running python script AuthServer.py, python crashes with following trace:
Traceback (most recent call last):
File "AuthServer/AuthServer.py", line 194, in
app.run(host='<IP_ADDRESS>',port='3000')
File "/Users/gteudemo/Library/Python/2.7/lib/python/site-packages/flask/app.py", line 841, in run
run_simple(host, port, self, **options)
File "/Users/gteudemo/Library/Python/2.7/lib/python/site-packages/werkzeug/serving.py", line 733, in run_simple
raise TypeError('port must be an integer')
TypeError: port must be an integer
expected result:
being able to refresh token
quick fix:
line 194
app.run(host='<IP_ADDRESS>',port='3000') ->app.run(host='<IP_ADDRESS>',port=3000)

Since AuthServer.py is auto-generated, it is a pity to have to modify it each time I make a clean build.

Hello scurdy,
Thank you very much for bringing this to our attention!  I just tried to reproduce the problem you described and have not been able to.  What version of Werkzeung are you running?  You should be able to find it via:
pip freeze | grep Werkzeug
Thank you,
-SWH

Plus one for this problem:
Python version 2.7.10 (default on OSX High Sierra clean install)
Werkzeug==0.13

yes the same here.
Werkzeug==0.13

Hi all,
Thank you for the information. We will investigate the issue and see if we can provide a fix soon.
Thanks,
Sanjay

Duplicated here, same fix works.

I didn’t see the fix in the thread.  I am having the same issue, could you clarify please?

@hivie7510 Change this line:
app.run(host='<IP_ADDRESS>',port='3000')

to this (remove the quotes from around 3000):
app.run(host='<IP_ADDRESS>',port=3000)


v1.11 broke intellisense, again

Hi guys, la latest version (v1.11) broke the intellisense. I had to downgrade to v1.10.
Please be aware about this functionality, is the one of most important... imho
thank you and good job,
J.

Could you please provide details on what exactly broke? What server type/version are you connecting to and what problems are you seeing exactly?

+1. Strange behavior. All is OK when I choose "New Query" from Connections Browser. But when I creating new file or open some sql file, intellisense isn`t working. "Choose SQL Language provider"  on status bar. But I'm already connected to MSSQL Database =).
System: Windows 7.

@konpl Are you sure the query window is connected?
You should see this in the action bar of the editor :

If you see this (Connect button and other things disabled) that means the editor isn't connected to a database so it's expected you wouldn't have Intellisense at that point.

@jfcarr I can't repro this myself on a 2016 instance. And reverting back to 1.10 resolved the issue? Could you try uninstalling ADS and then reinstalling 1.11 to see if that helps anything? If not could you open the developer console (Help -> Toggle Developer Tools) and see if there's any errors in the console tab?

@Charles-Gagnon
I see this

@Charles-Gagnon Didn't try to reinstall because I having many server connections and don't want to rewrite them.
sqltools.log
Steps for log write:

Open ADS;
Select "New Query" from connections window;
Write simple SQL query and execute it (Intellisense working);
Save file. After this happenned disconnect (It's correct behavior?);
Connect to the same SQL Server;
Try to call Intellisense, but it isn't working.

Could you please provide details on what exactly broke? What server type/version are you connecting to and what problems are you seeing exactly?

I'm sorry for late response:
When I type select * from dbo. ... I'm excepecting a list of tables/schemas but appears only a list o previous typed words [abc]etc etc
The same happens for select * from dbo.mytable t where t. ... I'm excepecting a list of columns but nothing appears
I'm using:
SQL SERVER v14.0.2027.2 on Windows Server 2012 R2 Standard (6.3)
SQL SERVER v12.0.6329.1 on Microsoft Windows NT 6.3 (9600)
I've tried to uninstall and reinstall, but works only with v1.10
Thank you very much,
J.

@jakodev if you have time to verify if the below build resolves the issue that would be helpful in narrowing down where to investigate.  This build is from master yesterday with a downgraded SMO component.  Thanks!
Windows: https://azuredatastudiobuilds.blob.core.windows.net/test/azuredatastudio-windows-intellisense-bug.zip
macOS: https://azuredatastudiobuilds.blob.core.windows.net/test/azuredatastudio-macos-intellisense-bug.zip

Seeing the same problem. I tried with both SQL2008 and SQL2016, so I think you can rule out SQL version as mattering. The key repro seems to just be saving the file kills intellisense.

@kburtram I tried the windows version you linked in your last post. It did not fix the problem.
I am using exact same repro steps as @Charles-Gagnon against a local SQL Server 2016 from a client with Windows 10 build 18362.

@HumorMe thanks for confirming!  That helps us narrow down where not to look.
Azure Data Studio keeps its persisted state in C:\Users\[USERNAME]\AppData\Roaming\azuredatastudio and C:\Users\[USERNAME]\.azuredatastudio.  These directories shouldn't be altered during uninstall\install.  The connection data specifically is in C:\Users\[USERNAME]\AppData\Roaming\azuredatastudio\User\settings.json in case you'd like to "backup" those settings before reinstalling.

@jakodev if you have time to verify if the below build resolves the issue that would be helpful in narrowing down where to investigate. This build is from master yesterday with a downgraded SMO component. Thanks!
Windows: https://azuredatastudiobuilds.blob.core.windows.net/test/azuredatastudio-windows-intellisense-bug.zip
macOS: https://azuredatastudiobuilds.blob.core.windows.net/test/azuredatastudio-macos-intellisense-bug.zip

Hi @kburtram,
I'm trying this release (v1.12) and the intellisense this time works only if I'm using it in a new clean query sheet. In old/saved query sheet intellisense still doesn't work. Very strange...
Let me know if you need further tests
J.

@jakodev I'm able to repro now with saved SQL files.  Previously I was testing with untitled files.  This should be enough to determine the root cause.  Thanks!

Alright, I've tracked down an issue that was indeed introduced in the last release. I'm working on a fix now - will update if I need any more information!

While it i not fixed, not sure if everyone knows this but in a query windows after connecting to the database if we run "Refresh IntelliSense Cache" then it works for that query window/database. (v1.11.0)

While it is not fixed, not sure if everyone knows this but in a query windows after connecting to the database if we run "Refresh IntelliSense Cache" then it works for that query window/database. (v1.11.0)

Yes, I've already tried without success...thansks for the suggestion.
J.

Fix merged in https://github.com/microsoft/sqltoolsservice/pull/867 - once we get an updated SqlToolsService then I'll update insiders with the new version.

Fix merged in microsoft/sqltoolsservice#867 - once we get an updated SqlToolsService then I'll update insiders with the new version.

when this fix will be available in the insiders?

@Epivaral The insiders build from last night should have the fix! Try it out and let us know if anyone is still having issues after the update.

when can non-insiders expect to see this fix?

@ideoclickVanessa We're targeting next week for a stable release


[Event Request] Page 99000882 "Change Status on Prod. Order"

Hi,
Is it possible ti have an event after initialise the editable button on fonction Set plz ?

Thanks.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Cannot connect to axelar testnet via IBC relayer - getting account sequence mismatch

Hi,
I am trying to create a relayer between my local Cosmos chain and Axelar testnet axelar-testnet-lisbon-3 but running
rly tx link sagaxl --home .relayer --src-port transfer --dst-port transfer --order unordered --version ics20-1
gives the following error:
root@e25211b6274d:/tmp# tail -f RLY_10092023225704.err
2023-10-09T22:58:51.822179Z	info	Clients created	{"src_client_id": "07-tendermint-1", "src_chain_id": "pegasus-1", "dst_client_id": "07-tendermint-619", "dst_chain_id": "axelar-testnet-lisbon-3"}
2023-10-09T22:58:52.418913Z	info	Starting event processor for connection handshake	{"src_chain_id": "pegasus-1", "src_client_id": "07-tendermint-1", "dst_chain_id": "axelar-testnet-lisbon-3", "dst_client_id": "07-tendermint-619"}
2023-10-09T22:58:52.564882Z	info	Chain is not yet in sync	{"chain_name": "ssc", "chain_id": "pegasus-1", "latest_queried_block": 67172, "latest_height": 67192}
2023-10-09T22:58:53.268806Z	info	Chain is not yet in sync	{"chain_name": "axelar", "chain_id": "axelar-testnet-lisbon-3", "latest_queried_block": 9981503, "latest_height": 9981523}
2023-10-09T22:58:53.719484Z	info	Chain is in sync	{"chain_name": "ssc", "chain_id": "pegasus-1"}
2023-10-09T22:58:59.507151Z	info	Chain is in sync	{"chain_name": "axelar", "chain_id": "axelar-testnet-lisbon-3"}
2023-10-09T22:59:01.446057Z	info	Successful transaction	{"provider_type": "cosmos", "chain_id": "pegasus-1", "gas_used": 216088, "fees": "", "fee_payer": "saga1rdssl22ysxyendrkh2exw9zm7hvj8d2ju346g3", "height": 67194, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.connection.v1.MsgConnectionOpenInit"], "tx_hash": "F494F6FBD1EB0EA53DBE4DA3497C39FC88F9DBF473ECB7ABB9E25D5B37D1D98F"}
Error: identifier cannot be blank: invalid identifier
2023-10-09T23:00:55.570831Z	info	Clients created	{"src_client_id": "07-tendermint-1", "src_chain_id": "pegasus-1", "dst_client_id": "07-tendermint-619", "dst_chain_id": "axelar-testnet-lisbon-3"}
2023-10-09T23:00:55.571070Z	info	Starting event processor for connection handshake	{"src_chain_id": "pegasus-1", "src_client_id": "07-tendermint-1", "dst_chain_id": "axelar-testnet-lisbon-3", "dst_client_id": "07-tendermint-619"}
2023-10-09T23:00:55.687057Z	info	Chain is not yet in sync	{"chain_name": "ssc", "chain_id": "pegasus-1", "latest_queried_block": 67195, "latest_height": 67215}
2023-10-09T23:00:56.380030Z	info	Chain is not yet in sync	{"chain_name": "axelar", "chain_id": "axelar-testnet-lisbon-3", "latest_queried_block": 9981526, "latest_height": 9981546}
2023-10-09T23:00:56.809236Z	info	Chain is in sync	{"chain_name": "ssc", "chain_id": "pegasus-1"}
2023-10-09T23:01:03.245235Z	info	Chain is in sync	{"chain_name": "axelar", "chain_id": "axelar-testnet-lisbon-3"}
2023-10-09T23:01:05.565600Z	info	Successful transaction	{"provider_type": "cosmos", "chain_id": "pegasus-1", "gas_used": 248052, "fees": "", "fee_payer": "saga1rdssl22ysxyendrkh2exw9zm7hvj8d2ju346g3", "height": 67217, "msg_types": ["/ibc.core.client.v1.MsgUpdateClient", "/ibc.core.connection.v1.MsgConnectionOpenInit"], "tx_hash": "223BCCABBEC90534720CCBDEE009338583AAADDD9201FACAFF318A561D4F3F68"}
2023-10-09T23:01:19.231217Z	error	Error broadcasting connection handshake message	{"path_name": "sagaxl", "src_chain_id": "pegasus-1", "dst_chain_id": "axelar-testnet-lisbon-3", "src_client_id": "07-tendermint-1", "dst_client_id": "07-tendermint-619", "msg": {"type": "connection_open_try", "client_id": "07-tendermint-1", "cntrprty_client_id": "07-tendermint-619", "conn_id": "connection-13", "cntrprty_conn_id": "", "cntrprty_commitment_prefix": ""}, "error": "rpc error: code = Unknown desc = rpc error: code = Unknown desc = account sequence mismatch, expected 48, got 43: incorrect account sequence [axelarnetwork/cosmos-sdk@v0.45.17-0.20230904150332-37fb903a6c62/x/auth/ante/sigverify.go:265] With gas wanted: '0' and gas used: '94697' : unknown request"}

I have tried this multiple times to create an IBC connection to Axelar testnet but it fails each time with the account sequence mismatch error. Here is the relayer config.yaml.
# cat ~/.relayer/config/config.yaml
global:
    api-listen-addr: :5183
    timeout: 10s
    memo: ""
    light-cache-size: 20
chains:
    axelar:
        type: cosmos
        value:
            key-directory: .relayer/keys/axelar-testnet-lisbon-3
            key: relayer
            chain-id: axelar-testnet-lisbon-3
            rpc-addr: https://axelar-testnet-rpc.qubelabs.io:443
            account-prefix: axelar
            keyring-backend: file
            gas-adjustment: 1.2
            gas-prices: 0.0025uaxl
            min-gas-amount: 1
            max-gas-amount: 400000
            debug: true
            timeout: 20s
            block-timeout: ""
            output-format: json
            sign-mode: direct
            extra-codecs: []
            coin-type: null
            signing-algorithm: ""
            broadcast-mode: sync
            min-loop-duration: 0s
            extension-options: []
            feegrants: null
    ssc:
        type: cosmos
        value:
            key-directory: .relayer/keys/pegasus-1
            key: relayer
            chain-id: pegasus-1
            rpc-addr: tcp://localhost:26657
            account-prefix: saga
            keyring-backend: file
            gas-adjustment: 1.2
            gas-prices: 0stake
            min-gas-amount: 0
            max-gas-amount: 0
            debug: true
            timeout: 20s
            block-timeout: ""
            output-format: json
            sign-mode: direct
            extra-codecs: []
            coin-type: null
            signing-algorithm: ""
            broadcast-mode: sync
            min-loop-duration: 0s
            extension-options: []
            feegrants: null
paths:
    sagaxl:
        src:
            chain-id: pegasus-1
            client-id: 07-tendermint-1
        dst:
            chain-id: axelar-testnet-lisbon-3
            client-id: 07-tendermint-619
        src-channel-filter:
            rule: ""
            channel-list: []

At this point, I am not really sure if this is an Axelar specific issue or a general relayer issue so opening this issue here.
Thank you.

Hi @ashishchandr70
Thank you for reaching out.
Creating channels between the Axelar testnet and other networks is a common practice and usually works smoothly. Debugging local setups can be challenging, but we will do our best to assist you.

Could you please provide the version of Go Relayer you are using?

I have noticed two types of errors in your logs related to RPC and gas.
To ensure your local RPC is functioning correctly, you can run a test command like this (or any other command):
echo -n '{"jsonrpc":"2.0","id":"1","method":"abci_info","params":{}}' | nc -v localhost 26657
Can you also modify the gas values used in pegasus-1 section, put something different of 0 and test again ?
today you have this :

            min-gas-amount: 0
            max-gas-amount: 0

Hi @kalidax ,
Thanks for your response. I am providing answers to your questions inline below.

Hi @ashishchandr70
Thank you for reaching out. Creating channels between the Axelar testnet and other networks is a common practice and usually works smoothly. Debugging local setups can be challenging, but we will do our best to assist you.

Could you please provide the version of Go Relayer you are using?

Version v2.4.1

I have noticed two types of errors in your logs related to RPC and gas.
To ensure your local RPC is functioning correctly, you can run a test command like this (or any other command):
echo -n '{"jsonrpc":"2.0","id":"1","method":"abci_info","params":{}}' | nc -v localhost 26657

Here is the output (please note that I had changed the actual IP address to localhost as I did not want to reveal the IPs we are running our chain on. Here too, the IPs are obfuscated but this is the output:
Connection to <IP_ADDRESS> 26657 port [tcp/*] succeeded!
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Connection: close

Can you also modify the gas values used in pegasus-1 section, put something different of 0 and test again ?
today you have this :
            min-gas-amount: 0
            max-gas-amount: 0

I did that as well. Min Gas was set to 1, Max Gas was set to 400000 for the pegasus-1 chain. Here is the output:
2023-10-19T16:36:19.797523Z info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "post failed: Post \"https://rpc-axelar-testnet.imperator.co:443\": context canceled"}
rlyaxelar     | Error: error creating clients: failed to create client on src chain{pegasus-1}: failed to find a matching client for the new client state: time since latest trusted state has passed the trusting period
rlyaxelar     | 2023-10-19T16:36:23.482763Z     info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "post failed: Post \"https://rpc-axelar-testnet.imperator.co:443\": context canceled"}
rlyaxelar     | Error: error creating clients: failed to create client on src chain{pegasus-1}: failed to find a matching client for the new client state: time since latest trusted state has passed the trusting period
rlyaxelar     | 2023-10-19T16:36:26.999031Z     info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "post failed: Post \"https://rpc-axelar-testnet.imperator.co:443\": context canceled"}
rlyaxelar     | Error: error creating clients: failed to create client on src chain{pegasus-1}: failed to find a matching client for the new client state: time since latest trusted state has passed the trusting period
rlyaxelar     | Thu Oct 19 16:36:28 UTC 2023 Could not create a connection between chains axelar-testnet-lisbon-3 and pegasus-1 after 3 attempts. Exiting

I think this is a general error your testnet nodes are throwing. I tried with another RPC endpoint and this is the output:
2023-10-19T16:40:58.704432Z info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "post failed: Post \"https://axelar-testnet-rpc.qubelabs.io:443\": context canceled"}
rlyaxelar     | Error: error creating clients: failed to create client on src chain{pegasus-1}: failed to find a matching client for the new client state: time since latest trusted state has passed the trusting period
rlyaxelar     | 2023-10-19T16:41:02.893123Z     info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "post failed: Post \"https://axelar-testnet-rpc.qubelabs.io:443\": context canceled"}
rlyaxelar     | Error: error creating clients: failed to create client on src chain{pegasus-1}: failed to find a matching client for the new client state: time since latest trusted state has passed the trusting period
rlyaxelar     | 2023-10-19T16:41:06.926742Z     info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "post failed: Post \"https://axelar-testnet-rpc.qubelabs.io:443\": context canceled"}
rlyaxelar     | Error: error creating clients: failed to create client on src chain{pegasus-1}: failed to find a matching client for the new client state: time since latest trusted state has passed the trusting period
rlyaxelar     | Thu Oct 19 16:41:08 UTC 2023 Could not create a connection between chains axelar-testnet-lisbon-3 and pegasus-1 after 3 attempts. Exiting
rlyaxelar exited with code 1

Hi @ashishchandr70
Errors are different now.
Are you familiar with Hermes ?
Can you try using it for the channel creation ?

Yes, I am familiar with Hermes but as a project and were initially using it, but we wanted to switch over to using the Cosmos Go-Relayer.

Hey @kalidax we had a chain issue on our side and that is why we got that freak error which prompted you to ask me to use Hermes.
We restarted out chain and now I am back to the sequence mismatch error.
2023-10-24T22:25:15.263994Z	info	Successful transaction	{"provider_type": "cosmos", "chain_id": "ssc", "gas_used": 73615, "fees": "", "fee_payer": "saga129nuu6nclj6ta5r8pgvuvqc7qara706gwlpyh4", "height": 476, "msg_types": ["/ibc.core.client.v1.MsgCreateClient"], "tx_hash": "5B24BA4E75BBE6DD369E131EBFAE932988FE76F73881488FD6417C07A6EC6AD0"}
2023-10-24T22:25:15.264134Z	info	Client Created	{"src_chain_id": "ssc", "src_client_id": "07-tendermint-0", "dst_chain_id": "axelar-testnet-lisbon-3"}
2023-10-24T22:27:02.421205Z	info	Error building or broadcasting transaction	{"provider_type": "cosmos", "chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "rpc error: code = Unknown desc = rpc error: code = Unknown desc = account sequence mismatch, expected 66, got 65: incorrect account sequence [axelarnetwork/cosmos-sdk@v0.45.17-0.20230904150332-37fb903a6c62/x/auth/ante/sigverify.go:265] With gas wanted: '0' and gas used: '49167' : unknown request"}

Hi,
Have you tried replacing the account which is giving you the error with a new account? If not, can you try once?

Create a new account and execute a couple of transactions, like send and receive.
Replace the account which is giving you the "account sequence mismatch" with this new account for rly.
Try to replicate the issue and check if its still gives you an error.

Regads,
Aries

Hi @SynergyNodes I tried with a new testnet account axelar1e6h95r6f60vmu29dyn7qp3j3xhlvqv9qwqzzya.
This was an account I created using axelard and then funded it using the Axelar testnet faucet. I could see it was funded successfully.
I also restarted my local chain. This run gave a different error:
root@8fc4f26e7054:/tmp# tail -f RLY_10252023155717.err
2023-10-25T15:57:30.275291Z	info	Successful transaction	{"provider_type": "cosmos", "chain_id": "ssc", "gas_used": 73585, "fees": "", "fee_payer": "saga129nuu6nclj6ta5r8pgvuvqc7qara706gwlpyh4", "height": 59, "msg_types": ["/ibc.core.client.v1.MsgCreateClient"], "tx_hash": "CD9847EC51AFE9C09246B4126F5139BCB4D00310B2965F20A7A8F625ACC44CF3"}
2023-10-25T15:57:30.275447Z	info	Client Created	{"src_chain_id": "ssc", "src_client_id": "07-tendermint-0", "dst_chain_id": "axelar-testnet-lisbon-3"}
Error: error creating clients: failed to create client on dst chain{axelar-testnet-lisbon-3}: failed to find a matching client for the new client state: height requested is too high
Error: error creating clients: failed to create client on dst chain{axelar-testnet-lisbon-3}: failed to find a matching client for the new client state: height requested is too high
Error: error creating clients: failed to create client on dst chain{axelar-testnet-lisbon-3}: failed to find a matching client for the new client state: height requested is too high

Here is my relayer config.yml
root@8fc4f26e7054:/tmp# cat ~/.relayer/config/config.yaml
global:
    api-listen-addr: :5183
    timeout: 10s
    memo: ""
    light-cache-size: 20
chains:
    axelar:
        type: cosmos
        value:
            key-directory: .relayer/keys/axelar-testnet-lisbon-3
            key: relayer
            chain-id: axelar-testnet-lisbon-3
            rpc-addr: https://rpc-axelar-testnet.imperator.co:443
            account-prefix: axelar
            keyring-backend: file
            gas-adjustment: 1.2
            gas-prices: 0.0025uaxl
            min-gas-amount: 1
            max-gas-amount: 400000
            debug: true
            timeout: 20s
            block-timeout: ""
            output-format: json
            sign-mode: direct
            extra-codecs: []
            coin-type: null
            signing-algorithm: ""
            broadcast-mode: sync
            min-loop-duration: 0s
            extension-options: []
            feegrants: null
    ssc:
        type: cosmos
        value:
            key-directory: .relayer/keys/ssc
            key: relayer
            chain-id: ssc
            rpc-addr: tcp://<IP_ADDRESS>:26657
            account-prefix: saga
            keyring-backend: file
            gas-adjustment: 1.2
            gas-prices: 0stake
            min-gas-amount: 0
            max-gas-amount: 0
            debug: true
            timeout: 20s
            block-timeout: ""
            output-format: json
            sign-mode: direct
            extra-codecs: []
            coin-type: null
            signing-algorithm: ""
            broadcast-mode: sync
            min-loop-duration: 0s
            extension-options: []
            feegrants: null
paths:
    sagaxl:
        src:
            chain-id: ssc
        dst:
            chain-id: axelar-testnet-lisbon-3
        src-channel-filter:
            rule: ""
            channel-list: []

Hello @ashishchandr70 ,
I can only speculate that this may be issue with the RPC that you are using for Axealr testnet. Again, this is just a guess. You can try the following:

Try one more time with the same RPC.
If still the same issue, change the RPC to an other working one and try again.

Regards,
Aries

Hi @SynergyNodes
I think that is probably an issue at the moment. I have tried several RPC endpoints listed on https://docs.axelar.dev/resources/ but intermittently have trouble connecting to them.
Here are the other endpoints I have tried and their results:
RPC: https://axelartest-rpc.quickapi.com:443
2023-10-25T21:26:39.560887Z info    Failed to query clients {"chain_id": "axelar-testnet-lisbon-3", "attempt": 1, "max_attempts": 5, "error": "error in json rpc client, with http response metadata: (Status: 429 Too Many Requests, Protocol HTTP/1.1). error unmarshalling: invalid character '<' looking for beginning of value"}

RPC: https://axelar-rpc-1.staketab.org:443
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up
Error: node at https://axelar-rpc-1.staketab.org:443 running chain axelar-testnet-lisbon-3 not caught up

RPC: https://axelar-testnet-rpc.qubelabs.io:443
Error: error creating clients: failed to create client on dst chain{axelar-testnet-lisbon-3}: failed to find a matching client for the new client state: height requested is too high

Hello,
I think that you should try to create the connection via hermes then use rly if you wants to relay transactions.

Hi @aalahyane95
I tried the Hermes relayer and these are my findings:
Shell Script to create channel:
export PATH=$PATH:/home/ashish/.hermes/bin
SRC_CHAIN=axelar-testnet-lisbon-3
DST_CHAIN=pegasus-1

echo "Starting hermes configuration. Using source chain $SRC_CHAIN and destination chain $DST_CHAIN"

hermes --config config.toml config validate

hermes --config config.toml keys add --chain $SRC_CHAIN --mnemonic-file axelar-mnemonic.file
hermes --config config.toml keys add --chain $DST_CHAIN --mnemonic-file ssc-mnemonic.file

hermes --config config.toml create channel --a-chain $DST_CHAIN --b-chain $SRC_CHAIN --a-port transfer --b-port transfer --new-client-connection --yes

My config.toml used by Hermes:
[global]
log_level = 'trace'

[mode]

[mode.clients]
enabled = true
refresh = true
misbehaviour = true

[mode.connections]
enabled = true

[mode.channels]
enabled = true

[mode.packets]
enabled = true
clear_interval = 100
clear_on_start = true
tx_confirmation = true

[telemetry]
enabled = true
host = '<IP_ADDRESS>'
port = 3001

[[chains]]
id = 'pegasus-1'
type = "CosmosSdk"
rpc_addr = 'http://<IP_ADDRESS>:26657'
grpc_addr = 'tcp://<IP_ADDRESS>:9090'
event_source = { mode = 'push', url = 'ws://<IP_ADDRESS>:26657/websocket', batch_delay = '500ms' }
rpc_timeout = '35s'
account_prefix = 'saga'
key_name = 'pegasus-relayer'
store_prefix = 'ibc'
gas_price = { price = 0.0025, denom = 'usaga' }
max_gas = 400000
clock_drift = '5s'
trusting_period = '5days'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'cosmos' }

[[chains]]
id = 'axelar-testnet-lisbon-3'
type = "CosmosSdk"
ccv_consumer_chain = false
rpc_addr = 'https://rpc-axelar-testnet.imperator.co:443'
grpc_addr = 'http://grpc-axelar-testnet.imperator.co:2062'
event_source = { mode = 'push', url =  'ws://rpc-axelar-testnet.imperator.co/wss', batch_delay = '500ms' }
rpc_timeout = '35s'
account_prefix = 'axelar'
key_name = 'axelar-relayer'
store_prefix = 'ibc'
gas_price = { price = 0.0025, denom = 'uaxl' }
max_gas = 400000
clock_drift = '5s'
trusting_period = '5days'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'cosmos' }

[[chains]]
id = 'ssc'
type = "CosmosSdk"
rpc_addr = 'http://localhost:26657'
grpc_addr = 'tcp://localhost:9090'
event_source = { mode = 'push', url = 'ws://localhost:26657/websocket', batch_delay = '500ms' }
rpc_timeout = '35s'
account_prefix = 'saga'
key_name = 'localssc-relayer'
store_prefix = 'ibc'
gas_price = { price = 0.0025, denom = 'usaga' }
max_gas = 400000
clock_drift = '5s'
trusting_period = '5days'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'cosmos' }

[[chains]]
id = 'osmo-test-5'
type = "CosmosSdk"
ccv_consumer_chain = false
rpc_addr = 'https://rpc.osmotest5.osmosis.zone:443'
grpc_addr = 'https://grpc.testnet.osmosis.zone'
event_source = { mode = 'push', url =  'wss://rpc.osmotest5.osmosis.zone:443/websocket', batch_delay = '500ms' }
rpc_timeout = '35s'
account_prefix = 'osmo'
key_name = 'osmosis-relayer'
store_prefix = 'ibc'
gas_price = { price = 0.0025, denom = 'uosmo' }
max_gas = 400000
clock_drift = '5s'
trusting_period = '1days'
trust_threshold = { numerator = '1', denominator = '3' }
address_type = { derivation = 'cosmos' }

With these settings, this is the output I get.
$ ./start-hermes.sh axelar-testnet-lisbon-3 pegasus-1
Starting hermes configuration. Using source chain axelar-testnet-lisbon-3 and destination chain pegasus-1
2023-10-27T04:19:23.383278Z  INFO ThreadId(01) running Hermes v1.7.0+ac916f558
2023-10-27T04:19:23.383350Z TRACE ThreadId(01) loaded configuration: Config {
    global: GlobalConfig {
        log_level: Trace,
    },
    mode: ModeConfig {
        clients: Clients {
            enabled: true,
            refresh: true,
            misbehaviour: true,
        },
        connections: Connections {
            enabled: true,
        },
        channels: Channels {
            enabled: true,
        },
        packets: Packets {
            enabled: true,
            clear_interval: 100,
            clear_on_start: true,
            tx_confirmation: true,
            auto_register_counterparty_payee: false,
        },
    },
    rest: RestConfig {
        enabled: false,
        host: "<IP_ADDRESS>",
        port: 3000,
    },
    telemetry: TelemetryConfig {
        enabled: true,
        host: "<IP_ADDRESS>",
        port: 3001,
        buckets: HistogramBuckets {
            latency_submitted: HistogramConfig {
                range: 500..20000,
                buckets: 10,
            },
            latency_confirmed: HistogramConfig {
                range: 1000..30000,
                buckets: 10,
            },
        },
    },
    chains: [
        ChainConfig {
            id: ChainId {
                id: "pegasus-1",
                version: 1,
            },
            type: CosmosSdk,
            rpc_addr: Url {
                inner: Url {
                    scheme: "http",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Ipv4(
                            <IP_ADDRESS>,
                        ),
                    ),
                    port: Some(
                        26657,
                    ),
                    path: "/",
                    query: None,
                    fragment: None,
                },
                scheme: Http,
            },
            grpc_addr: Url {
                inner: Url {
                    scheme: "tcp",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "<IP_ADDRESS>",
                        ),
                    ),
                    port: Some(
                        9090,
                    ),
                    path: "",
                    query: None,
                    fragment: None,
                },
                scheme: Http,
            },
            event_source: Push {
                url: WebSocketClientUrl(
                    Url {
                        inner: Url {
                            scheme: "ws",
                            cannot_be_a_base: false,
                            username: "",
                            password: None,
                            host: Some(
                                Ipv4(
                                    <IP_ADDRESS>,
                                ),
                            ),
                            port: Some(
                                26657,
                            ),
                            path: "/websocket",
                            query: None,
                            fragment: None,
                        },
                        scheme: WebSocket,
                    },
                ),
                batch_delay: 500ms,
            },
            rpc_timeout: 120s,
            trusted_node: false,
            account_prefix: "saga",
            key_name: "pegasus-relayer",
            key_store_type: Test,
            key_store_folder: None,
            store_prefix: "ibc",
            default_gas: None,
            max_gas: Some(
                400000,
            ),
            genesis_restart: None,
            gas_adjustment: None,
            gas_multiplier: None,
            fee_granter: None,
            max_msg_num: MaxMsgNum(
                30,
            ),
            max_tx_size: MaxTxSize(
                180000,
            ),
            max_grpc_decoding_size: Byte(
                33554432,
            ),
            clock_drift: 5s,
            max_block_time: 30s,
            trusting_period: Some(
                432000s,
            ),
            ccv_consumer_chain: false,
            memo_prefix: Memo(
                "hermes 1.7.0+ac916f558 (https://hermes.informal.systems)",
            ),
            sequential_batch_tx: false,
            proof_specs: None,
            trust_threshold: TrustThresholdFraction {
                numerator: 1,
                denominator: 3,
            },
            gas_price: GasPrice {
                price: 0.0025,
                denom: "usaga",
            },
            packet_filter: PacketFilter {
                channel_policy: AllowAll,
                min_fees: {},
            },
            address_type: Cosmos,
            extension_options: [],
        },
        ChainConfig {
            id: ChainId {
                id: "axelar-testnet-lisbon-3",
                version: 3,
            },
            type: CosmosSdk,
            rpc_addr: Url {
                inner: Url {
                    scheme: "https",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "rpc-axelar-testnet.imperator.co",
                        ),
                    ),
                    port: None,
                    path: "/",
                    query: None,
                    fragment: None,
                },
                scheme: Https,
            },
            grpc_addr: Url {
                inner: Url {
                    scheme: "http",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "grpc-axelar-testnet.imperator.co",
                        ),
                    ),
                    port: Some(
                        2062,
                    ),
                    path: "/",
                    query: None,
                    fragment: None,
                },
                scheme: Http,
            },
            event_source: Push {
                url: WebSocketClientUrl(
                    Url {
                        inner: Url {
                            scheme: "ws",
                            cannot_be_a_base: false,
                            username: "",
                            password: None,
                            host: Some(
                                Domain(
                                    "rpc-axelar-testnet.imperator.co",
                                ),
                            ),
                            port: None,
                            path: "/wss",
                            query: None,
                            fragment: None,
                        },
                        scheme: WebSocket,
                    },
                ),
                batch_delay: 500ms,
            },
            rpc_timeout: 120s,
            trusted_node: false,
            account_prefix: "axelar",
            key_name: "axelar-relayer",
            key_store_type: Test,
            key_store_folder: None,
            store_prefix: "ibc",
            default_gas: None,
            max_gas: Some(
                400000,
            ),
            genesis_restart: None,
            gas_adjustment: None,
            gas_multiplier: None,
            fee_granter: None,
            max_msg_num: MaxMsgNum(
                30,
            ),
            max_tx_size: MaxTxSize(
                180000,
            ),
            max_grpc_decoding_size: Byte(
                33554432,
            ),
            clock_drift: 5s,
            max_block_time: 30s,
            trusting_period: Some(
                432000s,
            ),
            ccv_consumer_chain: false,
            memo_prefix: Memo(
                "hermes 1.7.0+ac916f558 (https://hermes.informal.systems)",
            ),
            sequential_batch_tx: false,
            proof_specs: None,
            trust_threshold: TrustThresholdFraction {
                numerator: 1,
                denominator: 3,
            },
            gas_price: GasPrice {
                price: 0.0025,
                denom: "uaxl",
            },
            packet_filter: PacketFilter {
                channel_policy: AllowAll,
                min_fees: {},
            },
            address_type: Cosmos,
            extension_options: [],
        },
        ChainConfig {
            id: ChainId {
                id: "ssc",
                version: 0,
            },
            type: CosmosSdk,
            rpc_addr: Url {
                inner: Url {
                    scheme: "http",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "localhost",
                        ),
                    ),
                    port: Some(
                        26657,
                    ),
                    path: "/",
                    query: None,
                    fragment: None,
                },
                scheme: Http,
            },
            grpc_addr: Url {
                inner: Url {
                    scheme: "tcp",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "localhost",
                        ),
                    ),
                    port: Some(
                        9090,
                    ),
                    path: "",
                    query: None,
                    fragment: None,
                },
                scheme: Http,
            },
            event_source: Push {
                url: WebSocketClientUrl(
                    Url {
                        inner: Url {
                            scheme: "ws",
                            cannot_be_a_base: false,
                            username: "",
                            password: None,
                            host: Some(
                                Domain(
                                    "localhost",
                                ),
                            ),
                            port: Some(
                                26657,
                            ),
                            path: "/websocket",
                            query: None,
                            fragment: None,
                        },
                        scheme: WebSocket,
                    },
                ),
                batch_delay: 500ms,
            },
            rpc_timeout: 120s,
            trusted_node: false,
            account_prefix: "saga",
            key_name: "localssc-relayer",
            key_store_type: Test,
            key_store_folder: None,
            store_prefix: "ibc",
            default_gas: None,
            max_gas: Some(
                400000,
            ),
            genesis_restart: None,
            gas_adjustment: None,
            gas_multiplier: None,
            fee_granter: None,
            max_msg_num: MaxMsgNum(
                30,
            ),
            max_tx_size: MaxTxSize(
                180000,
            ),
            max_grpc_decoding_size: Byte(
                33554432,
            ),
            clock_drift: 5s,
            max_block_time: 30s,
            trusting_period: Some(
                432000s,
            ),
            ccv_consumer_chain: false,
            memo_prefix: Memo(
                "hermes 1.7.0+ac916f558 (https://hermes.informal.systems)",
            ),
            sequential_batch_tx: false,
            proof_specs: None,
            trust_threshold: TrustThresholdFraction {
                numerator: 1,
                denominator: 3,
            },
            gas_price: GasPrice {
                price: 0.0025,
                denom: "usaga",
            },
            packet_filter: PacketFilter {
                channel_policy: AllowAll,
                min_fees: {},
            },
            address_type: Cosmos,
            extension_options: [],
        },
        ChainConfig {
            id: ChainId {
                id: "osmo-test-5",
                version: 5,
            },
            type: CosmosSdk,
            rpc_addr: Url {
                inner: Url {
                    scheme: "https",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "rpc.osmotest5.osmosis.zone",
                        ),
                    ),
                    port: None,
                    path: "/",
                    query: None,
                    fragment: None,
                },
                scheme: Https,
            },
            grpc_addr: Url {
                inner: Url {
                    scheme: "https",
                    cannot_be_a_base: false,
                    username: "",
                    password: None,
                    host: Some(
                        Domain(
                            "grpc.testnet.osmosis.zone",
                        ),
                    ),
                    port: None,
                    path: "/",
                    query: None,
                    fragment: None,
                },
                scheme: Https,
            },
            event_source: Push {
                url: WebSocketClientUrl(
                    Url {
                        inner: Url {
                            scheme: "wss",
                            cannot_be_a_base: false,
                            username: "",
                            password: None,
                            host: Some(
                                Domain(
                                    "rpc.osmotest5.osmosis.zone",
                                ),
                            ),
                            port: None,
                            path: "/websocket",
                            query: None,
                            fragment: None,
                        },
                        scheme: SecureWebSocket,
                    },
                ),
                batch_delay: 500ms,
            },
            rpc_timeout: 120s,
            trusted_node: false,
            account_prefix: "osmo",
            key_name: "osmosis-relayer",
            key_store_type: Test,
            key_store_folder: None,
            store_prefix: "ibc",
            default_gas: None,
            max_gas: Some(
                400000,
            ),
            genesis_restart: None,
            gas_adjustment: None,
            gas_multiplier: None,
            fee_granter: None,
            max_msg_num: MaxMsgNum(
                30,
            ),
            max_tx_size: MaxTxSize(
                180000,
            ),
            max_grpc_decoding_size: Byte(
                33554432,
            ),
            clock_drift: 5s,
            max_block_time: 30s,
            trusting_period: Some(
                86400s,
            ),
            ccv_consumer_chain: false,
            memo_prefix: Memo(
                "hermes 1.7.0+ac916f558 (https://hermes.informal.systems)",
            ),
            sequential_batch_tx: false,
            proof_specs: None,
            trust_threshold: TrustThresholdFraction {
                numerator: 1,
                denominator: 3,
            },
            gas_price: GasPrice {
                price: 0.0025,
                denom: "uosmo",
            },
            packet_filter: PacketFilter {
                channel_policy: AllowAll,
                min_fees: {},
            },
            address_type: Cosmos,
            extension_options: [],
        },
    ],
    tracing_server: TracingServerConfig {
        enabled: false,
        port: 5555,
    },
}
SUCCESS "configuration is valid"
2023-10-27T04:19:23.419531Z  INFO ThreadId(01) running Hermes v1.7.0+ac916f558
ERROR A key with name 'axelar-relayer' already exists
2023-10-27T04:19:23.458498Z  INFO ThreadId(01) running Hermes v1.7.0+ac916f558
ERROR A key with name 'pegasus-relayer' already exists
2023-10-27T04:19:23.513030Z  INFO ThreadId(01) running Hermes v1.7.0+ac916f558
2023-10-27T04:19:23.956937Z  INFO ThreadId(01) Creating new clients, new connection, and a new channel with order ORDER_UNORDERED
2023-10-27T04:19:24.933627Z TRACE ThreadId(20) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}: light client verification trusted_height=3-10258258 target_height=3-10258258
2023-10-27T04:19:26.771975Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}: sending 1 messages as 1 batches to chain pegasus-1 in parallel
2023-10-27T04:19:26.772104Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}: max fee, for use in tx simulation: Fee { amount: "1001usaga", gas_limit: 400000 }
2023-10-27T04:19:26.825323Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}:estimate_gas: tx simulation successful, gas amount used: 90826
2023-10-27T04:19:26.825509Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}: send_tx: using 90826 gas, fee Fee { amount: "250usaga", gas_limit: 99908 } id=pegasus-1
2023-10-27T04:19:26.854704Z  WARN ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}: failed to broadcast tx because of a mismatched account sequence number, refreshing account sequence number and retrying once response=Response { code: Err(32), data: b"", log: "account sequence mismatch, expected 91, got 0: incorrect account sequence", hash: Hash::Sha256(AD0E8CD21106CEE5E4FBE6AEFBD52325A3E7807764E92D274BF5A7F4F3FD6C7F) }
2023-10-27T04:19:26.911252Z  INFO ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}: refreshed account sequence number old=0 new=0
2023-10-27T04:19:27.211523Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}: max fee, for use in tx simulation: Fee { amount: "1001usaga", gas_limit: 400000 }
2023-10-27T04:19:27.270206Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}:estimate_gas: tx simulation successful, gas amount used: 90826
2023-10-27T04:19:27.270466Z DEBUG ThreadId(10) foreign_client.create{client=axelar-testnet-lisbon-3->pegasus-1:07-tendermint-0}:send_messages_and_wait_commit{chain=pegasus-1 tracking_id=create client}:send_tx_with_account_sequence_retry{chain=pegasus-1 account.sequence=0}: send_tx: using 90826 gas, fee Fee { amount: "250usaga", gas_limit: 99908 } id=pegasus-1
ERROR cannot extract client_id from result: ChainError("check_tx (broadcast_tx_sync) on chain pegasus-1 for Tx hash AD0E8CD21106CEE5E4FBE6AEFBD52325A3E7807764E92D274BF5A7F4F3FD6C7F reports error: code=Err(32), log=\"account sequence mismatch, expected 91, got 0: incorrect account sequence\"")

Closing this as spawning our own Axelar node resolved this issue. The RPC endpoints published for testnet do not work properly or reliably.


Show a black line under iPhone6s Plus

Like this，Under the other device to normal

can we see the related code ? this is most likely unrelated to haneke

@dcharbonnier
self.imagesView.hnk_setImageFromURL(url, placeholder: nil)

The image link is http://rent.biketo.com/uploads/images/201601/20160126174610_lmwgh.jpg


Merge refs/heads/feature/chunked into alpha

Merge refs/heads/feature/chunked into alpha

This PR has been merged into alpha and tagged as 1.5.48-alpha-202303050013. Thanks for your contribution!