Elastic Average optimizer

I have implemented a new distributed optimizer "ElasticAverageOptimizer". It is mentioned in the following issue:
#12472
EASGD is an async optimizer. During the training, Each worker will update the local variables and maintains its own local_step, which starts from 0 and is incremented by 1 after each update of local variables. Whenever the communication period divides the local step, the worker requests the current global center variables and then computed the elastic difference between global center variables and local variables. The elastic difference then be used to update both local variables and global variables.
[Reference]: https://arxiv.org/pdf/1412.6651.pdf

Can one of the admins verify this patch?

@joshburkart could you take a look?

Unfortunately I don't feel comfortable reviewing this... I don't know the paper referenced and I also am not super familiar with using TF in distributed contexts... Sorry!

cc @ry who's reviewing related method in https://github.com/tensorflow/tensorflow/pull/11581

@jinxin0924 @yaroslavvb I'm happy to review it (which entails trying to repeat the results) but I won't have time for two weeks. Hit me up around Oct 2 if someone else hasn't yet.

@ry Thanks a lot. Besides, I have also implemented model average, which may be better than #11581. Do you think it is appropriate to make a new pull request?

@jinxin0924 Let's do one at a time : ) make sure you have tests similar to what I proposed here https://github.com/ry/tensorflow/commit/764cd38b6407421e4fe23cf8cd9d2518ef043c8d
I wasn't able to get the original ModelAvg working due, I think, due to a bug demonstrated by that.

@jinxin0924 can you take a look at the comment from @ry about adding a test.

@sb2nov I think the test @ry mentioned  is about Model Average, other optimizer that I want to make pull request in the future, not this EASGD pr. :)

@ry ping for review

@jinxin0924 Could you attach some test results(like Execl tables, benchmark pictures, etc)? Moreover, would you completely implement the EASGD as the paper described?
@drpngx @joshburkart I'm familiar with EASGD, so I may help review the PR.

Jenkins, test this please.

@ry any thoughts on the newest code?

@drpngx I'm sorry, I've left Google, and cannot review this anymore. I apologize for not handing this off to someone else.
@vrv might be able to suggest a new reviewer. (I have some code in my experimental directory called distbench to test distributed training, in case that's helpful.)

@jinxin0924 Would you mind attaching some test results and test scripts for EASGD? I think that would help us judge and evaluate the PR.
@drpngx Personally speaking, the implementation and code are make sense. Hope get some advice from @vrv .

@alextp, thanks for review.
"I prefer if you implement trainable as an explicit parameter to your custom_getter, like other custom_getters in tf are implemented." - Could you please give me some examples?

@jinxin0924 example https://github.com/tensorflow/tensorflow/blob/4e69e02241067129379f73dd4fefe57f0a12bdc9/tensorflow/python/training/moving_averages.py#L130

I agree these updates should be placed in the apply_gradients function, but
I think they can be handled independently in the apply_dense / apply_sparse
methods.
On Sun, Nov 12, 2017 at 5:19 PM, JxKing<EMAIL_ADDRESS>wrote:

@jinxin0924 commented on this pull request.
In tensorflow/contrib/opt/python/training/elastic_average_optimizer.py
https://github.com/tensorflow/tensorflow/pull/13012#discussion_r150432917
:

 An `Operation` that applies the specified gradients. If `global_step`

 was not None, that operation also increments `global_step`.

Raises:

 TypeError: If `grads_and_vars` is malformed.

 ValueError: If none of the variables have gradients.

"""
apply_updates = self._opt.apply_gradients(grads_and_vars)
with ops.control_dependencies([apply_updates]):

 local_update = state_ops.assign_add(

   self._local_step, 1, name='local_step_update').op

update global variables.

def _Update_global_variables():

 local_vars = variables.trainable_variables()

 global_center_vars = ops.get_collection_ref(GLOBAL_CENTER_VARIABLE)

In EASGD, the vars in grads_and_vars should be updated at each step, and
the global variables will be updated when the step is divided by
communication_period. I think these variables update should be placed in
apply_gradients function. Should I add local_vars and global_center_vars to
the apply_gradients function as arguments?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/13012#discussion_r150432917,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxVXHHahWWs22bf77OkU790NBNkJbks5s15kxgaJpZM4PV-8Y
.

--

Alex

@alextp, I have updated the custome_getter. Now the customer_getter has two maps and is directly available to the optimizer.
I do not understand why the updates of global/local center variables will be better in apply_dense / apply_sparse, which may needs much more codes to implement.

@jinxin0924 I think you have to rebase your dev branch to solve the conflict.

@DjangoPeng , Sure, thanks for reminding.

Jenkins, test this please.

@alextp, could you help me with the failed checks? I did not understand what happened.

Jenkins, test this please.

It claimed an infrastructure error so let's try again.

Traceback (most recent call last):
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin_x86_64-opt/bin/tensorflow/tools/test/check_futures_test.runfiles/org_tensorflow/tensorflow/tools/test/check_futures_test.py", line 107, in
main()
File "/Volumes/BuildData/tmpfs/tmp/bazel/execroot/org_tensorflow/bazel-out/darwin_x86_64-opt/bin/tensorflow/tools/test/check_futures_test.runfiles/org_tensorflow/tensorflow/tools/test/check_futures_test.py", line 103, in main
raise AssertionError('Error in %s: %s' % (short_path, str(e)))
AssertionError: Error in contrib/opt/python/training/elastic_averaging_optimizer_test.py: Missing futures: division absolute_import print_function
To fix this you need to "from future import .."; copy all the imports in the other tensorflow python files.

@alextp, thanks so much.

@tensorflow-jenkins test this please

@jinxin0924 It looks like a test file is missing from this PR:
https://ci.tensorflow.org/job/tensorflow-pull-requests-gpu/7893/consoleFull

ERROR: missing input file '//tensorflow/contrib/opt:python/training/elastic_average_optimizer_test.py'.
ERROR: /workspace/tensorflow/contrib/opt/BUILD:177:1: //tensorflow/contrib/opt:elastic_average_optimizer_test: missing input file '//tensorflow/contrib/opt:python/training/elastic_average_optimizer_test.py'.
INFO: Building complete.
 I have renamed the test file.

@tensorflow-jenkins test this please

@jinxin0924 There are test failures. For example: https://ci.tensorflow.org/job/tensorflow-pull-requests-cpu-python3/7533/consoleFull
Please take a look and see if you can fix them.

@caisq It was the zip difference in py2 and py3 which caused failures.  I have modified it and tested both in py2 and py3.

Jenkins, test this please
On Sun, Dec 10, 2017, 9:45 PM JxKing<EMAIL_ADDRESS>wrote:

@caisq https://github.com/caisq It was the zip difference in py2 and
py3 which caused failures. I have modified it and tested both in py2 and
py3.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/13012#issuecomment-350627738,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT_SbRCJ22v9YlcYqPCB4bua9l7bXMrdks5s_MGDgaJpZM4PV-8Y
.

Thanks, @jinxin0924 !

@jinxin0924 Congratulations! 🎉

@caisq @DjangoPeng Thansk!


Add support for eth_newPendingTransactionFilter

Creates a filter in the node, to notify when new pending transactions arrive and returns the filter ID.

This should be safe to close.  This is already supported by web3-provider-engine.


load test: Analytics integration client error on postscore

#111
while running leaderboard load testing on a Free tier web app, post score reported the following error:
reported when running 100 users loads
2017-03-12 14:40:33.969 +00:00 [Error] Error sending analytics ScoreEvent: "System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.EventHubs.Amqp.AmqpEventHubClient.<CreateConnectionAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.<OnCreateAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Azure.Amqp.Singleton`1.<CreateValue>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Azure.Amqp.Singleton`1.<GetOrCreateAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.EventHubs.Amqp.AmqpEventDataSender.<CreateLinkAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.<OnCreateAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Azure.Amqp.Singleton`1.<CreateValue>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Azure.Amqp.Singleton`1.<GetOrCreateAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.EventHubs.Amqp.AmqpEventDataSender.<OnSendAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Azure.EventHubs.Amqp.AmqpEventDataSender.<OnSendAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.EventHubs.EventHubClient.<SendAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Nether.Integration.Default.Analytics.AnalyticsIntegrationEventHubClient.<SendGameEventAsync>d__2.MoveNext() in C:\Projects\nether\src\Nether.Integration.Default\Analytics\AnalyticsIntegrationEventHubClient.cs:line 30
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Nether.Web.Features.Leaderboard.ScoreController.<SendScoreEventAndLogErrors>d__5.MoveNext() in C:\Projects\nether\src\Nether.Web\Features\Leaderboard\Controllers\ScoreController.cs:line 88"
2017-03-12 14:40:33.969 +00:00 [Information] Executing HttpStatusCodeResult, setting HTTP status code 200
2017-03-12 14:40:33.969 +00:00 [Information] Executed action "Nether.Web.Features.Leaderboard.ScoreController.Post (Nether.Web)" in 1530.0597ms
2017-03-12 14:40:33.969 +00:00 [Information] Request finished in 1532.8306ms 200
2017-03-12 14:40:33.983 +00:00 [Information] Request starting HTTP/1.1 GET http://nether312.azurewebsites.net/identity/.well-known/openid-configuration/jwks
2017-03-12 14:40:33.983 +00:00 [Information] Invoking IdentityServer endpoint: "IdentityServer4.Endpoints.DiscoveryEndpoint" for "/.well-known/openid-configuration/jwks"
2017-03-12 14:40:34.172 +00:00 [Information] Successfully validated the token.
2017-03-12 14:40:34.172 +00:00 [Information] HttpContext.User merged via AutomaticAuthentication from authenticationScheme: "Bearer".
2017-03-12 14:40:34.172 +00:00 [Information] AuthenticationScheme: "Bearer" was successfully authenticated.
2017-03-12 14:40:34.172 +00:00 [Information] Scopes found on current principal: "scope: nether-all"
2017-03-12 14:40:34.172 +00:00 [Information] Authorization was successful for user: "loadUser9157".
2017-03-12 14:40:34.172 +00:00 [Information] Executing action method "Nether.Web.Features.Leaderboard.ScoreController.Post (Nether.Web)" with arguments (["Nether.Web.Features.Leaderboard.Models.Score.ScorePostRequestModel"]) - ModelState is Valid
2017-03-12 14:40:34.280 +00:00 [Information] Successfully validated the token.
2017-03-12 14:40:34.280 +00:00 [Information] HttpContext.User merged via AutomaticAuthentication from authenticationScheme: "Bearer".
2017-03-12 14:40:34.280 +00:00 [Information] AuthenticationScheme: "Bearer" was successfully authenticated.
2017-03-12 14:40:34.280 +00:00 [Information] Scopes found on current principal: "scope: nether-all"
2017-03-12 14:40:34.280 +00:00 [Information] Authorization was successful for user: "loadUser9551".
2017-03-12 14:40:34.280 +00:00 [Information] Executing action method "Nether.Web.Features.Leaderboard.ScoreController.Post (Nether.Web)" with arguments (["Nether.Web.Features.Leaderboard.Models.Score.ScorePostRequestModel"]) - ModelState is Valid

Does this happen for every score that is posted?
Would be interesting to know if this happens on Basic tier.

just tested with 25 users on a free tier - happens as well.

I've just created https://github.com/MicrosoftDX/nether/pull/402 which changes the config so that the AnalyticsIntegrationEventHubClient instance is reused, rather than created each time it is needed. Since that class maintains the EventHubClient instance as a member, that will cut down on the number of instances of EventHubClient being created
I have a recollection that the EventHubClient internals re-use message factories, but am not 100% sure so it would be interesting to test.

testing with #402:
100 users on basic tier - no errors
100 users on free tier - no errors

resolved with #402


AWS ECS Fargate

Feature request template
Title: AWS ECS Fargate support
Description:

Do You have plans for supporting ECS Fargate objects?
We plan to use cartography with our AWS Organizations. Currently, the AWS ECS Fargate is the main service for us

No current plans, but help absolutely welcome :)


[Fix] Onnxruntime-gpu install not compatible

Related to issue: https://github.com/neuralmagic/sparseml/issues/704

Converting back to draft, found that this silently breaks onnx and transformer tests. Working on a solution.

LGTM, any reason this was moved to a draft?

@bfineran yeah, I did not get a chance to run some manual sanity check if this really works.
Just tested by creating a fresh venv, installing only onnxruntime-gpu and then running python setup.py install.

Looking good.

Closing, replaced by #789.


[newrelic-pixie] fixing secret name

Is this a new chart
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[ ] Title of the PR starts with chart name (e.g. [mychartname])

 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.Ben Codner seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @bencodner,
Thanks a lot for your contribution. Could you give us some more detail on this? I'd appreciate some context on what is wrong with the current value.

Closing this PR as stale. Please reopen this PR when you are ready to retake a look at it.
Thank you for your contribution!


Time Zone setting

First of all: Thanks for that great Weather Radar Card :-)
I am using my Home Assistant instance in Germany and therefore, my timezone setting in Home Assistant is GMT+1
Having installed the card via HACS, I am wondering which time zone is used in the card at the bottom:

Would it be possible to change the timezone according to the Home Assistant server settings?

It should be using whatever local time on your system gives.
I am a little confused as an hour or so ago (when you opened this issue) the time in Germany was roughly 9am so that time looks about right. What time were you expecting to see?

@michl270 did you resolve this?

Hi @Makin-Things,
Thanks very much for your fast reply. My assumption is, that the radar shows predictive information.
I have set the frame count to 25. The loop always ends at my current local time. Please see attached video:
https://user-images.githubusercontent.com/75853405/168548837-5a77de87-9689-4383-9950-78598bf72959.mp4
Thanks for your assistance :-)

No radar loops are not predictive. They show actual radar images as captured by meteorological radars. So generally the loop will finish 5-10 minutes before you local time. Basically they show what is really happening.

Ok - thanks for the information. Knowing that, everything is working as designed and expected.


ASP.NET Core 2.2 + Swagger examples don't compile

I need a basic example of integration with ASP.NET Core 2.2 and Swagger.
This example doesn't work because the .GetApiVersion() call cannot be resolved.
And this example doesn't work because the .IsDeprecated() call cannot be resolved.
Which assemblies do these come from?
I'm using a standard project, from the official template. I'm using the Microsoft.AspNetCore.Mvc.Versioning nuget package.

Ok turns out the correct package is Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.


fix: incorrect command in helm-deploy docs

Signed-off-by: Eric Shen<EMAIL_ADDRESS>
Motivation
In the helm-deploy, the sample uses helm upgrade --install pulsar apache/pulsar command which is incorrect. It should be helm install rather than helm upgrade.
Modifications
Update the sample command.
Impact
No code change.

@Anonymitaet PTAL

@freeznet could you please help review this PR from the technical perspective? Thanks

@freeznet @Anonymitaet Ok , i will put another commit to change on previous versions.

helm upgrade --install will install the chart if the chart doesn't exist. why is that a problem?

helm upgrade --install will install the chart if the chart doesn't exist. why is that a problem?

Well, It's my fault. I didn't realize that there is a --install flag for helm upgrade command before @freeznet 's comment. So, shall we keep the deploy command with helm upgrade --install or change to use helm install?

I think we'd better make the unifying of helm install command across the whole docs. This means, for the sections Get started in Kubernetes and Install Apache Pulsar using Helm should using the same install command.
So if we decide to use helm install,  this PR is LGTM. otherwise, a new PR should be created to change helm install to helm upgrade --install in Get started in Kubernetes.
Also, from my experience, a ready to used command for the first-time deployment is better for the user, so I suggest putting --set initialize=true in the code snippet by default. heard some of the users failed with the first-time deployment because they forget to set --set initialize=true.

@freeznet agreed with that. If we make it consistent across the places, I am fine with whatever change we use.

@freeznet I just checked the command in Get started in Kubernetes and it uses helm install....

@ericsyh fine, then we keep consistent for all docs (use helm install), your PR looks good.


feat: Spaced avatar group style

SUMMARY:
Add spaced grouping for avatar group
GITHUB ISSUE (Open Source Contributors)
JIRA TASK (Eightfold Employees Only):
ENG-40399
CHANGE TYPE:

[ ] Bugfix Pull Request
[x] Feature Pull Request

TEST COVERAGE:

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

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

Codecov Report

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

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #550   +/-   ##
=======================================
  Coverage        ?   84.45%
=======================================
  Files           ?      790
  Lines           ?    16724
  Branches        ?     5857
=======================================
  Hits            ?    14125
  Misses          ?     2530
  Partials        ?       69

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

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


TST: Fix TestCtypesQuad failure on Python 3.5 for Windows

This fixes two test errors on Python 3.5 for Windows.
Python 3.5 is now using the Universal CRT. ctypes.util.find_msvcrt() returns None. See http://bugs.python.org/issue23606.
Please backport to 0.16.x.
======================================================================
ERROR: test_improvement (test_quadpack.TestCtypesQuad)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "X:\Python35\lib\site-packages\numpy\testing\decorators.py", line 146, in skipper_func
    return f(*args, **kwargs)
  File "X:\Python35\lib\site-packages\scipy\integrate\tests\test_quadpack.py", line 42, in setUp
    self.lib = ctypes.CDLL(file)
  File "X:\Python35\lib\ctypes\__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
TypeError: bad argument type for built-in operation

======================================================================
ERROR: test_typical (test_quadpack.TestCtypesQuad)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "X:\Python35\lib\site-packages\numpy\testing\decorators.py", line 146, in skipper_func
    return f(*args, **kwargs)
  File "X:\Python35\lib\site-packages\scipy\integrate\tests\test_quadpack.py", line 42, in setUp
    self.lib = ctypes.CDLL(file)
  File "X:\Python35\lib\ctypes\__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
TypeError: bad argument type for built-in operation

Following the logic of https://github.com/scipy/scipy/pull/5203#issuecomment-136159678, I've merged it. Thank you Christoph.

backport PR here https://github.com/scipy/scipy/pull/5207


fix #4854

Tracking issue
_https://github.com/flyteorg/flyte/issues/4854_
What changes were proposed in this pull request?
Replace self.container_image with self.get_image() to accommodate the error caused by the placeholder string.
Check all the applicable boxes

[x] I updated the documentation accordingly.
[ ] All new and existing tests passed.
[x] All commits are signed-off.

thank you!


Max pids is set to 32768

What happened:
Nodes crashed because we didn't set a max pids per pod.
What you expected to happen:
Question is why this is set to 32768? Which seems to be the max value for 32-bit.
Can we raise it? I'll make the PR.
How to reproduce it (as minimally and precisely as possible):
Run a lot of Java :')

I don't have any concerns with increasing this value, because the current default is mostly arbitrary. However, we don't want to mask issues such as https://github.com/DataDog/datadog-agent/issues/12997, so we shouldn't increase it too dramatically.
@dza89 for your use-case, what value has proved stable? Increasing by a factor of 2 seems like a good first step.

We actually hit the same issue as datadog in kube. We implementated a pod pid limit to make sure it doesn't happen again.
But even so, 32768 is just really low, I just checked my arch machine and it's 4194304. We raised it to 262144, but that value is completely arbitrary.

Oh interesting, it sounds like Arch is just using the maximum possible value. From proc manual:

/proc/sys/kernel/pid_max (since Linux 2.5.34)
This file specifies the value at which PIDs wrap around
(i.e., the value in this file is one greater than the
maximum PID).  PIDs greater than this value are not
allocated; thus, the value in this file also acts as a
system-wide limit on the total number of processes and
threads.  The default value for this file, 32768, results
in the same range of PIDs as on earlier kernels.  On
32-bit platforms, 32768 is the maximum value for pid_max.
On 64-bit systems, pid_max can be set to any value up to
2^22 (PID_MAX_LIMIT, approximately 4 million).

I think I've decided this is the right approach; if we "remove" this limit, users can manage PID usage entirely with Kubernetes via Pod PID limits.

Nice to hear, the only thing I just realize, is the eks ami build the right place to set this? Shouldn't this be fixed at the source? amzn2-ami-minimal-hvm?

To offer a contrarian point of view, with no limit I think you'll end up seeing machines hard-lock rather than error about being unable to fork/exec which is harder to diagnose.
Just looking for guidance elsewhere, the RHEL 9 STIG recommends it be set to 65536:
https://static.open-scap.org/ssg-guides/ssg-rhel9-guide-index.html

I think it makes sense to configure it here, because the AL2 AMI is not assuming Kubernetes usage.
@tzneal the failure mode would change, for sure. I think we'd see physical resource exhaustion (which users can obviously already run into and need to monitor for, control with resource limits, etc.).
Looks like the value seen in an Arch install is likely a result of systemd version 243, which changed the default to the maximum value: https://github.com/systemd/systemd/blob/main/NEWS#L4536. I believe AL2022 is on systemd 244, so I'll check what limit is used there. Also probably worth checking Bottlerocket.

Is there any update on this issue? has it already been addressed, or is it planing to be? Thanks

Some more guidance:
https://kubernetes.io/docs/concepts/policy/pid-limiting/

Note: On certain Linux installations, the operating system sets the PIDs limit to a low default, such as 32768. Consider raising the value of /proc/sys/kernel/pid_max.

32bit Max limit - 32768
64bit Max limit - 4194304
In case if any one after this, having this set at user data block will give temporary fix before the AMI patched -
 echo 2194304 > /proc/sys/kernel/pid_max

We (at Snowflake) are now including that patch/work-around in our userData block, but we'd very much appreciate if this could be baked-in by default for 64 bit AWS instance!

@sfc-gh-jpollard wanna drop a quick PR?

FWIW - on AL2023 the max pids are set at 4194304 so this would only apply to AL2


Upgrade Charm self-replacement logic needs work

During atuomated testing in the upgrade-charm, the deployment log halts with the following output
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm EasyRSA-3.0.1/doc/Intro-To-PKI.md
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm ln: failed to create symbolic link '/var/lib/juju/agents/unit-easyrsa-0/charm/EasyRSA/EasyRSA-3.0.1': File exists
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm Traceback (most recent call last):
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/var/lib/juju/agents/unit-easyrsa-0/charm/hooks/upgrade-charm", line 28, in <module>
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     main()
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/usr/local/lib/python3.5/dist-packages/charms/reactive/__init__.py", line 78, in main
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     bus.dispatch()
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 434, in dispatch
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     _invoke(other_handlers)
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 417, in _invoke
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     handler.invoke()
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 291, in invoke
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     self._action(*args)
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/var/lib/juju/agents/unit-easyrsa-0/charm/reactive/easyrsa.py", line 66, in install
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     check_call(split(link))
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm   File "/usr/lib/python3.5/subprocess.py", line 581, in check_call
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm     raise CalledProcessError(retcode, cmd)
unit-easyrsa-0: 17:38:52 INFO unit.easyrsa/0.upgrade-charm subprocess.CalledProcessError: Command '['ln', '-v', '-s', '/var/lib/juju/agents/unit-easyrsa-0/charm/EasyRSA-3.0.1', '/var/lib/juju/agents/unit-easyrsa-0/charm/EasyRSA']' returned non-zero exit status 1

full unit output here: http://paste.ubuntu.com/23227053/

Fixed in #5


Correctly highlight var in java

var is a Java keyword.
https://github.com/textmate/java.tmbundle/pull/57 is related

https://github.com/github/linguist#theres-a-problem-with-the-syntax-highlighting-of-a-file


[TST] Build documentation in CircleCI

Requires #480 to be merged first since this is based off that branch.

Ok, this is ready: https://1010-54756129-gh.circle-artifacts.com/0/home/ubuntu/scratch/docs/index.html


TypeScript update

Plan will be to do this in stages.

First step will be to provide the basic support, establish some patterns and conventions, and move the core package to TypeScript.

Core package has now been moved fully to typescript.  No js code was changed outside of method signatures,  interfaces, typing and js docs.  We can probably make some more intrusive changes later to more fully take advantage of type script, but the goal of the first phase was a relatively safe change to the way we document the APIs.

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[ ] Caught up with develop branch as of last change.
[ ] Added CHANGELOG entry, or determined not required.
[ ] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[ ] Updated doc comments / prop-types, or determined not required.
[ ] Reviewed and tested on Mobile, or determined not required.
[ ] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

👍👍


how I can fix vue warn?

Hi. I use the template definition:
<formly-form :form="form" :model="model" :fields="conf1"></formly-form>
and when I run my app I see this Vue warn on the chrome console:
[Vue warn]: The computed property "fields" is already defined as a prop.

found in

<FormlyForm>

How I can fix this warn?

hmm, I haven't seen this error before, I'll try and take a look soon and let you know

Yes, it is that plugin - https://github.com/baianat/vee-validate/blob/master/src/mixin.js

may be you can change name of var fields or cretae new second var, so that the backward compatibility for existing users remains
second var it is one and the same with var fields just one more name to eliminate the conflict

I have created bug for vue-validate https://github.com/baianat/vee-validate/issues/1302

Can you advice how i can use your plugin with vee-validate?

I like this code in your doc:
this.$refs.loginForm.validate()                 .then(()=>{                     if ( !this.form.$valid ) return;                     // submit form                 })                 .catch((e)=>{                     // do something with the error                 });
but how i can set rules that after i run validate() all fields will be validated and if all ok will run then()

Great that you've found the issue. I don't know if those two would really be compatible together. That plugin runs validation on an input, which vue formly already does. It would seem that by adding vee-validate you're doubling up on functionality.
As per the docs, validate() will return a promise. When it's returned you just need to check the this.form.$valid status and then you can either return and do nothing if it's invalid or continue. then() always runs, because the promise always resolves, ( unless there is a script error of some sort ). This would then indicate that the validate() function successfully ran each validation E.g.
this.$refs.loginForm.validate()
   .then( () => {
      // if the form is invalid, then return
      if ( !this.form.$valid ) return;

      // otherwise, submit the form or something
      yourLogicHere();
   })


Bug with icons name

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

Here you have all your icons.
Expected Behavior 🤔

For example If I would like have the phone Icon, I see the name is Phone.
But if I write this word I watch the Uppercase P and no the icon
Steps to Reproduce 🕹

Here a link to watch 2 icons : phone & phoneAndroid
Context 🔦

I find how to display phone and androidPhone icons. But Twitter and Linkedin don't work.
I would like also use outlined icons, but I can with star_outlined, but not with Brightness2Outlined
Your Environment 🌎

`npx @material-ui/envinfo`
  System:
    OS: Linux 5.4 Linux Mint 20.1 (Ulyssa)
    CPU: (4) x64 Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
    Memory: 2.04 GB / 19.43 GB
    Container: Yes
    Shell: 5.8 - /usr/bin/zsh
  Binaries:
    Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
    Yarn: 1.22.5 - /usr/bin/yarn
    npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
  Managers:
    pip3: 20.0.2 - /usr/bin/pip3
  Utilities:
    Make: 4.2.1 - /usr/bin/make
    GCC: 9.3.0 - /usr/bin/gcc
    Git: 2.25.1 - /usr/bin/git
  Virtualization:
    Docker: 20.10.7 - /usr/bin/docker
  IDEs:
    Nano: 4.8 - /usr/bin/nano
    VSCode: 1.56.2 - /usr/bin/code
  Languages:
    Bash: 5.0.17 - /usr/bin/bash
    Perl: 5.30.0 - /usr/bin/perl
    Python3: 3.8.5 - /usr/bin/python3
  Browsers:
    Chromium: 91.0.4472.114
    Firefox: 89.0.2
  Monorepos:
    Yarn Workspaces: 1.22.5
    Lerna: 4.0.0

Thanks for the report.
We're not responsible for the Material Icons font family. You probably want to file an issue against https://github.com/google/material-design-icons/ instead.


Would Want Location Tied to Stock Rather than to Part

I am now entering multiple suppliers for components that may or may not be the same manufacturer and most likely have different pricing. I would like to be able to segregate these items.
--Thanks, Larry

[Solved] Okay, by entering some more items and doodling around I see that if I leave the Parts location information blank that Stock location information appears and can be entered. Thanks again for a great program.
--Larry


Consider Sling Health check as a part of awaiting

maybe it also could check Sling jobs running in the background and indexing...

The most valuable seems to be checking:
Oak indexing running
DAM Update Asset workflow


CPU Load

Totally like the idea! A lot of MQTT clients are heavy side.
This one is easy to compile, fast startup, ... just RUST :-)
But: there is a bug regarding CPU load!
After startup, about 40%  of one CPU-core is consumed. Not stellar, but quite ok.
But: after a disconnect, and re-connect to a saved connection, a full thread is blocked, over all usage going to 130%.
Each additional disconnect/reconnect, it jumps another 100% :-(

@thmang82 thanks for your feedback
It is a BUG:  when disconnect a client,  message channel ( backend -> ui ) create with should  be closed and dropped but not. I made a low mistake here 😂
Please check out this fix to see if slove the problem or not.


🔍 Use OCR-D spelling

The OCR-D project uses - as far as I can see - the hyphenated "OCR-D"
spelling in normal text. Use this where appropiate.

Yes, make sense. There may be more occurences of wrong spelling.


MT940 Issues parsing with :61:

When using mt940.parse we have this issue
RuntimeError: ("Unable to parse <mt940.tags.Statement object at 0x7ff52e07da30> from '2212191220C119,NMSC341241773/1XXXXX//O/341241774\nPaiement'", <mt940.tags.Statement object at 0x7ff52e07da30>, '2212191220C119,NMSC341241773/1XXXXX//O/341241774\nPaiement')
--> Seems that this line is under two line with a carrage return...I don't know if this is problematic but can you help us to solve this? thanks

The big question is always what all of the numbers mean here. You can see what the regex is parsing here for reference: https://regex101.com/r/7J7El8/1
Do you have any documentation from your bank to indicate how they build these strings?

@wolph  thanks you very much yes the bank give us this file I think it comes from the carrage return that incldes sub lines
MT940_V2_fr.pdf

It took a pretty hacky regular expression, but the current version still works with all old tests but also supports the / in the customer reference that Multiline uses.
Give the new release a try and let me know if it works for you :)


[Bug Report] Incorrect behavior of el-menu-item on Ctrl Click

Element UI version
2.4.5
OS/Browsers version
Windows 10/Version 67.0.3396.99 (Official Build) (64-bit)/Firefox 61.0.1 (64-bit)
Vue version
2.5.16
Reproduction Link
https://jsfiddle.net/no78qufw/
Steps to reproduce

Open jsfiddle demo (from element docs)
Try to open the rightmost link in new tab using Ctrl modifier and clicking the link

What is Expected?
Link is opened, and current selection on navbar not affected
What is actually happening?
Navbar selection changing to link clicked with Ctrl modifier

@georgyfarniev Can't reproduce.

ziyoung, which browser you use? I double checked on my machine and another one, and link still affected after clicking rightmost link with Ctrl key down. The link location opened in new tab correctly, but current tab is affected:
https://ibin.co/4AsO4kpR0uDf.png

Any updates about this issue?


Unify initializers generation logic in ObjCConstructorBase

Unify initializers generation logic in ObjCConstructorNative and ObjCConstructorDerived. Conceptually, it is the same, so there is no reason to be in two places.
ObjCConstructors don't need InterfaceMeta to be initialized. They already require a prototype from where they can get the InterfaceMeta.
ObjCConstructorDerived don't need a parent constructor to be initialized, anymore.

Also, this makes ObjCConstructorDerived class almost identical to its base class (ObjCConstructorBase). This will allow us to remove it in the future.

I think you can also remove the structure flags of the derived and native constructors and move the  JSC::OverridesGetOwnPropertySlot flag to the base class, since that's where the getOwnPropertySlot override is.


Client side?

An HttpClient PatchAsync requires HttpContent, so you're going to have to wrap it up to send it over.  This solution and PatchAsync don't seem to really jive with one another, so what does the client side look like for this?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 593f528c-61b9-7021-335d-c1c0ec1814d1
Version Independent ID: 6a88d237-1a03-b865-e3c5-20ceedef2a1f
Content: JsonPatch in ASP.NET Core web API
Content Source: aspnetcore/web-api/jsonpatch.md
Product: aspnet-core
Technology: aspnetcore-webapi
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Tracked in JsonPatch Master issue. Look here #18330


Coder/Debugger: copying stack to Clipboard cleans methods on the debugger stack

Steps to reproduce
Click on the debug button in Playground

Click on the copy button in Debugger

The first three methods get empty

Collapsing the method coders displays method names

Note that the clipboard has a correct content:
UndefinedObject>>DoIt
CompiledMethod>>valueWithReceiver:arguments:
[ aCompiledMethod
	valueWithReceiver: anObject
	arguments: (evalContext ifNil: [ #() ] ifNotNil: [ {evalContext} ]) ] in GtPharoSnippetCoder(GtSourceCoder)>>debug:receiver:in: in Block: [ aCompiledMethod...
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self value....

Fixed!
The shadows disappear, but it is another problem (related to the selection in the BrSimpleList)
Screen Shot 2020-11-19 at 17 55 13


Move-Item : The process cannot access the file because it is being used by another process.

Importing an excel file with employee numbers, querying AD and then trying to move the file to another location archive. For the life of me cannot figure out what is locking the file.
`# Get the Excel file name
$TermFile = Get-ChildItem -Path .\ -Filter *.xlsx | Select-Object -ExpandProperty name

# Import data from Excel file
$IDs = Import-Excel -Path "C:\Scripts\Termination\$($TermFile)" -HeaderName 'SAP #' -StartRow 2
`

Looks good to me. Need more to go on.

With the employee numbers loaded, I loop a search in a couple domains and hold any finding in an array. In this case, there were no accounts found enabled. So that array is empty.
# if no accounts found enabled, exit
If([string]::IsNullOrEmpty($Report)){
    Write-Host -ForegroundColor Yellow "No enabled accounts found";
    Read-Host "Press Enter to exit";
    $IDs = $null
    Move-Item -Path "C:\Scripts\Termination\$($TermFile)" -Destination "C:\Scripts\Termination\$($TermFile)\Processed" -Force;
 exit}

Would need to see how your interacting with the xlsx around this.

Import-Module ActiveDirectory
Import-Module ImportExcel
Set-Location C:\Scripts\Termination

# Get the Excel file name
$TermFile = Get-ChildItem -Path .\ -Filter *.xlsx | Select-Object -ExpandProperty name

# Import data from Excel file
$IDs = Import-Excel -Path "C:\Scripts\Termination\$($TermFile)" -HeaderName 'SAP #' -StartRow 2

# Domains to search
$domains = "domainA.com","domainB.local"

Write-Host -ForegroundColor Cyan "Searching domains for enable accounts with extensionattribute13"
$Report = @()
foreach($domain in $domains){

       Foreach($ID in $IDS){
                $Accounts = Get-ADUser -Filter "extensionAttribute13 -like '$($ID)'" -Properties * -Server $domain  | Select-Object GivenName,Surname,EmailAddress,Description,Title,enabled,LastLogonDate,SamAccountName,extensionAttribute13,Department
                Foreach($account in $Accounts){
                $worksheet = [pscustomobject]@{
                "Surname"=$account.Surname
                "GivenName"=$account.GivenName
                "SamAccountName"=$account.SamAccountName
                "Enabled"=$account.Enabled
                "Title"=$account.Title
                "LastLogonDate"=$account.LastLogonDate
                "Domain"=$domain
                "Description"=$account.Description
                "Department"=$account.Department
                "EmailAddress"=$account.EmailAddress
                "extensionAttribute13"=$Account.extensionAttribute13}
                $Report += $worksheet}
}
}

# if no accounts found enabled, exit
If([string]::IsNullOrEmpty($Report)){
    Write-Host -ForegroundColor Yellow "No enabled accounts found";
    Read-Host "Press Enter to exit";
    $IDs = $null
    Move-Item -Path "C:\Scripts\Termination\$($TermFile)" -Destination "C:\Scripts\Termination\$($TermFile)\Processed" -Force;
 exit}

$Report | Where-Object {$_.Enabled -EQ $True} | Export-Csv .\domainsearch.csv -NoTypeInformation -force
Write-Output $Report | Where-Object {$_.Enabled -EQ $True} | ft

$send = Read-Host "Press y to send email"
if($send -eq "y"){

#############################################################################
$style = ""
$precontent = "
These accounts were found enabled from the weekly email report.
"

#Compose the body of the email report
$body = $worksheet | ConvertTo-Html -PreContent $precontent -Head $style | Out-String
#############################################################################
# Send email of notice
        $smtpServer = "192.168.x.x"
        $to = @("username<EMAIL_ADDRESS>        #$to =<EMAIL_ADDRESS>        $From = "Windows Team<EMAIL_ADDRESS>        $Subject = "Weekly Term Report results"
    Send-MailMessage -To $to -Cc $cc -From $from -Subject $subject -BodyAsHtml $body -SmtpServer $smtpServer
}

Something like this
Comment out the Import-Excel.  Get you Open/Close the xlsx.
Import-Excel may have a lock on it, first time someone has run into this.
You can do an Import-Excel on the xlsx and the open it in Excel.
Off the top of my head. I did not try this.
$xl = Open-ExcelPackage "C:\Scripts\Termination\$($TermFile)"
# get dimensions, Rows
$rows = $xl.Sheet1.Dimension.Address # you need to look that up
$IDs = $xl.Sheet1.Cells["A2:A100"].Text
Close-ExcelPackage $xl -NoSave

hmm sleeping worked ...


Update to godot-cpp for Godot 3.3, OpenVR 1.16.8 and add new functions

Update upstream resources. Needs testing.

What the...... they removed 64bit binaries from OSX?

Seems the OSX binaries are now universal binaries containing both 32bit and 64bit implementations just stored in osx64. Lets see if we can get it compiled. Someone else will have to test if it still works though.

Removed the OSX build, does not seem supported anymore

Will do and let you know


l10n?

Any plan to localize? In my local weeks do start from "Mo", not "Su"...

Sorry, I see right now it's sufficient to load the right moment locale file, to localize angular-mighty-datepicker.


Support Option<Vec> where T is primitive type

The following code snippet doesn't seem to work right now:
#[swift_bridge::bridge]
mod ffi {
    extern "Rust" {
        fn get_option_vector() -> Option<Vec<i32>>;
    }
}

If so, can I implement this?

Yeah, go for it!! Let me know if you have any questions.

Hi, @chinedufn
I have a quetion related to https://github.com/chinedufn/swift-bridge/blob/master/crates/swift-bridge-ir/src/codegen/codegen_tests/option_codegen_tests.rs#L297-L313.
Is null pointer (such as NULL in C language) represented as Optional in Swift?
According to Using Imported C Functions in Swift, void * seem to be represented as UnsafeMutableRawPointer in Swift.

Yeah it's represented as an UnsafeMutableRawPointer.
But here when we return nil it is getting cast to Swift's Optional.none. We could've also returned .none.
https://github.com/chinedufn/swift-bridge/blob/4eb92fbb7fbac80ebee47e4a40e2b9d3458611bb/crates/swift-bridge-ir/src/codegen/codegen_tests/option_codegen_tests.rs#L300-L302
Does that answer your question?

Sorry I mispoke.
val is an Optional<UnsafeMutableRawPointer>. This is why we need to unwrap it with the ! in return SomeType(ptr: val!).
So, comparing to nil works and all of our Optional<T> integration tests pass https://github.com/chinedufn/swift-bridge/blob/master/SwiftRustIntegrationTestRunner/SwiftRustIntegrationTestRunnerTests/OptionTests.swift#L11

Closed via #147


Allow to copy slug from details view

Done in https://github.com/mondeja/simple-icons-website-rs/commit/2e285e764430320871356a759c216832e41a7a07


CUDA out of memory when running the train.py

This computer has 10 GPU and still out of memory after enabling distributed training
I h set args.distributed=1,  and
os. environ[' RANK'] = '0'
os. environ[' WORLD_SIZE'] = '1'ave
os. environ[' MASTER ADDR'] = 'Locathost '
os. environ[' MASTER_PORT'] = '7356'

Yes having same issue. Not sure much can be done. Getting access to local compute cluster today to try and rectify

Hi, what command did you use to run the distributed training? It should be python -m torch.distributed.launch --nproc_per_node={NUM_GPUs} train.py .... At the same time, you should try to reduce the number of pts and chunk size. The total number of points trained equals NUM_GPUs * args.num_pts, which means that num_pts can be reduced to 1/NUM_GPUs of the total number of points desired.

I was having the same issue, and noticed only one GPU was getting used before the OOM. What fixed it for me was adding this line in train.py:
if args.distributed:
        args.local_rank = int(os.environ['LOCAL_RANK']) # Add this line!
        torch.cuda.set_device(args.local_rank)
        torch.distributed.init_process_group(backend="nccl", init_method="env://")
        synchronize()
        ...

Because in config.py, args.local_rank is set to 0 and this rank is used in trainer.py. This is also explained in the torch.distributed.launch logs:
If your script expects `--local_rank` argument to be set, please
change it to read from `os.environ['LOCAL_RANK']` instead. See
https://pytorch.org/docs/stable/distributed.html#launch-utility for
further instructions

Overall, I run the following to start training on multiple GPUs:
python -m torch.distributed.launch --nproc_per_node=${WORLD_SIZE} train.py \
       --config configs/default.txt --data_dir $SEQUENCE_DIR --save_dir $OUTPUT_DIR \
       --distributed 1 --num_pts 64

I also:

Set --num_pts 64 since I am training on 4 GPUs
Increased CPU memory (I was getting error: Detected 5 oom_kill events in StepId=1644314.batch. Some of the step tasks have been OOM Killed. errors otherwise)


OCSP Stapling

FreeNGINX with BoringSSL does not seem to support OCSP Stapling.
Please consider using QuicTLS instead.

Tbh, I don't want to support one more image. But you can try this one with QuicTLS:
https://github.com/ammnt/angie


Upgrade to ethers v6

fixes #338

This is being done in: https://github.com/NomicFoundation/ignition/pull/387
The custom solution commit has been pulled across as well.


Fix the test being misleadingly named in node.js

Thanks for this. Looks good. Travis failure looks unrelated.


how to get/set original text

<script>
document.getElementById('content').innerHTML = marked("~~hello~~");
</script>

how to get/set original text?? like "~~hello~~"
thx~

You simply can't. You need to take care yourself of saving the original markdown code you parsed.
In your code, the string "hello" exists only as a literal string in that javascript block, and is lost afterwards.


Articulate is unable to parse a default GET webhook when BodyType None is specified

If I create a webhook and specify a BodyType or None, I do not have access to the response content when the webhook is returned. This may be because Articulate is expecting a return content type of JSON and is unable to parse the results when it's something else.
Consider that a valid return type might be HTML, XML (heaven forbid), or text--not just JSON. Articulate should be able to handle any of these--and provide the developer access to this content.
Solution Strategy

We may consider allowing the user to specify ACCEPT-HEADERS (not sure if it's the best way)
At the least, Articulate's parser should be able to access the content as plain text

{{ response.Content }} << by default, all content is available as plain text as a flattened string
{{ response.Property.SubProperty }} << when available, the response content is traversable via properties

If you want the full JSON from webhookResponse then you need to call the JSONstringify helper and escape it with another set of brackets like this {{{JSONstringify webhookResponse}}}

Thanks @dcalvom got that to work. But when calling a simple GET without using JSON, I am unable to access any response content.

@ewoo I want to morph this into a more generic "Allow webhook header configuration" which I think would solve both problems. Good with that?

@dcalvom this one can use a similar interface as what I am proposing for the domain parameters:

Closed by https://github.com/samtecspg/articulate/commit/b8803e97f98b4980a513409861c605999464cab1


Large cogwheel can be placed directly next to small cogwheel

Describe the Bug
If you place two small cogwheels next to each other and then hold a large cogwheel in your hand, a hologram appears indicating that you could place the large cogwheel directly next to the small one.
A large cogwheel can also be placed next to a small one as a schematic.
Reproduction Steps
Rebuild the picture
Expected Result
No hologram
Screenshots and Videos

Crash Report or Log
No response
Operating System
Windows 11
Mod Version
0.5.1f
Minecraft Version
1.20.1
Other Mods
No response
Additional Context
No response

occurs on create forge aswell, report there


autobuild_agent_library.ipynb return Expecting value: line 1 column 1 (char 0)

What happened?
When I try to launch motebook form notebook/autobuild_agent_library.ipynb
Part of code:
 agent_list, _ = new_builder.build_from_library(building_task, library_path_or_json, llm_config)

Return error code:
Expecting value: line 1 column 1 (char 0)

Associated with the use of json.loads function in build_from_library function
and the use of code below to generate json file
json.dumps(sys_msg_list, open("./agent_library_example.json", "w"), indent=4)
library_path_or_json = "./agent_library_example.json"

What did you expect to happen?
What is the right way to call agent_builder.build_from_library function
which type of json format?
Section
How can we reproduce it (as minimally and precisely as possible)?
My code:
import json
import autogen
from autogen.agentchat.contrib.agent_builder import AgentBuilder
from autogen import ConversableAgent, UserProxyAgent

config_file_or_env = "OAI_CONFIG_LIST.json"
llm_config = {"temperature": 0}
config_list = autogen.config_list_from_json(config_file_or_env, filter_dict={"model": ["llama3.2"]})

def start_task(execution_task: str, agent_list: list):
    group_chat = autogen.GroupChat(agents=agent_list, messages=[], max_round=12)
    manager = autogen.GroupChatManager(groupchat=group_chat, llm_config={"config_list": config_list, **llm_config})
    agent_list[0].initiate_chat(manager, message=execution_task)

AGENT_SYS_MSG_PROMPT = """Acccording to the following postion name, write a high quality instruction for the position following a given example. You should only return the instruction.

# Position Name
{position}

# Example instruction for Data Analyst

As Data Analyst, you are tasked with leveraging your extensive knowledge in data analysis to recognize and extract meaningful features from vast datasets. Your expertise in machine learning, specifically with the Random Forest Classifier, allows you to construct robust predictive models adept at handling both classification and regression tasks. You excel in model evaluation and interpretation, ensuring that the performance of your algorithms is not just assessed with precision, but also understood in the context of the data and the problem at hand. With a command over Python and proficiency in using the pandas library, you manipulate and preprocess data with ease.
"""

AGENT_DESC_PROMPT = """According to position name and the instruction, summarize the position into a high quality one sentence description.

# Position Name
{position}

# Instruction
{instruction}
"""

position_list = [
    "Environmental_Scientist",
    "Astronomer",
    "Software_Developer",
    "Data_Analyst",
    "Journalist",
    "Teacher",
    "Lawyer",
    "Programmer",
    "Accountant",
    "Mathematician",
    "Physicist",
    "Biologist",
    "Chemist",
    "Statistician",
    "IT_Specialist",
    "Cybersecurity_Expert",
    "Artificial_Intelligence_Engineer",
    "Financial_Analyst",
    ]

build_manager = autogen.OpenAIWrapper(config_list=config_list)
sys_msg_list = []

for pos in position_list:
    resp_agent_sys_msg = (
        build_manager.create(
            messages=[
                {
                    "role": "user",
                    "content": AGENT_SYS_MSG_PROMPT.format(
                        position=pos,
                    ),
                }
            ]
        )
        .choices[0]
        .message.content
    )
    resp_desc_msg = (
        build_manager.create(
            messages=[
                {
                    "role": "user",
                    "content": AGENT_DESC_PROMPT.format(
                        position=pos,
                        instruction=resp_agent_sys_msg,
                    ),
                }
            ]
        )
        .choices[0]
        .message.content
    )
    sys_msg_list.append({"name": pos, "system_message": resp_agent_sys_msg, "description": resp_desc_msg})

json.dump(sys_msg_list, open("./agent_library_example.json", "w"), indent=4)

library_path_or_json = "./agent_library_example.json"

building_task = "Find a paper on arxiv by programming, and analyze its application in some domain. For example, find a recent paper about gpt-4 on arxiv and find its potential applications in software."

new_builder = AgentBuilder(config_file_or_env=config_file_or_env, builder_model="llama3.2", agent_model="llama3.2")
agent_list, _ = new_builder.build_from_library(building_task, library_path_or_json, llm_config)

start_task(
    execution_task="Find a recent paper about explainable AI on arxiv and find its potential applications in medical.",
    agent_list=agent_list,
)
new_builder.clear_all_agents()

AutoGen version
autogen==0.3.2 autogen-agentchat==0.2.38 autogenstudio==0.1.5 pyautogen==0.3.2
Which package was this bug in
AgentChat
Model used
llama3.2
Python version
3.10
Operating system
ubuntu
Any additional info you think would be helpful for fixing this bug
No response

To clarify the issue, all prompt formats like AGENT_DESC_PROMPT, DEFAULT_DESCRIPTION or 'CODING_AND_TASK_SKILL_INSTRUCTION' create a format like \n generate an error when used with json.loads like in line 623 of the agent_builder file. py
Is there a possibility for prompt generation to not cause a format problem when it is subsequently used as input in json.loads?

@jackgerrits @ekzhu - could one of you please have a look?

@TheFoxQuantALMT looks like it is a JSON format error? Would you mind digging into it a bit and look for the cause?


Update comment for has_data_variables

It looked like this comment was copied over from the has_functions function, so I just made a tweak.

Yup, good catch, thanks.

Yup, good catch, thanks.


custom artwork?

not really issue but feature request. wondering if its possible to add a feature that allows add one custom artwork to be used for all tracks with no artwork?
if no artwork available then display this one.
Thanks

Yes this is a good idea!
I will add support for this soon :)

thanks. looking forward to test

Actually, I think for this I would like to suggest using some custom CSS for the blank artwork.
If you're using OBS you can easily do this using the "custom CSS" section of the browser plugin:

I would recommend css like this:
/* Empty track artwork is a div, not a `img` */
div.track-artwork {
	background-image: url('<url to your empty artwork>');
	background-size: cover;
}

/* Hide the empty artwork icon */
div.track-artwork svg {
	display: none;
}

I thought about the idea of making this configurable a little more, and think I might hold off on adding it unless some other chime in looking for it. But the CSS solution should work quite well 😃
Let me know if you have any trouble with that!

Its not a big deal if its going to take too much of your time. I dont use OBS.. i use xsplit or vmix.
do you know if that will work with xsplit?
I will test it with OBS

Looks like xsplit has a 'Custom CSS' option for the website source!

That should do what you want

Thanks. I will test it out

Did you get this working @densma1?

not yet but will test it today. I will let you know shortly
thanks

You can also try something. Like https://stackoverflow.com/a/14519843


chore(root): updated funding link to sponsors/help-me-mom

Hey @JsantosDK, thanks for noting!
Why did you close it?


[Request]: PowerShell 7

Prerequisites

[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.

Criteria

[X] Reasonably well-known and widely used (e.g. if it's a GitHub project, it should have at least 100 stars and/or 50 forks)
[X] English interface (or at least English documentation)
[X] Latest stable version
[X] Full version (i.e. not a trial version)
[X] Fairly standard install (e.g. uses a version-specific download URL, no elaborate pre/post install scripts)

Name
PowerShell 7
Description
Cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.
Homepage
https://github.com/PowerShell/PowerShell
Download Link(s)
https://github.com/PowerShell/PowerShell/releases
Some Indication of Popularity/Repute
The portable ZIP package can be used for the manifest instead of extracting MSI.
37.1k stars and 6.3k forks

main/pwsh


Adding support for dictionary int attr in templating

Add support for integer types in dictionaries passed to Operators that will be traversed for templating. Previously would return error, now returns integer in it's original form inline with the dict traversal.

@andscoop I have a couple q's:

Can you remind me on the use case for this?
Do we know if it breaks backwards compatibility?
Do we have interest in upstreaming this?

0.) I want to pass in a jina templated dictionary object to be consumed by pyMongo for .aggregate() and .find(). It works for most use cases - returning dictionary values for strings - but it breaks where dict value is an integer. That forces the user to decide between a totally templated dict or an untemplated dict being passed in. I need partial templating ability (mixing int and strings).
1.) This should not break backwards compatibility as it only increases the feature set of airflow templating and does not decrease or modify existing features.
2.) I think we are going to NEED to upstream this if we are going to upstream the MongoHook that I have written.
Please see 306 for original issue I opened.

@tedmiston if you agree with changes let's get this in the docker-airflow-saas in the next couple of days - as I will be needing it for a caliberMind customer DAG.

@tedmiston Is this something we can get merged? Currently blocked on Calibermind until this gets in, assuming you sign off.

@andscoop @bonominijl LGTM - Feel free to merge.  Note the implications of changing the docker tag for running customers in prod that we discussed - https://astronomerteam.slack.com/archives/C4CPUELPP/p1505857330000014.

@abrongersma we prob need to decide who owns our airflow fork - maybe a 3-person triumvirate?

We also need to start upstreaming our fixes to Apache Airflow so we can get Apache committer status. Again, Maxime recommended that the quickest way is to push all PRs as a single user.

@schnie Agreed.  I would like for us to start making issues so we prioritize the upstreaming wrt other tasks.  It takes a decent amount of effort with back/forth communication on Jira and GitHub to get PRs all the way through over there.  We should discuss this more today if you have time.


ENH: performance boost by vectorizing call to funeval

the BasisMatrices routines are unfortunately not very efficient when evaluated at a single point.
This pull request tries to get around this by vectorizing the call to funeval in the innermost part of the s_wise_max set of routines.
The speedup was considerable. When solving a cdp with VFI at a tol of 1e-3, the monetary policy example went from 25 to 4 seconds and the optimal growth example went from 70 seconds to 8 seconds.
Another (related) change is using type parameters for all the function fields of ContinuousDP. Function is an abstract type in Julia 0.6, and all functions are concrete subtypes of Function. Thus, we if let ContinuousDP parameterize on these concrete types, all uses of cdp.(f|g|x_lb|x_ub) will be type-inferrable by the compiler.

EDIT
I still believe there are many performance optimizations on the table, but this is a first step.
I really should have focused on getting the API stable, but I couldn't resist.

(Added some commits and rebased.)
Many thanks, this is great!

Before
After

Looks good to me. Happy to see that performance boost!


[Feature Request] Add vmid and ability to sort by vmid or name

I have many VMs and some I rarely use, so rely on names. In the current ascending Vmid sort order I am scrolling to find the one I need at the time.
Can you expose the vmid, then offer the ability to sort by name or vmid?

I will see about adding an ini file feature to sort by name.


Create Quirk for TS011F

Quirk for the TS011F
See Issue https://github.com/zigpy/zha-device-handlers/issues/1045

Codecov Report

Merging #1057 (3677211) into dev (83624ba) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 3677211 differs from pull request most recent head b2acb97. Consider uploading reports for the commit b2acb97 to get more accurate results

@@           Coverage Diff           @@
##              dev    #1057   +/-   ##
=======================================
  Coverage   81.08%   81.08%
=======================================
  Files         195      195
  Lines        5160     5160
=======================================
  Hits         4184     4184
  Misses        976      976

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 83624ba...b2acb97. Read the comment docs.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4184

Relevant Lines:
5160

💛  - Coveralls

My bad,
I saw the mistake. and corrected it right away.
Still having the unknown cluster warning in logs. can we do something about that?

Try deleting the:
                    0xE000,  # Unknown
                    0xE001,  # Unknown

in the replace part, i think then ZHA is not getting the clusters and they is going to "dev nul".

I removed
                    0xE000,  # Unknown
                    0xE001,  # Unknown

But still same entry in logs. But Im not sure if there related.
have more tuya stuff.

You can trying defining it like this (from IKEA Styrbar):
https://github.com/zigpy/zha-device-handlers/blob/ade14754c19a4524b22583ce37fd61bcbc863ad6/zhaquirks/ikea/fourbtnremote.py#L46
but 2 different name for the clusters.
Perhaps David is knowing how to do it OK ?

If you is adding this at line 25 with one empty line before and 2 after:
TUYA_CLUSTER_ID0 = 0xE000 # 57344
TUYA_CLUSTER_ID1 = 0xE001 # 57345

and changing the line 79 and 80 to this (Signature cluster 0xE000 and 0xE001) :
                    TUYA_CLUSTER_ID0
                    TUYA_CLUSTER_ID1

and deleting the line 109 and 110 (in the replacement):
                    0xE000,  # Unknown
                    0xE001,  # Unknown

Do you still getting warning in HA long from the device ?

Whats Wrong With ISORT ?

ISORT like having the block  from zhaquirks.const import ( after line 25 (the last import then its the last in the sorting) and before  class TuyaZBMetering(CustomCluster, Metering):  ;-(((

The tests is one large PITA but needed.
I normally looking on other quirks and then always using black playground (it fixing most bad things but not all sorting) but in the end its the gut tests that must working.
Hope Denis can redoing the test then you have making the change and getting it merged !!

You need moving the
from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODEL,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)

to the same possition.
From the test:
Deleting:

-from zhaquirks.const import (
-    DEVICE_TYPE,
-    ENDPOINTS,
-    INPUT_CLUSTERS,
-    MODEL,
-    OUTPUT_CLUSTERS,
-    PROFILE_ID,
-)
-from zhaquirks.tuya import TuyaZBOnOffRestorePowerCluster

Adding between this lines:

 from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
 from zigpy.zcl.clusters.smartenergy import Metering

+from zhaquirks.const import (
+    DEVICE_TYPE,
+    ENDPOINTS,
+    INPUT_CLUSTERS,
+    MODEL,
+    OUTPUT_CLUSTERS,
+    PROFILE_ID,
+)
+from zhaquirks.tuya import TuyaZBOnOffRestorePowerCluster
+

 class TuyaZBMetering(CustomCluster, Metering):
     """Divides the KwH for tuya."""

no it's from https://pycqa.github.io/isort/docs/quick_start/0.-try.html
and the H is before the I

@MattWestb
Fingers Crossed..!

THAT looks being very OK !!
I do all my fingers and also toes :-)))

Make it like in https://github.com/zigpy/zha-device-handlers/pull/1057#issuecomment-933593639 but updating the lines then they can being changed.
And 2 ways doing the replacement. 1 using the name defined, 2 deleting them so the system is not using them.

@MattWestb
AAARGGH, same error. because it can't find the clusters.
maybe I should define it somewhere in INIT maybe.
class TUYA_CLUSTER_ID0(CustomCluster):
    """Tuya manufacturer specific cluster 57344."""

    name = "Tuya Manufacturer Specific"
    cluster_id = TUYA_CLUSTER_ID0

class TUYA_CLUSTER_ID1(CustomCluster):
    """Tuya manufacturer specific cluster 57345."""

    name = "Tuya Manufacturer Specific"
    cluster_id = TUYA_CLUSTER_ID1

also in "ts0201_zemismart.py" they use a: 0xEEFF,  # Unknown
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.TEMPERATURE_SENSOR,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    PowerConfiguration.cluster_id,
                    Identify.cluster_id,
                    RelativeHumidity.cluster_id,
                    TemperatureMeasurement.cluster_id,
                    0xEEFF,  # Unknown
                ],
                OUTPUT_CLUSTERS: [Identify.cluster_id, Ota.cluster_id],
            }
        },

@Adminiuga
can you Help? My knowledge of coding isn't that good.

Deleting line 27,28 and 29 (they is now not needed).
Make line 85 and 86 like line 115 and 166 then its looks nicer.
The old PITA was Xiaomi and the new is tuya !!!
I think its looks very good (without any code knowledge at all  !!).

Ops Black like have little more spaces in 2 lines ;-((
                     OnOff.cluster_id,
                     Metering.cluster_id,
                     ElectricalMeasurement.cluster_id,
-                    0xE000, # TuyaClusterE000
-                    0xE001, # TuyaClusterE001
+                    0xE000,  # TuyaClusterE000
+                    0xE001,  # TuyaClusterE001
                 ],
                 OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
             },

Then you is getting it loading do you getting the warning you was getting before ?
I think they shall being fixed with the right config of the cluster in the replacement.

Than all is working OK is the devs merging it to dev branch and you can using it if you like and then its being released in the next HA release if all is going well.
For using it before its in HA you can installing by configuring local quirks in HA and adding the new quirk in it https://github.com/zigpy/zha-device-handlers/discussions/693#discussioncomment-457020.
The problem is that this PR is needing https://github.com/zigpy/zha-device-handlers/pull/1056 changed in the tuya INI so it not working and you need patching the ZHA-quirks in your HA docker container as in this guide:https://github.com/zigpy/zha-device-handlers/discussions/693#discussion-1237451 both the tuya INI and the new ts011f.py need being updated for getting it working.
If  you is god in coding you can doing one version with the power state and dont need the tuya INI but its little more work.

@lemppari

enable custom quirks in HA
copy code below to new file TS011F.plug
remove device from ZHA and Add again.
Reset the Device if you want to start with fresh.

"""TS011F plug."""
import zigpy.types as t
from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODEL,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zigpy.profiles import zha
from zigpy.quirks import CustomCluster, CustomDevice
from zigpy.zcl.clusters.general import (
    Basic,
    GreenPowerProxy,
    Groups,
    Identify,
    OnOff,
    Ota,
    Scenes,
    Time,
)
from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
from zigpy.zcl.clusters.smartenergy import Metering

class TuyaClusterE000(CustomCluster):
    """Tuya manufacturer specific cluster 57344."""

    name = "Tuya Manufacturer Specific"
    cluster_id = 0xE000
    ep_attribute = "tuya_is_pita_0"

class TuyaClusterE001(CustomCluster):
    """Tuya manufacturer specific cluster 57345."""

    name = "Tuya Manufacturer Specific"
    cluster_id = 0xE001
    ep_attribute = "tuya_is_pita_1"

class TuyaZBMetering(CustomCluster, Metering):
    """TuyaZBMetering cluster divides the KwH for tuya"""

    MULTIPLIER = 0x0301
    DIVISOR = 0x0302
    _CONSTANT_ATTRIBUTES = {MULTIPLIER: 1, DIVISOR: 100}

class TuyaZBElectricalMeasurement(CustomCluster, ElectricalMeasurement):
    """TuyaZBElectricalMeasurement cluster divides the Current for tuya"""

    AC_VOLTAGE_MULTIPLIER = 0x0600
    AC_VOLTAGE_DIVISOR = 0x0601
    _CONSTANT_ATTRIBUTES = {AC_VOLTAGE_MULTIPLIER: 1, AC_VOLTAGE_DIVISOR: 1000}

class PowerOnState(t.enum8):
    """Tuya power on state enum."""

    Off = 0x00
    On = 0x01
    LastState = 0x02

class OnOffRestorePowerCluster(CustomCluster, OnOff):
    """Tuya on off cluster with restore state."""

    attributes = OnOff.attributes.copy()
    attributes.update({0x8002: ("power_on_state", PowerOnState)})

class Plug(CustomDevice):
    """Tuya plug with restore power state support."""

    signature = {
        MODEL: "TS011F",
        ENDPOINTS: {
            # <SimpleDescriptor endpoint=1 profile=266 device_type=81
            # device_version=1
            # input_clusters=[0, 3, 4, 5, 6, 9, 1794, 2820, 57344, 57345]
            # output_clusters=[10, 25]>
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.ON_OFF_PLUG_IN_UNIT,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOff.cluster_id,
                    Metering.cluster_id,
                    ElectricalMeasurement.cluster_id,
                    TuyaClusterE000.cluster_id,
                    TuyaClusterE001.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            # <SimpleDescriptor endpoint=242 profile=41440 device_type=97
            # device_version=1
            # input_clusters=[]
            # output_clusters=[33]>
            242: {
                PROFILE_ID: 41440,
                DEVICE_TYPE: 97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        },
    }
    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.ON_OFF_PLUG_IN_UNIT,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOffRestorePowerCluster,
                    TuyaZBMetering,
                    TuyaZBElectricalMeasurement,
                    TuyaClusterE000,
                    TuyaClusterE001,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
        },
    }

YEEEH..! Thanks Guys


[BUG] spring.factories is not published with final azure-spring-data-cosmos artifact

Describe the bug
The spring.factories file that contains....
org.springframework.data.repository.core.support.RepositoryFactorySupport=com.azure.spring.data.cosmos.repository.support.CosmosRepositoryFactory
is not getting published with the azure-spring-data-cosmos artifact.
The main side effect of this that I have noticed is that the library does not work alongside other spring-data modules. In my case I was using it along side spring-data-jpa with a relational database. Not having this in place causes bean instantiation exceptions on startup. Spring has code internally that detects if multiple spring data modules are registered and it does this by seeing how many classes that extend RepositoryFactorySupport it has in the factories loader (CosmosRepositoryFactory extends RepositoryFactorySupport). Specifically this code...
boolean multipleModulesFound = SpringFactoriesLoader
      .loadFactoryNames(RepositoryFactorySupport.class, resourceLoader.getClassLoader()).size() > 1;

Without the spring.factories file in place, the above code does not detect CosmosRepositoryFactory and thinks spring-data-jpa is the only module registered. This sends spring down a different code path that only allows a single RepositoryFactoryBean instance to be instantiated instead of a RepositoryFactoryBean for each type of spring-data-module.
Exception or Stack Trace
The error that is raised when you try to use azure-spring-data-cosmos alongside another spring data module will look like this (in this case its used alongside spring-data-jpa)...
Cannot register bean definition [Root bean: class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]
preceded by....
There is already [Root bean: class [com.azure.spring.data.cosmos.repository.support.CosmosRepositoryFactoryBean]
If the spring.factories file was in the artifact, spring would detect that multiple spring-data modules are registered and it would allow both of these beans to exist.
To Reproduce
Use azure-spring-data-cosmos alongside one other spring-data module like spring-data-jpa or spring-data-mongo
Expected behavior
The spring.factories file that already exists in the project here...
https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/cosmos/azure-spring-data-cosmos/src/main/resources/META-INF/spring.factories
should be published with the azure-spring-data-cosmos artifact
Workaround
Add the spring.factories file to your own project
Setup (please complete the following information):

OS: any
IDE : any
3.1.0

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

@mbhaskar - please take a look at this.


Feature: Adding Hovering effect on the button of more on the categories section of the Home page

Feature: Adding Hovering effect on the button of more on the categories section of the Home page.

I have read the issue and I would like to work on this issue.
Please assign it to me under JWOC'2024.

 Once your PR for it is merged, you will be considered for other issues.

please Assign it to me


Possible Memory Leak?

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[✓] I have read the wiki page and cheat sheet, but there is no information I need.
[✓] I have searched in [existing issues]
/github.com/onevcat/Kingfisher/issues?utf8=✓&q=is%3Aissue), but didn't find a similar one.
[✓] I want to report a problem instead of asking a question. It'd better to use kingfisher tag in Stack Overflow to ask a question.

Issue Description
Possible memory leak when downloading a large amount of images?
What
I'm trying to use Kingfisher to download 5000+ images (disk cache only) at the push of a button. However, I get about 37%-42% through the downloads before running out of memory, crashing the app.
I've tried setting the max memory capacity to 1 as seen in the SO post below:
https://stackoverflow.com/questions/44048657/how-to-cache-images-only-in-disk-using-kingfisher
This fixed an earlier memory issue I had where the default was to use a limitless amount of memory until it crashed.
Now, using the leaks instrument, I'm seeing a __NSCFLocalDataTask for each finished download task not being deallocated for whatever reason. Is this a possible bug? Is Kingfisher designed to do this much all at once? Am I missing something super simple?

Reproduce
More or less what my code is doing...
Create an array of RetrieveImageDownloadTask so the user can cancel the RetrieveImageDownloadTasks.
Set:
ImageDownloader.default.downloadTimeout = 3000.0 // 5k images takes longer than the default.
ImageCache.default.maxCachePeriodInSecond = -1 // Cache images forever.
ImageCache.default.maxMemoryCost = 1  // Don't use memory to cache images.
Download 5k+ images, each with a different url. Add the RetrieveImageDownloadTask object to the array. Memory usage will just keep going up. Even after all the tasks are spun up and nothing else is happening.
If you need any other information, let me know!
Other Comment
Secondary thing, is there a way to tell if a task is completed? ie. Alamofires success variable in the completionHandler.
Thanks!

Did you remove the RetrieveImageDownloadTask from the array you created? Could it be the reason? According the screenshot, it seems that these tasks are held in an array.

I am not sure which method you are using to download, but all of them should contain a completion handler, like this.

Hey onevcat, thanks for the reply.
Currently, the RetrieveImageDownloadTask is set to nil in the array as the task finishes. I thought this would be good enough to have the object deallocate. If this is incorrect, let me know.
Below is my downloadImage function.
/// Downloads and caches the image.
static func downloadImage(imageURL: String, sku: String, downloadGroup: DispatchGroup) -> RetrieveImageDownloadTask
{
    let identifier = "\(sku).png"

    // Kingfisher uses modifiers to add token strings to the header.
    let modifier = AnyModifier { (request) in
        var r = request
        r.setValue("Bearer \(ImageManager.getTokenString()!)", forHTTPHeaderField: "Authorization")
        return r
    }

    // Set the download time out. Set the max age for images (-1 means forever), and download the image.
    ImageDownloader.default.downloadTimeout = 3000.0
    ImageCache.default.maxCachePeriodInSecond = -1
    ImageCache.default.maxMemoryCost = 1

    return ImageDownloader.default.downloadImage(with: try! imageURL.asURL(), options: [.requestModifier(modifier)], completionHandler: { (image, error, cacheType, ImageURL) in

        // If the image was retrieved, cache it.
        if image != nil{
            print("Image for sku: \(sku) downloaded.")
            ImageCache.default.store(image!, forKey: identifier)
        }

        // If the task was cancelled (code: -999) then save the sku where the cancel was pressed.
        if error?.code == -999 && !NetRequest.isCancelled{
            NetRequest.isCancelled = true
            ImageManager.setBookmark(sku: sku)
        }

        if error != nil{
            print("downloadImage Error: \(error)")
        }

        // Increase the counter and leave the image download group.
        MultiDownloadController.completedDownloadCounter += 1
        downloadGroup.leave()
    })!
}

That's pretty well the extent of the job. If anything looks wrong, please let me know.
Thanks!

How did you use the returned value (RetrieveImageDownloadTask) from your downloadImage(imageURL:sku:downloadGroup:) method? What do you mean by "set to nil" in the array. I cannot find related code for that from your snippet.
Is it possible for you to create a sample project to reproduce this issue, so I could have a detail look at what happens. Thanks!

The returned value from downloadImage(imageURL:sku:downloadGroup:) was put into an array so if the cancel button was clicked, I could iterate through the array calling RetrieveImageDownloadTask.cancel for each one.
However, in my attempt to free up memory, as each completion block finished I set the RetrieveImageDownloadTask to nil.
For example:
downloadTasks = [RetrieveImageDownloadTask1, RetrieveImageDownloadTask2, RetrieveImageDownloadTask3]
Then the completion handler for RetrieveImageDownloadTask1 finishes. Now the array looks like:
downloadTasks = [nil, RetrieveImageDownloadTask2, RetrieveImageDownloadTask3]
I'll try to put together a sample project when I can.
Thanks!

It should be fine if you set downloadTasks = [nil, RetrieveImageDownloadTask2, RetrieveImageDownloadTask3] in the completion handler. (However I cannot find this from your code snippet). Remember that the tasks will not become to nil themselves since you are holding them in the array, so you need a way to remove them from array.
I will try to take a look at the sample project once you prepare it!
Thank you.


Cannot .dyn_into::<AngleInstancedArrays>()

#[wasm_bindgen_test]
fn angle_instanced () {
  // Works as expected - confirmed I am able to do instanced rendering
  // with the returned `AngleInstancedArrays`
  get_webgl()
  .unwrap()
  .get_extension("ANGLE_instanced_arrays")
    .unwrap()
    .unwrap()
    .unchecked_into::<AngleInstanceArrays();

  // Panics
  get_webgl()
  .unwrap()
  .get_extension("ANGLE_instanced_arrays")
    .unwrap()
    .unwrap()
    .dyn_into::<AngleInstancedArrays>()
    .unwrap(); // <--- Panics here
}

fn get_webgl() -> Result<WebGlRenderingContext, JsValue> {
    let canvas: HtmlCanvasElement = document().create_element("canvas")?.dyn_into()?;

    let gl = canvas
        .get_context("webgl")?
        .expect("WebGL Context")
        .dyn_into()?;

    Ok(gl)
}

I'm imagining that this has something to do with how WebGL extensions WebIDLs are handled/defined?

In the spec, ANGLE_instanced_arrays is marked as [NoInterfaceObject], which means it doesn't actually exist.
You can verify this yourself: ANGLE_instanced_arrays and AngleInstancedArrays don't exist in the browser:
Uncaught ReferenceError: ANGLE_instanced_arrays is not defined
Uncaught ReferenceError: AngleInstancedArrays is not defined

Since those classes don't exist, that means it's not possible to do any runtime checks, which is why dyn_into doesn't work. So using unchecked_into is correct.

Ahh - I didn’t actually know what dyn_into did I’ve just always used it without any trouble and never needed to think about it.
Makes sense - thanks!

What dyn_into does is basically foo instanceof Bar, so it's doing a runtime check to make sure that the object is the right class.
Whereas unchecked_into just assumes that it's the right class, so it doesn't do any checks, so it's faster, but less safe (since you might make a mistake and use the wrong class).


This allows shareContext parameter to be passed to eglCreateContext.

Textures, shaders and etc. can be shared between Mp4Composer and app code.

Thanks great pull request !!!


Choices/wrapper html options

Add wrapper_html option to Checkboxes and Radio buttons, to allow change markup of input wrappers.
Usage:
f.input :author, :as => :radio, :collection => [
  ["Test", 'test'],
  ["Try", "try", { :wrapper_html => { 'data-id' => 99 } }]
]

Matching the same usage of :wrapper_html in other styles?

Please, wait. I'll submit a pull request to Formtastic first.

Old, and I don1t use Formtastic for years...


Roll engine to 76cb311d9c33720dcd19274228b39ecdbad8d9af (with rolled dart)

This rolls the engine and adapts flutter tools to incoming changes:

extend compilation result from single string to a structure(string filename and integer error count).
int.parse(onError) -> int.tryParse

The plan is to cherry-pick this into PR that rolls engine with rolled dart sdk.

This Dart SDK roll has been implicated as introducing OOM errors in certain flutter_tester tests.  @aam can  you work with @HansMuller to find out what's going on?

https://github.com/dart-lang/sdk/commit/5909932d38e12c461f4e15cad0e6ea21031a0fc8 seems to be the culprit.
cc @mraleph


Fix parent roll options getting ignored by modifiers

This is the true cause behind https://github.com/foundryvtt/pf2e/issues/14394. Rule isn't enumerable and must be copied separately.
I don't understand why there is a mergeObject without arguments though. It was introduced in https://github.com/CarlosFdez/pf2e/commit/1f9ae8ea0e2244936453f6d8f7297c1d7eee2c2a . I kept it in just in case but my guess is that it should probably be removed.

I removed the mergeObject, I can't see it as anything other than a mistake.


Consulting notes

Standart Wash(Hand Wash Only)
*By Appointment Only
Regular $80
Compact vehicles
Plus $100
SUV & Crossovers
Premium $150
Oversized vehicles
*services includes exterior hand wash & interior vacuum cleaning with shiny results.
*services includes under the hood wipe down(Engine Cover)
*Ask me for Special Detail prices..
-Depends on vehicle size and condition.
*Waterless wash available
*Steam wash available
*Clay Bar available
*RV,Boat and Motorcycle detail services available,ask me for prices..
*Eco-Friendly (less water and less chemical use then regular car washes)
*San Francisco Bay Area
*Contact us
@boringcarsdetailing (Facebook/Instagram)
+1(916)-385-7257

Payment accepted when booking, but not required.
booking up to 14 days out
3 hour sessions

Payment accepted when booking, but not required.
booking up to 14 days out
3 hour sessions

Reviews:
Matt Miesnieks

Neil Canlas

Reviews:
Matt Miesnieks

Neil Canlas

Pricing/features/addons inspo:
https://www.royaltyautospa.com/?gclid=EAIaIQobChMI6O-wgPi37gIVZCCtBh1Gxgf0EAAYASAAEgJo6vD_BwE
additional services same price
Interior santization same price

Pricing/features/addons inspo:
https://www.royaltyautospa.com/?gclid=EAIaIQobChMI6O-wgPi37gIVZCCtBh1Gxgf0EAAYASAAEgJo6vD_BwE
additional services same price
Interior santization same price

Wash N Go

Vacuum Interior
Vacuum Trunk/Cargo Area
Clean Interior Surfaces
Clean Console/Cup Holders
Clean Dash/Vents/Gauges
Condition Leather/Vinyl
Deodorize Interior
Shampoo Floor Mats
Microfiber Hand Wash
Clean Rims/Tires/Wheel Wells
Microfiber Dry Finish
Wipe Door Jambs
Air Blow Mirrors/Crevices
Hand Apply Polymer Sealer
Clean Rims & Shine Tires
Clean Windows Interior/Exterior

Interior Detail

Vacuum Interior
Vacuum Trunk/Cargo Area
Clean Interior Surfaces
Scrub Leather Seats/Doors/Dash
Clean Console/Cup Holders
Clean Vents/Gauges
Shampoo Floor Mats
Shampoo Carpets
Spot Clean/Shampoo Seats
Deodorize Interior
Clean Interior Windows

Additional Services
Our comprehensive interior cleaning service is the best solution on the market to make sure the interior of your vehicle is bacteria/germ-free.

Royalty Auto Spa uses special Enzyme(s) used to kill any Bacteria
Our Detailing experts will DEEP clean ALL interior surfaces – to include, Headliner, Vents, Carpets, etc.
Spot Cleaning Upholstery / Specialized Steam Cleaning
Leather Cleaning & Conditioning


Requesting WPF MVVM example

Could you please provide a demo application with WPF MVVM. I have used the winform Reogrid and its good. I cannot figure out how to use MVVM pattern with WPF version as there are no dependency properties. I'll be happy to contribute but lack technical expertise.
Thanks

Maybe you can submit an issue to the MVVM team?
https://github.com/IUpdatable/ReoGrid.Mvvm

Thanks, will post request over there

have you seen this example?
https://github.com/IUpdatable/ReoGrid.Mvvm/tree/master/ReoGrid.Mvvm.Demo
i think its quite good

Seems has been resolved, so I'm going to close this.


ARM64 build for kube-keepalived-vip

The image kubesphere/kube-keepalived-vip:0.35 only supports amd64 for now so it cannot be ran on a ARM64 based cluster:
exec /usr/bin/dumb-init: exec format error

Just tried to use OpenELB for a TuringPi 2 cluster and just ran into this same issue.
Really need an ARM64 build.


Always running wine64-preloader and no controller

Description
All games are detected as a wine64-preloader, and the controller is unavailable, but headset tracking works.
This issue did not occur in nightly 2023.3.15
Also, nightly 2023.3.26 version can't be use because keep steamvr addon blocked.
and still https://github.com/alvr-org/ALVR/issues/1536
General Troubleshooting

[x] I carefully followed the instructions in the README and successfully completed the setup wizard
[x] I read the ALVR Wikis here and here

Environment
Hardware
https://linux-hardware.org/?probe=d1da7498da
Installation
ALVR Version: v20.0.0-dev07+nightly.2023.3.25
SteamVR Version: 1.25.7
Install Type:

[ ] Packaged (exe, deb, rpm, etc)
[ ] Portable (zip)
[x] Source

OS Name and Version : Ubuntu 22.04.1 LTS

Are you sure you're listing the right nightly as the one you are listing doesn't exist

typo mistake 2023.3.26

That is still not the latest and it had a regression with a previous commit fixed in later commits/nightlies.

Also just to note wine-preloader is just always going to be there with proton and is not an ALVR bug