Add Memgraph

(https://github.com/kgolubic/awesome-memgraph)
Memgraph is an in-memory graph database. I'm curating Memgraph Awesome list and I believe that it is a good add-on to this list.
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
I've reviewed following PRs:

Add Scapy
Add ZkEVM
Add Computational Geometry

Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

Don't waste my time. Do a good job, adhere to all the guidelines, and be responsive.
You have to review at least 2 other open pull requests.
Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration. Just commenting “looks good” or simply marking the pull request as approved does not count! You have to actually point out mistakes or improvement suggestions.
You have read and understood the instructions for creating a list.
This pull request has a title in the format Add Name of List.

✅ Add Swift
✅ Add Software Architecture
❌ Update readme.md
❌ Add Awesome Swift
❌ Add swift
❌ add Swift
❌ Adding Swift
❌ Added Swift

Your entry here should include a short description about the project/theme of the list. It should not describe the list itself. The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb.

✅ - [iOS](…) - Mobile operating system for Apple phones and tablets.
✅ - [Framer](…) - Prototyping interactive UI designs.
❌ - [iOS](…) - Resources and tools for iOS development.
❌ - [Framer](…)
❌ - [Framer](…) - prototyping interactive UI designs

Your entry should be added at the bottom of the appropriate category.
The title of your entry should be title-cased and the URL to your list should end in #readme.

Example: - [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.

The suggested Awesome list complies with the below requirements.

Requirements for your Awesome list

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. Instead use #2242 for incubation visibility.
Run awesome-lint on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please report it.
The default branch should be named main, not master.
Includes a succinct description of the project/theme at the top of the readme. (Example)

✅ Mobile operating system for Apple phones and tablets.
✅ Prototyping interactive UI designs.
❌ Resources and tools for iOS development.
❌ Awesome Framer packages and tools.

It's the result of hard work and the best I could possibly produce.
If you have not put in considerable effort into your list, your pull request will be immediately closed.
The repo name of your list should be in lowercase slug format: awesome-name-of-list.

✅ awesome-swift
✅ awesome-web-typography
❌ awesome-Swift
❌ AwesomeWebTypography

The heading title of your list should be in title case format: # Awesome Name of List.

✅ # Awesome Swift
✅ # Awesome Web Typography
❌ # awesome-swift
❌ # AwesomeSwift

Non-generated Markdown file in a GitHub repo.
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate. Please search for existing submissions.
Only has awesome items. Awesome lists are curations of the best, not everything.
Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file.
Includes a project logo/illustration whenever possible.

Either centered, fullwidth, or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.

Can be placed centered if the list has a centered graphics header.

Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of nested lists, preferably none.
Must not feature Contributing or Footnotes sections.

Has an appropriate license.

We strongly recommend the CC0 license, but any Creative Commons license will work.

Tip: You can quickly add it to your repo by going to this URL: https://github.com/<user>/<repo>/community/license/new?branch=main&template=cc0-1.0 (replace <user> and <repo> accordingly).

A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and Unlicense.
Place a file named license or LICENSE in the repo root with the license text.
Do not add the license name, text, or a Licence section to the readme. GitHub already shows the license name and link to the full text at the top of the repo.
To verify that you've read all the guidelines, please comment on your pull request with just the word unicorn.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.
It can optionally be linked from the readme in a dedicated section titled Contributing, positioned at the top or bottom of the main content.
The section should not appear in the Table of Contents.

All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a Footnotes section at the bottom of the readme. The section should not be present in the Table of Contents.
Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't use hard-wrapping.
Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.
Doesn't include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

Go to the top and read it again.

HI! I've fixed all of the errors reported by lint. I think that the remaining errors are false positives. I do have some links listed twice, but they appear in a different context. If this is not ok I can remove the duplicate links.

@kgolubic We have the same situation, and we opted to lint disable double-link as seen here: https://raw.githubusercontent.com/MystenLabs/awesome-move/446c2b511720c1c8f01af5d7f02861f3635121e7/README.md (the first line). Linting is part of Awesome's PR process, so in my understanding it must pass. (Awesome-move is not part of the "awesomeverse" yet.)

unicorn

I don't know how to handle one error "The repository should have a description". Can someone give me pointers on this one?

@kgolubic We have the same situation, and we opted to lint disable double-link as seen here: https://raw.githubusercontent.com/MystenLabs/awesome-move/446c2b511720c1c8f01af5d7f02861f3635121e7/README.md (the first line). Linting is part of Awesome's PR process, so in my understanding it must pass. (Awesome-move is not part of the "awesomeverse" yet.)

Thanks for the pointers. I've managed to fix all errors and npx awesome-lint https://github.com/kgolubic/awesome-memgraph gives me a passing mark.
What should I do now? Can I somehow re-run the check here on GitHub?

@sindresorhus can you please tell me what should I do now? Can I somehow re-run the check here on GitHub? Local lint tells me that everything is ok now. Should I close this PR and open a new one?

Hi @kgolubic,
Here are some of the points I think you can improve on readme:

Remove Inspired by the awesome list thing. Feel free to improve this list by contributing!

Doesn't include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

Remove unknown format word ==============.

Add Memgraph Logo on the top-right like this.

Includes a project logo/illustration whenever possible.

Contents only have one level, so Resource/Documentation, Resource/Docker image, Resource/Tools are wrong.

Should only have one level of nested lists, preferably none.

Fix format of the entries description.

The link and description are separated by a dash.
Example: - AVA - JavaScript test runner.

❌ MAGE 1.1 Live Demo - Analyzing a Twitter network with PageRank, node2vec & Community detection
✅ MAGE 1.1 Live Demo - Analyzing a Twitter network with PageRank, node2vec & Community detection
Hope that helps. 👍

All checks have passed ok.

There are many things not followed in the guidelines.
You have also not addressed the feedback in https://github.com/sindresorhus/awesome/pull/2287#issuecomment-1221757581.

Includes a succinct description of the project/theme at the top of the readme.

Hi @kgolubic,
Here are some of the points I think you can improve on readme:

Remove Inspired by the awesome list thing. Feel free to improve this list by contributing!

Doesn't include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

Remove unknown wording ==============.
Add Memgraph Logo on the top-right like this.

Includes a project logo/illustration whenever possible.

Fix format of the entries description.
❌ MAGE 1.1 Live Demo - Analyzing a Twitter network with PageRank, node2vec & Community detection
✅ MAGE 1.1 Live Demo - Analyzing a Twitter network with PageRank, node2vec & Community detection.

The link and description are separated by a dash.
Example: - AVA - JavaScript test runner.

Hope that helps.

I've updated the README.md file in accordance with your comments. Thank you!

There are many things not followed in the guidelines.
You have also not addressed the feedback in #2287 (comment).

Includes a succinct description of the project/theme at the top of the readme.

Thank you for pointing this out. I've fixed all of the mentioned issues, added the logo and description on the top, shortened the description for te main Aweosnm list, and separated descriptions of links with "-". I hope that I've covered all of the issues.

There are many things not followed in the guidelines.
You have also not addressed the feedback in #2287 (comment).

Includes a succinct description of the project/theme at the top of the readme.

@sindresorhus Thank you for pointing this out. I've fixed all of the mentioned issues, added the logo and description on the top, shortened the description for te main Aweosnm list, and separated descriptions of links with "-". I hope that I've covered all of the issues.

The image should be high-DPI. Set it to maximum half the width of the original image.

Missing descriptions: https://github.com/kgolubic/awesome-memgraph#tools

The description starts with an uppercase character and ends with a period.

"How Node2Vec Works - A Random Walk-Based Node Embedding Method"
Descriptions should not be title-cased.

Thank you @sindresorhus and @Lissy93. I've updated my list according to your comments.

@kgolubic, according to this awesome-lint rule descriptions in a list should end with a punctuation mark such as dot. There are a couple of occasions where your list is missing it. For example:
### Tools

- [Memgraph Lab](https://memgraph.com/lab) - a visual user interface that helps you explore and manipulate the data stored in Memgraph

Other descriptions have this problem as well.

Bump

Bump

Sorry for the late answer. I missed the previous comment. I've updated descriptions with dots where they were needed.

The description starts with an uppercase character and ends with a period.

Ok. Thanks for all of the feedback. When I find the time, I'll improve the list an submit it again for consideration.


Link using lld

Use the cross-platform lld linker of the LLVM project. Compared to the binutils linker, no manual cross-compilation is required.

@phil-opp One question. lld already has support for removing unused sections? The gc-sections of ld? That was one of the drawbacks that I found when used the lld.

@gil0mendes ld.lld supports the gc-sections option, at least in version 4.0.1.  I actually ran into a different issue where nmagic was missing as an option in a newer release.

I had a chance to look into the issue again.  I managed to get latest ld.lld working for blog_os
Notes regarding flags

gc-sections is available in the 4.x and later.
nmagic was removed at some point before 4.0 release.  I believe it was removed when they moved to the new ELF linker.
omagic seems to be our replacement for nmagic. This flag differs from nmagic in that it sets the text and data sections to be readable and writable, in addition to disabling page-alignment. I'm not experienced enough with linkers to know whether this is allowed for our kernel.

Changes to linker.ld
In addition to using the omagic flag, I had to add ALIGNs to linker.ld in order to align the pages properly
Click to expand diff
diff --git a/src/arch/x86_64/linker.ld b/src/arch/x86_64/linker.ld
index 62f8f26..d5d5acc 100644
--- a/src/arch/x86_64/linker.ld
+++ b/src/arch/x86_64/linker.ld
@@ -14,7 +14,7 @@ ENTRY(start)
 SECTIONS {
   . = 1M;

-  .rodata :
+  .rodata : ALIGN(4K)
   {
     /* ensure that the multiboot header is at the beginning */
     KEEP(*(.multiboot_header))
@@ -22,31 +22,31 @@ SECTIONS {
     . = ALIGN(4K);
   }

-  .text :
+  .text : ALIGN(4K)
   {
     *(.text .text.*)
     . = ALIGN(4K);
   }

-  .data :
+  .data : ALIGN(4K)
   {
     *(.data .data.*)
     . = ALIGN(4K);
   }

-  .bss :
+  .bss : ALIGN(4K)
   {
     *(.bss .bss.*)
     . = ALIGN(4K);
   }

-  .got :
+  .got : ALIGN(4K)
   {
     *(.got)
     . = ALIGN(4K);
   }

-  .got.plt :
+  .got.plt : ALIGN(4K)

Testing for various linkers

[x] ld - version 2.29-6.fc27 on my system
[x] ld.lld v6.0.0 - This was the latest code available on the master branch
[ ] ld.lld v4.0.1 - This was the binary available on Fedora

ld.lld version 4.0.1
I could not get this version to work with blog_os.
PANIC in src/memory/paging/mod.rs at line 209:
    sections need to be page aligned

Dumping the sections in kernel-x86_64.bin reveals a duplicate .rodata section that is mis-aligned.
[rob@localhost blog_os]$ objdump -h build/kernel-x86_64.bin

build/kernel-x86_64.bin:     file format elf64-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .rodata       00002c25<PHONE_NUMBER>100000<PHONE_NUMBER>100000  00001000  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .rodata       000003d8<PHONE_NUMBER>102c28<PHONE_NUMBER>102c28  00003c28  2**3

I believe there was an issue with alignment in ld.lld 4.0.1 that was fixed later.  I am going to build llvm 5.0.0 to narrow down where it was fixed.

Hey, before all, great report! 👏
Now. I had some time to look at this, and you are right. Forget what I said before, my problem was exactly the same. The -n (or -nmagic) flag is missing, and not using this flag led to issues since sections' pages become misaligned.

@robert-w-gries Awesome work!

omagic seems to be our replacement for nmagic. This flag differs from nmagic in that it sets the text and data sections to be readable and writable, in addition to disabling page-alignment. I'm not experienced enough with linkers to know whether this is allowed for our kernel.

Hmm, ideally we don't want a writable text section. But it's great that this seems to be the only issue with the latest lld!

ld.lld version 4.0.1
I could not get this version to work with blog_os.

It seems like lld will be distributed with the compiler soon (see https://github.com/rust-lang/rust/issues/39915#issuecomment-346960292, which is currently blocked on the upgrade to LLVM 5). So we might not need to support older lld versions.

Hmm, ideally we don't want a writable text section.

In fashion of the general security principle of "never trust a damn thing", you can always set the NX bit for the pages mapping your code sections, no matter what the kernel loader actually did. (And the read-only bit for .rodata and friends.)

This can now be closed, right?

Yes, closing in favor of #360. Thank you all for helping!


Add Vim-like keybindings for references lookup

Currently, when using +lookup/references one must use the arrow keys to navigate the results.
Using hjkl results in the childframe closing itself. I think it would be better for consistency (and people who simply disables the arrow keys) if Doom had more Vim-like keybindings for reference lookup.
System information

((emacs
  (version . "26.3")
  (features . "XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD")
  (build . "Apr 08, 2020")
  (buildopts "--prefix=/nix/store/1rx6bbd0fcw7h0shz1drrhza1flpvh0w-emacs-26.3 --disable-build-details --with-modules --with-x-toolkit=gtk3 --with-xft CFLAGS=-DMAC_OS_X_VERSION_MAX_ALLOWED=101200")
  (windowsys . batch)
  (daemonp . server-running))
 (doom
  (version . "2.0.9")
  (build . "HEAD -> develop, origin/develop, origin/HEAD e5ac4cbff 2020-03-29 01:31:27 -0400")
  (dir . "~/.doom.d/"))
 (system
  (type . gnu/linux)
  (config . "x86_64-pc-linux-gnu")
  (shell . "/bin/zsh")
  (uname . "Linux 5.3.0-42-generic #34~18.04.1-Ubuntu SMP Fri Feb 28 13:42:26 UTC 2020 x86_64")
  (path "/nix/store/kf6dsy4hpsy9m16vq4ilndbnh1f6z3wn-emacs-packages-deps/bin" "~/.config/zsh/scripts" "~/.emacs.d/bin" "~/.cargo/bin" "/snap/bin" "~/.nix-profile/bin" "~/.emacs.d/bin" "~/projects/go/bin" "~/.bin" "~/.cargo/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "~/.config/zsh/plugins/agkozak-zsh-prompt" "~/.config/zsh/plugins/formarks" "~/.config/zsh/plugins/zsh-syntax-highlighting" "~/.config/zsh/plugins/zsh-abbrev-alias" "~/.config/zsh/plugins/zsh-autopair" "/nix/store/1rx6bbd0fcw7h0shz1drrhza1flpvh0w-emacs-26.3/libexec/emacs/26.3/x86_64-pc-linux-gnu"))
 (config
  (envfile)
  (elc-files . 0)
  (modules :completion company (ivy +childframe +icons +prescient) :ui doom doom-dashboard fill-column hl-todo indent-guides modeline nav-flash ophints (popup +defaults +all) treemacs vc-gutter vi-tilde-fringe (window-select +switch-window) workspaces zen :editor (evil +everywhere) fold (format +onsave) parinfer snippets :emacs (dired +icons) electric ibuffer vc :term vterm :checkers syntax :tools direnv docker editorconfig (eval +overlay) lookup (lsp +peek) magit make upload :lang (cc +lsp) data (go +lsp) (org +brain +journal +pandoc +pomodoro) (python +lsp) :config (default +bindings +smartparens))
  (packages (exec-path-from-shell) (meson-mode) (bitbake))
  (unpin "n/a")
  (elpa "vterm")))

You should try using C-j and C-k (ctrl+j/k). These are the emacs navigations which you can use most of the time when there is input expected but navigation is possible.

Using hjkl results in the childframe closing itself. I think it would be better for consistency (and people who simply disables the arrow keys) if Doom had more Vim-like keybindings for reference lookup.

It sounds like you're referring to the childframe as if it were in normal mode, but the childframe is displaying an ivy prompt, where evil is not available. Rebinding h, j, k or l would mean the user couldn't type those characters into the prompt (which is not desirable).
Instead, as suggested, C-j and C-k is what you want.

Didn't know it was an ivy prompt. Sadly, Using C-j and C-k does not work for me. Those shortcuts works with every ivy prompt I encounter except this one. When looking up references, it instead uses the actions bound to those shortcuts in evil's normal-mode.


chore(ci): arm builds refs: #ENGEN-715

Add a makefile task release-docker-images that uses the new kong-build-tools makefile task release-kong-docker-images to build a Kong package, build that package into a docker image, smoke test the image, and pushes them to docker hub.
Requires https://github.com/Kong/kong-build-tools/pull/520 be merged first.
Resulting images:
kong/kong:${GIT_BRANCH##*/}-ubuntu
kong/kong:${GIT_BRANCH##*/}-debian
kong/kong:${GIT_BRANCH##*/}-amazonlinux
kong/kong:arm64-${GIT_BRANCH##*/}-alpine
kong/kong:amd64-${GIT_BRANCH##*/}-alpine
kong/kong:${GIT_BRANCH##*/}-alpine #multi-arch image
kong/kong:${GIT_BRANCH##*/}-nightly-alpine #multi-arch image legacy image name
kong/kong:${GIT_BRANCH##*/} #debian

hold off on merging -- going to add commit sha convenience tags


ODF 1.3 new mimetype: Text master template

Add validator support for ODF1.3 mimetype "application/vnd.oasis.opendocument.text-master-template" (OFFICE-2580)

I am afraid this pull request is dependent on the following enhancement:
https://github.com/tdf/odftoolkit/issues/26
The complete ODFDOM is using currently solely ODF 1.2.
Like the templates that will be used, when creating an empty document are hardcoded to ODF 1.2:
https://github.com/tdf/odftoolkit/tree/1.0.0_SNAPSHOT/odfdom/src/main/resources
You can not mix ODF 1.2 with ODF 1.3 functionality unless we have transform functionality between the versions.

oh... would it be possible to merge only the changes to validator and leave the odfdom as it is, or would that not work?

Sure, validator only should work for me! :-)
On Thu, Apr 30, 2020, 13:31 mistmist<EMAIL_ADDRESS>wrote:

oh... would it be possible to merge only the changes to validator and
leave the odfdom as it is, or would that not work?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tdf/odftoolkit/pull/40#issuecomment-621776191, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGJNWZ7APYX527WAK4IKSDRPFOQHANCNFSM4MVH5SBA
.

oh... would it be possible to merge only the changes to validator and leave the odfdom as it is, or would that not work?

Sadly that doesn't work. Produces the following error (which comes from odfdom, not validator):
odf13_new_mimetype.odt:  Error: The ODF mimetype 'application/vnd.oasis.opendocument.text-master-template' is invalid for the ODF XML Schema document!

oh... would it be possible to merge only the changes to validator and leave the odfdom as it is, or would that not work?

Sadly that doesn't work. Produces the following error (which comes from odfdom, not validator):
odf13_new_mimetype.odt: Error: The ODF mimetype 'application/vnd.oasis.opendocument.text-master-template' is invalid for the ODF XML Schema document!

So what I could do if we don't want to change odfdom, is convert this Error into a warning. That way, validation would not fail, and we can have the validator supporting 1.3 while odfdom is still on 1.2
Would that work for you?

As discussed by phone a branch would be the best solution, as changing the error to warning would be a bug (every 'shall/must' of the ODF 1.2 specification not used is an error, every 'should' not used a warning). And adding the new mimetype in the existing ODF 1.2 ODFDOM would make it possible to create invalid ODF 1.2 with the upcoming release.

Closing this in favor of #43.


generator: sync erb template

This updates the ERB template to be in sync with the template in rails/rails
Fixes #341.

Hello @flavorjones 👋
Any pointers on why the test is failing? I ran the test suite locally, and they all passed.

@kinsomicrote based on the errors occurring for the Rails 6.1 build, it looks like model_resource_name and index_helper have a different method signature at that version. So using model_resource_name as an example, the v7.1 docs differ from the v6.1 docs.

@flavorjones tests are passing now. Let me know if it's good to go.

Quick note for posterity: the model_resource_name change is from rails/rails#43611 which first appeared in Rails 7.0 and fixed namespaced models.
Namespaced models (e.g. Admin::Monster) still don't work with this PR but that's probably OK as long as we have to support Rails 6.1

I've rebased and squashed

@kinsomicrote Thanks so much for doing this work!!!
I'm going to open a second PR with your changes using the Rails 7.0 API so we can have a separate conversation about dropping Rails 6.1 feature support.


[API] Add tensor&operations API structure for supporting autograd

I added tensor & function(operation) API structure for supporting autograd.
Users can make a model graph using this api.
The operators will be supported one-to-one with ONNX.
Signed-off-by: Seungbaek Hong<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2505. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

:octocat: cibot: @baek2sm, api/ccapi/include/functions.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, api/ccapi/include/functions.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2505-202403151618050.18526005744934-a6d9ee95fd1447c91c3dcd3fb7d7dee95268cce1/.

:octocat: cibot: @baek2sm, api/ccapi/include/functions.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2505-202403191059430.54332804679871-89ed5b362fc639c6a683dec3845e49c3c683ae25/.

:octocat: cibot: @baek2sm, api/ccapi/include/functions.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, api/ccapi/include/functions.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, api/ccapi/include/functions.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, Applications/Api_example/jni/main.cpp does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @baek2sm, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2505-202403271501210.22440195083618-8ae06af95268c66e85bb814d814a73fc337c714a/.


Feature request: include requestor VAT number

Hi,
I would like to be able to pass along our own VAT number to the VIES validation service.  When doing so, the VIES validation service returns a reference of the check.  This reference can be kept by us to 'proof' we validated the VAT number with VIES, in case we ever have an issue with the tax officers.
It would be nice that we can optionally send the $requestorVAT and get that reference as return.
THank you for considering this.

Submitted a PR for this :-)  Hopefully you find the time to merge it if you will :-)


Only Get works with Koa

Hi,
I was very happy to come across this project, and tried to switch my Koa 2.0 app to use it. Turns out that any endpoint that is not a GET just hangs and times out.
@JsonController("/api/analytics")
@UseBefore(myAuthMiddleware())
export default class AnalyticsAPIController {
    @Post("/")
    async noworks(){
        return {yes: "hi"};
    }

    @Get("/")
    async works(){
        return {yes: "hi"};
    }
}

Here is an example of a controller that works:
@JsonController("/api/clients")
export default class ClientsAPIController {
    @Get("/")
    @UseBefore(myAuthMiddlware())
    async getAll(ctx) : Promise<any[]> {
        let res = await clients.logic.getAll();
        return res;
    }

    @Get("/:clientId")
    async get(@Param("clientId") clientId: number) : Promise<any> {
        let client = await clients.logic.get(clientId);
        return client;
    }
}

I'd love to help contribute to this project as well; if you could try to point me in the direction of where you think the error is in the source code, I could take a look/stab.

it should work because there are tests and they all are passing for post and other methods with both express and koa. Also I just checked it with simple example and it seems to work fine. Can you create a minimal example of project with koa, use this sample and check if it works?

Hmm yes, I created a small project and this code works:
export default class WidgetsAPIController {
    @Get("/:id")
    async get(@Param("id") id: number): Promise<Widget> {
        let all: Widget[] = _getAll();

        let widget: Widget = all.filter((w) => {
            return w.id === id;
        })[0];

        // ctx.body = widget;
        return widget;
    }

    @Post("/")
    async create(ctx) {
        //    ctx.body = "";
        return "";
    }
}

I don't know what is different aside from the fact that I am not using middlware--but even when I don't use middleware with that other controller, it doesn't work. I will experiment with it a bit.
Also curious as to whether it is possible to access the context in a JsonController--what if I use middleware to store the current user on there, or on ctx.session, and need to access it in a controller action?

Ok, so the problem was that I was using the bodyParser middleware from koa-better-body globally, and I guess this must have conflicted with the use of koa-body by this library behind the scenes.


Fix Laravel 6.x dependency

Now that Laravel officially supports Semantic Versioning, you should target ^6.0 instead of 6.0.*.

Can someone please merge this PR and release a new version, to allow compatibility with Laravel >= 6.1 ?


Initial sizeof/alignof implementation.

Initial work for #2634
The issue describes some of the nuance around how to implement sizeof. The implementation adds a AST version of "natural" layout calculation. This was used over using the regular front end layout, because the requirements of only supporting one type of layout without worrying about the complicated cases of resources and so forth made it more straightforward.
Having layout calculated in the front end, also allows for constant folding.
If it isn't possible to calculate the sizeof/alignment in the front end they are lowered to IR instructions. A sizeOfLike IR pass will then attempt to turn them into values once generics have been specialized. This works fine for sizeof(somegeneric<T>) but the front end doesn't like something of the form of
int getSizeOf<T>() { return sizeof(T); }

So that will be addressed as future PR.

To support sizeof expressions on generic types, you will need another type, e.g. SizeOfIntVal similar to the existing FuncCallIntVal class to allow sizeof being part of an unfold constexpr that can be folded later once the generic argument is known during AST time. For example, iot will allow us to evaluate a  as in:
struct GetSizeOf<T> { static const int value = sizeof(T); }
const int a = GetSizeOf<float>.value;


command line tool use missing in readme

command line tool usage is missing in the README.

added cli usage to README


notify to support ctx

allow notify manager to control timeout of notify impl
follow ups:

all notify impls should honor ctx
caller should replace context.TODO with correct ctx (maybe a timeout)

Thanks for this PR. But I think we can do the timeout works for all of the Notify in the base notifier, it's totally transparent for all notifiers, just like the global.DoRetry()
func DoTimeout(timeout time.Duration, func sendFn() error)
	ctx, cancel := context.WithTimeout(context.Background(), timeout)
	defer cancel()
	done := make(chan error, 1)
	go func() {
		done <- sendFn()
	}()

	select {
	case err := <-done:
		return err
	case <-ctx.Done():
		return ctx.Err()
	}
}

goroutine should stop when ctx being canceled
otherwise, would cause leak

since we don't have the plan to use the context to manage all of the notifications and probes, I would close this PR at this moment.


[Hardware][Intel-Gaudi] Add Intel Gaudi (HPU) inference backend

This PR adds initial support for Intel Gaudi backend to vLLM.
Requirements

OS: Ubuntu 22.04 LTS
Python: 3.10
Intel Gaudi accelerator
Intel Gaudi software version 1.18.0

Supported Features

Offline batched inference
Online inference via OpenAI-Compatible  Server
HPU autodetection
Paged KV cache with algorithms enabled for Intel Gaudi accelerators
Custom Intel Gaudi implementations of Paged Attention, KV cache ops, prefill attention, Root Mean Square Layer Normalization, Rotary Positional Encoding, FusedMoE
Tensor parallelism support for multi-card inference
Inference with HPU Graphs for accelerating low-batch latency and throughput

Unsupported Features

Beam search
LoRA adapters
Attention with Linear Biases (ALiBi)
Quantization
Prefill chunking (mixed-batch inferencing)

Supported Configurations
The following configurations have been validated to be function with Gaudi devices. Configurations that are not listed may or may not work.

meta-llama/Llama-2-7b on single HPU, or with tensor parallelism on 2x and 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Llama-2-7b-chat-hf on single HPU, or with tensor parallelism on 2x and 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3-8B on single HPU, or with tensor parallelism on 2x and 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3-8B-Instruct on single HPU, or with tensor parallelism on 2x and 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3.1-8B on single HPU, or with tensor parallelism on 2x and 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3.1-8B-Instruct on single HPU, or with tensor parallelism on 2x and 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Llama-2-70b with tensor parallelism on 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Llama-2-70b-chat-hf with tensor parallelism on 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3-70B with tensor parallelism on 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3-70B-Instruct with tensor parallelism on 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3.1-70B with tensor parallelism on 8x HPU, BF16 datatype with random or greedy sampling
meta-llama/Meta-Llama-3.1-70B-Instruct with tensor parallelism on 8x HPU, BF16 datatype with random or greedy sampling

Map of changes

vllm/executor/hpu_executor.py - 1xHPU executor inheriting from ExecutorBase
vllm/executor/ray_hpu_executor.py - Multi-HPU (2x, 4x, 8x) executor inheriting from DistributedGPUExecutor
vllm/engine/attention/backends/hpu_attn.py - Gaudi-specific backend for handling prefill attention and paged attention
vllm/engine/attention/ops/hpu_paged_attn.py - Gaudi backend for handling paged attention
vllm/worker/hpu_worker.py - Gaudi-specific worker for handling distributed inference and executing models, inherited from WorkerBase
vllm/worker/hpu_model_runner.py - Gaudi-specific model executor, inherited from ModelRunnerBase, with input class ModelInputForHPU inherited from ModelRunnerInputBase
vllm/model_executor/layers/*.py - Gaudi-specific forward passes for some operators, otherwise falling back to forward_native
vllm/model_executor/engine/*.py - Routing logic for dispatching proper Gaudi executors
Other changes are either minor, non-invasive workarounds for Gaudi specifically, or utilities.
PR was passed through format.sh with no issues.

@WoosukKwon PR #9938 introduced some API mismatches in workers/model_runners, I've updated this PR to reflect that change.

@kzawora-intel Just merged the PR. Really appreciate all of you & your team's efforts on the PR. Congrats!! 🎉

@kzawora-intel The file vllm/model_executor/sampling_metadata.py should also be merged (or applying vllm-fork PR #246).
Currently, vLLM raises the following error when using the HPU inference backend: "RuntimeError: Device type HPU is not supported for torch.Generator() API"


'-[FBLPromise HTTPBody]: unrecognized selector sent to instance

Description
We started running into this crash after upgrading the Firebase SDKs from V7.3.0 to V 10.22.0 & GoogleTagManager from V 7.2.0 to V7.4.4.
I have tried reintegrating pods and clearing derived data but that didn't solve the problem for us.
Reproducing the issue
Experiencing this crash on app launch.
Firebase SDK Version
10.22.0
Xcode Version
15.0.1
Installation Method
CocoaPods
Firebase Product(s)
AB Testing, Analytics, Crashlytics, DynamicLinks, Remote Config
Targeted Platforms
iOS
Relevant Log Output
objc[61828]: Class GTMSessionFetcher is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10cbdc490) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905bf8). One of the two will be used. Which one is undefined.
objc[61828]: Class GTMSessionCookieStorage is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10cbdc4e0) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905c20). One of the two will be used. Which one is undefined.
objc[61828]: Class GTMSessionFetcherService is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10cbdc5d0) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905c98). One of the two will be used. Which one is undefined.
objc[61828]: Class GTMSessionFetcherSessionDelegateDispatcher is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10cbdc5f8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905cc0). One of the two will be used. Which one is undefined.
objc[61828]: Class GTMSessionUploadFetcher is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10cbdc670) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905d38). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCCTCompressionHelper is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0320) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905db0). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCCTUploadOperation is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0398) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905dd8). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCCTUploader is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0348) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905e28). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORClock is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d03e8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905e78). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORDirectorySizeTracker is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0438) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905ec8). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCOREndpoints is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d04b0) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905f40). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCOREvent is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d04d8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905f68). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORFlatFileStorage is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0528) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109905fb8). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORLifecycle is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0578) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906008). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORApplication is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0708) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906058). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORReachability is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d07a8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099060a8). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORRegistrar is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d07f8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099060f8). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORStorageEventSelector is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0848) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906148). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORTransformer is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d08e8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906198). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORTransport is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0938) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099061e8). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORUploadBatch is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d0988) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906238). One of the two will be used. Which one is undefined.
objc[61828]: Class GDTCORUploadCoordinator is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c9d09d8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906288). One of the two will be used. Which one is undefined.
objc[61828]: Class GULHeartbeatDateStorage is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa6fb0) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099062d8). One of the two will be used. Which one is undefined.
objc[61828]: Class GULHeartbeatDateStorageUserDefaults is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa7000) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906328). One of the two will be used. Which one is undefined.
objc[61828]: Class GULSecureCoding is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa7398) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099063a0). One of the two will be used. Which one is undefined.
objc[61828]: Class GULKeychainStorage is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa7050) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099063c8). One of the two will be used. Which one is undefined.
objc[61828]: Class GULKeychainUtils is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa70c8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906440). One of the two will be used. Which one is undefined.
objc[61828]: Class GULURLSessionDataResponse is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa7410) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906468). One of the two will be used. Which one is undefined.
objc[61828]: Class GULAppEnvironmentUtil is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10caa6f60) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x1099064b8). One of the two will be used. Which one is undefined.
objc[61828]: Class FBLPromise is implemented in both /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Frameworks/FBLPromises.framework/FBLPromises (0x10ba4d9a8) and /Users/XXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/E636CFA7-AFFF-4943-B430-5DEA62E88A5A/Caseys.app/Caseys (0x109906508). One of the two will be used. Which one is undefined.

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600000e09d70'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007ff80049928d __exceptionPreprocess + 242
	1   libobjc.A.dylib                     0x00007ff800063894 objc_exception_throw + 48
	2   CoreFoundation                      0x00007ff8004ae3a3 +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0
	3   CoreFoundation                      0x00007ff80049da20 ___forwarding___ + 1459
	4   CoreFoundation                      0x00007ff80049fc28 _CF_forwarding_prep_0 + 120
	5   GoogleDataTransport                 0x000000010c99ffe0 -[GDTCCTUploadOperation updateNextUploadTimeWithResponse:forTarget:] + 96
	6   GoogleDataTransport                 0x000000010c99ef8d __54-[GDTCCTUploadOperation uploadBatch:toTarget:storage:]_block_invoke + 77
	7   FBLPromises                         0x000000010ba3c4ed __56-[FBLPromise chainOnQueue:chainedFulfill:chainedReject:]_block_invoke.67 + 77
	8   FBLPromises                         0x000000010ba3bb67 __44-[FBLPromise observeOnQueue:fulfill:reject:]_block_invoke_2 + 103
	9   libdispatch.dylib                   0x000000010ce9b747 _dispatch_call_block_and_release + 12
	10  libdispatch.dylib                   0x000000010ce9c9f7 _dispatch_client_callout + 8
	11  libdispatch.dylib                   0x000000010cea4a8b _dispatch_lane_serial_drain + 1577
	12  libdispatch.dylib                   0x000000010cea5665 _dispatch_lane_invoke + 441
	13  libdispatch.dylib                   0x000000010ceb276e _dispatch_root_queue_drain_deferred_wlh + 318
	14  libdispatch.dylib                   0x000000010ceb1b69 _dispatch_workloop_worker_thread + 590
	15  libsystem_pthread.dylib             0x000000010cacac47 _pthread_wqthread + 327
	16  libsystem_pthread.dylib             0x000000010cac9b97 start_wqthread + 15
)
libc++abi: terminating due to uncaught exception of type NSException

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock
PODS:

Firebase (10.22.0):

Firebase/Core (= 10.22.0)

Firebase/Core (10.22.0):

Firebase/CoreOnly
FirebaseAnalytics (~> 10.22.0)

Firebase/CoreOnly (10.22.0):

FirebaseCore (= 10.22.0)

Firebase/Crashlytics (10.22.0):

Firebase/CoreOnly
FirebaseCrashlytics (~> 10.22.0)

Firebase/RemoteConfig (10.22.0):

Firebase/CoreOnly
FirebaseRemoteConfig (~> 10.22.0)

FirebaseABTesting (10.22.0):

FirebaseCore (~> 10.0)

FirebaseAnalytics (10.22.0):

FirebaseAnalytics/AdIdSupport (= 10.22.0)
FirebaseCore (~> 10.0)
FirebaseInstallations (~> 10.0)
GoogleUtilities/AppDelegateSwizzler (~> 7.11)
GoogleUtilities/MethodSwizzler (~> 7.11)
GoogleUtilities/Network (~> 7.11)
"GoogleUtilities/NSData+zlib (~> 7.11)"
nanopb (< 2.30911.0, >= 2.30908.0)

FirebaseAnalytics/AdIdSupport (10.22.0):

FirebaseCore (~> 10.0)
FirebaseInstallations (~> 10.0)
GoogleAppMeasurement (= 10.22.0)
GoogleUtilities/AppDelegateSwizzler (~> 7.11)
GoogleUtilities/MethodSwizzler (~> 7.11)
GoogleUtilities/Network (~> 7.11)
"GoogleUtilities/NSData+zlib (~> 7.11)"
nanopb (< 2.30911.0, >= 2.30908.0)

FirebaseCore (10.22.0):

FirebaseCoreInternal (~> 10.0)
GoogleUtilities/Environment (~> 7.12)
GoogleUtilities/Logger (~> 7.12)

FirebaseCoreExtension (10.22.0):

FirebaseCore (~> 10.0)

FirebaseCoreInternal (10.22.0):

"GoogleUtilities/NSData+zlib (~> 7.8)"

FirebaseCrashlytics (10.22.0):

FirebaseCore (~> 10.5)
FirebaseInstallations (~> 10.0)
FirebaseSessions (~> 10.5)
GoogleDataTransport (~> 9.2)
GoogleUtilities/Environment (~> 7.8)
nanopb (< 2.30911.0, >= 2.30908.0)
PromisesObjC (~> 2.1)

FirebaseDynamicLinks (10.22.0):

FirebaseCore (~> 10.0)

FirebaseInstallations (10.22.0):

FirebaseCore (~> 10.0)
GoogleUtilities/Environment (~> 7.8)
GoogleUtilities/UserDefaults (~> 7.8)
PromisesObjC (~> 2.1)

FirebaseRemoteConfig (10.22.0):

FirebaseABTesting (~> 10.0)
FirebaseCore (~> 10.0)
FirebaseInstallations (~> 10.0)
FirebaseSharedSwift (~> 10.0)
GoogleUtilities/Environment (~> 7.8)
"GoogleUtilities/NSData+zlib (~> 7.8)"

FirebaseSessions (10.22.0):

FirebaseCore (~> 10.5)
FirebaseCoreExtension (~> 10.0)
FirebaseInstallations (~> 10.0)
GoogleDataTransport (~> 9.2)
GoogleUtilities/Environment (~> 7.10)
nanopb (< 2.30911.0, >= 2.30908.0)
PromisesSwift (~> 2.1)

FirebaseSharedSwift (10.22.0)
GoogleAnalytics (3.21.0)
GoogleAppMeasurement (10.22.0):

GoogleAppMeasurement/AdIdSupport (= 10.22.0)
GoogleUtilities/AppDelegateSwizzler (~> 7.11)
GoogleUtilities/MethodSwizzler (~> 7.11)
GoogleUtilities/Network (~> 7.11)
"GoogleUtilities/NSData+zlib (~> 7.11)"
nanopb (< 2.30911.0, >= 2.30908.0)

GoogleAppMeasurement/AdIdSupport (10.22.0):

GoogleAppMeasurement/WithoutAdIdSupport (= 10.22.0)
GoogleUtilities/AppDelegateSwizzler (~> 7.11)
GoogleUtilities/MethodSwizzler (~> 7.11)
GoogleUtilities/Network (~> 7.11)
"GoogleUtilities/NSData+zlib (~> 7.11)"
nanopb (< 2.30911.0, >= 2.30908.0)

GoogleAppMeasurement/WithoutAdIdSupport (10.22.0):

GoogleUtilities/AppDelegateSwizzler (~> 7.11)
GoogleUtilities/MethodSwizzler (~> 7.11)
GoogleUtilities/Network (~> 7.11)
"GoogleUtilities/NSData+zlib (~> 7.11)"
nanopb (< 2.30911.0, >= 2.30908.0)

GoogleDataTransport (9.4.1):

GoogleUtilities/Environment (~> 7.7)
nanopb (< 2.30911.0, >= 2.30908.0)
PromisesObjC (< 3.0, >= 1.2)

GooglePlaces (5.0.0)
GoogleSignIn (5.0.2):

AppAuth (~> 1.2)
GTMAppAuth (~> 1.0)
GTMSessionFetcher/Core (~> 1.1)

GoogleTagManager (7.4.4):

FirebaseAnalytics (< 12.0, >= 10.0)
GoogleAnalytics (~> 3.21)

GoogleUtilities/AppDelegateSwizzler (7.13.0):

GoogleUtilities/Environment
GoogleUtilities/Logger
GoogleUtilities/Network
GoogleUtilities/Privacy

GoogleUtilities/Environment (7.13.0):

GoogleUtilities/Privacy
PromisesObjC (< 3.0, >= 1.2)

GoogleUtilities/Logger (7.13.0):

GoogleUtilities/Environment
GoogleUtilities/Privacy

GoogleUtilities/MethodSwizzler (7.13.0):

GoogleUtilities/Logger
GoogleUtilities/Privacy

GoogleUtilities/Network (7.13.0):

GoogleUtilities/Logger
"GoogleUtilities/NSData+zlib"
GoogleUtilities/Privacy
GoogleUtilities/Reachability

"GoogleUtilities/NSData+zlib (7.13.0)":

GoogleUtilities/Privacy

GoogleUtilities/Privacy (7.13.0)
GoogleUtilities/Reachability (7.13.0):

GoogleUtilities/Logger
GoogleUtilities/Privacy

GoogleUtilities/UserDefaults (7.13.0):

GoogleUtilities/Logger
GoogleUtilities/Privacy

GTMAppAuth (1.3.1):

AppAuth/Core (~> 1.6)
GTMSessionFetcher/Core (< 3.0, >= 1.5)

GTMSessionFetcher/Core (1.7.2)
nanopb (2.30910.0):

nanopb/decode (= 2.30910.0)
nanopb/encode (= 2.30910.0)

nanopb/decode (2.30910.0)
nanopb/encode (2.30910.0)

DEPENDENCIES:

Firebase (= 10.22.0)
Firebase/Crashlytics (= 10.22.0)
Firebase/RemoteConfig (= 10.22.0)
FirebaseAnalytics (= 10.22.0)
FirebaseDynamicLinks (= 10.22.0)
GooglePlaces (= 5.0.0)
GoogleSignIn (= 5.0.2)
GoogleTagManager (= 7.4.4)

SPEC REPOS:
trunk:
- Firebase
- FirebaseABTesting
- FirebaseAnalytics
- FirebaseCore
- FirebaseCoreExtension
- FirebaseCoreInternal
- FirebaseCrashlytics
- FirebaseDynamicLinks
- FirebaseInstallations
- FirebaseRemoteConfig
- FirebaseSessions
- FirebaseSharedSwift
- GoogleAnalytics
- GoogleAppMeasurement
- GoogleDataTransport
- GooglePlaces
- GoogleSignIn
- GoogleTagManager
- GoogleUtilities
- GTMAppAuth
- GTMSessionFetcher
- nanopb
SPEC CHECKSUMS:
Firebase: 797fd7297b7e1be954432743a0b3f90038e45a71
FirebaseABTesting: 66d2594b36d4ff6e7d3c8719802100990de05857
FirebaseAnalytics: 8d0ff929c63b7f72260f332b86ccf569776b75d3
FirebaseCore: 0326ec9b05fbed8f8716cddbf0e36894a13837f7
FirebaseCoreExtension: 6394c00b887d0bebadbc7049c464aa0cbddc5d41
FirebaseCoreInternal: bca337352024b18424a61e478460547d46c4c753
FirebaseCrashlytics: e568d68ce89117c80cddb04073ab9018725fbb8c
FirebaseDynamicLinks: 25ed0e87b0afb4769cc0ec8e942a532219abac28
FirebaseInstallations:<PHONE_NUMBER>93c0da14c18b3dcffdec71e29ed55e
FirebaseRemoteConfig: e1b992a94d3674dddbcaf5d0d31a0312156ceb1c
FirebaseSessions: cd97fb07674f3906619c871eefbd260a1546c9d3
FirebaseSharedSwift: 48076404e6e52372290d15a07d2ed1d2f1754023
GoogleAnalytics: abbea91ce20faea66c5b2305aa040d3f9992f66a
GoogleAppMeasurement: ccefe3eac9b0aa27f96066809fb1a7fe4b462626
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
GooglePlaces: 5d87ca13ed98b7a937e0d8bc7026f718c7263271
GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
GoogleTagManager: aaf1f5f91da45d19b5427170081967828bdd3aad
GoogleUtilities: d053d902a8edaa9904e1bd00c37535385b8ed152
GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba
nanopb: 438bc412db1928dac798aa6fd75726007be04262
NewRelicAgent: b942ad8a00d917c7f05e892e1bc153b8814af1b0
PODFILE CHECKSUM: 6bf9ca1065a4b8133b46e2bea026114ed1a7fcd8
COCOAPODS: 1.15.2

Hi @KetanWadyalkar, the logs seem to indicate that there the SDKs may be both statically and dynamically linked. Could you share your Podfile?

We might need a full repro to help with this one. There may be something corrupt in the Xcodeproj file causing the double linking.

@paulb777 Since the repo is hosted on our internal network, gaining access would be difficult. Would it be acceptable for me to share the Xcodeproj file here?

@KetanWadyalkar Not sure if an Xcodeproj is sufficient. It might be better for you to run pod deintegrate and then to make sure that there is nothing lingering in the project from the CocoaPods dependencies.

@paulb777 Apologies for the delay. I tried deintegrating the pod, clearing derived data, looked for any pod reference in the project but didn't find anything. Also, I observed that a similar "implemented in both" is getting logged for the SDK V7.3.0.
I'm struggling to understand why the crash started to appear only after upgrading the SDKs.
objc[26032]: Class GTMSessionFetcher is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10c882bf0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708ca0). One of the two will be used. Which one is undefined. objc[26032]: Class GTMSessionCookieStorage is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10c882c40) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708cc8). One of the two will be used. Which one is undefined. objc[26032]: Class GTMSessionFetcherService is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10c882d30) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708d40). One of the two will be used. Which one is undefined. objc[26032]: Class GTMSessionFetcherSessionDelegateDispatcher is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10c882d58) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708d68). One of the two will be used. Which one is undefined. objc[26032]: Class GTMSessionUploadFetcher is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GTMSessionFetcher.framework/GTMSessionFetcher (0x10c882dd0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708de0). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCCTCompressionHelper is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5c38) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708e58). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCCTUploader is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5c60) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708ed0). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORClock is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5cb0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708f20). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORDirectorySizeTracker is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5d00) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107708f70). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCOREvent is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5d50) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709010). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORFlatFileStorage is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5da0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709060). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORLifecycle is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5df0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x1077090b0). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORApplication is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5e40) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709100). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORReachability is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5e90) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709150). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORRegistrar is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5ee0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x1077091a0). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORStorageEventSelector is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5f30) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x1077091f0). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORTransformer is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5f80) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709240). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORTransport is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f5fd0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709290). One of the two will be used. Which one is undefined. objc[26032]: Class GDTCORUploadCoordinator is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleDataTransport.framework/GoogleDataTransport (0x10c3f6020) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709330). One of the two will be used. Which one is undefined. objc[26032]: Class GULHeartbeatDateStorage is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10c90eb68) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709380). One of the two will be used. Which one is undefined. objc[26032]: Class GULSecureCoding is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10c90eeb0) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709448). One of the two will be used. Which one is undefined. objc[26032]: Class GULKeychainStorage is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10c90ebb8) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709470). One of the two will be used. Which one is undefined. objc[26032]: Class GULKeychainUtils is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10c90ec30) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x1077094e8). One of the two will be used. Which one is undefined. objc[26032]: Class GULURLSessionDataResponse is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10c90ef28) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709510). One of the two will be used. Which one is undefined. objc[26032]: Class GULAppEnvironmentUtil is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/GoogleUtilities.framework/GoogleUtilities (0x10c90eb18) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x107709560). One of the two will be used. Which one is undefined. objc[26032]: Class FBLPromise is implemented in both /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/Frameworks/FBLPromises.framework/FBLPromises (0x109ec1b08) and /Users/kXXXXX/Library/Developer/CoreSimulator/Devices/9E151DF4-9175-43FB-A0A4-DCF416F2BA85/data/Containers/Bundle/Application/B4B7BB9A-F0B4-4298-88FD-90EC97E95986/XXXXX.app/XXXXX (0x1077095b0). One of the two will be used. Which one is undefined.

The "linked in both" error will cause indeterministic behavior, so crashing may or may not occur.
Something about your Xcode project is causing the libraries to be linked both as separate dynamic libraries and directly into your app.
If you're still stuck, would you share an Xcode project that reproduces the issue?

@paulb777 While I'd prefer to avoid sharing the project file initially if a screen share call is not possible, can you let me know the best way to share the project with you?

@KetanWadyalkar The best approach is to make a minimally reproducible example that removes any code you don't want to share.

@paulb777 Sharing the entire project won't be possible, we are trying to reproduce this issue in a new project. I'll share it once it's ready.

We have a fix in progress for the SwiftUI preview crash. I'll update this issue when it is released.


Start channel setting in case less than 1024.

Why do you set channel from 32 for 512x512 images?
# Here is an example training config file for 512x512 images.
channels: [32, 64, 128, 256, 512, 512, 512, 512]

Or in case 256 , starts from 64
--channels 64 128 256 256 256 256 256
Does the model converge faster than standard:  [4, 8, 16, ...]?

Hey!
As I did not have enough GPU memory to train on 1024x1024 I had to use 512x512 instead. What I did if I remember correctly is that I took the number of channels of each layer that the paper used in their 1024x1024 model and just removed the final layer. Thats how I ended up with the channels in the example.
The paper mentions that they hypothesized that the final layer in the previous version of style-GAN has a capacity problem when using 16 channels, which is why they doubled it to 32.
I am guessing that using too many channels may reduce training stability and using too few may reduce output fidelity. However, this is just an assumption and I have not tested it.
If you have the time or computational resources you can try different values for the channels and see if it affects results.
The choice for number of channels is mentioned in section 4.2 of the paper

Thank you. I trained with this parameter fot 256x256 images :
python run_training.py  --channels 4 8 16 32 64 128 256
but model did not converge at checkpoint 5000 〜 16000.
Is this setting wrong?

I would say that convolutional layer with only 4 channels is a bit too small. Just to clarify, "channels" is the number of convolutional filters in the layer. In the paper they found that the layer with the least amount of channels (16) was too small and inhibited the model from reaching higher fidelity. They doubled that size to 32 instead and found that it worked better. So I would guess you should start with 32. Maybe --channels 32 64 128 256 512 512 512. Or since your images are of size 256x256 you dont need 512 channels for some layers. --channels 32 64 128 128 128 128 128 or --channels 32 64 128 256 256 256 256.
Hope this helps!

I see! Thank you very much!


Fix media on server with debug="false"

It was literally JUST WORKING an hour ago

Now this server doesn't even want to LOAD my media files.

I got rid of profile image functionality, we can worry about this later


path!([Not] [Not] [Not] true) is broken

One idea is to use Either instead of Item for disambiguation:

Either<T, ()> as the left type
Either<(), U> as the right type


Salom

('salom dunyo')

to fix your trouble check this solution click
maybe this will solve your problem.


masked div/rem

we'll probably want to eventually add masked div/rem where division by zero isn't UB/doesn't panic for disabled lanes

Duplicated by https://github.com/rust-lang/portable-simd/issues/202.
Closing this one because more actual discussion has happened there.


Podspec not linting

The podspec is not linting and I also get the same error when trying to build the example

I don't understand why we have the same files in Vendors/include/libheif and Vendors/libheif/libheif and I mean heif.h and heif-version.h

pod lib lint --allow-warnings --subspec=libheif

 -> SDWebImageHEIFCoder/libheif (0.2.0)
    - ERROR | [SDWebImageHEIFCoder/libheif] public_header_files: The pattern includes header files that are not listed in source_files (/Users/bogdanp/GitHub/SDWebImageHEIFCoder/SDWebImageHEIFCoder/Module/SDWebImageHEIFCoder.h).
    - ERROR | [SDWebImageHEIFCoder/libheif] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | [SDWebImageHEIFCoder/libheif] xcodebuild:  /Users/bogdanp/GitHub/SDWebImageHEIFCoder/Vendors/libheif/libheif/heif.h:31:10: fatal error: 'libheif/heif_version.h' file not found
    - NOTE  | [SDWebImageHEIFCoder/libheif] xcodebuild:  /Users/bogdanp/GitHub/SDWebImageHEIFCoder/Vendors/libheif/libheif/heif_plugin.h:28:10: fatal error: 'libheif/heif.h' file not found

[!] SDWebImageHEIFCoder did not pass validation, due to 2 errors.
You can use the `--no-clean` option to inspect any issue.

@bpoplauschi The submodule libheif, that heif.h is not a C header files. It's a C header file template for autoconf. So you can not use it directlly.
I run the autoconf to generate the final heif.h, and replace it. So that we can directlly use git submodule, but not copy their entire source code into this repo :)
I'll check the pod spec lint issue. It may because you don't use --use-libraries since there are two emmbed static library.

@bpoplauschi And I want some help. Do you know how to specify in the Podspec, to allow some header be treated as Project Header but not Private Header ?
I don't want to add heif.h, de265.h and x265.h into the umbrella header. However, current generated Pods.xcodeproj always assume these files be either Public Header or Private Header, no way to make it as Project Header and pass pob spec lint (I try a trick, works for local but fail on pod lib lint).
What I want:

What I get currentlly that can pass pod lib lint:

@bpoplauschi It seems that pod lib lint does not follow what pod spec lint do. It does not copy your Pods folder as git clone. It just use a soft link to the original files .So the header search path was wrong if you write as this:
${PODS_ROOT}/SDWebImageHEIFCoder/Vendors/include

pod lib lint: does not exist this Vendors folder and cause header search failed
pod spec lint:  does exist this Vendors folder and pass

If we still want Travis-CI to pass lib lint, I have to add a header search path just for developer but not for distributation. Use the PODS_TARGET_SRCROOT mentioned in https://github.com/CocoaPods/CocoaPods/issues/7905

Done by https://github.com/SDWebImage/SDWebImageHEIFCoder/commit/ef5308af880a841f7bf4f514c0d10e25b3276a67 and CI passed.
Actually this only effect pod lib lint, which is for developer. For our user, we always distrbute using pod trunk and it just need to pass pod spec lint.

Another issue, currentlly I add all heif.h, de265.h, x265.h into the umbrella files, so people who use this module import:
#import <SDWebImageHEIFCoder/SDWebImageHEIFCoder>
@import SDWebImageHEIFCoder;

Will see all symbols inside these headers as well, such as heif_get_version. I don't know it's suitable to expose this. But however, since umbrella header files should contains all public headers (Or Xcode will warn you, can be dismissed as well). I want to find some way to make these header as Project Header but not Public Header. However, I don't find a good way to do so, any idea ?

Solved by the latest master branch. pod lib lint can pass now. Previous version pod spec lint is passed (or How can I push it to Pod Trunk ? 😅 )


Fix pagination bug when pageCount = -1

@tannerlinsley not sure where should I add a test for this fix. Could you please let me know?


added a contributors section iss#28

I added contributors to close this #28

Wonderful and ironic :-)