Plugin gets confused when using multiple tabs

Description
Plugin gets confused after using it in one tab then moving to another tab
Steps to reproduce

open a file in nvim
open second tab with another file in it
in the second tab, run :NoNeckPain twice (to shrink and re-expand the screen)
switch to the first tab, run :NoNeckPain and you are sent to the second tab without anything being resized.
you can continue to rerun step 4 with the same outcome

Expected behavior
No matter which tab you are currently on, :NoNeckPain will work as intended
Environment

Neovim version:

:version
NVIM v0.10.0-dev-3969+g5e5f5174e-Homebrew
Build type: Release
LuaJIT 2.1.1700008891
Run ":verbose version" for more info

no-neck-pain.nvim version "latest"

my mini.vim
set nocompatible
filetype plugin indent on
syntax on
set hidden

call plug#begin('~/.config/nvim/plugged')

Plug 'shortcuts/no-neck-pain.nvim'

call plug#end()

lua << EOF

require("no-neck-pain").setup({
    width = 100,
    buffers = {
        colors = {
            background = "tokyonight-moon",
        }
    },
    mappings = {
        enabled = true,
        toggle = "<Leader>nn",
        toggleLeftSide = "<Leader>nql",
        toggleRightSide = "<Leader>nqr",
        widthUp = { mapping = "<Leader>n=", value = 20 },
        widthDown = { mapping = "<Leader>n-", value = 20 },
        scratchPad = "<Leader>ns",
    },
})

EOF

hey, the fix is available in the 1.6.1 version

I am still seeing it, I do have the latest

❯ cd ~/.config/nvim/plugged
❯ cd no-neck-pain.nvim
❯ git log -1
commit 28ef4de7ac1e6554be2ef5a72a200584eefe5df5 (HEAD -> main, tag: v1.6.1, origin/main, origin/HEAD)
Author: github-actions[bot]<EMAIL_ADDRESS>Date:   Tue Nov 28 22:30:12 2023 +0100
chore(main): release 1.6.1 (#270)

:robot: I have created a release *beep* *boop*
---

##
[1.6.1](https://github.com/shortcuts/no-neck-pain.nvim/compare/v1.6.0...v1.6.1)
(2023-11-28)

### Bug Fixes

* **tabs:** prevent unsynced state in tab switchs
([#269](https://github.com/shortcuts/no-neck-pain.nvim/issues/269))
([2afc30d](https://github.com/shortcuts/no-neck-pain.nvim/commit/2afc30d8ec23000c4f830310661f63ee3b581a42))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot]<EMAIL_ADDRESS>

Hey @timtyrrell, thanks for reporting! are the steps described here https://github.com/shortcuts/no-neck-pain.nvim/blob/main/tests/test_tabs.lua#L260-L419 similar to what you are doing?

I can trigger it every time without any trouble moving from tab to tab and running my toggle key <Leader>nn? Let me know if you can't and I can look harder but I am not doing anything differently than the example above

oh ok I got confused in step 2 it seems (or I was too tired 🤔) now I get the issue, checking for a fix!

(fun fact, there was 2 bugs in fact)

Hey, good job fixing one of them then 🏆

hey @timtyrrell, this is fixed (for real now), in the 1.6.2 version!

Yup, that fixes it. I have one more coming in


What is the best way to allow movement along a single axis?

I am creating a simulation where blocks can slide according to gravity, but only along one axis (either x or y), like they're following a hidden groove or something (gravity changes). I've already locked their rotation so that they maintain their orientation (as noted here https://github.com/liabru/matter-js/issues/104), but I'm not sure what would work the best for maintaining position on a given axis.
Currently, I've set it up so that after each update, I reset the x (or y depending on the axis) to its initial value, which works fine when nothing collides, but as soon as another body collides, the colliding body sinks into the sliding block (since I'm manually moving back to where it has been pushed from). Is there a way to have a body maintain its axis during the collision step so that it doesn't move along one axis but is movable in the other?
Alternatively, would it make more sense to make the block static and move it accordingly to gravity manually instead of allowing it to collide like a non-static body?

Whats the solution for this?

It'd be useful to see OP's code. The pure linguistic description leaves quite a bit to the imagination.
Related SO thread: Matter.js - how to constrain movement and mouse interaction to a single axis?.


Support issue sections

The use case is for businesses that use asana as a scrum board. An example work flow would be committing a change, and moving the issue to a 'needs testing' section in the asana project. Perhaps 'section_*' github labels can be reserved for this?

Right now, we have issue syncing as tags in Asana. However, it won't remove tags when issues are removed, so this is a great suggestion.
Also, I've wanted to sync asana projects -> labels/milestones as well (#39) - and there seem to be a lot of ways we could achieve that.


Create Scenario Card for Dashboard

Create the Scenario Cards that will be displayed on the Dashboard.

Scenario card component was created and implemented.


userinfo_uri is not required... its optional but the library requires it...

Could there be option to configure the use of the userinfo_uri or not to use it?
CoreOS OpenId Connect Provider (https://github.com/coreos/dex) didn't implement the userinfo endpoint because it's optional.
In order to get this library to work with coreos openId connect provider, I had to comment out lines 188 thru 199
(https://github.com/puiterwijk/flask-oidc/blob/master/flask_oidc/__init__.py#L188-L199) for it to work with coreos openid connect provider.

This has been fixed with d3bec40.


Add author and time info to events

In this PR, we add information about authors and time of the event to the corresponding pages, as well as to the summary on the /programme/ page, see https://20-276193679-gh.circle-artifacts.com/0/SORSE/programme/software_demos/event-001/index.html.
We also use cards to display the events on the /programme/ page, see https://20-276193679-gh.circle-artifacts.com/0/SORSE/programme/index.html
Any comments @vsoch?

Actually, we need to change the date metadata of the events into something else. A single start and end-date would not work, as a workshop, for instance, might go on one day from time1 to time2, and on another day from time3 to time 4. This also impacts the stuff implemented on #1, @vsoch. What about something like this instead of date?
time:
    - start: 2020-07-11T18:00:00Z
      end: 2020-07-11T18:30:00Z
    - start: 2020-07-21T18:00:00Z
      end: 2020-07-21T18:30:00Z

I think the post-cards class would do well with a little padding added - here I'm showing added 20px (top) against the current (bottom):

For workshop times, I think your approach is good - to have date/time be a list, that would be akin to having a separate event for each day, then having the same content for the event. With this approach we just create three different calendar links that go to the same page. The other (simplier but less detailed option) is to have the multiple day events show up as all day on the calendar, but then put the specific times in the description. I think the first works better, and then all events would be updated to be a list of times (and possibly only one).

Yes, I think we better go for the first one. An all-day event might be misleading, particularly if we want to implement the Add to calendar button.
I'll set it up in this PR.
Do you think we should add these information to the generated PDF? My general feeling would be, no

I agree - the PDFs should be timeless, maybe at best have a month / year of "publication."

@vsoch, I think I am done here. Event times are now included with the structure proposed in https://github.com/Chilipp/sorse.github.io/pull/3#issuecomment-653927294.
I updated the generation of events for the calendar in
b357c9e (see https://23-276193679-gh.circle-artifacts.com/0/SORSE/index.html/#upcoming-events) for instance and the rendering of times in cards and events.
I also truncated the dates of the dummy events as mentioned in https://github.com/SORSE/sorse.github.io/pull/218#issuecomment-654469018

this PR is ready to be merged. Then I can go all the way up to https://github.com/SORSE/sorse.github.io/pull/218


improve (ignore_)run_exports, don't refer to -ng packages

Xref https://github.com/conda-forge/ctng-compilers-feedstock/pull/148

I am not sure what is the exact goal of this change

We want to finish a long-open transition in our runtime libraries (remove the -ng suffix; once upon a time for "new generation"), and in any case, it's better to rely on the available infrastructure (run-exports, etc.) rather than hand-code it.


Add preference to copy emoji or code to gitmoji extension.

Description
With the current behavior, the extension copies the actual emoji ✨, I would like to use the code :sparkles: in my commit messages instead. This PR gives the user the ability to chose between copying the emoji or the code.
This is done by adding a dropdown preference, with the options

Emoji ✨ default (current behavior)
Code :sparkles:

The preference value is then used to copy the preferred property.
Type of change

Bug fix / improvement for somebody else's extension. Extension author: @ricoberger

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing

Thank you @mattisssa for reviewing and merging this PR!


OpenSSL v3.0 make error

Ⅰ. Issue Description
src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_load_certificate_key’中:
src/event/ngx_event_openssl.c:973:9: 错误：‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
973 |         engine = ENGINE_by_id((char *) p);
|         ^~~~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:336:31: 附注：在此声明
336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
|                               ^~~~~~~~~~~~
src/event/ngx_event_openssl.c:982:9: 错误：‘ENGINE_load_private_key’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
982 |         pkey = ENGINE_load_private_key(engine, (char *) last, 0, 0);
|         ^~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:638:11: 附注：在此声明
638 | EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
|           ^~~~~~~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c:986:13: 错误：‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
986 |             ENGINE_free(engine);
|             ^~~~~~~~~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:493:27: 附注：在此声明
493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
|                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c:990:9: 错误：‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
990 |         ENGINE_free(engine);
|         ^~~~~~~~~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:493:27: 附注：在此声明
493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
|                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_dhparam’中:
src/event/ngx_event_openssl.c:1586:5: 错误：‘PEM_read_bio_DHparams’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
1586 |     dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
|     ^~
In file included from /usr/include/openssl/ssl.h:36,
from src/event/ngx_event_openssl.h:15,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/pem.h:469:1: 附注：在此声明
469 | DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
| ^~~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c:1596:5: 错误：‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
1596 |     DH_free(dh);
|     ^~~~~~~
In file included from /usr/include/openssl/dsa.h:51,
from /usr/include/openssl/x509.h:37,
from /usr/include/openssl/ssl.h:31,
from src/event/ngx_event_openssl.h:15,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/dh.h:200:28: 附注：在此声明
200 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
|                            ^~~~~~~
src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_error’中:
src/event/ngx_event_openssl.c:3559:13: 错误：‘ERR_peek_error_line_data’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
3559 |             n = ERR_peek_error_line_data(NULL, NULL, &data, &flags);
|             ^
In file included from src/event/ngx_event_openssl.h:16,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/err.h:425:15: 附注：在此声明
425 | unsigned long ERR_peek_error_line_data(const char **file, int *line,
|               ^~~~~~~~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c: 在函数‘ngx_ssl_session_ticket_key_callback’中:
src/event/ngx_event_openssl.c:4469:9: 错误：‘HMAC_Init_ex’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
4469 |         if (HMAC_Init_ex(hctx, key[0].hmac_key, size, digest, NULL) != 1) {
|         ^~
In file included from /usr/include/openssl/ssl.h:37,
from src/event/ngx_event_openssl.h:15,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/hmac.h:43:27: 附注：在此声明
43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
|                           ^~~~~~~~~~~~
src/event/ngx_event_openssl.c:4513:9: 错误：‘HMAC_Init_ex’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
4513 |         if (HMAC_Init_ex(hctx, key[i].hmac_key, size, digest, NULL) != 1) {
|         ^~
In file included from /usr/include/openssl/ssl.h:37,
from src/event/ngx_event_openssl.h:15,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/hmac.h:43:27: 附注：在此声明
43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
|                           ^~~~~~~~~~~~
src/event/ngx_event_openssl.c: 在函数‘ngx_openssl_engine’中:
src/event/ngx_event_openssl.c:5724:5: 错误：‘ENGINE_by_id’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
5724 |     engine = ENGINE_by_id((char *) value[1].data);
|     ^~~~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:336:31: 附注：在此声明
336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
|                               ^~~~~~~~~~~~
src/event/ngx_event_openssl.c:5732:5: 错误：‘ENGINE_set_default’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
5732 |     if (ENGINE_set_default(engine, ENGINE_METHOD_ALL) == 0) {
|     ^~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:708:27: 附注：在此声明
708 | OSSL_DEPRECATEDIN_3_0 int ENGINE_set_default(ENGINE *e, unsigned int flags);
|                           ^~~~~~~~~~~~~~~~~~
src/event/ngx_event_openssl.c:5737:9: 错误：‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
5737 |         ENGINE_free(engine);
|         ^~~~~~~~~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:493:27: 附注：在此声明
493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
|                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c:5742:5: 错误：‘ENGINE_free’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
5742 |     ENGINE_free(engine);
|     ^~~~~~~~~~~
In file included from src/event/ngx_event_openssl.h:22,
from src/core/ngx_core.h:90,
from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:493:27: 附注：在此声明
493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
|                           ^~~~~~~~~~~
cc1：所有的警告都被当作是错误
make[1]: *** [objs/Makefile:913：objs/src/event/ngx_event_openssl.o] 错误 1
Ⅱ. Describe what happened
使用OpenSSL v3.0 时编译错误
Ⅲ. Describe what you expected to happen
希望尽快兼容OpenSSL v3.0
Ⅳ. How to reproduce it (as minimally and precisely as possible)
1.使用OpenSSL v3.0  编译安装
Ⅴ. Anything else we need to know?

If applicable, add nginx  debug log doc.

Ⅵ. Environment:

Tengine version (use sbin/nginx -V):2.3.3
OS (e.g. from /etc/os-release):rhel9
Kernel (e.g. uname -a):Linux localhost.localdomain 5.14.0-70.22.1.el9.aarch64 #1 SMP Tue Aug 9 17:23:55 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
Others:

I tried to compile it by specifying CFLAGS likes this make CFLAGS="-pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g", which -Werror has been removed.

2.4.0 works


Update SAP BW Troubleshooting with Memory Issues

Closing and will make PR in private repo.

Closing and will make PR in private repo.


Vitest v2 reports zero coverage for types-only TypeScript files

Describe the bug
After upgrading to v2, I noticed a minor issue in the code coverage report — the code coverage is reported as zero for TypeScript files containing only TypeScript types. It is more of a cosmetic issue as it doesn't affect the overall coverage percentage, but it could still be a good idea to report coverage as 100% in this case as v1 used to.
Reproduction

Open https://stackblitz.com/edit/vitest-v2-ts-coverage-bug?file=test%2Ffoo.test.ts
Download the sandbox to run the test locally
npm install
npm run test:run

Observe coverage report:
 % Coverage report from v8
----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |     100 |      100 |     100 |     100 |
 foo.ts   |     100 |      100 |     100 |     100 |
 index.ts |     100 |      100 |     100 |     100 |
 types.ts |       0 |        0 |       0 |       0 |
----------|---------|----------|---------|---------|-------------------

System Info
System:
    OS: macOS 14.5
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 1.15 GB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.15.1 - ~/.nvm/versions/node/v20.15.1/bin/node
    npm: 10.7.0 - ~/.nvm/versions/node/v20.15.1/bin/npm
  Browsers:
    Chrome: 126.0.6478.127
    Safari: 17.5
  npmPackages:
    @vitest/coverage-v8: latest => 2.0.3
    @vitest/ui: latest => 2.0.3
    vite: latest => 5.3.4
    vitest: latest => 2.0.3

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

That's expected. The types do not contain any code that could be run, as it's only compile time information. This was implemented in https://github.com/vitest-dev/vitest/issues/5423.
If you want to show incorrect coverage and mark these lines containing non-runtime code as covered, use coverage.ignoreEmptyLines: false.
Note that the total coverage percentages are shown correctly. The types.ts here is not decreasing total coverage:

See also https://github.com/vitest-dev/vitest/issues/3605.

It's not really a work-around. It is correct to see that file as 0% in the report - the file doesn't contain any runtime code. It's imported from files that were tested.

It's not really a work-around. It is correct to see that file as 0% in the report - the file doesn't contain any runtime code. It's imported from files that were tested.

That's not entirely true as this behavior is somewhat inconsistent. The issue I described in this ticket is happening only when I export types.ts types from the barrel file (index.ts). If I remove that export, then types.ts is not included in the coverage report at all, even though the types are imported from the file that was tested.

So something like below should do it:

{
  coverage: {
    reporter: [
      ['text', { 'skipEmpty': true }],
      ['html', { 'skipEmpty': true }],
    ]
  }
}

👍

even though the types are imported from the file that was tested

This sounds like a bug. Every file that is imported from the tested file should be included in the report.

This sounds like a bug. Every file that is imported from the tested file should be included in the report.

It doesn't get included in the report even with all: true. Would you like me to file a separate ticket for this with a repro?

Sure, thanks!


ntp: fix ntpd shutdown by using upstream patch

After a series of amendments the seccomp.patch made ntpd work properly
but only on 32-bit systems.
This commit replaces that patch with the one submitted upstream by
cleverca22 and that fixes the issue also on 64-bit systems.
(cherry picked from commit 6759b7900eac5782f511a8161bd680ffd263b996)
Motivation for this change
Backport of #49562
Things done

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

[ ] NixOS
[ ] macOS
[ ] 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 nox --run "nox-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)
[ ] Fits CONTRIBUTING.md.

@zarelit It's nice if you can prefix the pr header with [18.09] or whatever version you're backporting to.
That way it's easily identifiable if something is a backport and to where.


Removing solutions from a full archive

When the archive has reached its maximum size, solutions are selected to be removed from the archive based on their distance from other solutions in the archive.  This enasures that solutions are removed from crowded areas in the approximated Pareto Optimal Front.

I haven't looked at all the functions in the commits, there are too many, but they definitely need tests, as do the strategies.

I have to agree with Andrich. A lot of tests can be added: at the very least the DistanceComparator, DistanceBasedElitistSelector as well as the ResponseStrategies should not be too difficult to test. I saw that some of the functions had random-number generators. These might be slightly more difficult to test, however, if you fix the seed of the provided random-number generators for the tests, I think that they can still be tested (especially since you allow for the random-number generators to be set via setter-methods).


File Sync

As per team call regarding the plan for camera roll sync:

Added files are always pinned locally, regardless of the schema directive
Clients (mobile, CLI, etc.) can then "release" a file once it's data has been remotely pinned to a cafe
This action can be recorded on the file index (as a non-shared column), perhaps a list of cafe peer ids that currently pin the file
If the schema allows, the local IPFS node can actually unpin the file data
When listing files / feed, we can include this pin info which can be shown in a nice way to the user (num. pin icons, etc.)

In an effort to open up some of this design, I want to share my current thinking here. What we are after is something like GraphSync.
Goals

Pin a graph and the block pointing to it before broadcasting this new state to thread members
A cafe should recursively pin the top-level target hash of a DAG so as to simplify record keeping and unpinning.
A cafe should be able to track the amount of data is being pinned by each of its clients

The current implementation is based on the idea of a "cafe request", and specifically "store" type cafe requests. Oother types are for snapshot-ing and un-snapshot-ing threads, delivering a message to a peer, and un-storing. For each node / object in a graph, a request is created. Currently, there is no concept of a "child" request or intelligent grouping of these requests. (Actually, we do currently have a concept of grouping but it needs to change slightly as proposed below).
Proposal

A file(s) input creates a graph that needs to be synced. To avoid unbounded request sizes from giant file groups, we can break up the graph as follows:

The collection of nodes that do not have direct data links can be handled in one multipart request
Each meta/content pair can be handled in one multipart request
The resultant block can be handled in one request

This implies that the pinning of the block and the publishing of the block to the thread must be split into distinct steps. Once the "Sync Group" (shown above) has been completely synced, the block can be "released" to the thread. This results in the following (this is already implemented):

A "block message" is created for or each member and added to the "block outbox" (a queue)
An attempt is made to send the message (encrypted block) directly to the recipient peer
If this fails, it is removed from this queue and used to create a cafe inbox request and is added to the cafe outbox (it does not need to be grouped with others)

Note: In practice, the block that is actually released may be newer since more recent actions may have generated blocks that were more quickly synced (perhaps not part of a large group).
Desktop
On desktop, we should be able to eventually use GraphSync. Our current implementation functions over libp2p and performs work similar to bitswap's want list where blocks are only sent if they are needed. This is determined by a pre-request round-trip where the cafe can remove hashes from the the list of blocks that will be sent.
Mobile
On mobile, all requests must be handled by the background upload services on iOS/Android. This makes doing something like the want list approach a good bit harder. So, the first pass here does not care about bandwidth duplication.

Call notes:

Assume that retries are handled by the native layers on mobile
Need to expose a "failed" endpoint that will delete the sync group and block
Sync Group is keyed by the block id
Avatars on profiles should return the whole block
Notifications can be sent once req. groups are marked at complete containing the total sync group stats
A notification can be sent when the block is "released"
Stats can be queried at any time by sync group id
A UI that is essentially a list of the sync groups and their statuses was discussed

Call participants: @asutula, @sanderpick

Currently working on implementing a slightly tweaked interface for the cafe reqs. This can support desktop and mobile request handlers.
type CafeRequestStore interface {
	Queryable
	Add(req *pb.CafeRequest) error
	Get(id string) *pb.CafeRequest
	List(offset string, limit int) *pb.CafeRequestList
	ListGroups(offset string, limit int) []string
	ListCompletedSyncGroups() []string
	SyncGroupStatus(syncGroupId string) *pb.CafeRequestGroupStatus
	UpdateStatus(id string, status pb.CafeRequest_Status) error
	UpdateGroupStatus(group string, status pb.CafeRequest_Status) error
	Delete(id string) error
	DeleteByGroup(groupId string) error
	DeleteBySyncGroup(syncGroupId string) error
	DeleteByCafe(cafeId string) error
}


[NOT AN ISSUE] Envycontrol works on EndeavourOS

Greetings,
Just wanted to say this works for me on EndeavourOS using Gnome 41.4 on Wayland using an Nvidia MX150 / Intel graphics. I've only tested the --swtich nvidia, since I want to always have the Nvidia card being used since it offers the best performance. I'm coming from being an optimus-manager user for the last year or so, but envycontrol is great so far to not have to have gdm-prime and libgdm-prime from the AUR installed on my system. Wayland and Nvidia seem to be functioning under my testing so far, so I just wanted to report that this is indeed working on EndeavourOS. A few other users I know using EndeavourOS have had success using Envycontrol as well. Not sure if you want to add EndeavourOS to the list of support distros or not, but in any case I just want to say thank you very much for creating this. Please do your best to keep it updated as best you can, I know any nvidia user would greatly appreciate it! Thanks again for making this available and if I come across any issues I can't work around I'll visit back here. Feel free to close this issue as this was only meant as a comment to say it's working on EndeavourOS. :+1:

Thanks for your comments :D

EndeavourOS user too, but with X11 and KDE Plasma.
EnvyControl works like a charm.


GCP Audit logs displayed in the datasource are not JSON parseable

Running a query like below in the Cloud Logging Plugin datasource in Grafana
protoPayload.methodName=io.k8s.core.v1.pods.delete AND protoPayload.response.status.containerStatuses.state.terminated.reason="OOMKilled"
shows the audit logs but they are not in JSON parse able.

The new release addressed the issue. Let us know if you find any issue.
Thanks for the feedback!

Thanks @xiangshen-dk  for the fix!


Support sessionless load balancer.

i started to implement the authorization code flow, and looking at the tests and source code i saw there is a note about the use of SessionAttributes which will not work even if you set all your service and stores to work with JDBC, another sessionattributes needs to be provided so the setup could work in stateless or non stick session load balancer.
this is quite disappointing as i don't want to implement a clusterable sessionattributes in such case.
maybe implementation can be session less ?

You need state for the auth code and implicit grants. I don't see any reason not to use the session for that, but if you don't like it you can implement and install a SessionAttributeStore (standard Spring feature). Spring Session is also super easy to set up if you can't do the SessionAttributeStore and you don't want to use sticky sessions.

The constraint for non sticky sessions is coming from our operations team, they decided that the app servers should be stateless. this is why i can't use the session
thanks
Shlomi

Bad luck (they are wrong IMO). You still have the other 2 options if you can't use sticky sessions.


Fix dynamic image issue with Gridsome

This PR closes #657

@rwfeather I can't approve my own PR but this looks good. Feel free to merge unless you're adding anything else to this!


Initial API implementation

TODO

[ ] Support all non-deprecated APIs, even endpoints with 3-leg OAuth2 requirements
[ ] Add CI
[ ] Add dotfiles (.gitignore, .editorconfig)

Pretty sure, the /data endpoint is also useless. Who needs to read the Terms of Service via API calls?


Implicit FTPS over TLS: Remote FTP: Error: Unable to make data connection

Similar to another issues on implicit FTPS over TLS:  #153
Connection seems successful, but that's as far as I get (connection under similar conditions works in filezilla). I'm finding the following error after a successful connection:
(Remote FTP: Error: Unable to make data connection. Error: connect ECONNREFUSED <IP_ADDRESS>:50392)
Here's the initial log of events from the console upon connection:
< 200 OK
helpers.js:96 < 220 Welcome to the xxxxFTP Server.
helpers.js:96 > USER sauser
helpers.js:96 < 331 Password required for sanuser
helpers.js:96 > PASS ******
helpers.js:96 < 230 Logged on
helpers.js:96 > FEAT
helpers.js:96 < 211-Features:\r\n MDTM\r\n REST STREAM\r\n SIZE\r\n MLST type*;size*;modify*;\r\n MLSD\r\n AUTH SSL\r\n AUTH TLS\r\n PROT\r\n PBSZ\r\n UTF8\r\n CLNT\r\n MFMT\r\n EPSV\r\n EPRT\r\n211 End
helpers.js:96 > OPTS UTF8 ON
helpers.js:96 < 202 UTF8 mode is always enabled. No need to send this command.
helpers.js:96 > TYPE I
helpers.js:96 < 200 Type set to I
helpers.js:96 > EPSV
helpers.js:96 < 229 Entering Extended Passive Mode (|||50986|)
helpers.js:96 > EPSV
helpers.js:96 < 229 Entering Extended Passive Mode (|||50854|)
helpers.js:96 > ABOR
helpers.js:96 < 226 ABOR command successful

I get the additional notification of the data connection error, which doesn't show up in the console (why not?)
In bizarre fashion, if I do nothing, the following will occur:
< 200 OK
helpers.js:96 < 421 No-transfer-time exceeded. Closing control connection.
helpers.js:96 < 220 Welcome to the American Statistical Association FTP Server.
helpers.js:96 > USER sanantonioch
helpers.js:96 < 331 Password required for sanantonioch
helpers.js:96 > PASS ******
helpers.js:96 < 230 Logged on
helpers.js:96 > FEAT
helpers.js:96 < 211-Features:\r\n MDTM\r\n REST STREAM\r\n SIZE\r\n MLST type*;size*;modify*;\r\n MLSD\r\n AUTH SSL\r\n AUTH TLS\r\n PROT\r\n PBSZ\r\n UTF8\r\n CLNT\r\n MFMT\r\n EPSV\r\n EPRT\r\n211 End
helpers.js:96 > OPTS UTF8 ON
helpers.js:96 < 202 UTF8 mode is always enabled. No need to send this command.
helpers.js:96 > TYPE I
helpers.js:96 < 200 Type set to I
helpers.js:96 > EPSV
helpers.js:96 < 229 Entering Extended Passive Mode (|||50942|)
helpers.js:96 > EPSV
helpers.js:96 < 229 Entering Extended Passive Mode (|||50196|)
helpers.js:96 > ABOR
helpers.js:96 < 226 ABOR command successful

Of course ends in  Error: Unable to make data connection. Error: connect ECONNREFUSED <IP_ADDRESS>:50392 again.
Overall, It's as if there's a connection, but a connection refusal error occurs when attempting to view the remote root folder. I can't tell if the problem is on the connection side or further remote requests issued to the server.
It doesn't seem the connection is being closed until it completely times out. I'm afraid if I decreased any of the connection or keepalive parameters in .ftpconfig (below), that it would try to reconnect ad nauseum until I killed Atom (or the american stat association site killed me 😏 ).
Here's my .ftpconfig:
{
    "protocol": "ftp",
    "host": "ftp.exampleftp.org",
    "port": 990,
    "user": "sauser",
    "pass": "sapass",
    "promptForPass": false,
    "remote": "/",
    "local": "",
    "secure": "implicit",
    "secureOptions": {"rejectUnauthorized":false},
    "connTimeout": 10000,
    "pasvTimeout": 10000,
    "keepalive": 10000,
    "watch": [],
    "watchTimeout": 500
}

Why are 2 EPSV events followed by ABOR being issued. Something I need to check in node-ftp ?

Remote-FTP check valid features list. For multiple servers, it was a bad thing to have returned the feature list and included it. But he did not endorse it. That's why it checks. That is why the PASV is 2x.
Try 21 port? https://github.com/mscdex/node-ftp/issues/153#issuecomment-300454955

I have been over each one of the posts and this still seems to be an open bug. Any fixes for this?

Is there any fixes for this?


one hot encoder handle unknown

Sklearn offers the "handle unknown flag" http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html with either rise error or ignore.
Do you have any plans to support this? / add a 3rd Option of creating a new category call unknown.

That's a good thought.
I think it would make sense to support what you're suggesting here:

ignore: so if something new shows up, just do nothing
raise: raise a valueerror
keep_unknown (or something like that), would have an unknown column that gets a 1 for any unseen categories.

I'm not sure what the most sensible default would be, maybe ignore?

Sklearn is using raise error. I believe this is the most sensible default,
as the user will be forced to decide.
Will McGinnis<EMAIL_ADDRESS>schrieb am Sa., 8. Okt. 2016 um
21:30 Uhr:

That's a good thought.
I think it would make sense to support what you're suggesting here:

ignore: so if something new shows up, just do nothing
raise: raise a valueerror
keep_unknown (or something like that), would have an unknown column
that gets a 1 for any unseen categories.

I'm not sure what the most sensible default would be, maybe ignore?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wdm0006/categorical_encoding/issues/14#issuecomment-252443605,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnc9NYo4NeXngkSAQwH9L-4ACSDOztaks5qx-9OgaJpZM4KRqbv
.

That makes sense, are you interesting in working on this? I likely won't have time for the next few weeks.

Unfortunately me neither. ;(
Will McGinnis<EMAIL_ADDRESS>schrieb am Di., 11. Okt. 2016 um
16:55 Uhr:

That makes sense, are you interesting in working on this? I likely won't
have time for the next few weeks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wdm0006/categorical_encoding/issues/14#issuecomment-252941714,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnc9PeAamciI4TjYymNTGqTT9ZmCb7tks5qy6NcgaJpZM4KRqbv
.

Ok, looking at this again, I'd like to keep the existing method of impute_missing around for a little while to not break existing users' code.
To handle that transition, we could leave impute_missing as a boolean, and if it's true (it defaults to True currently), then apply the logic specified by a new parameter handle_unknown which has options 'error', 'ignore' and 'impute_unknown', defaulting to 'impute_known'.
That way for the next release or two, current default behavior will remain, and we can raise a deprecation warning for impute_missing to remove it later.
That make sense to you?

@wdm0006 can you do a pip release with this fix?

I have the same suggestion as @geoHeil . While I think the best way to handle unseen categorical value is to set all zeros, like pandas get_dummies. Adding a new column called unknown is not proper, because this column will be "redundant" dimension
@wdm0006  hope for a release with this new feature. The issue hasn't been fixed in current sklearn version 0.19.1


arm-ttk reports unexpected error - "A parameter cannot be found that matches parameter name 'ErrorId'".

arm-ttk reports unexpected error - "A parameter cannot be found that matches parameter name 'ErrorId'".
CreateUIDefinition
[-] Outputs Must Be Present In Template Parameters (22 ms)
A parameter cannot be found that matches parameter name 'ErrorId'.
A parameter cannot be found that matches parameter name 'ErrorId'.
A parameter cannot be found that matches parameter name 'ErrorId'.
I have tested using the attached files and was getting the error. However, I was able to overcome the error if I remove below 3 lines under the outputs property.
"startIP": "[steps('clusterDetails1').startIP]",
"nodeCount": "[steps('clusterDetails2').nodeSection.nodeCount]",
"storagePoolSize": "[steps('clusterDetails2').storageSection.storagePoolSize]",
Note that startIP, nodeCount and storagePoolsize are the only int parameters in mainTemplate.json. So, 2 questions here:

Why is the error not descriptive enough to clarify that the error is related to above highlighted 3 lines? What does 'ErrorId' mean? It doesn't help to understand why the error is.
Why outputs property doesn't allow to map these (startIP, nodeCount and storagePoolsize) int parameters related elements from steps property? What is the reason behind it?

Please provide your insights on the above 2 questions. Thanks.
mainTemplate.json.txt
createUiDefinition.json.txt

Same error here and unable to figure out where it is coming from.
CreateUIDefinition
[-] Outputs Must Be Present In Template Parameters (195 ms)
A parameter cannot be found that matches parameter name 'ErrorId'.

it's should be coming from a type mismatch error between a CUID output and a template param type...
#615 should have a fix

Thanks!  I did subsequently figure out which param it was coming from and fix it by trial and error, but good to know the error msg should be improved in the future.


[master-next] getSection() returns a StringRef now

What's in this pull request?

Resolved bug number: (SR-)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

Update to account for the fact that the return type has changed from
const char * to StringRef.

StringRefs aren't guaranteed to be null-terminated. Maybe the strchr should be changed as well?

@jrose-apple yeah, thats probably safer.  Ill update this.

This LGTM. Thanks!


Check if Join-Pushdown is possible and if so, add them

Currently, joins are not pushed down to BigQuery.
However, this would be very useful when working with Virtual Schemas on BigQuery.

Currently not if focus.


Separating Emulator tests

Description
This PR separates Emulator tests into two projects (Query and not Query) to increase parallelization and allow for individual retries.

Closing as priority would be to automate retry on failed checks


DBZ-8050 Skip data collection names that fails to be parsed as TableId

closes: https://issues.redhat.com/browse/DBZ-8050

Applied to main (=3.0) and branch 2.7.


[feat] RR Create API 3: Add DAO to access metadatatables

Add DAO to interact with the smt metadata tables. All metadata table interations should occur via this dao interface. Dao is structurally equivalent to an accessor for metadata tables.

@manitgupta please approve, will add integration tests later: b/326374873


xnet and rftools look for different Libs

please update rftools to 1.1x 2.3.11  on 1.10.2  to fix please

RFTools 1.1x 2.3.11 already works for 1.10.2. Make sure you use latest of xnet, mcjtylib, and rftools and they all work fine on 1.10.2


[boost-modular-build-helper] Fix issue that link incorrect dependent libraries

Related issue https://github.com/microsoft/vcpkg/issues/7559 and https://github.com/microsoft/vcpkg/issues/8613
In current Jamroot.jam, it configured both release and debug libraries, but doesn’t distinguish them, when build release libraries, it try to find dependency port debug libraries, that cause build failures.
To fix this issue, configured the Jamroot.jam before build release libraries, and configured it with debug build info again when build debug libraries.
boost-modular-build-helper has no features that need to test locally.

/azp run

/azp run

Please resolve conflicts.
Thanks.

Hi there, I rebased @PhoebeHui's branch on the latest master and tested successfully on Linux and macOS: https://github.com/jgiannuzzi/vcpkg/tree/boost-modular-build-helper.
@PhoebeHui could you please update this PR? Otherwise I can create a separate PR, whichever is easier for you!

@jgiannuzzi Feel free to open a new PR, thanks.

@ras0219-msft, could you help review this PR?


tools(fabric-aio): user defined Fabric Samples version

Is your feature request related to a problem? Please describe.
Right now (as of #389 ) the Fabric AIO image uses DinD (Docker in Docker) and pulls up a complete "first-network" ledger, verbatim as provided by the Fabric Samples repo
and the version the Fabric bootstrap script gets fed through the parameters is hardcoded as v1.4.8 which is exactly what we want for the Fabric 1.x connector's development, but once we start with writing the connector (or updating the existing one for) Fabric 2.x we'll need the Cactus Fabric AIO image to be able to pull up a Fabric 2.x ledger (most likely something closer to 2.2.x to be exact).
Describe the solution you'd like

The Dockerfile to have/specify an ENV variable for customizing the Fabric version that gets pulled at startup.
The FabricTestLedger class to have a constructor parameter that gets fed into the ENV variable mentioned in 1)
Image can handle the differences between 1.x and 2.x Fabric Samples repo (I think they changed the directory structure and renamed some of them?)

Describe alternatives you've considered
Considered CLI and docker build arguments instead and also considered keeping the Fabric version hardcoded and publishing different versions of the AIO image that map their versions to the Fabric version they come equipped with.
These don't seem like bad ideas either, but I thought it best to start with the fully dynamic option, see how it works and then take it from there.
Additional context
There's a PR open for upgrading the AIO image to support DinD: #389
cc: @takeutak @sfuji822 @jonathan-m-hamilton

I am working on this issue.


intel_adsp_cavs15:running tests/kernel/sched/schedule_api failed

Describe the bug
running tests/kernel/sched/schedule_api error, it showed assertion failed.
To Reproduce
Steps to reproduce the behavior:
sanitycheck -W -p intel_adsp_cavs15 --device-testing -T tests/kernel/sched/ --west-flash="/home/ztest/work/zephyrproject/zephyr/boards/xtensa/up_squared_adsp/tools/up_squared_adsp_flash.sh, /home/ztest/work/sof/rimage/keys/otc_private_key.pem" --device-serial-pty="/home/ztest/work/zephyrproject/zephyr/boards/xtensa/intel_adsp_cavs15/tools/dump_trace.py" -x=CONFIG_IPM=y -x=CONFIG_CONSOLE=y -x=CONFIG_LOG_PRINTK=n
see error:
START - test_slice_reset
Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/sched/schedule_api/src/test_sched_timeslice_reset.c:91: thread_time_slice: (t <= expected_slice_max is false)
timeslice too big, expected 3840384 got 3840934
Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/sched/schedule_api/src/test_sched_timeslice_reset.c:88: thread_time_slice: (t >= expected_slice_min is false)
timeslice too small, expected 3839616 got 15295
FAIL - test_slice_reset
Environment (please complete the following information):
OS: Fedora28
Toolchain: Zephyr-sdk-0.11.4
Commit ID: 90d06cff

@andyross This issue can be reproduce after your patch merged. This test cases still run failed.

@andyross This issue can be reproduce after your patch merged. This test cases still run failed.

Cleaning up.  This is working for me now.  It's almost certain (given the test at fault) that this was a duplicate of the timeslicing bug that @ceolin merged last week.  Closing, please reopen if you have trouble.


Add golint as a tool and CI check

Coverage remained the same at 84.473% when pulling 3bd5bb600e69f08661a770744d7054950f0d507a on if-add-golint into b6654cc944c0a5aab68909aeb8a32b6ffc200914 on master.


client prematurely closed connection while processing HTTP/2 connection return 500

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
kong 2.4.1
Current Behavior
I found some 500 error in access log, and I trace the error log, and found some logs here.
2021/12/15 01:32:29 [info] 2312400#0: *1475399307 client prematurely closed connection while processing HTTP/2 connection, client: <IP_ADDRESS>, server: <IP_ADDRESS>:9081
Expected Behavior
HOW does it happen ? i seems that user client close the connection.
But it should return 499 instead?
Steps To Reproduce
No response
Anything else?
kong start -vv
2021/12/15 03:23:39 [verbose] Kong: 2.4.1
2021/12/15 03:23:39 [debug] ngx_lua: 10019
2021/12/15 03:23:39 [debug] nginx: 1019003
2021/12/15 03:23:39 [debug] Lua: LuaJIT 2.1.0-beta3
2021/12/15 03:23:39 [verbose] no config file found at /etc/kong/kong.conf
2021/12/15 03:23:39 [verbose] no config file found at /etc/kong.conf
2021/12/15 03:23:39 [verbose] no config file, skip loading
2021/12/15 03:23:39 [debug] reading environment variables
2021/12/15 03:23:39 [debug] KONG_PG_HOST ENV found with "<IP_ADDRESS>"
2021/12/15 03:23:39 [debug] KONG_NGINX_HTTP_CLIENT_MAX_BODY_SIZE ENV found with "50m"
2021/12/15 03:23:39 [debug] KONG_DATABASE ENV found with "postgres"
2021/12/15 03:23:39 [debug] KONG_PG_USER ENV found with "kong"
2021/12/15 03:23:39 [debug] KONG_PG_PORT ENV found with "5432"
2021/12/15 03:23:39 [debug] KONG_PG_PASSWORD ENV found with ""
2021/12/15 03:23:39 [debug] KONG_PROXY_ERROR_LOG ENV found with "/usr/local/kong/logs/proxy-error.log"
2021/12/15 03:23:39 [debug] KONG_ADMIN_ACCESS_LOG ENV found with "/usr/local/kong/logs/admin-access.log main"
2021/12/15 03:23:39 [debug] KONG_ADMIN_ERROR_LOG ENV found with "/usr/local/kong/logs/admin-error.log"
2021/12/15 03:23:39 [debug] KONG_LOG_LEVEL ENV found with "info"
2021/12/15 03:23:39 [debug] KONG_PLUGINS ENV found with "bundled,grpc-itop-verify,grpc-api-log,grpc-error-handler,p-prometheus,correlationid,itop-verify,g-gateway,short-link,gdos-sig-check,error-transformer"
2021/12/15 03:23:39 [debug] KONG_NGINX_HTTP_LOG_FORMAT ENV found with "main '$remote_addr - $remote_user [$time_local] "$request"  $status "$upstream_status" $body_bytes_sent "$http_referer" "$http_user_agent" "$request_time" "$upstream_response_time"'"
2021/12/15 03:23:39 [debug] KONG_NGINX_HTTP_TCP_NODELAY ENV found with "on"
2021/12/15 03:23:39 [debug] KONG_NGINX_PROXY_CLIENT_BODY_BUFFER_SIZE ENV found with "8m"
2021/12/15 03:23:39 [debug] KONG_NGINX_PROXY_CLIENT_MAX_BODY_SIZE ENV found with "8m"
2021/12/15 03:23:39 [debug] KONG_NGINX_PROXY_KEEPALIVE_TIMEOUT ENV found with "60s"
2021/12/15 03:23:39 [debug] KONG_NGINX_PROXY_PROXY_BUFFERS ENV found with "4 256k"
2021/12/15 03:23:39 [debug] KONG_NGINX_PROXY_PROXY_BUFFER_SIZE ENV found with "128k"
2021/12/15 03:23:39 [debug] KONG_NGINX_PROXY_PROXY_BUSY_BUFFERS_SIZE ENV found with "256k"
2021/12/15 03:23:39 [debug] KONG_SSL_CERT_KEY ENV found with "/usr/local/custom/kong/ssl/server.key"
2021/12/15 03:23:39 [debug] KONG_SSL_CERT ENV found with "/usr/local/custom/kong/ssl/server.pem"
2021/12/15 03:23:39 [debug] KONG_PG_DATABASE ENV found with "kong_prod_outer"
2021/12/15 03:23:39 [debug] KONG_LUA_PACKAGE_PATH ENV found with "./?.lua;./?/init.lua;/usr/local/custom/?.lua;;"
2021/12/15 03:23:39 [debug] KONG_PROXY_ACCESS_LOG ENV found with "/usr/local/kong/logs/proxy-access.log main"
2021/12/15 03:23:39 [debug] KONG_PROXY_LISTEN ENV found with "<IP_ADDRESS>:8000, <IP_ADDRESS>:8443 ssl, <IP_ADDRESS>:9080 http2, <IP_ADDRESS>:9081 http2 ssl"
2021/12/15 03:23:39 [debug] KONG_ADMIN_LISTEN ENV found with "<IP_ADDRESS>:8001"
2021/12/15 03:23:39 [debug] admin_access_log = "/usr/local/kong/logs/admin-access.log main"
2021/12/15 03:23:39 [debug] admin_error_log = "/usr/local/kong/logs/admin-error.log"
2021/12/15 03:23:39 [debug] admin_listen = {"<IP_ADDRESS>:8001"}
2021/12/15 03:23:39 [debug] admin_ssl_cert = {}
2021/12/15 03:23:39 [debug] admin_ssl_cert_key = {}
2021/12/15 03:23:39 [debug] anonymous_reports = true
2021/12/15 03:23:39 [debug] cassandra_contact_points = {"<IP_ADDRESS>"}
2021/12/15 03:23:39 [debug] cassandra_data_centers = {"dc1:2","dc2:3"}
2021/12/15 03:23:39 [debug] cassandra_keyspace = "kong"
2021/12/15 03:23:39 [debug] cassandra_lb_policy = "RequestRoundRobin"
2021/12/15 03:23:39 [debug] cassandra_port = 9042
2021/12/15 03:23:39 [debug] cassandra_read_consistency = "ONE"
2021/12/15 03:23:39 [debug] cassandra_refresh_frequency = 60
2021/12/15 03:23:39 [debug] cassandra_repl_factor = 1
2021/12/15 03:23:39 [debug] cassandra_repl_strategy = "SimpleStrategy"
2021/12/15 03:23:39 [debug] cassandra_schema_consensus_timeout = 10000
2021/12/15 03:23:39 [debug] cassandra_ssl = false
2021/12/15 03:23:39 [debug] cassandra_ssl_verify = false
2021/12/15 03:23:39 [debug] cassandra_timeout = 5000
2021/12/15 03:23:39 [debug] cassandra_username = "kong"
2021/12/15 03:23:39 [debug] cassandra_write_consistency = "ONE"
2021/12/15 03:23:39 [debug] client_body_buffer_size = "8k"
2021/12/15 03:23:39 [debug] client_max_body_size = "0"
2021/12/15 03:23:39 [debug] client_ssl = false
2021/12/15 03:23:39 [debug] cluster_control_plane = "<IP_ADDRESS>:8005"
2021/12/15 03:23:39 [debug] cluster_data_plane_purge_delay = 1209600
2021/12/15 03:23:39 [debug] cluster_listen = {"<IP_ADDRESS>:8005"}
2021/12/15 03:23:39 [debug] cluster_mtls = "shared"
2021/12/15 03:23:39 [debug] cluster_ocsp = "off"
2021/12/15 03:23:39 [debug] database = "postgres"
2021/12/15 03:23:39 [debug] db_cache_ttl = 0
2021/12/15 03:23:39 [debug] db_cache_warmup_entities = {"services"}
2021/12/15 03:23:39 [debug] db_resurrect_ttl = 30
2021/12/15 03:23:39 [debug] db_update_frequency = 5
2021/12/15 03:23:39 [debug] db_update_propagation = 0
2021/12/15 03:23:39 [debug] dns_error_ttl = 1
2021/12/15 03:23:39 [debug] dns_hostsfile = "/etc/hosts"
2021/12/15 03:23:39 [debug] dns_no_sync = false
2021/12/15 03:23:39 [debug] dns_not_found_ttl = 30
2021/12/15 03:23:39 [debug] dns_order = {"LAST","SRV","A","CNAME"}
2021/12/15 03:23:39 [debug] dns_resolver = {}
2021/12/15 03:23:39 [debug] dns_stale_ttl = 4
2021/12/15 03:23:39 [debug] error_default_type = "text/plain"
2021/12/15 03:23:39 [debug] go_plugins_dir = "off"
2021/12/15 03:23:39 [debug] go_pluginserver_exe = "/usr/local/bin/go-pluginserver"
2021/12/15 03:23:39 [debug] headers = {"server_tokens","latency_tokens"}
2021/12/15 03:23:39 [debug] host_ports = {}
2021/12/15 03:23:39 [debug] kic = false
2021/12/15 03:23:39 [debug] log_level = "info"
2021/12/15 03:23:39 [debug] lua_package_cpath = ""
2021/12/15 03:23:39 [debug] lua_package_path = "./?.lua;./?/init.lua;/usr/local/custom/?.lua;;"
2021/12/15 03:23:39 [debug] lua_socket_pool_size = 30
2021/12/15 03:23:39 [debug] lua_ssl_protocols = "TLSv1.1 TLSv1.2 TLSv1.3"
2021/12/15 03:23:39 [debug] lua_ssl_trusted_certificate = {}
2021/12/15 03:23:39 [debug] lua_ssl_verify_depth = 1
2021/12/15 03:23:39 [debug] mem_cache_size = "128m"
2021/12/15 03:23:39 [debug] nginx_admin_client_body_buffer_size = "10m"
2021/12/15 03:23:39 [debug] nginx_admin_client_max_body_size = "10m"
2021/12/15 03:23:39 [debug] nginx_admin_directives = {{name="client_body_buffer_size",value="10m"},{name="client_max_body_size",value="10m"}}
2021/12/15 03:23:39 [debug] nginx_daemon = "on"
2021/12/15 03:23:39 [debug] nginx_events_directives = {{name="worker_connections",value="auto"},{name="multi_accept",value="on"}}
2021/12/15 03:23:39 [debug] nginx_events_multi_accept = "on"
2021/12/15 03:23:39 [debug] nginx_events_worker_connections = "auto"
2021/12/15 03:23:39 [debug] nginx_http_client_body_buffer_size = "8k"
2021/12/15 03:23:39 [debug] nginx_http_client_max_body_size = "50m"
2021/12/15 03:23:39 [debug] nginx_http_directives = {{name="client_max_body_size",value="50m"},{name="client_body_buffer_size",value="8k"},{name="ssl_protocols",value="TLSv1.2 TLSv1.3"},{name="ssl_prefer_server_ciphers",value="off"},{name="ssl_session_tickets",value="on"},{name="ssl_session_timeout",value="1d"},{name="lua_ssl_protocols",value="TLSv1.1 TLSv1.2 TLSv1.3"},{name="log_format",value="main '$remote_addr - $remote_user [$time_local] "$request"  $status "$upstream_status" $body_bytes_sent "$http_referer" "$http_user_agent" "$request_time" "$upstream_response_time"'"},{name="tcp_nodelay",value="on"},{name="ssl_dhparam",value="ffdhe2048"}}
2021/12/15 03:23:39 [debug] nginx_http_log_format = "main '$remote_addr - $remote_user [$time_local] "$request"  $status "$upstream_status" $body_bytes_sent "$http_referer" "$http_user_agent" "$request_time" "$upstream_response_time"'"
2021/12/15 03:23:39 [debug] nginx_http_lua_ssl_protocols = "TLSv1.1 TLSv1.2 TLSv1.3"
2021/12/15 03:23:39 [debug] nginx_http_ssl_dhparam = "ffdhe2048"
2021/12/15 03:23:39 [debug] nginx_http_ssl_prefer_server_ciphers = "off"
2021/12/15 03:23:39 [debug] nginx_http_ssl_protocols = "TLSv1.2 TLSv1.3"
2021/12/15 03:23:39 [debug] nginx_http_ssl_session_tickets = "on"
2021/12/15 03:23:39 [debug] nginx_http_ssl_session_timeout = "1d"
2021/12/15 03:23:39 [debug] nginx_http_status_directives = {}
2021/12/15 03:23:39 [debug] nginx_http_tcp_nodelay = "on"
2021/12/15 03:23:39 [debug] nginx_http_upstream_directives = {}
2021/12/15 03:23:39 [debug] nginx_main_daemon = "on"
2021/12/15 03:23:39 [debug] nginx_main_directives = {{name="user",value="kong kong"},{name="worker_processes",value="auto"},{name="daemon",value="on"},{name="worker_rlimit_nofile",value="auto"}}
2021/12/15 03:23:39 [debug] nginx_main_user = "kong kong"
2021/12/15 03:23:39 [debug] nginx_main_worker_processes = "auto"
2021/12/15 03:23:39 [debug] nginx_main_worker_rlimit_nofile = "auto"
2021/12/15 03:23:39 [debug] nginx_optimizations = true
2021/12/15 03:23:39 [debug] nginx_proxy_client_body_buffer_size = "8m"
2021/12/15 03:23:39 [debug] nginx_proxy_client_max_body_size = "8m"
2021/12/15 03:23:39 [debug] nginx_proxy_directives = {{name="real_ip_header",value="X-Real-IP"},{name="real_ip_recursive",value="off"},{name="client_body_buffer_size",value="8m"},{name="client_max_body_size",value="8m"},{name="keepalive_timeout",value="60s"},{name="proxy_buffers",value="4 256k"},{name="proxy_buffer_size",value="128k"},{name="proxy_busy_buffers_size",value="256k"}}
2021/12/15 03:23:39 [debug] nginx_proxy_keepalive_timeout = "60s"
2021/12/15 03:23:39 [debug] nginx_proxy_proxy_buffer_size = "128k"
2021/12/15 03:23:39 [debug] nginx_proxy_proxy_buffers = "4 256k"
2021/12/15 03:23:39 [debug] nginx_proxy_proxy_busy_buffers_size = "256k"
2021/12/15 03:23:39 [debug] nginx_proxy_real_ip_header = "X-Real-IP"
2021/12/15 03:23:39 [debug] nginx_proxy_real_ip_recursive = "off"
2021/12/15 03:23:39 [debug] nginx_sproxy_directives = {}
2021/12/15 03:23:39 [debug] nginx_status_directives = {}
2021/12/15 03:23:39 [debug] nginx_stream_directives = {{name="ssl_protocols",value="TLSv1.2 TLSv1.3"},{name="ssl_prefer_server_ciphers",value="off"},{name="ssl_session_tickets",value="on"},{name="ssl_session_timeout",value="1d"},{name="lua_ssl_protocols",value="TLSv1.1 TLSv1.2 TLSv1.3"},{name="ssl_dhparam",value="ffdhe2048"}}
2021/12/15 03:23:39 [debug] nginx_stream_lua_ssl_protocols = "TLSv1.1 TLSv1.2 TLSv1.3"
2021/12/15 03:23:39 [debug] nginx_stream_ssl_dhparam = "ffdhe2048"
2021/12/15 03:23:39 [debug] nginx_stream_ssl_prefer_server_ciphers = "off"
2021/12/15 03:23:39 [debug] nginx_stream_ssl_protocols = "TLSv1.2 TLSv1.3"
2021/12/15 03:23:39 [debug] nginx_stream_ssl_session_tickets = "on"
2021/12/15 03:23:39 [debug] nginx_stream_ssl_session_timeout = "1d"
2021/12/15 03:23:39 [debug] nginx_supstream_directives = {}
2021/12/15 03:23:39 [debug] nginx_upstream_directives = {}
2021/12/15 03:23:39 [debug] nginx_user = "kong kong"
2021/12/15 03:23:39 [debug] nginx_worker_processes = "auto"
2021/12/15 03:23:39 [debug] pg_database = "kong_prod_outer"
2021/12/15 03:23:39 [debug] pg_host = "<IP_ADDRESS>"
2021/12/15 03:23:39 [debug] pg_max_concurrent_queries = 0
2021/12/15 03:23:39 [debug] pg_password = ""
2021/12/15 03:23:39 [debug] pg_port = 5432
2021/12/15 03:23:39 [debug] pg_ro_ssl = false
2021/12/15 03:23:39 [debug] pg_ro_ssl_verify = false
2021/12/15 03:23:39 [debug] pg_semaphore_timeout = 60000
2021/12/15 03:23:39 [debug] pg_ssl = false
2021/12/15 03:23:39 [debug] pg_ssl_verify = false
2021/12/15 03:23:39 [debug] pg_timeout = 5000
2021/12/15 03:23:39 [debug] pg_user = "kong"
2021/12/15 03:23:39 [debug] plugins = {"bundled","grpc-itop-verify","grpc-api-log","grpc-error-handler","p-prometheus","correlationid","itop-verify","g-gateway","short-link","gdos-sig-check","error-transformer"}
2021/12/15 03:23:39 [debug] pluginserver_names = {}
2021/12/15 03:23:39 [debug] port_maps = {}
2021/12/15 03:23:39 [debug] prefix = "/usr/local/kong/"
2021/12/15 03:23:39 [debug] proxy_access_log = "/usr/local/kong/logs/proxy-access.log main"
2021/12/15 03:23:39 [debug] proxy_error_log = "/usr/local/kong/logs/proxy-error.log"
2021/12/15 03:23:39 [debug] proxy_listen = {"<IP_ADDRESS>:8000","<IP_ADDRESS>:8443 ssl","<IP_ADDRESS>:9080 http2","<IP_ADDRESS>:9081 http2 ssl"}
2021/12/15 03:23:39 [debug] proxy_stream_access_log = "logs/access.log basic"
2021/12/15 03:23:39 [debug] proxy_stream_error_log = "logs/error.log"
2021/12/15 03:23:39 [debug] real_ip_header = "X-Real-IP"
2021/12/15 03:23:39 [debug] real_ip_recursive = "off"
2021/12/15 03:23:39 [debug] role = "traditional"
2021/12/15 03:23:39 [debug] ssl_cert = {"/usr/local/custom/kong/ssl/server.pem"}
2021/12/15 03:23:39 [debug] ssl_cert_key = {"/usr/local/custom/kong/ssl/server.key"}
2021/12/15 03:23:39 [debug] ssl_cipher_suite = "intermediate"
2021/12/15 03:23:39 [debug] ssl_ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
2021/12/15 03:23:39 [debug] ssl_dhparam = "ffdhe2048"
2021/12/15 03:23:39 [debug] ssl_prefer_server_ciphers = "on"
2021/12/15 03:23:39 [debug] ssl_protocols = "TLSv1.1 TLSv1.2 TLSv1.3"
2021/12/15 03:23:39 [debug] ssl_session_tickets = "on"
2021/12/15 03:23:39 [debug] ssl_session_timeout = "1d"
2021/12/15 03:23:39 [debug] status_access_log = "off"
2021/12/15 03:23:39 [debug] status_error_log = "logs/status_error.log"
2021/12/15 03:23:39 [debug] status_listen = {"off"}
2021/12/15 03:23:39 [debug] status_ssl_cert = {}
2021/12/15 03:23:39 [debug] status_ssl_cert_key = {}
2021/12/15 03:23:39 [debug] stream_listen = {"off"}
2021/12/15 03:23:39 [debug] trusted_ips = {}
2021/12/15 03:23:39 [debug] untrusted_lua = "sandbox"
2021/12/15 03:23:39 [debug] untrusted_lua_sandbox_environment = {}
2021/12/15 03:23:39 [debug] untrusted_lua_sandbox_requires = {}
2021/12/15 03:23:39 [debug] upstream_keepalive_idle_timeout = 60
2021/12/15 03:23:39 [debug] upstream_keepalive_max_requests = 100
2021/12/15 03:23:39 [debug] upstream_keepalive_pool_size = 60
2021/12/15 03:23:39 [debug] worker_consistency = "strict"
2021/12/15 03:23:39 [debug] worker_state_update_frequency = 5
2021/12/15 03:23:39 [verbose] prefix in use: /usr/local/kong
2021/12/15 03:23:39 [verbose] preparing nginx prefix directory at /usr/local/kong
2021/12/15 03:23:39 [debug] searching for OpenResty 'nginx' executable
2021/12/15 03:23:39 [debug] /usr/local/openresty/nginx/sbin/nginx -v: 'nginx version: openresty/<IP_ADDRESS>'
2021/12/15 03:23:39 [debug] found OpenResty 'nginx' executable at /usr/local/openresty/nginx/sbin/nginx
2021/12/15 03:23:39 [debug] testing nginx configuration: KONG_NGINX_CONF_CHECK=true /usr/local/openresty/nginx/sbin/nginx -t -p /usr/local/kong -c nginx.conf
2021/12/15 03:23:39 [debug] sending signal to pid at: /usr/local/kong/pids/nginx.pid
2021/12/15 03:23:39 [debug] kill -0 cat /usr/local/kong/pids/nginx.pid >/dev/null 2>&1
Error:
/usr/local/share/lua/5.1/kong/cmd/start.lua:26: Kong is already running in /usr/local/kong
stack traceback:
[C]: in function 'assert'
/usr/local/share/lua/5.1/kong/cmd/start.lua:26: in function 'cmd_exec'
/usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:88>
[C]: in function 'xpcall'
/usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:45>
/usr/local/bin/kong:9: in function 'file_gen'
init_worker_by_lua:47: in function <init_worker_by_lua:45>
[C]: in function 'xpcall'
init_worker_by_lua:54: in function <init_worker_by_lua:52>
Kong configuration

name: KONG_NGINX_PROXY_CLIENT_BODY_BUFFER_SIZE
value: 8m
- name: KONG_NGINX_PROXY_CLIENT_MAX_BODY_SIZE
value: 8m
- name: KONG_NGINX_PROXY_PROXY_BUFFERS
value: 4 256k
- name: KONG_NGINX_PROXY_PROXY_BUFFER_SIZE
value: 128k
- name: KONG_NGINX_PROXY_PROXY_BUSY_BUFFERS_SIZE
value: 256k
- name: KONG_NGINX_HTTP_LOG_FORMAT
value: main '$remote_addr - $remote_user [$time_local] "$request"  $status
"$upstream_status" $body_bytes_sent "$http_referer" "$http_user_agent"
"$request_time" "$upstream_response_time"'
- name: KONG_NGINX_PROXY_KEEPALIVE_TIMEOUT
value: 60s
- name: KONG_NGINX_HTTP_CLIENT_MAX_BODY_SIZE
value: 50m
- name: KONG_NGINX_GRPC_SEND_TIME_OUT
value: 3s
- name: KONG_NGINX_GRPC_READ_TIME_OUT
value: 5s
- name: KONG_NGINX_HTTP_TCP_NODELAY
value: "on"

Running operating system
centos 7

Hello @highwayliu!
client prematurely closed connection while processing HTTP/2 connection is a log entry that comes from Nginx and it is related to the client's behavior. It means Nginx could not answer the request because the client connection is not available anymore. That sometimes can show up as 499 in the access.log, but also as 400. That log is unrelated to any 500 that your client may have received.
There are no erros in the logs you shared that could result in clients receiving 500. In most of the cases, errors that return 500 are entries labeled [error] in Kong's error.log.
As this is not a bug, I'm closing the issue. Please feel free to get in touch again if needed.

Hello @highwayliu!
client prematurely closed connection while processing HTTP/2 connection is a log entry that comes from Nginx and it is related to the client's behavior. It means Nginx could not answer the request because the client connection is not available anymore. That sometimes can show up as 499 in the access.log, but also as 400. That log is unrelated to any 500 that your client may have received.
There are no erros in the logs you shared that could result in clients receiving 500. In most of the cases, errors that return 500 are entries labeled [error] in Kong's error.log.
As this is not a bug, I'm closing the issue. Please feel free to get in touch again if needed.

@locao  as the image below, i found the 500 code int access log, and i search the ip in the error log in that time, the only log was "client prematurely closed connection while processing HTTP/2 connection"

@highwayliu that code may have been returned by the proxied server. What do you get when issuing this same request directly to the proxied server, i.e. without Kong? Also, is your client using the correct mime-type header?


Fix link error

Hi @adhurwit, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (adhurwit). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@bmscholl - Could you review this proposed update in the public repo from @adhurwit?

@adhurwit thanks so much for catching this. @tysonn go ahead and merge


Namespaces don't map to Grape namespaces 1:1

Grape-swagger extracts the top-level path as a "namespace", however it supports namespace options that are "native" Grape namespaces. If those two match, you're in luck. If they don't, you're not.
I think what should happen is that "real" Grape namespaces become actual namespaces per Swagger, and that they nest as expected.
In the following example the namespace "b" exists, but not namespace "a".
namespaced_api_a = Class.new(Grape::API) do
  namespace :aspace, desc: 'Description for aspace' do
    get '/'
  end
 end

namespaced_api_b = Class.new(Grape::API) do
  namespace :bspace, desc: 'Description for bspace' do
    mount namespaced_api_a
  end
end

Class.new(Grape::API) do
  mount namespaced_api_b
  add_swagger_documentation format: :json
end

{"apiVersion"=>"0.1", "swaggerVersion"=>"1.2", "produces"=>["application/xml", "application/json", "application/vnd.api+json", "text/plain"], "apis"=>[{"path"=>"/bspace.{format}", "description"=>"Description for bspace"}, {"path"=>"/swagger_doc.{format}", "description"=>"Operations about swagger_docs"}], "info"=>{}}

In the following example foos is a namespace that was improvised:
Class.new(Grape::API) do
  get 'foos/:id'
  get 'foos'
  add_swagger_documentation format: :json
end

{"apiVersion"=>"0.1", "swaggerVersion"=>"1.2", "produces"=>["application/xml", "application/json", "application/vnd.api+json", "text/plain"], "apis"=>[{"path"=>"/foos.{format}", "description"=>"Operations about foos"}, {"path"=>"/swagger_doc.{format}", "description"=>"Operations about swagger_docs"}], "info"=>{}}

Hi all,
i liked the idea of @antek-drzewiecki and was looking for a similar solution. Could you please have a look at the pull request #220 to discuss whether the approach seems valid?

+1

@croeck I have been looking at this functionality as I want it for my API. And I noticed some odd behavior.
order = Class.new(Grape::API) do
  namespace :store, desc: 'Description for store', swagger: {nested: false} do
          resource :order do
            get ':id'
            delete ':id'
            post ''
          end

          resource :cart do
            get ':id'
            delete ':id'
            post ''
          end
        end
end

When I use the above snippet it seems to ignore the nested false parameter. Is that expected behavior? It works when I comment out the resource part and handle everything through namespaces.

@renelux Could you please tell us which version of grape-swagger you are using? I haven't been looking at the project for a couple of months now, so I am not quite familiar with all the recent changes.
At first glance I could not find any tests covering the standalone exposure in the latest release. It seems to me they got lost during the upgrade to the lastest swagger specification.
However, as far as i can recall, the original use case was to expose nested routes and therefore one also had to add the option to the nested namespace. In your case this option should be applied to your resources (which is only an alias to namespaces) order and cart rather than the parental namespace. Without this option the store namespace would also appear as standalone group as it already is the root node.
IMHO it should look like this:
order = Class.new(Grape::API) do
  namespace :store, desc: 'Description for store' do
          resource :order, swagger: {nested: false} do
            get ':id'
            delete ':id'
            post ''
          end

          resource :cart, swagger: {nested: false} do
            get ':id'
            delete ':id'
            post ''
          end
        end
end


Specify the additional binary API of our javalib wrt. the JDK

From the discussion at https://github.com/scala-js/scala-js/pull/4677#discussion_r914132518
As we want to actually separate the javalib in its own artifact, the additional API it provides to scalajs-library becomes public information. Therefore, we need to actually specify it in some way or another.
Among that API, there are two methods that are effectively already publicly guaranteed to exist: StackTraceElement.{get,set}ColumnNumber, defined at
https://github.com/scala-js/scala-js/blob/112def5cb59b942d8b2c4c5791b17ea0c7c4a7dc/javalib/src/main/scala/java/lang/StackTraceElement.scala#L29-L38
and tested at
https://github.com/scala-js/scala-js/blob/112def5cb59b942d8b2c4c5791b17ea0c7c4a7dc/test-suite/js/src/test/scala/org/scalajs/testsuite/javalib/lang/StackTraceElementJSTest.scala#L24-L40
Other than that, there are:

Throwable.setStackTraceInternal (used in js.JavaScriptException -- both the one in scalajs-library and the one in the linker-private-library)

There's a getStackTraceInternal but it's only used by j.l.StackTrace, so that one can be made private[lang].

All the methods in TypedArrayBufferBridge

So how do we specify that API?

In the linked discussion, @gzm0 suggests to use an actual compile-time interface, in the form of .class file, shipped with the javalib artifact.
While that is appealing, I see two issues with that.
First, it cannot specify the additional methods on existing classes, such as StackTraceElement.getColumnNumber.
Second, in TypedArrayBufferBridge, there are values typed as Object although they represent specific JS types. We cannot use the specific JS types because they would be references to scalajs-library. But any given language may not want to expose those weakly-typed methods; they would instead want to provide language-specific APIs with more precise types instead (which we do in TypedArrayBufferOps). If we ship a .class files with these methods in the javalib artifact, they become public for all users, not just for language implementers.

First, it cannot specify the additional methods on existing classes, such as StackTraceElement.getColumnNumber.

IMHO this is not that big of a deal. In fact, I think we should very strongly consider offering this API as static methods only anyways.

Second, in TypedArrayBufferBridge, there are values typed as Object although they represent specific JS types.

That on the other hand is indeed a very serious issue, since this would leak to all users. To me, this makes it clear that we should definitely not ship .class files in the main javalib artifact. Whether it is worth it (or total overkill) to do this in another auxiliary artifact, IDK.
Just to make it explicit: Main advantages of the .class file approach:

Definitions are checked for correctness (by scalac)
Definitions are checked for backwards compatibility (by mima)

First, it cannot specify the additional methods on existing classes, such as StackTraceElement.getColumnNumber.

IMHO this is not that big of a deal. In fact, I think we should very strongly consider offering this API as static methods only anyways.

They would have to be not only static, but also static in separate classes. And if we have to put them in .class files of our own, we ought to put them in our own non-java package in order to play nice with Java's module system.
If we don't declare the API with .class files, we can leave them in the corresponding classes. We could standardize on static methods only, though, I agree.
After #4712, the full list would be:

java.lang.StackTraceElement:

createWithColumnNumber(...): StackTraceElement
getColumnNumber(StackTraceElement): Int

java.nio.Buffer:

hasArrayBuffer(Buffer): Boolean
arrayBuffer(Buffer): Object // a js.typedarray.ArrayBuffer
arrayBufferOffset(Buffer): Int
dataView(Buffer): Object // a js.typedarray.DataView
hasTypedArray(Buffer): Boolean
typedArray(Buffer): Object // an appropriate TypedArray

java.nio.ByteBuffer:

wrapArrayBuffer(Object): ByteBuffer // takes an ArrayBuffer
wrapArrayBuffer(Object, Int, Int): ByteBuffer // takes an ArrayBuffer
wrapInt8Array(Object): ByteBuffer // takes an Int8Array

java.nio.CharBuffer:

wrapUint16Array(Object): CharBuffer // takes a Uint16Array

java.nio.ShortBuffer:

wrapInt16Array(Object): ShortBuffer // takes an Int16Array

java.nio.IntBuffer:

wrapInt32Array(Object): IntBuffer // takes an Int32Array

java.nio.FloatBuffer:

wrapFloat32Array(Object): FloatBuffer // takes a Float32Array

java.nio.DoubleBuffer:

wrapFloat64Array(Object): DoubleBuffer // takes a Float64Array

Just to make it explicit: Main advantages of the .class file approach:

Definitions are checked for correctness (by scalac)
Definitions are checked for backwards compatibility (by mima)

Yes, I agree.

Yes, indeed. I think you convinced me. Shall we put those in a package org.scalajs.javalibintf?

Yeah, that sound like a good name.


Disable automatic dashboard deployment

Objective
Disable automatic dashboard deployment
Why
Dashboards deployment should be opt-in because deployment could be blocked if Grafana CRD does not exist.
How

Set enabled: true

Release plan

[ ] Merge this PR
[ ] Apply with CI

#sre


Unable to Bind data comming from http post

Hi, how do I bind data coming from http post?
this.carmodels = [];
 this.getCarModels();

 this.carmodels.push({id:12,name:"Carmodel1"});
 this.carmodels.push({id:13,name:"Carmodel2"});

when logged the data in console, more data.  but select-searchable only shows the last 2 (Carmodel1, Carmodel2).
I tried moving the last 2 lines inside http success, and it does not show any data anymore.
Thanks

Hey, this.getCarModels() is an asynchronous operation. You need to do the assignment inside callback.
this.getCarModels().subscribe(carmodels => {
    this.carmodels = carmodels;
});

Hi eakoriakin,
I updated my code and follow your sample source file.  I created an observable method like below:
function getCarModelsAsync(timeout=0):Observable<CarModelObj[]>{

    return new Observable<CarModelObj[]>(observer => {
      observer.next(this.getCarModels());
      observer.complete()
    }).pipe(delay(timeout));
 }

this.getCarModels() is getting data form http post.
and this sis how I called it:
this.getCarModelsAsync().subscribe(data =>{
      this.carmodels = data;
      console.log(this.carmodels);
    });

I notice some delay of fetching the data, and the list is still not showing.
Can you enlighten me more on this?
Thanks for the help.

It works for me, can you show me your html for <select-searchable>?

This is my select-searchable

<select-searchable
[isEnabled]="!isReadOnly"
title="Model"
[(ngModel)]="carmodel"
[items]="carmodels"
itemValueField="Id"
itemTextField="ModelName"
[canSearch]="true"
(onChange)="modelChanged($event)">

Hi @glenngsanchez, did you manage to solve the issue?

Closed for inactivity.


Integrate tcs

PR checklist

[x] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/multiplesequencealign branch on the nf-core/test-datasets repository.
[x] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nf-test test main.nf.test -profile test,docker).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Description:
The module TCS for tcoffee has been integreted in the pipeline. So that this evaluation metrics can also be run if specified. It is consistent with other eveluation metrics are already handled. Added to multiQC report.
WARNING the optional input of lib file has bee hardcode to empty. so no lib file can be passed to the TCS module. This can be added in later Isssue.

@nf-core-bot fix linting


Fix basic authentication configuration at the branch level

what
Module consumers cannot pass a custom basic_auth_credentials per branch using the existing variables. At the branch level, there is also a typo on enable_basic_auth.
why
The changes made in this PR allow consumers to configure different basic authentication credentials for each branch.

Please review this, it would be really helpful!

@sestrella can you please update base branch and I will look to get this merged

@sestrella tests failing and readme is out of date, can you locally run make init; make readme (on macOS brew install make; gmake init; gmake readme)

@kevcube done. Would you mind taking a second look, please?

/terratest

@sestrella tests are still failing. It doesn't appear to be related to your PR but if you have time to investigate that would be appreciated. Otherwise I'll check it out when I'm able to.

@kevcube After taking a closer look at the job log, I found the following relevant information:
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: │ Error: creating Amplify App (eg-ue2-test-amplify-jrjxrn): BadRequestException: There was an issue setting up your repository. Please try again later.({"message":"Moved Permanently","url":"https://api.github.com/repositories/498423879/hooks","documentation_url":"https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects"})
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: │
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: │   with module.amplify_app.aws_amplify_app.default[0],
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: │   on ../../main.tf line 10, in resource "aws_amplify_app" "default":
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: │   10: resource "aws_amplify_app" "default" {
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: │
TestExamplesComplete 2023-12-29T06:54:08Z logger.go:66: ╵
TestExamplesComplete 2023-12-29T06:54:08Z retry.go:99: Returning due to fatal error: FatalError{Underlying: error while running command: exit status 1; ╷
│ Error: creating Amplify App (eg-ue2-test-amplify-jrjxrn): BadRequestException: There was an issue setting up your repository. Please try again later.({"message":"Moved Permanently","url":"https://api.github.com/repositories/498423879/hooks","documentation_url":"https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects"})

I'm wondering if this is related to the fact that the amplify-test2 appears to be transferred from the cloudposse organization to the cloudposse-archives organization. I submitted a commit updating the URL for the repository found in the complete example.

/terratest

@kevcube I got a different error this time. Perhaps is related to the permissions associated with the GH token?
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: │ Error: creating Amplify App (eg-ue2-test-amplify-t9vp6d): BadRequestException: There was an issue setting up your repository. Please try again later.({"message":"Not Found","documentation_url":"https://docs.github.com/rest/repos/webhooks#create-a-repository-webhook"})
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: │
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: │   with module.amplify_app.aws_amplify_app.default[0],
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: │   on ../../main.tf line 10, in resource "aws_amplify_app" "default":
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: │   10: resource "aws_amplify_app" "default" {
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: │
TestExamplesComplete 2024-01-03T03:18:06Z logger.go:66: ╵
TestExamplesComplete 2024-01-03T03:18:06Z retry.go:99: Returning due to fatal error: FatalError{Underlying: error while running command: exit status 1; ╷
│ Error: creating Amplify App (eg-ue2-test-amplify-t9vp6d): BadRequestException: There was an issue setting up your repository. Please try again later.({"message":"Not Found","documentation_url":"https://docs.github.com/rest/repos/webhooks#create-a-repository-webhook"})
│
│   with module.amplify_app.aws_amplify_app.default[0],
│   on ../../main.tf line 10, in resource "aws_amplify_app" "default":
│   10: resource "aws_amplify_app" "default" {
│
╵}

@sestrella not sure how to proceed with that one. for a shorter debug loop you can try just terraform apply-ing the examples/complete into your own AWS and GitHub accounts until you find a working solution. I'm not an admin in Cloudposse so if it's a token issue I can call in someone else.

@kevcube I finally made it back to this PR. I made it work by creating a fork of https://github.com/cloudposse-archives/amplify-test2 to which I had write access; the following GH token permissions were required to make the complete/example work:

On a side note, according to the official documentation, a token with write access is required to set up a webhook, so my guess is that the token used by the CI lacks the necessary permissions:

Reference: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/amplify_app#access_token

Hi @kevcube, I'm wondering if there is anything else I can do on my end to help get this PR move forward. Please let me know.

/terratest

/terratest

@kevcube Thank you for triggering the CI again. I realized the check for the README was failing, so I re-ran gmake init; gmake readme.

I look closely at the error message:

BadRequestException: There was an issue setting up your repository. Please try again later

However, it appears to be a little misleading because the GH status page has not revealed any recent issues. Based on my tests a few weeks ago, I continue to believe this is related to token permissions. I'm wondering if the token was revisited.

@sestrella the repo has been moved from cloudposse-archives back to cloudposse, can you please update the reference in this PR and we will try tests again

@kevcube done! Let's see how it goes 🤞🏼

Hello, @kevcube. I tested this PR by applying the Terraform code in "examples/complete" and was able to use it with our AWS and GH accounts.

I also ran the tests, and they work as expected. For this, I created a personal GitHub token with the permissions mentioned by @sestrella in a previous comment and forked the amplify-test2 repository. After changing the repository URL in the test fixtures to my fork, the tests passed.

Please let me know if I can provide additional information that will allow us to move forward with this PR.

/terratest

@hans-d - Perhaps the token used for testing is missing the public_repo permission?

@fm7-1 could be.We need to check various options re this.

/terratest

@goruha terratest appears to be failing for the same reasons that it fails on #32. Here are the links to the runs:

This PR
PR #32

/terratest

Hello, @goruha. I have rebased this PR with the latest commits in main. Could you run the tests again, please?

/terratest

Hello, everyone! I see terratest is still failing with the same error as before. Is there anyway we can assist to move forward with the fix?

The hold up is we finally had switched/deprecated all our workflows in hundreds of repos from using PATs, but now this one repo needs a PAT. The terraform provider for amplify doesn't work with fine grained tokens. As a result we need to do a one off for this repo. We are still working on it, but it's in between other work.

Got it! Thank you for your prompt response, @osterman!

@sestrella can you pls update branch or rebase?

@goruha Done, I have rebased this branch

/terratest


⚠ Bofrost.de has degraded performance

In fb09343, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1558 ms

Resolved: Bofrost.de performance has improved in 70f4399 after 53 minutes.


Added Pattern C Program and Output Screenshot

Added Pattern C Program Source Code in .c Format
Added Screenshot of Output of  my Program in .png Format

@nithishrcta |19           |Yash Jain              |yashjain1974          |                          |yashjain1974.c                    |                   |Jaypee Institute of information Technology,Noida<EMAIL_ADDRESS>                |

Ok sir


Fix CVE-2024-34750

https://github.com/h2oai/mlops-dai-runtimes/actions/runs/10386934430/job/28759328239

I have fixed that already, main is free of High and criticals. See latest run https://github.com/h2oai/mlops-dai-runtimes/actions/runs/10556032603


Unit tests

Are there any plans to include unit tests for part or all of the code in future versions? I've added some for the features I'm working on using mocha and chai, but just wanted to make sure that this is consistent with anything the Alexa team has planned?

@HAZARDU5 we're still evaluating test frameworks, so not sure what we will settle on and don't have short-term plans to add them for this project.


kubesec doesn't show any errors when there is no default 'gcloud auth application-default login'

Connected issue #14

@ShyykoSerhiy any chance you can attach sample output here?
https://github.com/shyiko/kubesec/commit/60b9dc76b678673960bc26619e5eca38dfaa1ad1 has an implication that user is now required to have access to all the keys (not just one of them) to get to the DEK. This needs to be fixed. Having the output of kubesec with and without --debug would really help here.

Same here. It took several hour to find that I need to run gcloud auth application-default login to decrypt the secret.
kubesec decrypt xxx.yaml --debug just said that the file can't be decrypted.

@toshitanian : GOOGLE_APPLICATION_CREDENTIALS worked for me.
However, I mostly use the gcloud cli, so I'm used to using CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE. I kept running into your issue.
Since kubesec uses an sdk, it won't actually respect CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE. Setting GOOGLE_APPLICATION_CREDENTIALS worked.


Last button should be updated like others

Questions
Answers

Description?
Please be specific when describing the PR.  Every detail helps: versions, browser/server configuration, specific module/theme, etc. Feel free to add more information below this table.

Type?
bug fix / improvement / new feature / refacto / critical

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#{issue number here}.

How to test?
Please indicate how to best verify that this PR is correct.

@alfonsolr09 , Can you specify how to test and add screenshots ?

@alfonsolr09 , Can you specify how to test and add screenshots ?

Same PR like #18

@florine2623

Creo que "Habilitado", "Deshabilitado" funciona mejor en este escenario.
cc@Julievrz

I think so too, but since the other two buttons were modified, they should all be the same. It seems unsightly to me that in two of them it says "yes/no" and in another it says "enabled/disabled"

How about "on/off"? Is international and no need translation

Hi, what button are we talking about? Can you add a screenshot, please? I don't have enough context to answer. :)

@Julievrz

@kpodemski @alfonsolr09 In this case, the easiest thing to do might be to modify the third label to match the construction of the other two (starting with an action verb).
So we would have: "Detect plugins" Yes/No

Throughout the project I think the labels are being modified in that way (yes/no).
I also think it would be clearer by putting "on/off" and it is a universal language and would not need a translation.

@MatShir why blocked?

Blocked by wording !

Blocked by wording !

What does it mean?

Hi @alfonsolr09,

Blocked by wording !

What does it mean?

Indeed, here we have @Julievrz & @axel.viersac in charge of the overall coherence of the wording. They have their doubts about the choices made by the initiative. The PR is blocked, so they can think about the best content.

@alfonsolr09 Please fill out the PR description. :-)

done!


[BUG] "dbt Cloud" header sometimes splits over two lines

Steps to reproduce:
At a certain window size, the "dbt Cloud" item in the header bar splits over two lines.
Also the dbt logo gets stretched?

dang, good catch, will fix this


fix(pisa): fix random TypeError in pisa.pisaDocument

This is the error
Traceback (most recent call last):
  ...
  File "/lib/python3.6/site-packages/xhtml2pdf/document.py", line 136, in pisaDocument
    doc.build(context.story)
  File "/lib/python3.6/site-packages/reportlab/platypus/doctemplate.py", line 969, in build
    self.handle_flowable(flowables)
  File "/lib/python3.6/site-packages/reportlab/platypus/doctemplate.py", line 834, in handle_flowable
    if frame.add(f, canv, trySplit=self.allowSplitting):
  File "/lib/python3.6/site-packages/reportlab/platypus/frames.py", line 196, in _add
    flowable.drawOn(canv, self._x + self._leftExtraIndent, y, _sW=aW-w)
  File "/lib/python3.6/site-packages/reportlab/platypus/flowables.py", line 111, in drawOn
    self._drawOn(canvas)
  File "/lib/python3.6/site-packages/reportlab/platypus/flowables.py", line 92, in _drawOn
    self.draw()#this is the bit you overload
  File "/lib/python3.6/site-packages/xhtml2pdf/xhtml2pdf_reportlab.py", line 659, in draw
    Paragraph.draw(self)
  File "/lib/python3.6/site-packages/xhtml2pdf/reportlab_paragraph.py", line 1160, in draw
    self.drawPara(self.debug)
  File "/lib/python3.6/site-packages/xhtml2pdf/reportlab_paragraph.py", line 1560, in drawPara
    t_off = dpl(tx, offset, ws, lines[0][1], noJustifyLast and nLines == 1)
  File "/lib/python3.6/site-packages/xhtml2pdf/reportlab_paragraph.py", line 152, in _centerDrawParaLine
    tx._textOut(" ".join(words), 1)
TypeError: sequence item 0: expected str instance, bytes found

Coverage remained the same at 48.994% when pulling 2d85491fef357c65dbdd3e0e3888c51d9e4b0234 on lgaticaq:bugfix/_centerDrawParaLine into 3cb029f2cc6a579588e4b9b445eef39021de2e87 on xhtml2pdf:master.

Coverage remained the same at 48.994% when pulling 2d85491fef357c65dbdd3e0e3888c51d9e4b0234 on lgaticaq:bugfix/_centerDrawParaLine into 3cb029f2cc6a579588e4b9b445eef39021de2e87 on xhtml2pdf:master.


add html page retrieval even when using mwclient

add duck typed version of html page retrieval so that either pywikibot or mwclient may be used (mwclient might not have this API support at this time)

see

https://stackoverflow.com/questions/27442776/how-do-i-get-the-html-of-a-wiki-page-with-pywikibot
https://github.com/goldsmith/Wikipedia/blob/1554943e8ab463cef5e93081def48fafbdef324e/wikipedia/wikipedia.py#L387


feat: added quick and bubble sort in Dart Language

Pull Request Template
What have you Changed(must)
Add quick_sort.dart and bubble_sort.dart
Issue no.(672) -
Pr will be closed and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[X] This issue was assigned to me if not it will marked as spam.
[X ] My file is in proper folder.
[X] I am following clean code and Documentation.
[ X I have added title and what program will do first in the file.

README - How to Contribute

Pr will be closed and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.


split "undoing things" to own episode (#72 and #75)

this way it can move to a bit later

I don't think there is any controversy here - merging.


Firebase 7.0.2 Coppa/idfa issue

[REQUIRED] Please fill in the following fields:
Unity editor version: 2019.4.17f1
Firebase Unity SDK version: 7.0.2
Source you installed the SDK: Unity Package Manager
Problematic Firebase Component: Core
Other Firebase Components in use: Cloud Storage, Authentication, Cloud messaging, (was using crashlytics and dynamic links but removed for now)
Additional SDKs you are using: Adjust SDK
Platform you are using the Unity editor on: Mac and PC
Platform you are targeting: iOS and android
Scripting Runtime: IL2CPP
[REQUIRED] Please describe the issue here:
Latest update of our kids game got rejected by Apple due to Coppa. We're using firebase for authentication, cloud storage, cloud messaging, crashlytics and dynamic links. There's no reference in our code to known Coppa offenders, (ASIdentifierManager, AdSupport.framework, advertisingIdentifier, isAdvertisingTrackingEnabled) which linked to firebase in linkmap file.
Regardless of what we use, we've removed firebase analytics, crashlytics and dynamic links but it did not help, app-measurement.com still collects idfa.
Steps to reproduce:
100%
Relevant Code:

setting FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED flag to true works

setting FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED flag to true works


Adding diamond-shaped things to put numbers on.

Looks great, can you add some to the atoms example page?


⚠ ClamAV has degraded performance

In cebfb96, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in ae3c3a6.


Is renv necessary?

Removed renv as using docker container through GitHub


feat: carousel: add single prop and update api to support single item scroll

SUMMARY:

Adds single prop to Carousel
Handle mouse wheel scroll when it's over the carousel, so that scrolling the view vertically is prevented
Adds scrollBySingleItem utility to take advantage of the scrollBy api to account for various occlusion offsets needed because the paddles overlap the content of the scrollable list
Updates API methods to isolate group scroll
Updates UTs

https://user-images.githubusercontent.com/99700808/217393035-bd24777b-d550-49ec-a972-68b76ebd7485.mp4
JIRA TASK (Eightfold Employees Only):
ENG-42767
CHANGE TYPE:

[X] Bugfix Pull Request
[X] Feature Pull Request

TEST COVERAGE:

[ ] Tests for this change already exist
[X] I have added unittests for this change

TEST PLAN:
Pull the PR branch and run yarn and yarn storybook. Verify the Carousel stories behave as expected.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@3921c72). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #537   +/-   ##
=======================================
  Coverage        ?   84.67%
=======================================
  Files           ?      790
  Lines           ?    16658
  Branches        ?     5810
=======================================
  Hits            ?    14105
  Misses          ?     2486
  Partials        ?       67

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Internal Tests Review / Update

Summary
2nd of 3 small tickets, update the dependencies, and review which ones are needed
Details
Update internal tests, with detailed reasons why in SHA's.
Motivation and Context
Need to take a look at these after a long time of being left in the cold
How Has This Been Tested?
CI
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

[ ] I've added tests for my code.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

As this is just testing code that is being altered I'm going to merge this in.


3.2.5 Closes #79

Sorry for really late response.  Let’s merge this!

@dahlia if you want I could become a "maintainer" and just merge these in the future if it's easier for you

@asottile That seems a good idea.  I’m going to add you as a maintainer now.

@asottile I just added you as a maintainer.  :smile:

<3<3


adding file upload data to values in multipart body

@sisoje Shouldn't we create a PR to the official project so the community can benefit from these changes?

@sisoje Shouldn't we create a PR to the official project so the community can benefit from these changes?

i don't think this particular change is beneficial to the community. it looks more like a special case just for komed, and we might need to even extend it further, right @Gorshtak ?

@sisoje as I understood the PR it's to enhance the file upload method so not only a file can be uploaded but additionally other data can be sent with the request. Is that correct?
If that is so then I think the community can benefit greatly from the feature 🙂

@BorntraegerMarc i managed to add two more pr-s