wireguard over udpForwarding is very slow

Describe the bug
i get full network speed of 20mbit/s when i use tcpForwarding -> nginx with test file,
but downloading the same file over wireguard -> udpForwarding -> nginx gives me only ~1mbit/s, i lowered wireguard mtu to 1280 but it didn't help
To Reproduce
client conf: https://pastebin.com/hUXJLjfT
server conf: https://pastebin.com/gTePdEkP
Logs
no errors in logs with HYSTERIA_LOG_LEVEL=debug
Device and Operating System
arch amd64
Additional context
client has public ip, server has public ip with nat (port 80 is forwarded over nat), mtu is 1500 on both. udpspeeder gives much better speed with default settings

upd: speed increases to almost full when i use "sysctl -w net.ipv4.tcp_congestion_control=bbr" but that's not a solution because i plan to use wireguard tunnel to access the internet, so "sysctl -w net.ipv4.tcp_congestion_control=cubic" was used for testing

iperf3 sender: https://pastebin.com/s6N4EiNr
iperf3 reciever: https://pastebin.com/JkE8HFGf

actually, the speed is low only in one direction: downloading from hysteria client to the hysteria server is fast ~10mbit/s, downloading from server to the client is slow ~1mbit/s

i face the same issue. speed is slow only in 1 direction.

wireguard  based on udp, read the document About HTTP/3

@w123456w30w oh, thanks


Fix restoreRevision not showing any fields in Content

Related Issues
Fixes #1969

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[#36] Return numbers always

Resolves #36

Because this is derived from https://github.com/curvegrid/multibaas-for-google-sheets/pull/33, this PR's test failed.
So https://github.com/curvegrid/multibaas-for-google-sheets/pull/35 should be merged before running tests here.
THIS PR
⬆
https://github.com/curvegrid/multibaas-for-google-sheets/pull/33
⬆
https://github.com/curvegrid/multibaas-for-google-sheets/pull/35 (Test logic changed)


Fix dir path in symfony4.md

Hi there,
I had some trouble when upgrading to v3, composer told me that the loggable extension wasn't loaded ... after digging a few minutes I realized that the dir path had changed so I updated the doc accordingly.
Hope this helps :v:

Excellent, thank you! 💯


fix signing comments and docs. Compact not DER format.

Signed-off-by: dcmiddle<EMAIL_ADDRESS>

@dcmiddle You  might need to rebase on the latest to get the tests to pass.


The deployment of functions failed with the following errors: javy_quickjs_provider_v1::invoke

Hi everyone, today i deploy my function but got this error, so i remove my app and generate newest extension again, but still get error when deploy to shopify
Can anyone help me? thanks
The deployment of functions failed with the following errors:
[
{
"field": null,
"message": "Wasm validation failed: unknown import: javy_quickjs_provider_v1::invoke has not been
defined",
"tag": "user_error"
}
]

fasf

+1, getting this error as well.
EDIT: No longer getting this error. npm run deploy runs successfully for me.

Thanks friend, let me try again

This issue with javy has been resolved. Shopify CLI should pull the latest automatically.


Fix the bug of ADOEJListener(use zk EPHEMERAL_SEQUENTIAL node)

Fixes #631 #487.
Changes proposed in this pull request:

Mak the function of listener executing only once  when conditions are met in the distributed case.
https://github.com/elasticjob/elastic-job-lite/issues/487#issuecomment-540497821
According to the feature of  EPHEMERAL_SEQUENTIAL node in zk .

Coverage decreased (-0.1%) to 83.0% when pulling 3a47b949df2de823c4d16c95466865b83c789d8a on dangdang-arch:distributeOnce-zkes into dcd77b08eb32aecdae324da40a0c9eb7c5f43979 on elasticjob:3.0.


Submodules not linked if file format not in default order

Description
A submodule that is listed in .gitmodules as,
[submodule "jakarta-servlet"]
        url = ../../ALP-pool/jakarta-servlet
        path = jakarta-servlet

is not linked in the repository view. A submodule that is listed in the other order is linked correctly.
[submodule "jakarta-servlet"]
        path = jakarta-servlet
        url = ../../ALP-pool/jakarta-servlet

The gitmodules.txt doesn't seem to impose any particular order on values.
NOTE: Demo site is down at this second so can't check if I can reproduce it there.
Gitea Version
1.22.2
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots

Git Version
No response
Operating System
No response
How are you running Gitea?
It's built and running with systemd, using core git tools
Database
PostgreSQL

Bug ...........


Issue when scanning a GS1-128 barcode

Description of the bug
When I process a GS1 DataMatrix like this one:
https://barcode.tec-it.com/en/GS1DataMatrix?data=0105000456013482172012001000001\F210000000003
I get the following result: \u001d0105000456013482172012001000001\u001d210000000003
The \F (FNC1) terminator is recognized and the \u001d character is added between values.
However when I do the following with a GS1-128 barcode like this one:
https://barcode.tec-it.com/en/EANUCC128?data=010500045611225310COV0109\F17220901
I get the following result:<PHONE_NUMBER>11225310COV010917220901
And the \F (FNC1) terminator is not recognized and the values are concatenated.
To Reproduce
Scan the barcodes from the links above.
Expected behavior
The plugin should recognize the group separator in a case of a GS1-128 barcode as well.
Version
2.0.1

Do you experience this on both Android and iOS? Internally this library makes use of AVFoundation for iOS and zxing for Android (read more here). So it might be that the implementation of those libraries is incorrect.
It could also be, that Capacitor somehow messes with these values when sending them from native to JavaScript.
Another cause could be that my implementation of some library is wrong.

I have experienced this on Android. I would guess that the zxing library causing the trouble (but ofc you can double-check your implementation as well), should I raise the issue on the page or you will do it?
Many thanks for the fast reply!!

If you could raise the issue there, that would be awesome!

I finally had some time to copy-paste the issue for them, let's see.
https://github.com/zxing/zxing/issues/1457

@HunSpeedi were you able to verify that the issues is caused by this plugin and not by zxing?
It seems like the issue you opened on zxing is closed now...

Hi @thegnuu !
I think the issue is on zxing side, there are some suggestions regarding using some hint, but I was not able to look after if it works or how we can use it in this package. If I will came across this again or have some more free time I will share my foundings here. Many thanks!

@HunSpeedi for your information, we are currently considering switching to ML Kit for this repo (#107).
It looks like ML Kit is able to detect FNC1, but not FNC2, FNC3 and FNC4 according to https://developers.google.com/ml-kit/vision/barcode-scanning.
Would this be sufficient for your usecase? As far as I know only FNC1 is used at the beginning of GS1-128 codes.

@thegnuu As far as I know it would not be an issue


Determine when and when not to generate Get*Status methods for LROs/VLROs

Based on feedback highlighted in #29331, the archboard gave feedback on LROs and, with @annelo-msft and @mikekistler, we decided to - for now, at least - use the old autorest method of documenting both the HTTP 200 and 202 status codes for LROs so that autorest / DPG knows whether to generate an LRO method to return an Operation or Operation<T>. I downloaded our GA swagger and made local edits to add the HTTP 200 responses. See attached for the full swagger, and the diff below to see my changes.
analyzeconversations-authoring.zip
diff --git a/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/analyzeconversations-authoring.json b/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/analyzeconversations-authoring.json
index 0b016d073c..3042c96d3f 100644
--- a/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/analyzeconversations-authoring.json
+++ b/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/analyzeconversations-authoring.json
@@ -176,6 +176,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The project deletion job result.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringProjectDeletionJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -229,6 +235,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The status of the long running operation.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringExportProjectJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -284,6 +296,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The details of the long running operation.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringImportProjectJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -336,6 +354,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The training job result.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringTrainingJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -437,6 +461,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The swap deployment job result.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringDeploymentJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -529,6 +559,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The deployment job result.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringDeploymentJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -570,6 +606,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The deployment job result.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringDeploymentJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {
@@ -1076,6 +1118,12 @@
                     }
                 ],
                 "responses": {
+                    "200": {
+                        "description": "The training job result.",
+                        "schema": {
+                            "$ref": "#/definitions/ConversationalAnalysisAuthoringTrainingJobState"
+                        }
+                    },
                     "202": {
                         "description": "A successful call results with an Operation-Location header used to check the status of the job.",
                         "headers": {

Upon regeneration using Microsoft.Azure.AutoRest.CSharp version 3.0.0-beta.20220607.2 the only changes to source where documentation of the final result object i.e., methods still returned an Operation<BinaryData> and the implementation created a "200202" classifier, which was to be expected with both HTTP status codes present.
The operations affected (all LROs) are, in swagger document order:

ConversationalAnalysisAuthoring_DeleteProject
ConversationalAnalysisAuthoring_Export
ConversationalAnalysisAuthoring_Import
ConversationalAnalysisAuthoring_Train
ConversationalAnalysisAuthoring_SwapDeployments
ConversationalAnalysisAuthoring_DeployProject
ConversationalAnalysisAuthoring_DeleteDeployment
ConversationalAnalysisAuthoring_CancelTrainingJob

Also, the following changes should also be made based on archboard feedback and current .NET SDK guidelines:

[ ] Get*Status should also not be generated, but apparently this is tied to other Operation work.

/cc @annelo-msft @chunyu3

Moved the pageable tasks to #29342

@heaths, could you clarify what the ask for the DPG generator is in this issue?
If Get*Status should not be generated, I believe you will need to manually suppress generation of this method in the client's partial class.

@KrzysztofCwalina and @tg-msft said the Get*Status methods shouldn't be generated in favor of LROs. We also need a way so we don't have to specify both HTTP 200 and 202 which is a violation of our LRO guidelines. You said you were talking with @mikekistler on possible solutions. Maybe this is DPG 1.1, though, but I'll let you triage appropriate. Sounded like rehydratable LROs was a later feature, and @tg-msft mentioned we should then probably stop generating these Get*Status messages then.

On a related note, #29347 might also be a related issue that needs to be resolved.

@heaths, yes we still need to drive guidance on when and when not to generate the Get*Status methods, and this should not block DPG v1.0 GA.  Please use C# transforms to make these methods internal so they don't appear in the public API for CLU.

REST API guidance requested here: https://github.com/microsoft/api-guidelines/issues/373#issue-1277379278

Please use C# transforms to make these methods internal so they don't appear in the public API for CLU.

As I remember from the archboard review, we should leave them for now, right @KrzysztofCwalina @tg-msft?

@lirenhe to help triage. Tagging and routing to the correct project so it can be tracked correctly.

@chunyu3, could you take a look? thanks

As @annelo-msft mentioned we will write c# transforms to internal those Get*Status method for LRO for swagger. For typespec, we will not generate those methods by default.
Close this since it is already answered.


Feature : To Support Multi Line Text in side wheel

Hi, I am Sowmya, I would like to thank you guys for this wonderful custom module for roulette feature. But I need one more feature to add, that is,  inside spin wheel  to show multi line texts if in case it is possible I am sharing the image as well for reference .
 with central allignment. Thank you in advance.

Hi @Sowmya-Appscrip ,
Is your problem solved?
I am also seeking this feature and thought to ask you first if this feature is available.

Hi @Sowmya-Appscrip right now are not planning on implement this feature, feel free to upload a PR and we can check it


Request to Add Product in Start Flutter

Hello,
I am Maheshwari from team GeekyAnts.
On behalf of Start Flutter, we add open source products which we find helpful to the community & also we provide credits to author itself.
Let me know if you are interested showcase your product in our open source website.
If yes, then I request you to add MIT Licence in your repo.
Looking forward to hear from you.

Sorry I'm late. done


The hashcode for injected style is no correspending

The hashcode for injected style is no correspending to component
like this

my config

How can i fix it?

fixed in v2.3.0


Memory leak in libcups.so.2

Found the memory leak in libcups.so.2, following is the stack from the valgrind,
Any fix is available for Rocky 8 ?
==1065== 789,696 bytes in 3,656 blocks are definitely lost in loss record 18,029 of 18,033
==1065==    at 0x4C3CE4B: calloc (vg_replace_malloc.c:1328)
==1065==    by 0x4B6A5FA4: cupsArrayNew3 (in /usr/lib64/libcups.so.2)
==1065==    by 0x4B6ABD02: ??? (in /usr/lib64/libcups.so.2)
==1065==    by 0x4B6AC3E7: cupsGetDests2 (in /usr/lib64/libcups.so.2)
==1065==    by 0x4B476924: ??? (in /opt/Qt/plugins/printsupport/libcupsprintersupport.so)
==1065==    by 0x4B476AB8: ??? (in /opt/Qt/plugins/printsupport/libcupsprintersupport.so)
==1065==    by 0x8374099: QPrinterInfo::defaultPrinterName() (in /opt/Qt/lib/libQt5PrintSupport.so.5.15.7)
============================================

Hi Team,
I found the way to mitigate the above stack --
in cups/dest.c  in static int cups_enum_dests( ..)
where you return() add free(data.devices)
as you data.devices point to the allocated memory by cupsArrayNew3(..) which we need to free

@chandrakant2023 is this the same problem? https://github.com/apple/cups/issues/6222


build fail

go version go1.17.5 linux/amd64
build image-transfer binary
# command-line-arguments
/usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: /tmp/go-link-3508984401/000008.o: unrecognized relocation (0x2a) in section `.text'
/usr/bin/ld: final link failed: 错误的值
collect2: 错误：ld 返回 1

make: *** [binary] 错误 2

update gcc to 8.0 fix it.


Using openMP

You can use OpenMP for multi-threaded calculations
It is supported by most C ++ compilers (GCC, Clang and MSVC), this easily applies to a for loop for example,
You can even use another machine or the graphics card to perform some part of the calculations.
More info:
https://bisqwit.iki.fi/story/howto/openmp/
https://medium.com/swlh/introduction-to-the-openmp-with-c-and-some-integrals-approximation-a7f03e9ebb65
Exemple my brute-force project:
https://github.com/bensuperpc/GTA_SA_cheat_finder/blob/196dcedf30e81317148d025961b65f7213aa47e1/source/main.cpp#L89

Thanks @bensuperpc!
One of the reasons why we went ahead to use a thread pool was that we required a way to multithreaded the network I/O calls which are serial in nature in terms of a single Helix Core C++ API library context. I believe OpenMP helps in multithreading computationally heavy tasks that occur on the CPU, however, most of the time our CPU usage is pretty low because we spend most of our time waiting for the network I/O to finish, rather than doing computationally heavy tasks for which OpenMP or other threading libraries would be trying to cater to.

Okey ^^


When asking anything to Copilot Chat opens 4 blank documents with "changes"

Copilot Chat Extension Version:
VS Code Version: 1.95.3 (Universal)
OS Version: macOS Sequoia 15.1.1 (24B91)
Logs:

Steps to Reproduce:

Ask anything to Copilot
Opens four blank documents with "changes"

Can you include some sort of screen recording so I can follow exactly what is happening. I have not had this happen before.
Can you reproduce with a new fresh chat via + in the top right?

I did what you suggested to open a new fresh chat, and the bug disappear. If it happens again I'll gather further information and record the screen. Meanwhile I see no point on keep this issue open.


treewide: replace pythonImportCheck(s) with pythonImportsCheck

Description of changes
fixes #340809

python312Packages.geoparquet: fix typo
python312Packages.pyaiports: fix typo
python312Packages.pyfunctional: fix typo
python312Packages.python-ffmpeg: fix typo

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review run on x86_64-linux 1

8 packages failed to build:

python311Packages.pyfunctional
python311Packages.pyfunctional.dist
python311Packages.vllm
python311Packages.vllm.dist
python312Packages.pyfunctional
python312Packages.pyfunctional.dist
python312Packages.vllm
python312Packages.vllm.dist

16 packages built:

python311Packages.geoparquet
python311Packages.geoparquet.dist
python311Packages.outlines
python311Packages.outlines.dist
python311Packages.pyairports
python311Packages.pyairports.dist
python311Packages.python-ffmpeg
python311Packages.python-ffmpeg.dist
python312Packages.geoparquet
python312Packages.geoparquet.dist
python312Packages.outlines
python312Packages.outlines.dist
python312Packages.pyairports
python312Packages.pyairports.dist
python312Packages.python-ffmpeg
python312Packages.python-ffmpeg.dist

Executing pythonImportsCheckPhase
Check whether the following modules can be imported: pyfunctional
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <lambda>
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'pyfunctional'

No ROCm runtime is found, using ROCM_HOME='/nix/store/1w7sl37p0xrf6i7m4jzwd6nyqhbg5a8l-clr-6.0.2'
<string>:65: RuntimeWarning: Failed to embed commit hash:
[Errno 2] No such file or directory: 'git'
Traceback (most recent call last):
  File "/nix/store/513rk7p8n17499jglnavq46pkz5k1ab3-python3.12-pyproject-hooks-1.0.0/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_>
    main()
  File "/nix/store/513rk7p8n17499jglnavq46pkz5k1ab3-python3.12-pyproject-hooks-1.0.0/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_>
    json_out['return_val'] = hook(**hook_input['kwargs'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/513rk7p8n17499jglnavq46pkz5k1ab3-python3.12-pyproject-hooks-1.0.0/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_>
    return hook(config_settings)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/llgbdr264r5ih0d19ii7k5c1ankxh9sv-python3.12-setuptools-72.1.0/lib/python3.12/site-packages/setuptools/build_meta.py", line 327,>
    return self._get_build_requires(config_settings, requirements=[])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/llgbdr264r5ih0d19ii7k5c1ankxh9sv-python3.12-setuptools-72.1.0/lib/python3.12/site-packages/setuptools/build_meta.py", line 297,>
    self.run_setup()
  File "/nix/store/llgbdr264r5ih0d19ii7k5c1ankxh9sv-python3.12-setuptools-72.1.0/lib/python3.12/site-packages/setuptools/build_meta.py", line 313,>
    exec(code, locals())
  File "<string>", line 472, in <module>
  File "<string>", line 393, in get_vllm_version
RuntimeError: Unknown runtime environment

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel

the vllm issue should be fixed by https://github.com/NixOS/nixpkgs/pull/340321 I guess

the vllm issue should be fixed by #340321 I guess, but it seems to require a pytorch rebuild to check that, so I'm not going to do that right now.

Thanks for pointing that out; it's not strictly related to this PR anyway, so I'll not worry about it.

Result of nixpkgs-review run on x86_64-linux 1

4 packages failed to build:

python311Packages.vllm
python311Packages.vllm.dist
python312Packages.vllm
python312Packages.vllm.dist

20 packages built:

python311Packages.geoparquet
python311Packages.geoparquet.dist
python311Packages.outlines
python311Packages.outlines.dist
python311Packages.pyairports
python311Packages.pyairports.dist
python311Packages.pyfunctional
python311Packages.pyfunctional.dist
python311Packages.python-ffmpeg
python311Packages.python-ffmpeg.dist
python312Packages.geoparquet
python312Packages.geoparquet.dist
python312Packages.outlines
python312Packages.outlines.dist
python312Packages.pyairports
python312Packages.pyairports.dist
python312Packages.pyfunctional
python312Packages.pyfunctional.dist
python312Packages.python-ffmpeg
python312Packages.python-ffmpeg.dist

Made the typo...twice 😭


brew rm --with-dependencies

A detailed description of the proposed feature
Uninstall formula and its dependencies graph (if there no other packages depends from).
The motivation for the feature
Usual task.
What alternatives to the feature have been considered
https://stackoverflow.com/questions/7323261/uninstall-remove-a-homebrew-package-including-all-its-dependencies

don't create a new one, please

@hrls ☝


{{ merge }} TOML dictionary parameters coverts all existing keys forcefully to lowercase

What version of Hugo are you using (hugo version)?

$ hugo version
Hugo Static Site Generator v0.74.1-15163266/extended linux/amd64 BuildDate: 2020-07-13T19:02:45Z

Does this issue reproduce with the latest release?
Latest is v0.74. Yes.
Description
Given a data processing with the following key where the key is datePublished:
{{- $ret = merge $ret (dict "datePublished" (index $dataList "PageDate")) -}}

and the rendering code is as follows:
{{- $notFirst := "" -}}
{{- range $label, $value := .ldJSON -}}
       {{- if $notFirst -}}, {{ end -}}
       "{{- $label -}}": {{ $value -}}
       {{- $notFirst = "true" -}}
{{- end -}}

The generated `datePublished output got converted to full lowercase instead of as it is, as follows:
"datepublished": "2019-03-10T13:16:02+08:00"

The expected output should be:
"datePublished": "2019-03-10T13:16:02+08:00"

Deployed Location
This is used in <application/ld+json> partial layout rendering.

Added above: jsonify function is not usable as it turns the entire dict data structure into a single string instead.

Are you sure it's dict that is the culprit?  You're example also uses merge.  Please simplify your examples and confirm.

Are you sure it's dict that is the culprit? You're example also uses merge. Please simplify your examples and confirm.

My apology for the previous identification. I carefully narrowed down the root cause analysis. Here is the full algorithm (with the problem):
{{/* ==ld+JSON=========== */}}
{{- $ret := dict "@context" "https://schema.org/" -}}
{{- $ret = merge $ret (dict "@type" "WebPage") -}}
{{- $ret = merge $ret (dict "name" (index $dataList "Title")) -}}
{{- $ret = merge $ret (dict "author" (index $dataList "PageCreators")) -}}
{{- $ret = merge $ret (dict "image" (index $dataList "PageThumbnailURL")) -}}
{{- $ret = merge $ret (dict "description" (index $dataList "PageDescription")) -}}
{{- $ret = merge $ret (dict "datePublished" (index $dataList "PageDate")) -}}
{{- if .Site.Params.schema -}}
        {{- $ret = merge $ret .Site.Params.schema -}}
{{- end -}}
{{- if .Params.schema -}}
        {{- $ret = merge $ret .Params.schema -}}
{{- end -}}
{{- $dataList = merge $dataList (dict "ldJSON" $ret) -}}

You are right, dict is not the culprit. It's the TOML dictionary merge that causes the problem. If I remove the following:
{{- if .Site.Params.schema -}}
        {{- $ret = merge $ret .Site.Params.schema -}}
{{- end -}}
{{- if .Params.schema -}}
        {{- $ret = merge $ret .Params.schema -}}
{{- end -}}

Then datePublished is then shown as expected. From the testing, both .Site.Params.schema and .Params.schema can independently alters the key.
The config/_default/params.toml content for .Site.Params.schema is as follow:
# schema.org fields
[schema]
"@type" = "WebPage"

For the specific page front-matter content for .Params.schema is as follow:
[schema]
"@type" = "SoftwareApplication"
"name" = "Bissetii Hugo Theme and Go Template Module"
"operatingSystem" = [ "Windows", "Debian", "OSX" ]
"applicationCategory" = [ "Hugo Theme Module", "Go Template Module" ]

[schema.offers]
"@type" = "Offer"
"price" = "0"
"priceCurrency" = "USD"

I'm re-titling the issue with the new findings. Please advised for next step.

Ok, one more step.  Are you sure it's merge?  :smile:  Strip as much complexity out of your example as possible.  We don't need to see tons of template code and TOML data.  Less is more here.  For example, does {{ printf "%#v" .Site.Params.schema }} show lowercase keys?  You're sure that the keys are correct prior to calling merge?

Yeap. Affirmative with reproducible results. The prime suspects are:
{{- if .Site.Params.schema -}}
        {{- $ret = merge $ret .Site.Params.schema -}}
{{- end -}}
{{- if .Params.schema -}}
        {{- $ret = merge $ret .Params.schema -}}
{{- end -}}

From this code snippet, I highly doubt if is the culprit so only sensible suspect left is merge:
{{- $ret = merge $ret .Params.schema -}}
{{- $ret = merge $ret .Site.Params.schema -}}

I can't reduce the condition wrapping yet because most of the publications are yet to be ported with their specific schema and hands are tight due to the late release schedule. =(
When the TOML merges is removed, the output is correct:

When either one of them shows up, the output then goes into lowercase:
Site-only:

Page-only:

both site and pages:

@hollowaykeanho all the .Params maps are lower case keys (put your data inside /data or a bundle or /assets if that is a problem), so you really need to provide an example. I just checked, and we do have tests for this.

all the .Params maps are lower case keys (put your data inside /data or a bundle or /assets if that is a problem)

Noted. This is the problem when merging from .Params and it's aligned with the finding.
Question: can the limitation be lifted?
Per my understanding ld+json is one of the metadata related to content rather than the raw data serving content itself (e.g. numerical data for pie chart). Although /data and /assets can workaround it, it does not make sense from content writing point-of-view. Both of the Params are best served via front-matter and params.toml since they are indeed configurations.
Alternatively, can I create an independent config.toml file such as schema.toml for direct parsing without the lower case key conversion?

so you really need to provide an example

Don't quite get you. Is the following you're looking for (trimmed down version)?
{{- $ret := dict "@context" "https://schema.org/" -}}
{{- $ret = merge $ret (dict "description" "Description Value" -}}
{{- $ret = merge $ret (dict "datePublished" "Date") -}}
{{- if .Site.Params.schema -}}
        {{- $ret = merge $ret .Site.Params.schema -}}
{{- end -}}
{{- if .Params.schema -}}
        {{- $ret = merge $ret .Params.schema -}}
{{- end -}}

<html>
<body>
{{- $ret -}}
</body>
</html>

Then observe datePublished like I did.

After some experimentation and considering that Schema.org is very dynamic in terms of data and its data structure, using data directory makes more sense compared to using .Params.
Hence, there is no point relying on params.toml to facilitate ld+json data as it can quickly bloats the file to an unmaintainable state.
As for the merge .Params dictionary issue specified by @bep, it is expected to force all existing keys into lowercase. As an alternative, use data directory instead.
Closing this issue.


Issue in use scrollView in tabView

Please check and give me some best way to solve this problem. I am using tabView and after multiple
gridview under scroll view. Before giving any answer me please check at your end.
Only one content is showing on device under scrollView. Please check and confirm me as issue will resolve.

Hi @gauravbabu74,
I tested your case on my side, however, was unable to reproduce this scenario.
For your help, I am attaching sample project, which you could review and make the needed changes.
It would also help if you could provide some more info about your environment(CLI, node versions).
Archive.zip


Stack launch links per region aren't working

The regional launch scripts don't seem to install BBB anymore, I don't see BBB installed on the EC2 instance after the stack runs.

there's no error message it just doesn't install bbb once the ec2 is created and gets stuck there

i believe the current script is using ubuntu16 which is no longer supported, what needs to be updated in order to use it with the latest version?


dns_filter_integration_test flake

FAIL: //test/extensions/filters/udp/dns_filter:dns_filter_integration_test (see /build/tmp/_bazel_envoybuild/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/bazel-out/k8-dbg/testlogs/test/extensions/filters/udp/dns_filter/dns_filter_integration_test/test.log)
INFO: From Testing //test/extensions/filters/udp/dns_filter:dns_filter_integration_test:
==================== Test output for //test/extensions/filters/udp/dns_filter:dns_filter_integration_test:
WARNING: Perftools heap leak checker is active -- Performance may suffer
[==========] Running 10 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 10 tests from IpVersions/DnsFilterIntegrationTest
[ RUN      ] IpVersions/DnsFilterIntegrationTest.ExternalLookupTest/IPv4
[2020-07-29 14:57:16.442][25][error][main] [source/server/worker_impl.cc:49] failed to add listener on worker: cannot bind '<IP_ADDRESS>:34664': Address already in use
[2020-07-29 14:57:16.442][23][error][config] [source/server/listener_manager_impl.cc:685] listener 'listener_1' failed to listen on address '<IP_ADDRESS>:34664' on worker
[2020-07-29 14:57:26.424][16][critical][assert] [test/integration/integration.cc:500] assert failure: 0. Details: Timed out waiting for listeners.
================================================================================

Haven't looked yet but there may be some issue with how we are initializing UDP tests as I'm pretty sure this is using port 0.

I think this could be due to a missing reuse_port option in the test config.  I've added this in https://github.com/envoyproxy/envoy/pull/12085.  I'll keep an eye out to see whether I this is still reproducible.

Yeah I think reuse_port would likely fix it. The issue is fundamentally that https://github.com/envoyproxy/envoy/blob/544a414ff26a6bda516a48651d64b50226b43cb5/test/extensions/filters/udp/dns_filter/dns_filter_integration_test.cc#L63 is flaky.

/assign abaptiste


use npm instead of make

There is no special need for make here.

All the currently available "tasks"  (production, devel, ..., configschemata, ...configtest-samples) should be still there.


Values in dataframe display are not always centered in native Notebook UI

Version: 1.59.0 (user setup)
Commit: 379476f0e13988d90fab105c5c19e7abc8b1dea8
Date: 2021-08-04T23:13:12.822Z
Electron: 13.1.7
Chrome: 91.0.4472.124
Node.js: 14.16.0
V8: 9.1.269.36-electron.0
OS: Windows_NT x64 10.0.19043
Jupyter extension: v2021.8.1195043623

If you display your dataframe in the old interactive window, the values are always centered vertically. This keep the view consistent when you resize the interactive window and have long strings with spaces in your dataframe.

However, in the new Notebook UI, the values are aligned on the top and looks inconsistent when resize the window.

import pandas as pd
import seaborn as sns
import numpy as np

df = sns.load_dataset('tips')
str_long = ['long str '*np.random.choice([0, 5], 1)[0] for _ in range(len(df))]
df.assign(str_long=str_long)

This is because the alignment is set to the top:
https://github.com/microsoft/vscode/blob/5a02f42d2b6d6c7ea7ce5c2ee667bd6bda61cb03/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts#L279-L282
We can look at adjusting this for this milestone.

Aligned all columns to the middle:

@misolori Thanks for the fix and this looks way better. I wonder if there could be a way to allow the users to set the font size. The dataframe view takes a much larger space than before.

Please upvote and subscribe to https://github.com/microsoft/vscode/issues/123149 for controlling the output size


Painful integration of argon2 in browser

My experience using the argon2 algorithm in kdbxweb in the browser was a bit tricky.
When I use your argon2-asm.min.js from your test, I can create my derived key and everything is fine. The output file also works in my keepass client. That's nice. Unfortunately in the browser the JS is polluting my window object and I had issues with that lately. I also tried NPM libraries, but they don't worked without a bigger effort in setting up my bundler.
What I did to work around that issue:

I took your script https://github.com/keeweb/kdbxweb/blob/master/test/test-support/argon2.ts
created a function to wrap all the code from the argon2-asm.js file
put it all in one file

I don't like this solution, but it was the easiest way to continue using my current bundler settings without using any additional compiler steps.
It would be a great improvement if you add the choice of an additional bundle with the baked-in argon2 algorithm.

Hi, not sure this is the best way to do (maybe I'm lacking something, but here's how I went for my VueJS project) :
1 - Install argon2-browser (also by Antelle) and base64-loader libraries:
npm install --save argon2-browser base64-loader
2 - Load the .wasm file of argon2-browser in your project. More details here: https://github.com/antelle/argon2-browser#usage
For my VueJS project, I only need to add this in my vue.config.js file:
module.exports = {
  configureWebpack: {
    ...
    module: {
      noParse: /\.wasm$/,
      rules: [
        {
          test: /\.wasm$/,
          loaders: ['base64-loader'],
          type: 'javascript/auto',
        },
      ],
    },
  },
...
}

3 - Create an argon2 implementation file using argon2-browser (in my case file is named argon2Impl.ts):
/**
 * argon2 implementation based on argon2-browser: https://github.com/antelle/argon2-browser
 */

import { Argon2Type, Argon2Version } from 'kdbxweb/dist/types/crypto/crypto-engine';
// eslint-disable-next-line @typescript-eslint/no-var-requires
const argon2Browser = require('argon2-browser');

export function argon2(
  password: ArrayBuffer,
  salt: ArrayBuffer,
  memory: number,
  iterations: number,
  length: number,
  parallelism: number,
  type: Argon2Type,
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  version: Argon2Version // maybe I missed a thing here, because it ain't used in argon2-browser?
): Promise<ArrayBuffer> {
  return (
    argon2Browser
      .hash({
        // required
        pass: Buffer.from(new Uint8Array(password)),
        salt: Buffer.from(new Uint8Array(salt)),
        // optional
        time: iterations, // the number of iterations
        mem: memory, // used memory, in KiB
        hashLen: length, // desired hash length
        parallelism: parallelism, // desired parallelism (it won't be computed in parallel, however)
        //secret: new Uint8Array([...]), // optional secret data
        //ad: new Uint8Array([...]), // optional associated data
        type: type, // Argon2d, Argon2i, Argon2id
      })
      // result
      .then((res: { hash: any; hashHex: any; encoded: any }) => {
        res.hash; // hash as Uint8Array
        res.hashHex; // hash as hex-string
        res.encoded; // encoded hash, as required by argon2
        return res.hash;
      })
      // or error
      .catch((err: { message: any; code: any }) => {
        err.message; // error message as string, if available
        err.code; // numeric error code
        throw err;
      })
  );
}

4 - Set argon2 implementation before loading your db:
// import your implementation file here based on argon2-browser
import { argon2 } from '@/utils/argon2Impl';

// required for KDBX 4 argon2 implementation
kdbxweb.CryptoEngine.setArgon2Impl(argon2);

const fileData: ArrayBuffer = xxxYOUR_FILE_AS_ARRAYBUFFERxxx;
const credentials = new kdbxweb.Credentials(kdbxweb.ProtectedValue.fromString(password || ''));
const db = await kdbxweb.Kdbx.load(fileData, credentials);

This is a nice solution. Thanks for sharing.
For me it was a proof of concept and it worked as I described above. I didn't want to spend a lot of time going into the details and setting up a proper bundler. My goal was to get the exported kdbx file working with keepassXC. Quick & dirty at its best!
It would be nice to expand the documentation to this point, because it's not really intuitive for people who don't have a deeper understanding of cryptography or don't have the time to deal with it.

yo guys, i have a problem with
import { Argon2Type, Argon2Version } from 'kdbxweb/dist/types/crypto/crypto-engine';

export function argon2(
  password: ArrayBuffer,
  salt: ArrayBuffer,
  memory: number,
  iterations: number,
  length: number,
  parallelism: number,
  type: Argon2Type,
  version: Argon2Version
): Promise<ArrayBuffer> {
  let Module = require('./argon2-asm.min');
  if (Module.default) {
    Module = Module.default;
  }
  const passwordLen = password.byteLength;
  password = Module.allocate(new Uint8Array(password), 'i8', Module.ALLOC_NORMAL);
  const saltLen = salt.byteLength;
  salt = Module.allocate(new Uint8Array(salt), 'i8', Module.ALLOC_NORMAL);
  const hash = <number>Module.allocate(new Array(length), 'i8', Module.ALLOC_NORMAL);
  const encodedLen = 512;
  const encoded = Module.allocate(new Array(encodedLen), 'i8', Module.ALLOC_NORMAL);
  try {
    const res = Module._argon2_hash(
      iterations,
      memory,
      parallelism,
      password,
      passwordLen,
      salt,
      saltLen,
      hash,
      length,
      encoded,
      encodedLen,
      type,
      version
    );
    if (res) {
      return Promise.reject(`Argon2 error: ${res}`);
    }
    const hashArr = new Uint8Array(length);
    for (let i = 0; i < length; i++) {
      hashArr[i] = Module.HEAP8[hash + i];
    }
    Module._free(password);
    Module._free(salt);
    Module._free(hash);
    Module._free(encoded);
    return Promise.resolve(hashArr);
  } catch (e) {
    return Promise.reject(e);
  }
}

in one of my projects it just wont load the min file somehow and im lossing my mind about it.
If i try the argon2-browser approach it wont work either :D
Do you have any suggestion for me ? @fchretienow @mstoecklein @Valodim

Where is it not working? Do you have any error at all?

this is the PoC:
https://github.com/arag0re/keepass-vault/tree/main

Fixed it now, the problem was:
kdbxweb.CryptoEngine.setArgon2Impl((password, salt, memory, iterations, length, parallelism, type, version) => {       return Promise.resolve(argon2(password, salt, memory, iterations, length, parallelism, type, version));     });
I changed it to:
kdbxweb.CryptoEngine.setArgon2Impl(argon2);
now it works.
The thing I dont understand is, why it worked everywhere else with all these arguments, but in my one project it didn't. Hate when I dont understand something xD

For anyone who have problems with vite + argon2 and arrived here.
This is the fast solution
(Maybe someone can add it to the docs)
npm i argon2-was-esm

And add this to your code
// @ts-ignore
import argon2 from "argon2-wasm-esm";

kdbxweb.CryptoEngine.argon2 = async (
  password: ArrayBuffer,
  salt: ArrayBuffer,
  memory: number,
  iterations: number,
  length: number,
  parallelism: number,
  type: argon2.ArgonType,
  version: argon2.ArgonVersion
) => {
  return argon2
    .hash({
      pass: new Uint8Array(password),
      salt: new Uint8Array(salt),
      time: iterations,
      mem: memory,
      hashLen: length,
      parallelism,
      type,
      version,
    })
    .then(({ hash }: { hash: Uint8Array }) => hash);
};

Try using @noble/hashes. This is working well:
import { argon2d, argon2id } from '@noble/hashes/argon2';
import kdbxweb from 'kdbxweb';

kdbxweb.CryptoEngine.setArgon2Impl((password, salt, memory, iterations, length, parallelism, type, version) => {
  const argon2 = type === 0 ? argon2d : argon2id;

  const bytes = argon2(
    new Uint8Array(password),
    new Uint8Array(salt),
    {
      t: iterations,
      m: memory,
      p: parallelism,
      dkLen: length,
      version,
    },
  );

  return Promise.resolve(bytes.buffer);
});


iOS Error

Hello, I am implementing simnumber 0.0.12 but in iOS I get the following error, I have already carried out the install pod correctly, could you help me?
[SimNumberPlugin registerWithRegistrar:[registry registrarForPlugin:@"SimNumberPlugin"]];
Use of undeclared identifier 'SimNumberPlugin'

I have the same problem here, turns out probably there is no pod for this package, the IOS tag on this package might be mistaken.
With some searchings over the internet I can say that the Apple protects the phone number information of the user from the applications. Which means there is no valid way to directly get phone number on an ios device. And some says that even at Android this might not work.
So Best way to "validate" the phone number (like we know the phone number already but is this the right device we are in) is sending a hashed message to the phone number and force auto-read the message (don't let the user fill it).
In the other hand if you want to get user's phone number, just use a textfield (I suggest you can use flutter_multi_formatter's `phone_input_formatterfor this job) and then if needed send message to the phone, make user put the validation code you've sent or read it from the message.


Adds index API requests and responses - part 2

Overview
Related to https://github.com/elastic/elasticsearch-specification/issues/2482.
This PR adds request and response examples to the index API. As this is an extensive namespace, I separated the work into two PRs, so it's easier to overview/review. This is the second PR.
First PR: https://github.com/elastic/elasticsearch-specification/pull/2979

💚 All backports created successfully

Status
Branch
Result

✅
8.x

Questions ?
Please refer to the Backport tool documentation

💚 All backports created successfully

Status
Branch
Result

✅
8.17

Questions ?
Please refer to the Backport tool documentation


sbt-protoc 1.0.0 can't download protoc

After upgrading sbt-protoc from 0.99.34 to 1.0.0, the build of the project fails with the following exception:
[error] sbt.librarymanagement.ResolveException: Error downloading com.google.protobuf:protoc:391
[error]   Not found
[error]   not found: /home/runner/.ivy2/localcom.google.protobuf/protoc/391/ivys/ivy.xml
[error]   not found: repo1.maven.org/maven2/com/google/protobuf/protoc/391/protoc-391.pom
[error] 	at lmcoursier.CoursierDependencyResolution.unresolvedWarningOrThrow(CoursierDependencyResolution.scala:258)
[error] 	at lmcoursier.CoursierDependencyResolution.$anonfun$update$38(CoursierDependencyResolution.scala:227)
[error] 	at scala.util.Either$LeftProjection.map(Either.scala:573)
[error] 	at lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:227)
[error] 	at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
[error] 	at sbt.librarymanagement.DependencyResolution.retrieve(DependencyResolution.scala:129)
[error] 	at sbt.librarymanagement.DependencyResolution.retrieve(DependencyResolution.scala:103)
[error] 	at sbtprotoc.ProtocPlugin$.$anonfun$protobufGlobalSettings$11(ProtocPlugin.scala:201)
[error] 	at scala.concurrent.impl.ExecutionContextImpl$DefaultThreadFactory$$anon$1$$anon$2.block(ExecutionContextImpl.scala:75)
[error] 	at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3118)
[error] 	at scala.concurrent.impl.ExecutionContextImpl$DefaultThreadFactory$$anon$1.blockOn(ExecutionContextImpl.scala:87)
[error] 	at scala.concurrent.package$.blocking(package.scala:146)
[error] 	at sbtprotoc.ProtocPlugin$.$anonfun$protobufGlobalSettings$10(ProtocPlugin.scala:202)

https://github.com/avast/grpc-json-bridge/runs/1745401943#step:6:35
https://github.com/avast/grpc-json-bridge/pull/185
This URL indeed doesn't exist:
repo1.maven.org/maven2/com/google/protobuf/protoc/391/protoc-391.pom

This does:
repo1.maven.org/maven2/com/google/protobuf/protoc/3.9.1/protoc-3.9.1.pom

It seems like an error in sbt-protoc

Thanks for reporting this experience while upgrading. I added a migration section to README.md, and the next release would throw a more actionable error message when this is detected. One of the changes in 1.0.0 is that we no longer depend on protoc-jar. One of the breakages it leads to is that concatenated versions number such as -v391 no longer work, since now sbt-protoc looks for the given version as-is in maven (after stripping -v). Please update PB.protocVersion in build.sbt to the version number you are expecting (for example, "3.9.1").

Thanks for reporting this experience while upgrading. I added a migration section to README.md, and the next release would throw a more actionable error message when this is detected. One of the changes in 1.0.0 is that we no longer depend on protoc-jar. One of the breakages it leads to is that concatenated versions number such as -v391 no longer work, since now sbt-protoc looks for the given version as-is in maven (after stripping -v). Please update PB.protocVersion in build.sbt to the version number you are expecting (for example, "3.9.1").

Thanks :heart: Worked like a charm

Thanks :heart: Worked like a charm


check cell types match

I have followed the tutorial regarding "cell types match" and successfully got the matching result for dataset2:
type.count <- singlecell.object.list[[2]][[]] %>%
  group_by(seurat_clusters) %>%
  count(condition) %>%
  arrange(desc(n), .by_group = TRUE)

type.count.top1 <- type.count %>%
  filter(row_number()==1)

cbind.data.frame(type.count,
                 matched.type = rep(table(type.count$seurat_clusters),
                 				   x = similarity.table[similarity.table$datasetL == dataset2,]$clusterR)
				 )

the resulting table is what I expected:
   seurat_clusters condition   n    matched.type
1                0       L 546    Hippo_CDD
2                0       P  42    Hippo_CDD
3                1       L 394    Hippo_CDD

However, when I try to find matches for dataset1, I encountered an error:
type.count1 <- singlecell.object.list[[1]][[]] %>%
  group_by(seurat_clusters) %>%
  count(condition) %>%
  arrange(desc(n), .by_group = TRUE)

cbind.data.frame(type.count1,
                 matched.type = rep(table(type.count1$seurat_clusters),
                 				   x = similarity.table[similarity.table$datasetL == dataset1,]$clusterR)
				 )

Error in rep(table(type.count1$seurat_clusters), x = similarity.table[similarity.table$datasetL ==  :
  invalid 'times' argument

How should I revise my code to obtain the result I want?

Hi @jennieli421 ,
It seems that the problem comes from the "times" argument (the number of reps of each element of x) in the rep function, probably because some NA´s or other invalid value.
Can you please check the output of "table(type.count1$seurat_clusters)" ?

Closed due to inactivity for more than a month.


optimization: workflow 优化 (#121)

Codecov Report

Merging #243 (7fbd029) into V2.1.354rc (426d987) will increase coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           V2.1.354rc     #243   +/-   ##
===========================================
  Coverage       61.88%   61.89%
===========================================
  Files             224      224
  Lines           19445    19445
===========================================
+ Hits            12034    12035    +1
+ Misses           7411     7410    -1

Impacted Files
Coverage Δ

apps/node_man/handlers/job.py
86.32% <0.00%> (+0.25%)
:arrow_up:

Continue to review full report at Codecov.

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


dialog with container property

[v] This is not a v0.x issue.
[v] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔

When the height of the covered element by the dialog is greater than or equal to the screen, other elements  excute function normally.
Current Behavior 😯

When the height of the covered element by the dialog is greater than or equal to the screen, other elements function replace by scroll to dialog view.
Context 🔦

I covered an element with dialog in Reactjs. I noticed that if height of covered element, height of dialog, is equal or bigger than screen height, Other elements cannot perform the original function except scrolling to dialog.
In the example, in order to simulate the situation just mentioned, I set the height of the covered element to 100vh. There are two toggle buttons at bottom. Left one can switch test 1 and test 2. Right one can switch the dialog open and close. When the dialog is closed, left button is execute function normally. When the dialog is open, all buttons cannot execute original function except scrolling to top. But if you set height of the covered element to 50vh. Buttons can execute original function normally even the dialog is open.

Example is here: https://codesandbox.io/s/bitter-waterfall-xexeu

import React, { Component } from "react";
import PropTypes from "prop-types";
import { withStyles } from "@material-ui/core/styles";
import { Button, Dialog, Grid, Paper } from "@material-ui/core";

const styles = theme => ({
  root: {
    position: "relative",
    background: "red",
    color: "white",
    height: "100vh" //here set 50vh, all button can excute original function
  }
});

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      display: false,
      btn: false
    };
  }

  handleChange = name => e => {
    this.setState(prevState => ({
      [name]: !prevState[name]
    }));
  };

  render() {
    const { classes } = this.props;
    const { display, btn } = this.state;

    return (
      <Paper>
        <Grid
          container
          justify="center"
          alignContent="center"
          className={classes.root}
          ref={f => (this.targetDiv = f)}
        >
          dialog will show here
        </Grid>

        <Grid container justify="space-between">
          <Button
            variant="contained"
            color="primary"
            onClick={this.handleChange("btn")}
          >
            {btn ? "test 1" : "test 2"}
          </Button>

          <Button
            variant="contained"
            color="primary"
            onClick={this.handleChange("display")}
          >
            {display ? "close dialog" : "open dialog"}
          </Button>
        </Grid>

        <Dialog
          fullWidth
          maxWidth="sm"
          open={display}
          container={() => this.targetDiv}
          style={{ position: "absolute" }}
          BackdropProps={{ style: { position: "absolute" } }}
        >
          <Grid container justify="center" alignContent="center">
            dialog opening
          </Grid>
        </Dialog>
      </Paper>
    );
  }
}

App.propTypes = {
  classes: PropTypes.object.isRequired
};

export default withStyles(styles)(App);

Your Environment 🌎

| Tech         | Version |
| Material-UI  | v4.0.1  |
| React        |^16.8.6|

@ckhzb The behavior comes from the enforce focus logic. You can disable it with disableEnforceFocus: https://codesandbox.io/s/smoosh-dawn-5p6wv.


🎇 [2.2] fix: Fixed Typo's

Description
Fixed wrong typo's.

I have checked the Spellings and Spaces where added in code hence I am approving the PR.


Recommend way to run "php artisan migrate" on build

Info:

Docker version ($ docker --version): Docker version 17.12.0-ce, build c97c6d6
Laradock commit ($ git rev-parse HEAD): a797d67f149cdcc922cc5df1f0ffd7e8fcceb570
System info (Mac, PC, Linux): Ubuntu
System info disto/version: 17.10

Issue:
What is the recommend Way to migrate the database on build?
I added this to the workspace docker file but it failed:
RUN /var/www/artisan migrate:fresh --seed
Could not find Input File

@CorvinSteindl Dockerfile RUN instruction will add new layer to image. mysql service not up.

Okay but what is the recommend way to deploy a laravel Application to production (inclusive migration and seeding) ?


Feature/remind abandoned prereg [OSF-8546]

Purpose
People sometimes start and do not finish Preregistration Challenge drafts. This will send them emails to remind them to finish said drafts.
Changes

Add a cron job that runs a script to check daily for neglected preregistration drafts and adds reminder emails to the email queue.

Note: The specifications want there to be a possible 3 emails in 2 weeks, but the email queue we currently use sends 1 email a week. This feature uses the existing structure.
Side effects

I deleted tests/test_mails.py because had the same tests asosf_tests/test_queued_mail.py

Ticket
https://openscience.atlassian.net/browse/OSF-8546

Conflicts 😞


Added decision record with details of enabling secret scanning.

Decision record includes details of enabling secret scanning.
Decision record added to eleventy ignore file.

I took the table and the headings from existing technical decision log. I used markdown table format but as we don't output the page, unsure if this is the ideal format as I don't think it's super readable as text. Happy for suggestions on formatting of this.


Attempted to create command "invoke" without usage or description.

I receive the following warning on all invokation of cleanthor on Ruby 2.1.0:
$> bundle exec bin/cleanthor -T
[WARNING] Attempted to create command "invoke" without usage or description. Call desc if you want this method to be available as command or declare it inside a no_commands{} block. Invoked from "/private/tmp/cleanthor/lib/cleanthor/thor/task.rb:5:in `<class:Task>'".
garden
------
cleanthor garden:work:weed  # weed the garden

work
----
cleanthor work:shovel  # shovels stuff

$> ruby --version
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]

That looks minor of course, yet my attempts to add the desc to the invoke function of lib/cleanthor/thor/task.rb failed so far with the message
~/.rvm/gems/ruby-2.1.0/gems/thor-0.19.1/lib/thor/base.rb:534:in `is_thor_reserved_word?': "invoke" is a Thor reserved word and cannot be defined as command (RuntimeError)

I see the same issue...  any luck fixing this?

Added a pull request that fixes the warning: #3
Hope that helps.


doc not match in setup with nextjs

What docs page needs to be fixed?

Section:
Page:
https://redux.js.org/usage/nextjs#loading-initial-data

What is the problem?
What should be changed to fix the problem?
app/ProductName.tsx
need to fix lib/providers.tsx
in doc

real in npx create-next-app --example with-redux my-app

how can i Contributing this issue?

we actually have an ongoing PR to get the template updated to match the docs, rather than the other way around :)
https://github.com/vercel/next.js/pull/59864/


NextJS build fails with paybyrd library import

Dear PayByrd team.
As your customers we often working with libraries you are providing to us. But there are some tech issues while working with them.
Right now we are moving to the NextJS along with Server Side Rendering (SSR) capabilities to better adopt our application for crawling bots and optimise rendering speed for not so performant devices.
We have faced issue while trying to build the application with ssr mode on - it works fine with ton of other packages but immediately fails once we add usage of card-collect.
In general error looks like this one:
$ yarn build

yarn run v1.22.17
$ next build
- info Linting and checking validity of types
- info Creating an optimized production build
- info Compiled successfully
- info Collecting page data .ReferenceError: document is not defined
    at A.exports [as insertStyleElement] (/project-path/.next/server/chunks/965.js:564:21)
    at A.exports [as domAPI] (/project-path/.next/server/chunks/965.js:576:23)
    ...

> Build error occurred
Error: Failed to collect page data for /
    at /project-path/node_modules/next/dist/build/utils.js:1156:15
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  type: 'Error'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I suspect there is something wrong with css import into module, where bundler generating js code, which is trying to insert css style directly using document object - which is not defined on the sever side if you are using SSR mode.
Other packages like Stripe works just fine.
Our developer has created a small repro in advance to save your time - which you can use to identify the issue.
Please find it here on Github
Maybe we fix bundler somehow or split *.js and *.css into separate bundles so no document insert will stop your library from using in in SSR mode?

Hi!! I hope you are doing great 😄.
I was checking this issue and since our lib was built in VanillaJS we have to use handlers from the document to access HTML elements to perform changes, listeners and other stuff to make everything work. I took a look in the code you provided in the issue and I fixed it to make it work properly attending to VanillaJS, but I don't have privileges to create a PR in there, so I am sending the snippet here with the working code. The only difference is that since NextJS is SSR, we should wait for the first render of the component and then we are able to import Paybyrd library that now will have access to the DOM normally and it will work as expected. Let me know if you have any other questions! Thanks!
import { useEffect, useState } from "react";

const Home = () => {
  const [cc, setCardCollect] = useState(null);

  const handleSubmit = () => {
    cc.cardCollect_submit()
      .then(({ status, data }) => console.log("Success:", status, data)) // Handle paybyrd's response here
      .catch((error) => console.log("Error:", error)); // Handle any errors here
  };

  const handleFieldChange = ({ fieldId, element, error, isValid }) => {
    console.log(fieldId, element, error, isValid);
  };

  useEffect(() => {
    const setup = async () => {
      const CardCollect = await import("@paybyrd/card-collect/dist/cardCollect-web");

      if (!cc) {
        const cardCollect = await CardCollect.default({
          displayErrors: true, // Optional. It will display error messages automatically without any extra configurations
          onFieldChange: handleFieldChange, // Optional. It will retrieve an object with metadata to perform extra validations
          validateOnChange: false, // Optional [default false]. It will validate on change even before form submission
          displayHelpIcons: true, // Optional [default false]. It will display the CVV and Expiry Date placeholder icons inside the input
        });
        setCardCollect(cardCollect);
      }
    };

    setup();
  }, []);

  return (

      <button className="form-button" onClick={handleSubmit}>
        Submit
      </button>

  );
};

export default Home;


Suggestion + Enhancement: Timed bans

I would like to see timed bans so I could for example do “-ban @buthed010203 1w existing” then it would ban me for a week and unban me after. I would also like to see this as an option for automod, I feel it would be useful.

Added in https://github.com/jonas747/yagpdb/commit/25f95d32f09a6a42e321006e3cf71b5e30417613


DAPI-177 ReferralStart always creates a new NSI

What does this pull request do?
A new referral started in Interventions should always create a new NSI in Delius and not reuse an existing one should one exist. Also, to ensure the correct NSI is a matched with referral actions, status date time is also used to find the correct match.
Added additional Contract Type Procurement Codes mappings to NSI type in config.
What is the intent behind these changes?
There is a bug in the referral start endpoint which may associate an existing NSI with a new referral in Interventions.
Breaking Changes?
None

Not safe to use StatusDateTime


uv pip install -r requirements.txt does not actually check hashes

This is maybe a duplicate of https://github.com/astral-sh/uv/issues/474 , but I found this surprising. Are there any other big security TODOs like this?
λ cat r.txt
pypyp==1.1.0 \
    --hash=sha256:0000000000000000000000000000000000000000000000000000000000000000 \
    --hash=sha256:0000000000000000000000000000000000000000000000000000000000000000
λ pip install -r r.txt
Collecting pypyp==1.1.0 (from -r r.txt (line 3))
  Using cached pypyp-1.1.0-py3-none-any.whl (15 kB)
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    pypyp==1.1.0 from https://files.pythonhosted.org/packages/f1/66/1f65aeeffb447f89ef752f881bed76c47e9b0f2b4973433545ac7461ea95/pypyp-1.1.0-py3-none-any.whl (from -r r.txt (line 3)):
        Expected sha256<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000
        Expected     or<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000
             Got        55821b36f580c9ae5f3d179935327b053d3bb720e31140e8e97073b55c86c117

λ uv pip install -r r.txt
Resolved 1 package in 9ms
Installed 1 package in 24ms
 + pypyp==1.1.0

I don't think there are other big security todos, other than supporting things like authentication robustly and perhaps innovating on extra index behavior.
Closing in favor of #474, we definitely want to do this.

The other one that comes to mind is that we don't currently validate hashes within the RECORD file of each wheel, although IIUC pip does not validate these either (https://github.com/pypa/pip/issues/4705).


Changing Request to FormRequest

This small detail threw me off into a rabbit hole for hours, trying to extend Illuminate\Http\Request 😵
By letting the code example extend from FormRequest instead, it is made very explicit how important this small detail is.

Thanks!


Introduce configuration converter

Motivation
Although DiscoveryService, WebSocketProxy and PulsarProxy have original configuration classes, these components convert these to ServiceConfiguration, which is broker's configuration class, in their Service classes.
When some common settings are added to Service configuration, we have to change each Service class and it's inconvenient.
Modifications

Added convertFrom() method to ServiceConfiguration  which converts an implementation ofPulsarConfiguration to ServiceConfiguration.

Result
We don't have to change Service classes every time we add common settings.

SUCCESS
--none--

SUCCESS
--none--

FAILURE
--none--

retest this please

FAILURE
--none--

FAILURE
--none--

retest this please

FAILURE
--none--

retest this please

SUCCESS
--none--

LGTM 👍


Rename RspecAdapter to RSpecAdapter so that it is consistent

While switching between Knapsack and Knapsack Pro, I noticed there were some naming inconsistencies.
Seeing that you use RSpec in Knapsack Pro and RSpec being the official name, I think this rename would be the right choice.

:+1: Thanks!


NIFI 3863 - Add LookupRecord, PartitionRecord processors

I still need to add some more documentation and unit tests but wanted to go ahead and get this up so that if anyone has a chance to review or test they can do so.
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@markap14  i think you dont want this in the PR
create mode 100644 nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/hs_err_pid26624.log
Can you please squash when it is time for a formal review.  I am going through this already though.  This is cool stuff!

I think for LookupAttribute it should either send all events to success (so it doesn't change/partition the stream other than to possibly enrich each record).
I think if the lookup recordpath does not find anything the enrichment should just move on just like if the result record is empty.

this thing is insanely useful.  I will post my template when done reviewing.  But this is supremely cool.


Suport TLSv1.3 draft 28

Also retains support for drafts 27 and 26
Fixes #6257

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

I would actually like to see a new beta release with this in ...

Pushed. Thanks.

I would actually like to see a new beta release with this in ...

That would require a vote. The next planned beta is on 29th May.


URL_shortner

URL_shortner
Brief -
Currently the code in this colletion is based only on TinyURL,I plan to implement it based on any URL shortner based on User's preference.
Current code in this repo-Link
Programming Language

[x] Python

Happy Coding

@pawangeek  Please assign me this improvement issue.

Can you please elaborate more what do you mean by user preference?

Every user wont prefer to have a URL based on tinyURL some may prefer other packages(based on pricing and ease of use)

Still same concept


Adds Import Key Pair Docs

adds import key pair docs
amends position of sign and verify pages so that import key pair and generate key pair are next to each other in menu bar

Signed-off-by: ChrisJBurns<EMAIL_ADDRESS>Closes: https://github.com/sigstore/cosign/issues/822

@znewman01  Here's the docs addition for the sigstore/cosign/import.md . Let me know your thoughts.


Dynamic Literal Arguments (Forced override suggestions?)

It would be awesome it this API had an option to dynamically enable/disable literal argument commands.
Example:
Say we make a party command. You can create a party with  /party create, invite other people with /party invite <player> and accept with /party accept <player>. You can leave the party with party leave, or get info with party info
Right now I register every command, and then I run lots of test to make sure people are getting the right result.
For example you can't leave a party when you're not in one. Or join one if you're already in one.
If there was some way the literal argument command could be disabled depending on the context of the command sender, I could only show the /party create command if the player is not in a party. Or hide the party accept command if they don't have a pending invite.
I know this is already kind of possible by overriding suggestions with  overrideSuggestions(Function<CommandSender, String[]> suggestions), but the problem is that they are just suggestions. I still have to check if the player is running the correct command.
Honestly, I don't think this is possible because literal arguments are hard coded, but I'm not 100% sure, soooooo

It would save me from building in lots of checks, as well as providing a better user experience.
Off-topic
I'm really blown away by how much this project has matured. I love the rewrite you've done and all the arguments you've added. I remember having to create my own hacky scoreboard argument but now it's all just built in!
Great job!

To put it simply: yes, what you're proposing is indeed possible. Unfortunately, I'm not going to do it. Sorry!

The idea in general
Honestly, I think this idea is awesome! I agree, current it only provides suggestions and that doesn't really compare to straight up literals. This idea would really showcase the power of Brigadier's command system, but there's too many flaws with it.
In general, when a server starts up, it constructs this command graph which states what parts of commands come after what (etc. etc.). Then "we stop registering commands". When any of the following events occur, this command graph is sent to the client and that's how they know what they can and cannot run:

Player joins the game
Player is made op/deopped
A player's permissions change

The CommandAPI already has a handle on this event so it can re-publish the newly constructed command graph See here, but the big limitation is modifying the graph when the server is running.
Indeed, this is possible! Version 4.0 includes a much more powerful API which lets developers use Brigadier code alongside the CommandAPI's code, which would theoretically allow you to modify the graph once the server is loaded and send this to players as you see fit. As you can imagine, this would greatly increase the complexity of the way the command graph is sent to players (you're basically modifying the graph whilst they're running commands, whilst ALSO tailoring it to specific players).
For this main reason, I don't think I'll be implementing such a system. I believe that the CommandAPI on its own, even with its suggestion system, suffices to meet the needs that the CommandAPI was created for - to create a non-brigadier "Bukkit-like" API  to let developers create commands that use the Command UI introduced in 1.13 .
Similarly, certain Minecraft commands are limited by what a user enters - they have suggestions and you can still run commands outside the range of those suggestions. It would be really cool to "lock" suggestions so it can't allow things that aren't included in the suggestions shown to a player, but unfortunately I haven't found a way to do such a thing (or there just straight up isn't a way to do such a thing). Of course, implementing that would also increase the CommandAPI's complexity.
As stated at the beginning, for these reasons I won't implement this - even though it sounds super cool!

Off topic
Honestly, there are times where I wish I had a forum or something - it would be cool to get a conversation going for this project so I could meet all the people that use the CommandAPI. At the start of the project, I met one of the first developers that used the CommandAPI and I had the luxury to join their community server and get to know all the people there that use my project.
I also like to look back at some of the old documentation (such as the 1.0 documentation) which just shows how much this project has grown. Every single time I feel like "This project can't possibly get any better", I end up adding new features or implementing something wild. Each new update of Minecraft seems to add new features and challenges to overcome (1.6 was really tough!)
Indeed, I feel that this is by far my best project that I've ever done - the countless hours that I've spent in creating the CommandAPI, the design choices that I've had to make, the bugs that I've had to face, and of course it's spectacular documentation. Tomorrow marks the CommandAPI's second birthday - to think that everything started 2 years ago. I might rewrite the acknowledgements section to celebrate!

That aside, it might be possible to put a flag on the suggestion system. For example:
myArgument.forceOverrideSuggestions(...)

And then internally, before the CommandAPI runs the command executor, it checks if the suggestion that the command sender entered was one that was suggested - if not, catch the error before your command executor is invoked. It's "okay" as a solution - it prevents your command executor from being run if the argument that the command sender entered was not one that was suggested, but I don't really like the idea.
Of course, this is the closest thing that I can think of that relates to what you've suggested. I can see if I can implement that if you want?

Actually, it might be easier to just add it as an option for an argument instead of a forceOverrideSuggestions(). For example:
LinkedHashMap<String, Argument> arguments = new LinkedHashMap<>();
arguments.put("int", new IntegerArgument().safeOverrideSuggestions(1, 2, 3).suggestionsOnly());

And then, as stated in the previous comment, intercept this internally within the CommandAPI before your command executor is invoked so you (the developer) don't have to deal with this erroneous command

I think with force overriding suggestions it is theoretically possible to solve my use case, but it would mean creating one massive command with tons of dynamically forced suggestions.
It would kind of ruin the clear structure.
Perhaps a better idea is to dynamically show/hide a whole command? Something like this:
LinkedHashMap<String, Argument> arguments = new LinkedHashMap<>();
        arguments.put("create", new LiteralArgument("create"));
        new CommandAPICommand("party").withArguments(arguments).executesPlayer((p, args) -> {
          //create super cool party
        }).showIf((sender) -> {
           canCreateParty(sender);
        }).register();

boolean canCreateParty( CommandSender sender){
    return today == "Friday";
}

This way I don't have to mash all my /party commands into one big ugly spaghetti code creation.
I think forced suggestions would be really helpful in other uses cases though!
Off topic
I really recommend creating a Discord server. It's a great way to keep contact with your community. I have some experience with setting up a Discord server, I could help if you want? :)
My Discord is Hielke#9427

"Hiding" parts of a command is handled automatically by permissions.
Of course, there's absolutely nothing preventing you from adding additional constraints to the permission check! That might be a good way to handle that! I'll have to check whether or not this conflicts with the way permission checks are evaluated (I think they're initially evaluated when a player joins and then it's cached, but it might be re-calculated when a player runs a command).
I think it might be easier to implement "hiding a command" rather than trying to force suggestions!

Off topic
I'll see what I can do - I've set up a Slack workspace before, how hard could it be to set up a Discord one? Only downside is that the CommandAPI has no visual branding - i.e. no "icon". Never really thought of anything for this project, but it might be a good time to start!

Ahh of course permissions can be the solution! I guess I can add/remove permissions dynamically, but it would be better if the API had something like a showIf() method. I feel like using permissions is kind of a hacky way of achieving this, and it should be it's own thing.

Unfortunately, not everything went as planned. Indeed, using predicates to determine if a player is capable of executing a command would work, except for the packet limitation: As stated earlier, a packet is sent when any of these events occur:

Player joins the game (By the CommandAPI)
Player is made op/deopped
A player's permissions change

This process does two things:

Evaluates all of the commands that a player can run
Sends this information to the player

For example, I have the following code:
LinkedHashMap<String, Argument> arguments = new LinkedHashMap<>();
arguments.put("test", new LiteralArgument("prize").withRequirement(s -> ((Player) s).getLevel() >= 20));

new CommandAPICommand("hello")
	.withArguments(arguments)
	.executesPlayer((player, args) -> {
		player.getInventory().addItem(new ItemStack(Material.DIAMOND));
	})
	.register();

The idea is that if you don't have 20 or more levels, you can't run hello prize because it's not valid. If I have 19 levels and try to run the command, it doesn't work. This is to be expected. Now say I kill some mobs or whatever and now have 21 levels. If I run the command, it still doesn't work because the packet has not been resent. To fix this, the player would have to re-log on the server so the packet is sent again, which is less than ideal.

Of course, the easy solution is to just send the packet when the check happens! Except this causes a feedback loop - sending the packet when checking the permissions requires the permissions to be checked, which sends the packet which requires the permissions to be checked... - it's a StackOverflowException of packets being sent to the client which crashes the server.
A stupid idea is to constantly send the player packets every n ticks or something in a scheduled repeating task, but that's beyond acceptable.

Implemented using the updateRequirements(player); method:
LinkedHashMap<String, Argument> arguments = new LinkedHashMap<>();
arguments.put("create", new LiteralArgument("create").withRequirement(s -> !s.hasParty()));
arguments.put("partyName", new StringArgument());

new CommandAPICommand("party")
  .withArguments(arguments)
  .executesPlayer((player, args) -> {
    //For example
    player.setParty((String) args[0]);
    CommandAPI.updateRequirements(player);
  })
  .register();

This method updates the requirements for a player manually and I'm leaving it up to the developer to determine when is the best time to invoke this method call.
Closing issue as it's been implemented in #130


Meta node crashed when trying to create index on materialized view

Describe the bug
Meta node crashed when trying to create index on materialized view with following sql:
dev=> create index last_idx on last(uid);
ERROR:  RPC error: GrpcStatus(Status { code: Unknown, message: "transport error", source: Some(tonic::transport::Error(Transport, hyper::Error(Io, Kind(ConnectionReset)))) })

To Reproduce
I'm using docker-compose with similiar configuration within docker/docker-compose.yml, except that I'm using zookeeper and kafka rather than redpanda.
In psql, execute
create source tests(
  id int,
  uid int,
  util int,
  created_at timestamp
) with (
  'connector'='kafka',
  'kafka.topic'='test',
  'kafka.brokers'='kafka:9092'
) row format json;

create materialized view last as select * from tests order by id desc limit 100000;

select * from last limit 5;

All those query works fine, but when I execute
create index last_idx on last(uid);

It ends up with the above error, and meta node crashed with following log message:
thread 'tokio-runtime-worker' panicked at 'no entry found for key', src/meta/src/stream/stream_manager.rs:168:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Expected behavior
Creating an index on uid field of materialized view last.
Additional context
In my schema, id represents a global unique identifier, uid is a int within [1, 128], util is also a int within [1, 512], created_at is a timestamp.

Thanks for reporting the issue! Index is not a documented feature, and there are several refactors undergoing that may impact its functionality. We will fix this soon.

It should have been fixed. Welcome to retry RisingWave and report if there are any other issues.


Generates pesters tests

Use PSClassUtils generate pesters tests.

Pesters Tests Generated using PSClassUtils added the following describe block '[FUFunction] - Test returned Object'


bug(MatDialog): "autoFocus" configuration property doesn't work when using a CSS selector that targets an element that is rendered conditionally

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
When the autoFocus configuration property is set to a CSS selector that targets an element that is rendered conditionally (inside a *ngIf), the targeted element doesn't receive the focus when the dialog opens.
This occurs when, for instance, data emitted by an observable must be provided to the component that is rendered inside the dialog.
Using the common view model pattern, a *ngIf wraps the entire template to avoid handling potential null values at multiple places. Therefore, it is often the case that the observable emits immediately and that on the first render, the focus should be given to the targeted element.
Reproduction
StackBlitz link: https://stackblitz.com/edit/components-issue-46abek?file=src%2Fmain.ts
Steps to reproduce:

Click the Open dialog button and notice that the input isn't focused.
Open example-dialog.component.html and remove the ng-container element that wraps the mat-form-field element.
Click the Open dialog button and notice that the input is now focused.

Expected Behavior
When the autoFocus configuration property is set to a CSS selector that targets an element that is rendered conditionally (inside a *ngIf), the targeted element should receive the focus when the dialog opens.
Actual Behavior
When the autoFocus configuration property is set to a CSS selector that targets an element that is rendered conditionally (inside a *ngIf), the targeted element doesn't receive the focus when the dialog opens.
Environment

Angular: 15.2.9
CDK/Material: 15.2.9
Browser(s): Chrome Version 122.0.6261.129
Operating System (e.g. Windows, macOS, Ubuntu): Windows 11

The issue appears to be resolved in the latest version
https://stackblitz.com/edit/mkah7u?file=src%2Fexample%2Fdialog-content-example.ts,src%2Fexample%2Fdialog-content-example-dialog.html

@wagnermaciel I have tried reproducing the error in the latest version and it still doesn't work. The example you provided is different from the issue I have described. In your example, no configuration is provided and the default configuration is used. This gives the focus to the first tabbable element. In my case, I want to give the focus to an element with a particular CSS selector. Here is a new example for the latest version: https://stackblitz.com/edit/mkah7u-bw6szx?file=src%2Fexample%2Fdialog-content-example.ts,src%2Fexample%2Fdialog-content-example-dialog.html.
Can we please reopen the issue? Thank you.


Enable more icons packages

See vuetify support for mdi, fa

See snackbars.icons as a first approach for Milnode-specific components


WIP: Improved imul to include proper error messages

@soummyaah any update in this work? we need a rebase and define i this work still applies, or if it has been implemented on another PR

Hi there! We're closing this at this point due to inactivity, but feel free to re-open if you're interested in continuing it! Thanks!


dw - 6pm-4 Add download button for a csv file of all Admins

Added a download button in the admins page that downloads a CSV of all the admins.

Additional 10 points for the filtering of data.


New metric for lan mode?

Hi,
first thank you for maintaining this exporter, it is great.
In our case we find out, we had some issue with default network lan mode ("failover"). The problem was when IPMI dedicated link was down IPMI switched to shared iface (server uplink). We use diffent VLANs for IPMI and uplinks, so that is a bit problem, because its stoped working until manual change from the server. We are trying to avoid this by setting that to dedicated from failover and monitor wanted state.
More on this can be read here ServerFault
For this we had monitoring using ipmitool and tracking output ipmitool raw 0x30 0x70 0x0c 0
This can be done with:
/usr/sbin/ipmi-raw 0x0 0x30 0x70 0x0c 0 - which is tool from freeipmi pkg.
It result into:

rcvd: 70 00 00 - dedicated
rcvd: 70 00 01 - shared
rcvd: 70 00 02 - failover

With metric something like:
# Help ipmi_config_lan_mode Return lan mode status (0=dedicated, 1=shared, 2=failover)
# Type ipmi_config_lan_mode gauge
ipmi_config_lan_mode 0

Do you think this could be implemented?

Uh boy, ipmi-raw! I was wondering when things might go that way :wink:
Jokes aside, though, first of all thanks a lot for providing a thoroughly detailed suggestion. This is certainly something that would make for a good metric. If I understand the ServerFault thread correctly, this is a Supermicro-specific OEM extension though, right?
As it stands, this could be made an additional, optional collector. Also, I have ipmi-raw on my list anyways, as it would probably make for the ultimate generic extension mechanism, but I have not yet spent much time on thinking about how best implement this (providing interfaces is always tricky, for they are harder to change). Give me some time to look into this, but I see a good chance that this will be possible one way or another eventually.

I understand the thoughts about ipmi-raw. IMO would be better if this was shown like under ipmi-config or something like that, since it's under config->network section in GUI.
About Supermicro-specific OEM extension. I just looked it up and seems like Supermicro is one that is left out . When i run ipmi-oem most of them got command get-nic-mode, but not supermicro. I just check even unstable pkgs for debian and there is no update either.
Separate module would be great for this, because setting that up, could be really tricky and it could done more harm than good if not set properly. Since one typo could mean set instead of get.


Serialize task list persistence writes

Concurrent Cassandra LWT to the same partition are known to cause timeout errors.
This change ensures that all LWT to a task list are serialized by using a mutex.

Coverage decreased (-0.02%) to 67.449% when pulling f0c73346d4a80505742a5bbed5a28dd199e9d9ca on tamer-eldeeb:matching_serialize into cc82d243cc2ccd60b28dc7b385469365ef7770d9 on uber:master.

Coverage increased (+0.03%) to 67.502% when pulling aa8ebaa4c408595fa1e5d6d79f7ca3bde4433205 on tamer-eldeeb:matching_serialize into cc82d243cc2ccd60b28dc7b385469365ef7770d9 on uber:master.


Reordering buggy with only two children

The ReorderableContainer seems to bug out when it contains exactly two nodes as children. The second one can be reordered up, but the first can't successfully be reordered down.
Great addon, btw!


merge master into imodel02

Did #5718 get squashed?

Did #5718 get squashed?

Yes it did, apologies for that. I think not squashing this pr will fix the history


V0.5.0

Codecov Report
Base: 100.00% // Head: 98.94% // Decreases project coverage by -1.05% :warning:

Coverage data is based on head (bfaa3be) compared to base (260d226).
Patch coverage: 95.65% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##              main      #12      +/-   ##
===========================================
- Coverage   100.00%   98.94%   -1.06%
===========================================
  Files            9       11       +2
  Lines          145      190      +45
  Branches        15       24       +9
===========================================
+ Hits           145      188      +43
- Misses           0        1       +1
- Partials         0        1       +1

Impacted Files
Coverage Δ

wtforglib/ipaddress_foos.py
92.00% <92.00%> (ø)

wtforglib/__init__.py
100.00% <100.00%> (ø)

wtforglib/versionfile.py
100.00% <100.00%> (ø)

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.


Add self-contained tar files for openroad and yosys

Unfortunately rules_pkg has a dependency on the JSON API that was added in Bazel 4 that I can't find a way to work around (so it doesn't work with the bazel 3.5 in the CI).
I think this means that we have to use the buggy, deprecated and explicitly unsupported pkg_tar support for now. I'll make a new pull request with that (which appears to work if you ignore a trap where they generate unusable tar files), but this whole experience makes me think that paying off the old-Bazel technical debt we have is more important than I previously realized.

Okay let me reach out to my contact in the bazel org.


[CheckersExtension] uses PHP_EOL for line-ending

… because nothing else has sense
How to test it?

Yeah :+1:
To test that is succesfully pasted to fixed configuration, just replace "\n" with PHP_EOL in these 2 lines:
https://github.com/Symplify/Symplify/blob/237dd9a8d9f1b5ff134e03c16cb7cae05e8c92d1/packages/EasyCodingStandard/tests/Indentation/IndentationTest.php#L22-L35

Done

Thank you, merged!

I suggest it merge again and if @jantvrdik need support for nonstandard LF on Windows, let him prepare a PR with configuration option :-)

Ok :), but I'd like to be sure it would solve https://github.com/nette/coding-standard/issues/13
I don't want to re-re-re-merge PR just to make things work for one PC.

@JanGalek can you confirm it?

if @JanTvrdik need support for nonstandard LF on Windows

I would argue that CRLF is nonstandard everywhere.

let him prepare a PR with configuration option

I tried and failed. I can't deal with Symfony magic autowiring.

@JanTvrdik Where? I didn't notice any PR. Just start and I can guide you through.

@dg I can't now, new version need robot-loader ^3.0.1 and I use Kdyby/Doctrine, whitch use ^2.4, I need resolve this problem before update.

Install it this way:
create-project nette/coding-standard temp/coding-standard

php coding-standard/ecs check src tests --config coding-standard/coding-standard-php70.neon

@dg still same problem

Did you change in CheckersExtension.php line 162 ?
from
        $whitespacesFixerConfigDefinition = new Definition(WhitespacesFixerConfig::class, [$indentation]);

to
        $whitespacesFixerConfigDefinition = new Definition(WhitespacesFixerConfig::class, [$indentation, PHP_EOL]);

@dg I forgot it, It work very nice after change :)

@TomasVotruba do you need some another test for release ? :)

@JanGalek Thanks for testing out.
PR would be the best, referencing this one. I can merge it right away :)

PR #277


Add Correlation table and moving isx funtions to another file

First this PR add the compute_traces_corr function  to create a table with the correlation between traces.
But.. I included a few more changes:

The change to do the de-interleave automatically with the first step, and I move it to another file to reduce file_handlerpy.
A new .py with the content of a few steps (just the parameters and logs parts) in this way the mehod  run_steps is smaller and cleaner. And it will make easy to include another types of motion correction just changing the function to run.

Looks good!


Creating a delay or waiting for load

Hey Mike,
First off, this is really awesome and has helped a lot - Thank you!
Was wondering if it were possible to add a flag to create a delay between page load and when the screenshot is taken? Have a few assets that are being loaded asynchronously that haven't been appearing in the screenshots.
Best,
Cody

I have exactly the same request. Pages with larger images aren't always coming through. I end up with semi-random results, or sheered images (capture taken while the image was being rendered to the screen).
I imagine a few options like this:

Wait till document is fully loaded (something like a $(window).load event)
** Set a maximum XXX milliseconds to wait for the document to load before capturing.
Add an additional XXX milliseconds to add to all captures (as a buffer for async events).


Experimental

Good point. I used strictly superior as I thought it was more intuitive with the 'maximum' wording but indeed now you can ban someone with a single game ban. Will change and add a test for it. Thanks for the review.


initialize_AIP() gives warnings and packages are not avaliable

Warning messages:
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘knitr’
2: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘gridExtra’
3: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘agricolae’
4: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘effects’
5: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘lsmeans’
6: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘shinyAce’
7: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘shinyBS’
> AIP()

Listening on http://<IP_ADDRESS>:4289
Loading required package: estimability
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
  namespace ‘lattice’ 0.20-24 is already loaded, but >= 0.20.27 is required
Error : package or namespace load failed for ‘lsmeans’

lsmeans requires a greater version of lattice, solution:
unloadNamespace("lattice")
update.packages("lattice")