{Logging} Do not leak credentials in exception handling/stack traces

Description
The output of rg -A1 'Unsupported credential' when having this commit's parent checked out is:
sdk/maps/azure-maps-render/azure/maps/render/_base_client.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-render/azure/maps/render/_base_client.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-render/azure/maps/render/aio/_base_client_async.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-render/azure/maps/render/aio/_base_client_async.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-search/azure/maps/search/aio/_base_client_async.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-search/azure/maps/search/aio/_base_client_async.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-search/azure/maps/search/_base_client.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-search/azure/maps/search/_base_client.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_helpers.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/translation/azure-ai-translation-document/azure/ai/translation/document/_helpers.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-route/azure/maps/route/_base_client.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-route/azure/maps/route/_base_client.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-route/azure/maps/route/aio/_base_client_async.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-route/azure/maps/route/aio/_base_client_async.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-geolocation/azure/maps/geolocation/_base_client.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-geolocation/azure/maps/geolocation/_base_client.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/maps/azure-maps-geolocation/azure/maps/geolocation/aio/_base_client_async.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/maps/azure-maps-geolocation/azure/maps/geolocation/aio/_base_client_async.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/communication/azure-communication-sms/azure/communication/sms/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-sms/azure/communication/sms/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/aio/_router_client_async.py:            raise TypeError("Unsupported credential: {}. Use an AzureKeyCredential to use HMACCredentialsPolicy"
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/aio/_router_client_async.py-                            " for authentication".format(type(credential)))
--
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/aio/_router_administration_client_async.py:            raise TypeError("Unsupported credential: {}. Use an AzureKeyCredential to use HMACCredentialsPolicy"
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/aio/_router_administration_client_async.py-                            " for authentication".format(type(credential)))
--
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/_router_client.py:            raise TypeError("Unsupported credential: {}. Use an AzureKeyCredential to use HMACCredentialsPolicy"
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/_router_client.py-                            " for authentication".format(type(credential)))
--
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/_router_administration_client.py:            raise TypeError("Unsupported credential: {}. Use an AzureKeyCredential to use HMACCredentialsPolicy"
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/_router_administration_client.py-                            " for authentication".format(type(credential)))
--
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-jobrouter/azure/communication/jobrouter/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-rooms/azure/communication/rooms/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-rooms/azure/communication/rooms/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-networktraversal/azure/communication/networktraversal/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-networktraversal/azure/communication/networktraversal/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_credential/call_automation_auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_credential/call_automation_auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-identity/azure/communication/identity/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-identity/azure/communication/identity/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-callautomation/azure/communication/callautomation/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-phonenumbers/azure/communication/phonenumbers/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-phonenumbers/azure/communication/phonenumbers/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-chat/azure/communication/chat/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-chat/azure/communication/chat/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/communication/azure-communication-email/azure/communication/email/_shared/auth_policy_utils.py:        f"Unsupported credential: {format(type(credential))}. Use an access token string to use HMACCredentialsPolicy"
sdk/communication/azure-communication-email/azure/communication/email/_shared/auth_policy_utils.py-        "or a token credential from azure.identity"
--
sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_patch.py:            "Unsupported credential: {}. Use an instance of MetricsAdvisorKeyCredential "
sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_patch.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/iothub/azure-iot-deviceprovisioning/azure/iot/deviceprovisioning/_patch.py:            raise TypeError(f"Unsupported credential: {credential}")
sdk/iothub/azure-iot-deviceprovisioning/azure/iot/deviceprovisioning/_patch.py-
--
sdk/iothub/azure-iot-deviceprovisioning/azure/iot/deviceprovisioning/aio/_patch.py:            raise TypeError(f"Unsupported credential: {credential}")
sdk/iothub/azure-iot-deviceprovisioning/azure/iot/deviceprovisioning/aio/_patch.py-
--
sdk/personalizer/azure-ai-personalizer/azure/ai/personalizer/_patch.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/personalizer/azure-ai-personalizer/azure/ai/personalizer/_patch.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/personalizer/azure-ai-personalizer/azure/ai/personalizer/aio/_patch.py:            "Unsupported credential: {}.  Use an instance of AzureKeyCredential "
sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_helpers.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_base_client_async.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_base_client_async.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_base_client.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_base_client.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/tables/azure-data-tables/azure/data/tables/_authentication.py:        raise TypeError(f"Unsupported credential: {credential}")
sdk/tables/azure-data-tables/azure/data/tables/_authentication.py-    return None
--
sdk/tables/azure-data-tables/azure/data/tables/aio/_authentication_async.py:        raise TypeError(f"Unsupported credential: {credential}")
sdk/tables/azure-data-tables/azure/data/tables/aio/_authentication_async.py-    return None
--
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_patch.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/_patch.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_patch.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/aio/_patch.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/authoring/_patch.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/authoring/_patch.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/authoring/aio/_patch.py:            "Unsupported credential: {}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-questionanswering/azure/ai/language/questionanswering/authoring/aio/_patch.py-            "or a token credential from azure.identity".format(type(credential))
--
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/_patch.py:            f"Unsupported credential: {type(credential)}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/_patch.py-            "or a token credential from azure.identity"
--
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/aio/_patch.py:            f"Unsupported credential: {type(credential)}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/aio/_patch.py-            "or a token credential from azure.identity"
--
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/authoring/aio/_patch.py:            f"Unsupported credential: {type(credential)}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/authoring/aio/_patch.py-            "or a token credential from azure.identity"
--
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/authoring/_patch.py:            f"Unsupported credential: {type(credential)}. Use an instance of AzureKeyCredential "
sdk/cognitivelanguage/azure-ai-language-conversations/azure/ai/language/conversations/authoring/_patch.py-            "or a token credential from azure.identity"

So there's roughly three categories:

str.format(type(credential)) (printing the type)
raise TypeError("Unsupported credential") (not printing any detailed feedback)
raise TypeError(f"Unsupported credential: {credential}") (printing the value)

The third version leaks the credential to logs or the screen in case of an exception. The first version is, in quantity, the most common in the code base, so I adjusted all "vulnerable" cases to conform to it.
Noticed this issue while trying to fix
https://github.com/Azure/azure-cli/issues/20404 , and seeing my JWT leaked on screen while experimenting.
An example of a (partially!) leaked credential is: https://github.com/Azure/azure-sdk-for-python/issues/9498#issue-551033755
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

@microsoft-github-policy-service agree

/check-enforcer override

Thanks again @alexpovel Alex for your contribution! I have merged this PR and we will proceed to release the changes in a patch release for Storage packages in the near future. Not sure on the release plans for the other packages currently.


[Tracking][DIF] GPIO

This issue is intended to track the development of the GPIO Device Interface Functions (DIF) library.

[x] DIF library landed (#1254)
[x] In-tree "driver" uses DIF library All in-tree code uses DIF library (#1254)
[x] Unit tests (#1966)
[ ] DV extensions (no PR yet)

The GPIO DIF library is being implemented by @alphan

The GPIO DIF landed yesterday, in (#1254).

PR for tests: #1966 (using a comment because cannot edit the issue).

should we just close this? all the tasks are done arent they?


Minor change for Tensor Min/Max nodes

Removed policy from both tensor_min/tensor_max nodes which is unnecessary.

Ready to be merged

@hansely can you resolve the conflicts?


testing gets stuck when num_workers is set to value >0 in tests/base/model_utilities.py

🐛 Bug
While executing bash .run_local_tests.sh the test hangs frequently (but not always) if parallel data loading is enabled in tests/base/model_utilities.py by setting num_workers to a value larger than 0. If an manual keyboard interrupt (CTRL-c) is done the test continues with a "PASSED" message. This is an issue that does not always occur which could be an indicator that the test-frame work is waiting for the process to finish, but does not realize that the process has been completed.
The same issue occurs during CI testing with the result that time is exceeded.
The issue does not happen for num_workers=0 in tests/base/model_utilities.py; which is the reason for the change in PR #2307 to set this value to zero. This is an unsatisfying solution since it excludes the case of using multiple workers in dataloaders from testing, and risk that someone might inadvertently set the value to a different.
It is unclear of this is caused by an issue with Pythorch-Lightning, Pytorch, or the testing framework.
This issues serves to inform others what to expect when num_workers is set to a value >0, and that this needs to be investigated. It might need someone wth good understanding of the pytest framework and concurrency issues in that framework.

To Reproduce
Steps to reproduce the behavior:

set num_workers=3 in  tests/base/model_utilities.py
Run bash .run_local_tests.sh or pytest -v -x tests/trainer/test_dataloaders.py (might need to run several times)
The pytest -v -x tests/trainer/test_dataloaders.py should finish successfully in 10-15 seconds but often does not
If test gets stuck doing a CRTL-c continues the testing and ends them successfully

Code sample

Expected behavior

Environment
This issue also happens in the CI environments.
My environment:
/Users/thomas.schaaf/virtualenv/Python37/pytorch-lightning/lib/python3.7/site-packages/graphql/type/directives.py:55: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working
assert isinstance(locations, collections.Iterable), 'Must provide locations for directive.'

CUDA:

GPU:
available:         False
version:           None

Packages:

numpy:             1.18.5
pyTorch_debug:     False
pyTorch_version:   1.5.1
pytorch-lightning: 0.8.2-dev
tensorboard:       2.2.2
tqdm:              4.46.1

System:

OS:                Darwin
architecture:

64bit

processor:         i386
python:            3.7.7
version:           Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64

Additional context

This issue came up during PR #2307 and was discussed with @Borda and @awaelchli.
My pytest version:
`pytest -V
This is pytest version 5.4.3, imported from /Users/thomas.schaaf/virtualenv/Python37/pytorch-lightning/lib/python3.7/site-packages/pytest/init.py
setuptools registered plugins:
pytest-flake8-1.0.6 at /Users/thomas.schaaf/virtualenv/Python37/pytorch-lightning/lib/python3.7/site-packages/pytest_flake8.py
pytest-cov-2.10.0 at /Users/thomas.schaaf/virtualenv/Python37/pytorch-lightning/lib/python3.7/site-packages/pytest_cov/plugin.py`

this has been resolved in #2358

the reason for setting num_workers=0 is getting Windows builds up to speed, otherwise, it took 10x longer...

the reason for setting num_workers=0 is getting Windows builds up to speed, otherwise, it took 10x longer...

@williamFalcon @Borda : I changed num_workers to 0 because with num_workers=3 pytest got stuck on my Mac and also on Ubuntu machines during CI. However the behavior is not 100% deterministic; meaning the testing sometimes did not get stuck. My suspicion is that this is caused by the test framework. Not sure if Windows is especially susceptible for this issue, but other platforms are affected as well.
I just pulled the latest code version and tested if the issue disappeared on my Mac by setting num_workers=3 and running the test pytest -v -x tests/trainer/test_dataloaders.py. Unfortunately the test got stuck with 3 workers, but passes consistently in less than 10 seconds with num_workers=0.
The ActivityMonitor does not show that CPU cycles are used from 10 concurrent Python processes when the test gets stuck.

This seems to be not a Windows only issue. Setting num_workers=0 certainly made the tests pass for now, but affects what gets tested. To me it does not seem resolved, but maybe it should not be labeled as a "Bug"?


make all logs to static final

 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.


Using python script assertions file path is not relative to config file

I am trying to maintain multiple prompt evaluations in separate folders. Each folder contains promptfoo config files along with python scripts that are used for prompts, variables, and assertions.
When specifying the file path of python scripts for prompts and variables, the path relative to the config file is used. However, when the file path for python assertions is specified, it is relative to where the promptfoo eval is used. This behavior breaks the tests if the evaluation is not always run from a specific relative path to the python assertion scripts.
It would be helpful if the file path for python assertion scripts is relative to the config file specifying the path and not where the evaluation is run from.
Thanks in advance

I am not very familiar with JS but maybe it's related to using
runPythonCode (https://github.com/promptfoo/promptfoo/blob/main/src/assertions.ts#L31) which is used only there
Instead of
runPython (e.g. https://github.com/promptfoo/promptfoo/blob/main/src/prompts.ts#L10) which is used in other places I looked into.

Thanks for flagging this.  The problem was that basePath was not plumbed through to the assertions logic - something that I've been putting off a while.  I've got a fix here https://github.com/promptfoo/promptfoo/pull/624

Change is released in 0.51.0


Algolia search issue in https://fumadocs.vercel.app/docs/headless

To Reproduce
Open search and try typing something
Current vs. Expected behavior
Nothing appears vs Search results would appear
Provide environment information
Issue with AlgoliaSearch

Which area(s) are affected? (Select all that apply)
Examples
Additional context
Algolia search returns "This operation cannot be processed, the application is blocked. Contact us to unblock it." in response

My bad, didn't see this tweet
https://x.com/fuma_nama/status/1821218907560276098


Is there a way where onClick + button increase the counter of that particular row only not all the rows?


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 2618 ms

Resolved: Samsung performance has improved in 5786cd7.


ListViewCommand: not updated when list changes

Category

[x] Bug

Describe the bug
When I'm switching between lists neither the onListViewUpdated nor the onInit methodes get executed.
Steps to reproduce

create a new commandset
log the onInit as well as the onListViewUpdated method execution
switch to another list/library
see no logging of either method execution

Expected behavior
I would expect both methods to be fired when switching lists, but at least the onListViewUpdated
method.

DELETE THIS LINE BEFORE SUBMITTING - Provide clear & concise description of what you expected to happen.

Developer environment

OS: Windows 10
Browser(s): Chrome v80
Tooling:SPFx v1.9.1

There are multiple open issues related to the onListViewUpdated event...
This appears to be a dupe of #4882...

woohoo - there is a lot of issues open around this topic - what's the best way to stay up-to-date with what's happening around this issue? I would raise some kind of "+1" but I'm uncertain on how to express that - so opening (yet) another issue to raise awareness that this is a serious blocking issues ...

@henningeiben I suspect that response means you agree... so I'll tag this as a dupe.
To monitor issues, use the notifications option to subscribe to updates to issues. This is in the right-hand column under the labels. Just go to that issue and subscribe to get email updates.


Reset loaded for node to false before expanding node.

Load data for a specific node in a tree when the respective node is expanded.
#1259

Thanks for taking the time to make graphite better


checkRegular returns false negetives

class Foo[A]: { value: A }
class Bar[A]: Foo[Foo[A]]
//│ Defined class Foo

The TypeDef of Bar is not registered to the context even though no error are emitted. A quick inspection reveals that checkRegular returns false in this case.

Good catch! The issue was that we were checking for equal type arguments for all traversed type definitions, instead of just the one under consideration.


Introduce Azure HttpObservable and SSL bypass properties

Codecov Report

Merging #12 into master will increase coverage by 0.05%.
The diff coverage is 59.52%.

@@             Coverage Diff              @@
##             master      #12      +/-   ##
============================================
+ Coverage     61.26%   61.32%   +0.05%
- Complexity      314      334      +20
============================================
  Files            50       55       +5
  Lines          1332     1409      +77
  Branches         78       82       +4
============================================
+ Hits            816      864      +48
- Misses          459      485      +26
- Partials         57       60       +3

Impacted Files
Coverage Δ
Complexity Δ

...azure/spark/tools/http/AzureOAuthTokenFetcher.java
0% <0%> (ø)
0 <0> (?)

...rosoft/azure/spark/tools/utils/Configurations.java
0% <0%> (ø)
0 <0> (?)

...ft/azure/spark/tools/http/AuthorizationHeader.java
100% <100%> (ø)
1 <1> (?)

...ure/spark/tools/http/OAuthTokenHttpObservable.java
100% <100%> (ø)
11 <11> (?)

...crosoft/azure/spark/tools/http/HttpObservable.java
58.87% <44.44%> (-1.71%)
30 <4> (+6)

...ft/azure/spark/tools/http/AzureHttpObservable.java
60% <60%> (ø)
2 <2> (?)

... and 2 more

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 c5b7eec...812bc28. Read the comment docs.


Add a pre-commit hook to check lists of patches on disk and in .patches.yaml files

It'd be awesome if such a precommit would also check that the patches are correctly formatted, possibly by parsing them with something like the unidiff python library.

Hey there,
It's been a long time coming but the libchromiumcontent repository is being archived as it is no longer used in the Electron build system (🎉 this is a good thing).
If your issue is still relevant to Electron in it's current build system (please verify first) then you should probably raise a similar issue on electron/electron.
Thanks 😄


Flag added for SDK31 intent creating compatibility

Fixes issue #74.  Android 12+ (version 31 and above) requires FLAG_IMMUTABLE or FLAG_MUTABLE.
Changes proposed in this pull request:

Adds flag FLAG_IMMUTABLE required on SDK 30+

Can you please share the updated repo url or share the updated code with me ?

https://github.com/joviedo/localnotificationsplugin


Relying on id in addition to the created_at timestamp to load entries chronologically

It happens of messages were created nearly instantly (in test cases for example) that they get the same  created_at,  which results in the wrong conversation#last_message.  taking the ID into consideration can be helpful if the created_at are for any reason equal

Just a note, that created_at can easily have collisions on systems that don't support nanosecond timestamps in the DB.  We had a similar issue in paper trail gem awhile back with Mysql only supporting milliseconds.
Just a use case to back up the addition of this. :)

@jcoyne   do you think we can get this merged in?

Thank you @rposborne

closing this, as it is already handled in https://github.com/mailboxer/mailboxer/pull/441


Where should plugins be listed?

There's a list of transforms and a list of browserify tools, but for plugins the readme just refers you to npm. Can a plugin be listed on one or both of those pages? There's currently at least one package on each page described as a "plugin". I suppose technically a plugin is a "tool", while it's not a transform, but it might be a distinction without a difference: sometimes transforms / plugins are used to accomplish the same goals. And some plugins use transforms under the hood anyway. Maybe they should all be on the same page, with sections? Or maybe there should be a transform, plugin, and other tools page? Or a transform / plugin and other tools page?

I'd like to know what should be done here as well.  Currently, the transforms page points to guzart/browserify-typescriptifier for TypeScript compilation, which the author has deprecated in favor of my own smrq/tsify (a plugin).  Should tsify be on that page or not?

@smrq FYI, for the time being I added my plugin to the list of transforms page, with a note that it's actually a plugin. If you add yours, please also note that it's a plugin. I'm still thinking about how this stuff should be organized and may think about breaking it out into some kind of separation between transforms / plugins at some point.


[Add] free ebooks

Site URL
http://freecomputerbooks.com
Description of the above provided site
Links to Free Computer, Mathematics, Technical Books all over the World
Category
Resources
Sub Category
ebook
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

You're assigned @S-ishita


Format: Modularise

Summary
This branch modularises our Shiny code (predominantly the code in the server.R script) to ensure that we isolate independent logic. In this way, we are improving the ease of understanding the different components of the Shiny app, and thereby increasing readability.
Changes
The changes made in this PR are:

Create modules/ folder to store the modules we are creating of each rendered object.
Rename some objects to be more explicit.
Move the generated text in the ui.R script into the server.R script to prepare it for translation.

In essence, they will actually exist as modules within the server.R script.

Check

[ ] The app looks the same as it did before.
[ ] The logo is in the bottom-left

This was to prevent the top green bar overflowing when viewed on mobiles.

[ ] The travis.ci and R CMD checks pass.

Note
This "fixes #26" and "fixes #46".
Will be a fundamental change so might be a pain to git rebase.

 Modularise Shiny code

Summary
This branch modularises our Shiny code (predominantly the code in the server.R script) to ensure that we isolate independent logic. In this way, we are improving the ease of understanding the different components of the Shiny app, and thereby increasing readability.
Changes
The changes made in this PR are:

Create modules/ folder to store the modules we are creating of each rendered object.

Rename some objects to be more explicit.

Move the generated text in the ui.R script into the server.R script to prepare it for translation.

In essence, they will actually exist as modules within the server.R script.

Check

[ ]  The app looks the same as it did before.

[ ]  The logo is in the bottom-left

This was to prevent the top green bar overflowing when viewed on mobiles.

[ ]  The travis.ci and R CMD checks pass.

Note
This "fixes #26", "fixes #46" and "fixes #67" and progresses #74.
Will be a fundamental change so might be a pain to git rebase.

Thanks for doing this. I was trying to run the app but running the app.R script. When I was doing renv::restore() to make sure I have the right packages, the error message 'Error: install of package 'nlme'' failed appeared.

Thanks for doing this. I was trying to look at the app by running the app.R script. When I ran renv::restore() to make sure I have the right packages, the error message Error: install of package 'nlme' failed appeared. Did the same happen to you?

This is very strange. I just cloned the whole repo and ran renv::restore() but didn't get the same issue. Is nlme in your renv.lock file already?

Thanks for doing this. I was trying to look at the app by running the app.R script. When I ran renv::restore() to make sure I have the right packages, the error message Error: install of package 'nlme' failed appeared. Did the same happen to you?

This is very strange. I just cloned the whole repo and ran renv::restore() but didn't get the same issue. Is nlme in your renv.lock file already?

I tried again and had the same issue unfortunately. I am not sure if this helps but do you mind to update the packages and take a renv snapshot? I will then try again. Thanks!

I tried again and had the same issue unfortunately. I am not sure if this helps but do you mind to update the packages and take a renv snapshot? I will then try again. Thanks!

That's a good suggestion, done it now!

Thanks for doing this. I was trying to look at the app by running the app.R script. When I ran renv::restore() to make sure I have the right packages, the error message Error: install of package 'nlme' failed appeared. Did the same happen to you?

I managed to replicate the issue by moving to R version 4.0.2 and then trying to renv::restore(). Coming across another issue now with the sf package not installing on the new R version and are going to try resolve it by consulting the following links:

cannot install sf package
cannot install sf package on macOS Sierra
unable to install package on R

Should be sorted now. @gabtam55, can you try again?

Should be sorted now. @gabtam55, can you try again?

It looks good to me, well done! Feel free to merge ;)


(FACT-1294) Use relative path in facter.rb

Change facter.rb to always use a relative path to find libfacter, based
on the relative path of the install location of facter.rb and
CMAKE_INSTALL_PREFIX. This fixes libfacter lookup when doing make install on a Windows machine, and removes hard-coding the MSI layout.

This requires a change to puppet-agent builds on Windows to set the CMAKE_INSTALL_PREFIX appropriately.

Did Windows and el-7 builds, both look good. puppet facts and irb 'facter' work correctly.

:+1:

PA-252 was merged, this should be ready to go.


Cloudstack 4.14 and Ceph with Erasure Coding

ISSUE TYPE

Improvement Request

COMPONENT NAME
UI-Backend
CLOUDSTACK VERSION
4.14.0
CONFIGURATION
Cloudstack and Ceph object storage configuration.
OS / ENVIRONMENT

SUMMARY

About this, we have an erasure code pool at ceph, so we can create an image and then we must specify where the metadata and data pool is located. When we add the erasure code pool as Storage in Cloudstack we can't set the datapool, so when we add a VM it shows an error.  We asume that Cloudstack do something like this in Ceph:
rbd create DISCO --size 4096 -p PoolErasure
rbd: create error: (95) Operation not supported
And must be:
rbd create --size 4096 --data-pool DataPool PoolErasure/DISCO
Example:
https://documentation.suse.com/ses/6/html/ses-all/cha-ceph-erasure.html#ec-rbd
There is not a field at Cloudstack to set this, so it fails when creating a VM in this storage.
In replicated ceph configuration is working fine because there is just one Pool so you don't need to set more options at Cloudstack.
There is a way to set the data pool at cloudstack in other way?.
STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

@GabrielBrascher @wido can you comment? is this a change in ceph that needs ACS support?

Hi @GabrielBrascher @wido any input on this issue?


Add an example to illustrate the integration with amp-analytics

An integration with amp-analytics is under development (issue). Update the reference implementation to illustrate the integration, when it's ready.

Closed by #42


ignore GTK warnings

fixes #13

Awesome work.
Should the GTK fix be on its own branch, separate from the package updates?
+1 needs review and merging @faressoft

Both my pull requests can go together, but they turned out to be independent so I kept them separate.

Sorry, late night comment that last one - I realize that this pull request has received unrelated commits because it was stupidly done from the master branch of my fork. Will close this and resubmit separately in a moment.

The underlying issue is described here
#102
And fixed on PR #97


Integrate sentinel archiver

Use sentinel-archiver to manage the Lily walks.

Merging this for now as there are no downstream services affected by these changes.


replace 'problems' key with 'exercises' in config.json

see #179

Whoops, didn't see #195, never mind. 😃


Remove warning about 64 bit voice on Windows

The wiki now references prebuilt binaries that include support for 64 bit DLLs, so this warning is not true.

This was merged via shardlab/discordrb@a4b0201cc9210eaef30f4e9010bcc1ef564d826e in the new repo and released in v3.4.0 and can be closed.


[Bug] 使用pytorch_poc分支镜像W8A8量化后推理（Expected 'i32' but got 'i8'）

Checklist

[X] 1. I have searched related issues but cannot get the expected help.
[X] 2. The bug has not been fixed in the latest version.

Describe the bug
error: invalid element type in packLLEElements. Expected 'i32' but got 'i8'
Reproduction
python lmdeploy/pytorch_poc/chat.py /workspace codellama
Environment
pytorch 2.0.0
NVIDIA-SMI 470.182.03   Driver Version: 470.182.03   CUDA Version: 11.7
v100
codellama 7b

Error traceback
error: invalid element type in packLLEElements. Expected 'i32' but got 'i8'
loc(fused["/lmdeploy/pytorch_poc/kernels/w8a8_triton_kernels.py":82:23, "lmdeploy/pytorch_poc/kernels/w8a8_triton_kernels.py":82:33]): error: 'llvm.intr.fmuladd' op operand #0 must be floating point LLVM type or LLVM dialect-compatible vector of floating point LLVM type, but got 'i8'
Pass execution failedLLVM ERROR: Failed to translate TritonGPU to LLVM IR.

Apologies for any inconvenience caused during your usage. Here's the environment I'm currently using:
torch 2.0.1
triton 2.1.0
A100

I could not replicate your issue in this environment. We will attempt to reproduce it on a V100.

It appears to be a bug in Triton. The 8-bit Triton kernel is unable to operate on the Turing architecture. Please refer to this issue for more details.

Okay, I'll look at this information.


Generate portions of the cli

I'm not sure if this is feasible, or even desirable, but just starting this discussion...
Most subparsers in cli.py seem to have a fairly predictable structure; they just allow setting of arguments in the eventual GA*Request object for that respective path.  Given that all of this information is in a schema file we have already, might it not be possible to simply generate a _generated_cli.py file that is this predictable subset of argparse functionality that is loaded into cli.py, similar to how the generated protocol file is loaded into protocol.py?

How much work is involved in updating the CLI?  We really need to be able to rev the server
quickly with API changes as we work through use cases.

The theory is that we should be able to generate a client directly from the schemas, and that creating a CLI from that should be very easy. I am sure there are some nice python CLI utility packages out there too (like this).  So, all is doable given enough time.

I think this would be a lot more work that just updating the CLI by hand. It really is pretty straightforward.

Closing due to lack of activity. If you have an idea @dcolligan that reduces our LOC and automatically generates some stuff from the schemas, I'm all ears!

In principle I think it should be possible to have a metadata-driven code generation framework that generates most of our endpoint (and their tests) boilerplate.  But it was just an idea.  I'm fine with closing it.


为什么部分甘特图无法正常显示？（Why does some Gantt chart fail to display normally?）

node v10.0.0
npm v6.0.0
I didn't make any changes to the code！The error information is as follows。The reasons for incomplete node_modules? What should I do?
If node_modules is not complete, because I am in China, because of some national restrictions on the network, the downloads are always incomplete. Can you help me to sort out a node_modules and let me download it directly from my mailbox<EMAIL_ADDRESS>Thank you！

同样的问题，请问您解决了么？


Does not work at all with VS Code v1.36

see https://github.com/microsoft/vscode/issues/76606 .

How to downgrade vscode

English: https://stackoverflow.com/questions/49346733/how-to-downgrade-vscode#answer-49347158
Japanese: https://twitter.com/wraith13/status/1147853564292685826

VS Code v1.36.1 has been released! 🎉🎉🎉
And, Open In GitHub Desktop is working correctly with VS Code v1.36.1!


SD-1846 Correct generation of mongo collection prefix from dir path

Previously, when generating a collection prefix from a directory path, we failed to terminate the prefix with a ., thus it would match too many collection names, namely anything it was a string prefix of, for example the directory /foo/bar/Untitled Folder/ would translate to the collection prefix bar.Untitled Folder and thus would match all of bar.Untitled Folder.somefile, bar.Untitled Folder 1.somefile, bar.Untitled Folder and anything else.anotherfile.
This corrects the problem by formalizing that collections can only be created from file paths and dir paths represent prefixes. So now the collection prefix from /foo/bar/Untitled Folder/ is now bar.Untitled Folder..

LGTM

[Current coverage][cc-pull] is 73.90%

Merging [#1231][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.02%

@@             master      #1231   diff @@
==========================================
  Files           185        185
  Lines         10951      10958     +7
  Methods       10716      10713     -3
  Messages          0          0
  Branches        111        118     +7
==========================================
+ Hits           8096       8098     +2
- Misses         2855       2860     +5
  Partials          0          0

Powered by Codecov. Last updated by [a12aed7...edad42c][cc-compare]
[cc-base-branch]: https://codecov.io/gh/quasar-analytics/quasar/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/quasar-analytics/quasar/compare/a12aed72b060073f620b00145bbec39e49263b58...edad42c8eab8e7b75d2a7b275c507bb74651e29a?src=pr
[cc-pull]: https://codecov.io/gh/quasar-analytics/quasar/pull/1231?src=pr


passwords cannot have exclamation marks

I tried to configure my password, but it is not accepted if it includes and exclamation mark
use this schema:

f5 config auth create --authentication-provider bigip --name bigip-2
--host <IP_ADDRESS> --user myuser --password mypassword --set-default

if I set password to something like "Pass!word" it will fail

When it fails do you get an error message that said it failed or do you get a message saying that it was successful? If the message is that it was successful, is the password just not applied to the BIG-IP when you go to test?

@vbojko
That's just a 'bashism' -- you can't have an unescaped ! in a bash command (as it is used for history expansion).
bash-5.0# f5 config auth create --authentication-provider bigip --name bigip-2 --host <IP_ADDRESS> --user myuser --password Test\!password--set-default
{
    "message": "Authentication configured successfully"
}
bash-5.0# f5 config auth create --authentication-provider bigip --name bigip-3 --host <IP_ADDRESS> --user myuser --password 'Test!password' --set-default
{
    "message": "Authentication configured successfully"
}
bash-5.0# /bin/sh
/f5-cli # f5 config auth create --authentication-provider bigip --name bigip-4 --host <IP_ADDRESS> --user myuser --password Test!password --set-default
{
    "message": "Authentication configured successfully"
}

@kreynoldsf5 thanks for that clarity.
Closing this issue since it has been answered.


Need Touch Event gesture

Hey,
It's a fabulous control and It really has some cool capabilities in order to build a complete event based calendar control. One thing I really need in my project is to touch on any events and do some action. Could you please guide me how would I do it?

@sohamb1390
I'm working on this already, but am not ready to push to the repository. I plan to add a general touch-listener as a delegate function, but haven't gotten around to completing it. I can try to get it done soon.
To implement yourself, you should be able to use the weekViewStylerEventView method defined in the WeekViewStyler protocol. Perhaps try this:

Implement the protocol and method above
Create the view for the given event, and add a touch-listener to it
Return the view to the protocol method

Hi Evan,
I tried what you have suggested like this:

I have implemented the method weekViewStylerEventView and inside it, I am returning views for individual events.

I have added Tap gesture into each view:
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(onTapEventView(_:)))
eventView.addGestureRecognizer(tapGestureRecognizer)

I implemented the gesture method inside my viewController class:
@objc func onTapEventView(_ gesture: UIGestureRecognizer) { print("tapped") }

But unfortunately it's not triggering this method whenever I am touching any event view.
Any idea?

I think either one of the superviews of the eventView is highjacking the touch, or more likely its related to something in my logic for the scrollview behind it all. I'm having a look now.

@sohamb1390
Check the latest commit. I've added the ability to respond to touches.

The signature of  weekViewStylerEventView has changed. It's only the return type that has changed from UIView to WeekViewEventView.
Conform to the WeekViewDelegate protocol and implement its only method: weekViewDidClickOnEvent.
Assign the delegate property of your weekView instance to the relevant class.
In the WeekView constructor, ensure to add the parameter respondsToInteraction and set it to true

Then you're good to go!
Let me know of any bugs that you find, it's a little hacky right now but it should work but I haven't done too much testing.
Thanks!

Thanks a Lot Evan!
You saved my day. It's working like a charm, please do let me know when you are going to provide a permanent fix in a new release.
Thanks Again!


Same bibtex keys

I ran into a situation where different articles with the same keys appear in the bibtex.bib file.  For example:
@inproceedings{Hosseini_2016,
	doi = {10.1109/ism.2016.0028},
	url = {https://doi.org/10.1109%2Fism.2016.0028},
	year = 2016,
	month = {dec},
	publisher = {{IEEE}},
	author = {Mohammad Hosseini and Viswanathan Swaminathan},
	title = {Adaptive 360 {VR} Video Streaming: Divide and Conquer},
	booktitle = {2016 {IEEE} International Symposium on Multimedia ({ISM})}
}
@inproceedings{Hosseini_2016,
	doi = {10.1109/ism.2016.0093},
	url = {https://doi.org/10.1109%2Fism.2016.0093},
	year = 2016,
	month = {dec},
	publisher = {{IEEE}},
	author = {Mohammad Hosseini and Viswanathan Swaminathan},
	title = {Adaptive 360 {VR} Video Streaming Based on {MPEG}-{DASH} {SRD}},
	booktitle = {2016 {IEEE} International Symposium on Multimedia ({ISM})}

Because of this, I cannot correctly process the records using the bibtex parsing library. The library believes that the same articles are written under the same keys, although this is not the case. Is there a way to avoid giving the same keys to articles? For example, add an option that will add a sequence number or random characters to the key.

Yes I will add something like Hosseini_2016, Hosseini_2016_1, Hosseini_2016_2...

Hi,
sorry for the late reply, but PyPaperBot had been on standby until now.
I've decided to resume development to improve it.
I've created a Telegram channel where you can suggest improvements, report bugs, or request custom data mining scripts. Feel free to join if you're interested with the following LINK
Thanks!


[5.x] Fix validation issues

This pull request fixes a few validation issues pointed out in #321. A few examples of broken validation logic:

A validation error wasn't being thrown when using the before:date_field validation rule. Now it is!

Although, I have noticed this validation rule seems to be thrown even when the first date field is before the other one. I can replicate on entries so it's a Core issue, not a Runway one.

Validation errors weren't being thrown for fields inside Bards/Replicators/Grids, now they will be!

Closes #321.

Thanks so much @duncanmcclean!

Although, I have noticed this validation rule seems to be thrown even when the first date field is before the other one. I can replicate on entries so it's a Core issue, not a Runway one.

This is a weird one...I composer updated everything, and that date-based before/after validation actually seems to be working correctly now, as far as I can tell. Even tested the time/minutes field and all seemed well. Maybe that just happened to get patched on Statamic's end too, in the last ~week or something? 🤔 Dunno, but working now—thanks again for the quick patch!

Weird... maybe I was doing something wrong testing. Oh well, glad it's working!


[MWC-QT-WALLET] Grammar

List of grammar corrections to be made

It is a limit. That limit depend on wallet task. Usually it ends faster.
Exiting is not an option, we can only kill the task and there is a slight chance in data corruption.


Stand alone fails with "uninitialized constant Resque::Scheduler::Redis"

I installed the gem on its own and then run resque-scheduler --help and it fails with the error
/home/lukepicciau/.rvm/gems/ruby-2.3.3/gems/resque-scheduler-4.4.0/lib/resque/scheduler.rb:17:in `<module:Scheduler>': uninitialized constant Resque::Scheduler::Redis (NameError)
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/gems/resque-scheduler-4.4.0/lib/resque/scheduler.rb:11:in `<module:Resque>'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/gems/resque-scheduler-4.4.0/lib/resque/scheduler.rb:10:in `<top (required)>'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/gems/resque-scheduler-4.4.0/lib/resque-scheduler.rb:2:in `require_relative'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/gems/resque-scheduler-4.4.0/lib/resque-scheduler.rb:2:in `<top (required)>'
	from /home/lukepicciau/.rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /home/lukepicciau/.rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/gems/resque-scheduler-4.4.0/exe/resque-scheduler:4:in `<top (required)>'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/bin/resque-scheduler:23:in `load'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/bin/resque-scheduler:23:in `<main>'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in `eval'
	from /home/lukepicciau/.rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:24:in `<main>'

Same result on Fedora 29, ruby alpine container and ruby debian container.

Duplicates #665. Fixed by #671.


Type error with z.object({}).passthrough()

Hello,
We depend on Zod and have run into an issue which prevents us upgrading from version 3.18.0 -> 3.21.4. We are on Typescript 4.7.4 but I reproduced with Typescript 4.9.5 as well.
We make use of z.object({}).passthrough() to generically represent a type containing an object of unknown type. The intent is to be able to parse that field with a more specific schema elsewhere in the code. Most commonly, this aligns with a JSONB column in a Postgres table that can represent many things.
When upgrading to a newer zod version, we run into type errors preventing compilation. The error states:
(property) value: {} & {
    [k: string]: unknown;
}
Type 'SpecificConfig' is not assignable to type '{} & { [k: string]: unknown; }'.
  Type 'SpecificConfig' is not assignable to type '{ [k: string]: unknown; }'.
    Index signature for type 'string' is missing in type 'SpecificConfig'.ts(2322)
Untitled-12(7, 5): The expected type comes from property 'value' which is declared here on type '{ user_id: string; created: Date; key: string; value: {} & { [k: string]: unknown; }; }'

Here is an example that reproduces the error--line 40 (config: configVal,) contains the type error.
import {z} from 'zod'

/**
 * SQL table
 *
 * config
 * ---------------
 *  CREATE TABLE config (
 *    user_id VARCHAR(255) NOT NULL,
 *    created TIMESTAMP NOT NULL,
 *    key VARCHAR(255) NOT NULL,
 *    value JSONB NOT NULL,
 *    PRIMARY KEY (user_id, key)
 *  );
 */

const configSchema = z.object({
    user_id: z.string(),
    created: z.date(),
    key: z.string(),
    value: z.object({}).passthrough(),
})

type Config = z.infer<typeof configSchema>

interface SpecificConfig {
    foo: string
}

function makeSpecificConfig(): Config {

    const configVal: SpecificConfig = {
        foo: 'bar'
    }

    return {
        user_id: '123',
        created: new Date(),
        key: 'foo',
        value: configVal,
    }
}

What can we do to address this? What is the right use of zod to support this use case?
Thank you!

I haven't been able to figure out a good solution for this. But I found a work around that might work for the short term:
const configSchema = z.object( {
    user_id: z.string(),
    created: z.date(),
    key: z.string(),
    value: z.object( {} ).passthrough() as z.ZodObject<{}>,
} )

Hey 👋
This is why z.record(z.unknown()) exists.

This is why z.record(z.unknown()) exists.

Thanks for the idea, but unfortunately, that doesn't solve the problem.
const configSchema = z.object( {
    user_id: z.string(),
    created: z.date(),
    key: z.string(),
    value: z.record( z.unknown() ),
} )

type Config = z.infer<typeof configSchema>

interface SpecificConfig {
    foo: string
}

function makeSpecificConfig (): Config {

    const configVal: SpecificConfig = {
        foo: 'bar'
    }

    return {
        user_id: '123',
        created: new Date(),
        key: 'foo',
        value: configVal,  // compile error
    }
}

Is there a built-in way of achieving this?
import { z } from 'zod'

const configSchema = z.object({
    user_id: z.string(),
    created: z.date(),
    key: z.string(),
    value: z.record(z.string(), z.unknown()),
})

type Config<T> = Omit<z.infer<typeof configSchema>, 'value'> & { value: T }

interface SpecificConfig {
    foo: string
}

function makeSpecificConfig (): Config<SpecificConfig> {

    const configVal: SpecificConfig = {
        foo: 'bar'
    }

    return {
        user_id: '123',
        created: new Date(),
        key: 'foo',
        value: configVal,
    }
}

Like the type error says, it really wants the incoming object to be indexable to unknown. If you have a concrete type that you're trying to pass, you can intersect it with the same record type just to tell the type checker that any other keys that might be present will be string and than any values will be of type unknown. Taking @JacobWeisenburger 's last example, that looks like:
import { z } from "zod";

const configSchema = z.object({
  user_id: z.string(),
  created: z.date(),
  key: z.string(),
  value: z.record(z.unknown()),
});

type Config = z.infer<typeof configSchema>;

interface SpecificConfig {
  foo: string;
}

function makeSpecificConfig(): Config {
  const configVal: SpecificConfig & Record<string, unknown> = {
    foo: "bar",
  };

  return {
    user_id: "123",
    created: new Date(),
    key: "foo",
    value: configVal, // no compile error
  };
}

You can also add the index type to SpecificConfig here.
If I were implementing this, I would just throw z.unknown() there and force the downstream consumer to parse it into their known concrete type later, like this:
import { z } from "zod";

const configSchema = z.object({
  user_id: z.string(),
  created: z.date(),
  key: z.string(),
  value: z.unknown(),
});

type Config = z.infer<typeof configSchema>;

const specificConfigSchema = z.object({
  foo: z.string(),
});

interface SpecificConfig {
  foo: string;
}

function makeSpecificConfig(): Config {
  const configVal: SpecificConfig = {
    foo: "bar",
  };

  return {
    user_id: "123",
    created: new Date(),
    key: "foo",
    value: configVal, // compile error
  };
}

const { value: configValue } = makeSpecificConfig();
const specificConfig = specificConfigSchema.parse(configValue);

TypeScript Playground

I ran into something similar but a bit different. I needed extra properties/keys to be let thru by default.
adding .passthrough() to everything was tedious to remember. and in doing so, added an extra & { [k: string]: unknown; } that messed with unions. and caused more problems.

my solution has been to use this function instead of z.object(...).passthrough()
const objectPassThru = <T extends Parameters<typeof z.object>[0] >(x: T) => {
    const result = z.object(x);
    type ReturnType = typeof result;
    return result.passthrough() as unknown as ReturnType;
};

it gives the proper types and doesnt add the extra unknowns.
tsplayground

https://github.com/colinhacks/zod/issues/2304#issuecomment-1631438950
This was working for me but when I upgraded from TypeScript 5.0.3 -> 5.1.6 it started failing. with an error like:
type X is not assignable to '{ id: string; } & { [k: string]: unknown; }'
with a schema like:
const Schema = z.object({
  a: z.string(),
  b: z
    .object({ id: z.string() })
    .passthrough(),
  c: z.optional(OtherSchema),
});

I am slightly new to TS, but I believe I am having the same issue: I need to use .passthrough() on a generic function that accepts a Zod object schema as a parameter.
I was able to get TS to recognize that the schema parameter variable has a .passthrough() method by creating this custom type:
type ZodObjectSchema = z.ZodObject<Record<string, z.ZodTypeAny>>;


Add variant distribution constraint

This PR adds a VariantDistributionConstraint which checks if the distribution of values in a column falls within the specified minimum and maximum bounds.

I like this a lot! 🚀
To give a concrete example that might highlight how this could be used:
In our project, we have a timestamp column representing the birthdate of a person. When reading in data, this value gets messed up sometimes. This results in a lot of outliers (e.g. people are suddenly born in 1762) but also a lot of misinterpreted data which causes the values to all be around ~1970.
With this test, we could quantize all timestamps to their respective year resulting in a categorical column with values in [1900, 1901, ..., 2023] and then check that each category only takes up at most 5% of the column -- preventing accumulations.


Fixed incorrect logical type in GroupByScalar.

Closes #390

Codecov Report

Merging #391 (2db22d8) into master (db4f098) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #391   +/-   ##
=======================================
  Coverage   74.94%   74.94%
=======================================
  Files         146      146
  Lines       24314    24314
=======================================
+ Hits        18221    18223    +2
+ Misses       6093     6091    -2

Impacted Files
Coverage Δ

datafusion/src/physical_plan/hash_aggregate.rs
85.21% <100.00%> (+0.36%)
: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 db4f098...2db22d8. Read the comment docs.

Thanks @houqp  -- nice find


Rinkeby Authentication Faucet

I am trying to request some eth for my rinkeby testnet account but I have been having problems with receiving some through the rinkeby authentication faucet. The faucet can not read my eth account on Twitter apparently.
Can anyone send me some rinkeby testnet eth to my account please?
0x5257086471ab48414aE854f461556A5b0B71CcDE
Thanks

Hi!
Can you please share what error message you're getting exactly, and is it the first time you're trying to request test ETH?
It would probably be more useful for you to know how to get it done for next times rather than ask others each time you'll need to fill your test account ;)

For the time being you can go to https://faucets.chain.link/rinkeby and get 0.1ETH per transaction. Not much but I managed to  request a couple of times every other day. It was enough to work without running out of it.

@AnneCh The rinkeby authentication faucet site is acting up. It wouldn't pickup my rinkeby address on Twitter when I post it.

@bot-eth-dev  Checked the site out and it worked. Thanks for that.

@Ya-Sin150 No problem sir :)


Revert "stream-ui: Change view from 2-column to 1-column at width 992px."

This reverts commit 34ada1144833ea7a15848428fec2913c36880f80 (#17343).
My most common browser width is 960px (1920dpx, half of my UHD laptop screen), at which the old stream management and settings pages were fully usable:

But 34ada1144833ea7a15848428fec2913c36880f80 forced them both into the much less useful one-column mode to paper over a positioning bug that I didn’t even have:

I’m happy to consider a solution other than a straight revert, but it should be one that fixes the actual bug, not one that cripples the UI on many devices to avoid exposing it.
Cc @ganpa3.

The positioning bug wasn't the only issue with the current logic, but I agree we should look for a better solution.


Simple "About" page

A simple "About" page with the version number. This required moving the "MaterialApp" widget up to the "runApp" call.
(There's a bunch of whitespace-only changes from re-indenting the widget code.)

Only thought is UX wise if it could be an 'X' to close/dismiss the widget rather than a back button. The arrow implies to me that we're navigating through that popup.

done

Will need a dependency request too

package_info_plus is already on our Approved list for the core package. Do we need a separate request for the Sample Viewer?

Ohh no no, that's all good, I hadn't actually checked 👍

Can we update the ui design and use an AlertDialog instead ?

Can we update the ui design and use an AlertDialog instead ?

We intend to add more information here. It won't all fit in an AlertDialog, especially in landscape mode. We're essentially aiming for something like the About screen in the Swift SDK's Sample Viewer:

Clear now @PaulAllanSturm !


PR_000029649 missing

PR_000029649 is missing from scigraph, probably due to loading an old version of PR

test url
http://matrix.neuinfo.org:9000/scigraph/vocabulary/id/PR_000029649


Support for Additional Converters by Default

Since we're using DeltaSpike we've ended up making some libraries to add a little on top, if it's alright, I thought they could be put in the Add-ons section of the documentation.
These libraries are rather small, but do work, are being maintained, and are unit tested.

As a side note, there appears to be some redundancy in the documentation.
There is a dedicated "Add-ons" page here:
https://deltaspike.apache.org/addons.html
But there is also an "Add-ons" heading under "External Resources" here:
https://deltaspike.apache.org/external.html#_add_ons
Is this intentional? I think it may be better if the Add-ons section was removed from External Resources, and the information conveyed there could be merged with the dedicated Add-ons page?
This allows the Add-ons documentation to be centralized rather than spread across the documentation.
(It's a minimal change, so with consent I could just do it in this PR.)

In general i wonder why dont you contribute directly to DeltaSpike?

I could try to do that if it's alright. I have no problem with committing code in the DeltaSpike project, in fact, I'd prefer it.
I just kept it separate as I needed it for another project and didn't feel familiar enough with the DeltaSpike project internally to feel confident contributing directly.
If you've seen them and believe they could, and should be contributing into this repository, l gladly give it a shot to move them over.

I've gone ahead and moved all the code from my project into DeltaSpike Core Impl module, and updated the code styles to match this repository.
It includes implementations for several standard Java types, tests for each converter, and a small documentation update to mention the additional supported types.
Does this look alright for a PR?

looks very good to me!
@struberg can we merge it?

Since opening this PR, I've noticed Apache BeanUtils has lots of converters similar to how this project does. :thinking:
I was just wondering, since altogether it'd be great to have more converters and some code is quite similar, though the general structure and interface is a bit different.
Would it be feasible to pull them both into a separate project and just have both DeltaSpike and BeanUtils depend on it?
https://github.com/apache/commons-beanutils/tree/master/src/main/java/org/apache/commons/beanutils2/converters

Not sure if both projects are interessing in such a shared codebase. Couldnt we reuse beanutils here? cc @struberg

If possible, it could be nice to get an answer on this.
I'm hoping the pull request to commons-beanutils could be merged soon.

If DeltaSpike may depend on BeanUtils: we can close this, and I may look if I can add BeanUtils in a seperate PR here.
If DeltaSpike won't depend on BeanUtils: I'll rebase rebase/update this to make improvements or match feedback from BeanUtils.

Hi Seth! I'd rather not depend on BeanUtils. The less dependencies we do have, the better it is imo. The code for picking up the converters is rather trivial.
That said, what do you think about doing something similar than we did when implementing mp-config over in Geronimo: implicit converters!
https://github.com/apache/geronimo-config/blob/ConfigJSR/impl/src/main/java/org/apache/geronimo/config/converters/ImplicitConverter.java
I've also added this to the ConfigJSR proposal: https://github.com/eclipse/ConfigJSR/blob/master/spec/src/main/asciidoc/converters.asciidoc#implicit-converters
With that we'd need to add Converters only for those classes where the implicit converter rules do not already apply. Wdyt?

Hey! Understood, I'll squash this PR and match the improvements suggested from BeanUtils.
Even if this won't be merged as is, the logic should still be updated anyway.
Meanwhile, having implicit converters seems cool.
This PR includes 5 converters that would be made redundant, assuming we stuck with the current implementations.

Duration (Duration#parse)
File (File::new)
Instant (Instant#parse)
Period (Period#parse)
URI (URI::new)

Just a note, but something that could've been implicit, but doesn't meet the current spec is #fromString?
But only the following have it in the standard library:

UUID (UUID#fromString)
PosixFilePermissions (PosixFilePermissions#fromString)

Just finished cleaning this up, a summary of the changes:

Squashed the commits.
Reduced the verbosity of the docs/errors. (Semantics are the same, they were just really wordy.)
Used more concise syntax for testing exceptions. (@Test(expected = {}) (Comment)
Updated @since 1.9.5 to @since 1.9.6 since 1.9.5 has already been released.
Duration, Instant, and Period no longer accept Long values by default. (Comment)
Updated tests for URL to compare the URI instead to avoid depending on an internet connection.
Allow British and American spellings for Color. (Comment)


API LIMITS HAVE REACHED

Response Object
Got Http response code 429 when accessing https://api.blockcypher.com/v1/btc/main?token=c0afcccdde5081d6429de37d16166ead.
{
"error": "API calls limits have been reached. To extend your limits please upgrade your plan on BlockCypher accounts page."
}
PS: I'm getting this response after configuring the whole setup of the official sdk .I cannot try samples.i have tried changing tokens and replace them in first.php second.php and bootstrap.php.

Hi @brijitjoshua You have to sign up here:
https://accounts.blockcypher.com/
and get your own token. The free plan has a rate limit (total amount per month and 3 request per second).

Hello,
I signed up and  got my own token and changed the token in the sdk(
first.php, second.php, boostrap.php)  and still I'm getting that error.
Please help me fix this error.
On Tue, May 16, 2017 at 3:29 PM, Jose Celano<EMAIL_ADDRESS>wrote:

Hi @brijitjoshua https://github.com/brijitjoshua You have to sign up
here:
https://accounts.blockcypher.com/
and get your own token. The free plan has a rate limit (total amount per
month and 3 request per second).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/blockcypher/php-client/issues/31#issuecomment-301734638,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVNdxURFz-IXVwThU_WiEEMhXDGmYpIbks5r6XOagaJpZM4NcPQ2
.

--
*Brijit        *

Hey @brijitjoshua the free plan has this limits:
2000 Requests Per Day
200 Requests Per Hour
3 Requests Per Second
200 WebHooks
0 Payment Forwards
200 WebHooks/WebSockets Per Hour
15 Confidence Lookups Per Hour


Ordering obsHistIDs For Twinkles 3

At the weekly meeting today we discussed a plan for ordering the obsHistIDs. The rationale behind this plan is that Twinkles 3 has ~ 25000 visits, which will probably take an appreciable amount of time, and we would like to be able to run meaningful analyses at intermediate times. So, the idea is to order the obshistids such that at intermediate times much shorter than the total walltime, we obtain sets of images which enable some analyses (in supernova and strong lensing analyses).  So the factors for ordering are

Science analyses requiredments from SN and SL (SL has a preference for WFD, SN has a preference for complete light curves)
PhoSim run times estimated via @sethdigel 's phosim time predictor: the idea being that we will try out the quicker runs first in the normal queues and think about other runs later, as our technology improves.

This is the order that we provisionally agreed on:

Drop duplicates: choose propid for WFD when duplicates exist
We will select every unique band and night combination for run 3.1 and order them by expMJD first and then band.
In the case of multiple visits satisfying this combination of unique night + band:
we select a WFD visit if possible, unless the phosim run time estimate exceeds a threshold T1
If no WFD visit is selected select DDF visit with lowest phosim runtime.

My proposed choice of T1 is 120 Hours. Comments welcome!

@sethdigel pointed us to

Seth Digel [1:15 PM]
@rbiswas4 , phosim_cpu_pred.py in the Twinkles repository will provide an estimated phosim CPU time for a given obsHistID; it is set up to use the kraken_1042 sqlite database.

on slack .

Drop duplicates: choose propid for WFD when duplicates exist

What does this mean?  Duplicate combinations of pointing direction + filter but at different times, right?  Can a single observation be credited to more than one proposal?
Because for Twinkles Run 3 (3.1?) we are simulating the fields with no bright stars, the CPU time will be driven primarily by the altitude and phase of the moon.  Phil mentioned recently that we might consider the bright Moon times as effectively representing bad weather that leaves gaps in the time series.  I think that makes sense if we are not under sampling the OpSim visits for these fields anyway, and if we don't mind that the 'bad weather' will be periodic.  (Measurements of the cloud cover at Cerro Pachon indicate that 'on average more than 75% of the nights...are usable for observations', according to this poster by Claver et al.)
I suspect that once the pipeline really gets going, we will not need to worry a lot about the order of the simulations.  In principle the throughput could be a few thousand visits per day (at least for favorable moon altitudes).

Drop duplicates: choose propid for WFD when duplicates exist
What does this mean? Duplicate combinations of pointing direction + filter but at different times, right? Can a single observation be credited to more than one proposal?

Yes, in the current opsim implementation, a single observation can be credited to multiple proposals.
Since it is the same observation it will be at the same time, and the only difference in the two records is the propID.
Therefore, in this selection what we always do in the first step is to drop one of those records. The only thing new is that we are being strict about which of those records to drop ie. we will drop the one with the DDF propid record (56).
So, the bad weather question is different right, and has to do with the dropped runs? I think the 'bad weather' is more like missing observations, but yes the statistical distribution would be more periodic than actual bad weather. Given that in SN, we are not really trying out cosmology so much, I am not worried about that too much. And we do not have much of a choice other than varying the threshold T1. Do you guys have a better feel for what would be nice to use as T1 ?

Yes, the bad weather question is different.  If we do not change the altitude of the moon from the OpSim values we will have visits that we cannot complete in the 120 CPU-hour limit on the SLAC batch farm.  Since we are not otherwise allowing for bad weather, this would sort of be making a virtue out of a necessity.  For Twinkles Run 1 about 10% of the visits never finished.  On the other hand, if you remember the plot below, it is clear that the 'bad weather' preferentially affected g, r, and i band observations.  So aside from the periodicity of the impact of the moon, this is another reason why we should not consider the lost observations 'bad weather'

(I noticed today that part of the reason the CPU time depends so steeply on whether the moon is above the horizon is that if moonalt < 0, phosim sets its magnitude to 10000.)
The CPU time predictor is estimating the time required to run the visit on a 'fell' class CPU in the batch farm.  These are fairly common but now also relatively slow hosts.  (I have a table of relative speeds on this Confluence page.  So if a visit will run in 120 CPU hours on a fell host, it will probably run on any of the hosts.  Still, there's a down side to guessing wrong (using 5 CPU days with nothing to show for it), so I'd recommend being a little conservative and going with T1 = 100*3600 CPU seconds.


Fix severe hangs in tick() when overflowing 10,000 call compaction limit

Tick wasn't properly resetting the callsLength variable after compacting the calls array. Repro, tested in Linux chrome. The basic behavior is call recalls itself on each complete until there are more than 10,000 calls in the queue, velocity tries to compact, and on every subsequent tick is forced to process and complete all 10,000 calls, none of which are false, before continuing. This obviously has a somewhat negative effect on FPS, dropping it to around 1 frame every 3 seconds.
Took a couple days of digging through the code, but what I think is going on is that the calls left after compaction are adding more calls, which are getting executed on the same tick due to the erroneous callsLength value, as velocity typically relies on that pre-cached value to prevent executing calls that were just added... though I'm not entirely sure, because all the calls are identical, which I don't know how to explain. What is certain is that, for whatever reason, this change fixes the issue.
I know you don't typically merge PRs, but I needed this fix anyways for my project, and figured if I'm opening an issue and writing a repro I may as well attach my fix.

I love you. I will go through this over the weekend.

The codepen is broken due to loading velocity.js and velocity.ui.js over HTTP.
Here's one with both loading over HTTPS, nothing else changed. https://jsfiddle.net/nrc6pa1k/
Other than that, it crashes for me too, both FF and Chrome on Mac

Hey @julianshapiro, have you gotten a chance to look at this yet?


[Addition]: Heltec cluster (22 HS)

Hotspot b58 Addresses
1127MYNe4h43Dak2niDZpGVERYWHjDrVUtxRQkRa9KfqL1HMfGkU
112CRyZqacndVd3cQsB7b2BYu4D9ngZx1DVpwZbDfx78wWDpGzHo
112tTSewn58Z9uBaEDiJZvc1HVoF9wqozyU74YaYwxDoZ4tDhbjk
119XDvdHU9tt8g1gNZYFoAia9foW7f5uTGUrxnbadL5VRkCM9Nc
11bM5Zjt6uWnZVfZgdndx5so5oeFfLwsz5ar2YHJvwmwtC9XRrc
11DRRyvASHXDB2CmXbZLUGCqiKxbFqcv9w2RzuVuECnPgqJQFNA
11G8Ma3E2MSMACHna5Kx7xfZtCmciWHShvJnAW6HiMBsVkUa9jd
11j5orargmsGXxbQR2zSoTnPa6e1enrf8PdJe2FhdRG5dQjaS9r
11s4CBUKGdR4B52K4LGyeWyz2ABVfXmh5uXQtBxYe691Hh8gDRA
11TJZoKbDRJeWw3vxo6aKLh35iF4xbcuiesstMDAP7C7cBMNQyh
11xUP6pxGEovVSDQPqBRh1zrEGCxE738Ssa8nKd3qk5QtiertRj
Discord Handle
No response
Reason(s)
These Hotspots are only witnessing their own brand, have very often a unlikely (perfect) placement, same assertion date-range and usually there are enough real hotspots arround but these do not get witnessed at all.
Below some proof of the cluster(s):

All of them are 470. Why not pull SQL directly?


Does Vimeo Player not support video chapters?

### The below Vimeo video have chapters but  its doesnt show the chapeters

The library now uses an InAppWebView to play Vimeo videos, as the public config endpoint of vimeo has been deprecated and is no longer in use.
Please check out the latest version.
@prabavgts We're using a public approach rather than the official SDK, I recommend checking out the official Vimeo Developer documentation for more insights on your issue.
Thanks.


cg: always start line search with unit step length

The example for Booth function fails with cg because the step length becomes 0. A remedy is to always start line search with a step length of 1.

Read Nocedal and Wright again and found that CG does not produce scaled search directions and resetting the step length to unity is not a preferred strategy.


Host Firewall + Endpoint Routes drops small ICMP replies for local endpoints

The combination of enable-host-firewall=true and enable-endpoint-routes=true seems to drop small ICMP packets, e.g.:
$ cilium endpoint list
ENDPOINT   POLICY (ingress)   POLICY (egress)   IDENTITY   LABELS (source:key[=value])                                                  IPv6         IPv4          STATUS
           ENFORCEMENT        ENFORCEMENT
610        Disabled           Disabled          4          reserved:health                                                              fd00::5d52   <IP_ADDRESS>   ready
894        Disabled           Disabled          1          reserved:host                                                                                ready
2649       Disabled           Disabled          112        k8s:io.cilium.k8s.namespace.labels.kubernetes.io/metadata.name=kube-system   fd00::69fa   <IP_ADDRESS>   ready
                                                           k8s:io.cilium.k8s.policy.cluster=default
                                                           k8s:io.cilium.k8s.policy.serviceaccount=coredns
                                                           k8s:io.kubernetes.pod.namespace=kube-system
                                                           k8s:k8s-app=kube-dns

$ ping -c1 -s8 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 8(36) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
$ hubble --server unix:///run/cilium/hubble.sock observe --ip <IP_ADDRESS> --protocol icmp
Dec  8 16:25:30.443: <IP_ADDRESS> <> kube-system/coredns-6874cd75d4-gljs7 from-stack FORWARDED (ICMPv4 EchoRequest)
Dec  8 16:25:30.443: <IP_ADDRESS> -> kube-system/coredns-6874cd75d4-gljs7 to-endpoint FORWARDED (ICMPv4 EchoRequest)
Dec  8 16:25:30.443: kube-system/coredns-6874cd75d4-gljs7 <> <IP_ADDRESS> from-endpoint FORWARDED (ICMPv4 EchoReply)
Dec  8 16:25:30.443: kube-system/coredns-6874cd75d4-gljs7 <> <IP_ADDRESS> Invalid packet DROPPED (ICMPv4 EchoReply)
$ # observe last event is a drop `DROP_INVALID`

$ # Larger packets size (payload size 16) work fine:
$ ping -c1 -s16 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 16(44) bytes of data.
24 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.095 ms

--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.095/0.095/0.095/0.000 ms
$ hubble --server unix:///run/cilium/hubble.sock observe --ip <IP_ADDRESS> --protocol icmp
Dec  8 16:27:15.958: <IP_ADDRESS> <> kube-system/coredns-6874cd75d4-gljs7 from-stack FORWARDED (ICMPv4 EchoRequest)
Dec  8 16:27:15.958: <IP_ADDRESS> -> kube-system/coredns-6874cd75d4-gljs7 to-endpoint FORWARDED (ICMPv4 EchoRequest)
Dec  8 16:27:15.958: kube-system/coredns-6874cd75d4-gljs7 <> <IP_ADDRESS> from-endpoint FORWARDED (ICMPv4 EchoReply)
$ # no drops observed

Cilium version: master 1.11.90 6c169f63ec254de7777483b6f01c261215f9ec9c
A few data points:

This only happens for local endpoints, and only if both endpoint routes and host firewall are enabled
Observed on kernel 4.9, 4.19, 5.4 and net-next (5.15.0-rc3-g431bfb9ee3e2) https://github.com/cilium/cilium/pull/18153#issuecomment-988732181
allow-icmp-frag-needed=false does not help

I don't believe this is fixed yet.


Collection of various changes

The real problem is that by changing the name I had to re-upload the package. This gave it a different signature and it can no longer be updated. This is of course not useful in any way. Hence the whole problem. I apologize for everything.

Hi @jplight,
Can you please reinstall the package lichesspy on the server. That would be quite important. This is because I have redone the account on PyPi. I apologize for this incident. It will only occur again in a very small number of cases.

Fix Names @Riffecx

The manual now also has the correct bot syntax. Before there was still the old one in there.

Now let's start with the YouTube patch.
So, ... YouTube uses 11 random alphanumeric characters to give its videos a unique identifier. We want to adopt that as well.

Thank you


Bindless textures sample

Hello there, I've finally understood how to work with bindless textures (or any shader visible descriptor for that matter) and I've put together a small sample to illustrate how it could work in the context of zig-gamedev.
I've had to make 2 main changes to graphics.zig, both non-breaking hopefully.
515e43f adds another createGraphicsShaderPipeline* variation that takes in a Root Signature as input.
36994cd adds a PersistentDescriptorHeap that can be reserved upon initialization and that I'm using in the provided sample for all bindless resources.
I think that the PersistentDescriptorHeap should be more integrated into GraphicsContext or maybe even collapsed into DescriptorHeap.
I've used Matt Pettineo's chapter and code from Ray Tracing Gems 2 as a guide for this implementation. The DescriptorHeap struct in particular (and associated operations) were really insightful.
https://github.com/TheRealMJP/DXRPathTracer/blob/master/SampleFramework12/v1.02/Graphics/GraphicsTypes.h#L38
I consider this PR an MVP or proof of concept. The API's I've added are not really ergonomic, "bindless mipmaps" are broken and the PersistentDescriptorHeap is not thread-safe.
Before I go ahead, I'd like to have your thoughts and feedback since I feel like the changes I'm proposing are more "architectural" than a simple API usage sample :)
Have a great day!

Great, thanks! I will look at it later today or tomorrow morning.

Sorry for the delay. I got sick today - now I feel bit better but still not great.
I really like the direction but I would like to simplify few things.
Defining root signature in code is verbose this is why I always define this as string in the shader. What do you think about this approach?
I think we can quite easily add support for persistent descriptors directly to GraphicsContext. I have an early idea but I need to think it through a bit more.
Also, we now have some common mesh loading code in library.zig appendMeshPrimitive - can you please use this? You can see an example in mesh_shader_test.zig (just skip the meshoptimizer steps).
I really appreciate your work - it will make the framework better and more roboust!

Hey there, sorry to hear you're sick. I hope you get better soon! Thanks for making time for reviewing this nonetheless :)

Defining root signature in code is verbose this is why I always define this as string in the shader. What do you think about this approach?

Yes, I've noticed how verbose it got while creating the sample. I don't have much experience with D3D12, so I trust your approach. I'll try to #define the root signature in the shader like in all the other samples. Should I remove the new function that takes in a root signature when creating a PSO?

I think we can quite easily add support for persistent descriptors directly to GraphicsContext. I have an early idea but I need to think it through a bit more.

That's great! I had initially tried to change GraphicsContext myself to add support for it, but I was touching too many parts and I wasn't confident my changes weren't breaking things.

Also, we now have some common mesh loading code in library.zig appendMeshPrimitive - can you please use this? You can see an example in mesh_shader_test.zig (just skip the meshoptimizer steps).

Absolutely, will change this right away!

I really appreciate your work - it will make the framework better and more robust!

Thank you <3

Great, so much less code :) I'm looking into persistent descriptors right now.

Awesome! I am really looking forward to your solution!

I have submitted my code, usage is as follows:
// create resource
const cpu_handle = grfx.allocateCpuDescriptors(.CBV_SRV_UAV, 1);
// create shader resource vie using cpu_handle
const stable_index = grfx.allocatePersistentGpuDescriptors(1, cpu_handle);

stable_index is an index into bound descriptor heap and can be directly passed to shader. Please let me know if it works for you.

I think I found even better solution - please do not use current code just yet.

I think I found even better solution - please do not use current code just yet.

You can now do:
const  descriptor = grfx.allocatePersistentGpuDescriptors(1);

pub const PersistentDescriptor = struct {
    cpu_handle: d3d12.CPU_DESCRIPTOR_HANDLE,
    gpu_handle: d3d12.GPU_DESCRIPTOR_HANDLE,
    index: u32,
};

You can now do:
const  descriptor = grfx.allocatePersistentGpuDescriptors(1);

pub const PersistentDescriptor = struct {
    cpu_handle: d3d12.CPU_DESCRIPTOR_HANDLE,
    gpu_handle: d3d12.GPU_DESCRIPTOR_HANDLE,
    index: u32,
};

Really nice API! I will update the sample and add the missing shading parts as well (BRDF, LUT, etc...).

Really nice API! I will update the sample and add the missing shading parts as well (BRDF, LUT, etc...).

Hello there, I've managed to replicate the PBR sample in my bindless sample.
Unfortunately, there are 2 things I'm struggling with that I can't get to work correctly:
1 - Mipmap generation doesn't seem to work when I create textures as bindless resources
2 - I cannot figure out how to generate Irradiance, Prefiltered Env and BRDF integration textures as bindless resources
In the case of mipmap generation, all mip levels, except level 0, are completely black.

Nice! Will review the code tomorrow and try to help with those two issues. Thanks!

All looks fine to me. I have only one suggestion. Instead of declaring an array of Textures2D we could use built in ResourceDescriptorHeap array (HLSL 6.6). This would allow us to remove this line:
// Bind bindless texture descriptor table
grfx.cmdlist.SetGraphicsRootDescriptorTable(3, demo.bindless_descriptor_gpu_start);

And we would access textures as:
    Texture2D srv_ao_texture = ResourceDescriptorHeap[draw_const.ao_index];

What do you think?

Great, I will switch to ResourceDescriptorHeap :)

It worked like a charm, thanks for reviewing the PR :)


FitBound Issue

Hi,
Fitbound internally calls the Zoom event. How to stop calling the Zoom event after fitbound. Is there any option or callback for Fitbound.
Please give some suggestion to stop zoom on fitbound.
Thanks in advance.

Hi, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.


Did you try with server-side rendering?

Hi @Aymkdn ,
I'm using your plugin with success on a full client oriented Vue.js, but when trying to use server-side rendering (not Nuxt.js but the official SSR) I'm getting from the Vue server:
/Uxxxxxxxxxxxx/node_modules/v-snackbars/v-snackbars.vue:1
<template>
^

SyntaxError: Unexpected token '<'
    at wrapSafe (internal/modules/cjs/loader.js:1054:16)
    at Module._compile (internal/modules/cjs/loader.js:1102:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Module.require (internal/modules/cjs/loader.js:1026:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at r (/Uxxxxxxxxxxxx/node_modules/vue-server-renderer/build.dev.js:9315:16)
    at Object.v-snackbars (webpack:/external "v-snackbars":1:0)
    at __webpack_require__ (webpack/bootstrap:25:0)
    at Module../node_modules/cache-loader/dist/cjs.js?!./node_modules/ts-loader/index.js?!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ErrorsToaster.vue?vue&type=script&lang=ts& (js/app.js:316:69)
    at __webpack_require__ (webpack/bootstrap:25:0)
    at Module../src/components/ErrorsToaster.vue?vue&type=script&lang=ts& (src/components/ErrorsToaster.vue?429b:1:0)
    at __webpack_require__ (webpack/bootstrap:25:0)
    at Module../src/components/ErrorsToaster.vue (src/components/ErrorsToaster.vue:1:0)
    at __webpack_require__ (webpack/bootstrap:25:0)

which makes a 500 error on the frontend.

I tried to remove the snackbars from the template, it was failing too
I thought I would have to use https://github.com/egoist/vue-client-only that works well to not render some components from the server but when I tried to remove the component from my view component ({ components: VSnackbars }) and it works well (without your plugin so)

I can continue to investigate but just wanted to know if you did this before?
Thank you,

No, I didn't try... Sorry.

I succeeded in using it by removing my import from the view component, so there is not:
{
  ...,
  components: {
    VSnackbars,
  },
}

But instead in my entry-client.js file I did the following:
import VSnackbars from 'v-snackbars';
Vue.component('v-snackbars', VSnackbars);

Note: in addition in the template I wrapped the v-snackbars with client-only to make it not rendered when serving from server, but it has no effect to make it working
Hope it helps :)
Thank you,

For nuxt users: You can just add this to build options in nuxt.config.js:
build: {
    transpile: [
      'v-snackbars',
    ],
}


NIFI-9061: Eliminated the nifi.cluster.node.protocol.threads property…

… in favor of nifi.cluster.node.protocol.max.threads property so that we can properly scale out the number of threads used for HTTP request replication. Implementing a caching mechanism for creating the DateTimeFormatter used by TimeAdapter in order to improve performance when parsing timestamps in web requests. Implementing caching logic for caching the number of characters that can rendered without needing an ellipsis for some components in the UI

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
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 main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

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?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] 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 GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Reviewing...


typescript(vx-demo): rewrite Dots + Streamgraph examples in TypeScript

:memo: Documentation
This PR is part of #579 to re-write the vx-demo site in TypeScript. It re-writes the Dots + Streamgraph examples in TypeScript.
🚀 Enhancements
Made Stack Key an optional generic in @vx/shape, previously it was number | string
Before/After

Testing

[x] functional
[x] CI

cc @hshoff @kristw @schillerk

going to merge this to re-use the Stack key changes in another demo PR


Static load characteristics

It is necessary to perform the calculation taking into account the static characteristics of the load.

Added with https://github.com/ealux/PowerFlowCore/commit/9ea285eefb8ea0166dd3018a397d9cea0aebea93.
Added interface IStaticLoadModel as contract for static load model.
Added ZIP struct as polynomial model.
INode was modified within public int? LoadModelNum property for references to public Dictionary<int, IStaticLoadModel> LoadModels collection of static models in Grid. Also S_calc property was added.
Added sample grid Nodes4_1PV_ZIP with example usage:
var SLM = new Dictionary<int, IStaticLoadModel>()
{
    [1] = new ZIP("Test zip",
                  p0: 0.8, p1: 0.1, p2: 0.1,
                  q0: 0.8, q1: 0.1, q2: 0.1,
                  umin: 107, umax: 110)
};

grid.LoadModels = SLM;

With https://github.com/ealux/PowerFlowCore/commit/37770f795e4e327be8c62d03736d9db84ac01294 added:

ZIP is class now;
Umin/Umax accounted as relative units;
Submodels to parent model;
Validation on model coefficients and Umin/Umax ranges
Initialize method to create ZIP model;
Static class ZIPExtentions to add submodels with AddModel method and validate model with Validate method;

Example of usage in Nodes4_1PV_ZIP grid:
var SLM = new Dictionary<int, IStaticLoadModel>()
            {
                [1] = ZIP.Initialize("Test zip",
                                     p0: 0.6, p1: 0.2, p2: 0.2,
                                     q0: 0.6, q1: 0.2, q2: 0.2,
                                     umin: 0.965, umax: 0.974)
                          .AddModel(ZIP.Initialize("Test zip - Child 1",
                                                   p0: 0.7, p1: 0.15, p2: 0.15,
                                                   q0: 0.7, q1: 0.15, q2: 0.15,
                                                   umin: 0.975, umax: 0.987))
                          .AddModel(ZIP.Initialize("Test zip - Child 2",
                                                   p0: 0.8, p1: 0.1, p2: 0.1,
                                                   q0: 0.8, q1: 0.1, q2: 0.1,
                                                   umin: 0.988, umax: 1.1))
            };

            grid.LoadModels = SLM;

Ready for test  (@Windsl).

Modification at https://github.com/ealux/PowerFlowCore/commit/a6a96c5f6224920b438a08f0129f0329a11a3f28
Usage:
var SLM = new Dictionary<int, CompositeLoadModel>()
            {
                [1] = CompositeLoadModel.ComplexLoadNode_110kV(),
                [2] = CompositeLoadModel.ComplexLoadNode_35kV(),
                [3] = CompositeLoadModel.Initialize(P: ZIP.Initialize("Parent model P", a0: 0.6, a1: 0.2, a2: 0.2),
                                                    Q: ZIP.Initialize("Parent model Q", a0: 0.6, a1: 0.2, a2: 0.2),
                                                    umin: 0.965, umax: 0.974)
                                        .AddModel(CompositeLoadModel.Initialize
                                                   (P: ZIP.Initialize("Child - 1 model P", a0: 0.7, a1: 0.15, a2: 0.15),
                                                    Q: ZIP.Initialize("Child - 1 model Q", a0: 0.7, a1: 0.15, a2: 0.15),
                                                    umin: 0.975, umax: 0.987))
                                        .AddModel(CompositeLoadModel.Initialize
                                                   (P: ZIP.Initialize("Child - 2 model P", a0: 0.8, a1: 0.1, a2: 0.1),
                                                    Q: ZIP.Initialize("Child - 2 model Q", a0: 0.8, a1: 0.1, a2: 0.1),
                                                    umin: 0.988, umax: 1.1))
            };

            grid.LoadModels = SLM;


Print 'buildah version' at top of workflow

Same way we do with podman version in PTR

Done in https://github.com/redhat-actions/buildah-build/commit/54ff9945b9f9320e460006b5ea63dfac279906b0