C# tests not loading at all

On WAT 6.0 and the latest GitHub version, I get the following error when the plugin loads a C# test:
res://addons/WAT/filesystem/validator.gd:16 - Invalid call. Nonexistent function 'new' in base 'CSharpScript'

I'm using Godot 3.3.2 mono.
I looked into the code and the error doesn't make any sense -- there already is a check for load(p).has_method("new") so how is this possible?

https://github.com/AlexDarigan/WAT/pull/319 should cover this. The tests should run properly and it should show up as a failed test case in the results (with "parse error" as the reason). The error message is still vague because Godot's doesn't properly report it or expose the errors, but at least the tests should work.
To answer your question on load(p).has_method("new"), this always returns true because all Objects in Godot has the .new() instantiator. For inherited classes of Script such as GDScript and CSharpScript, they actually have their own new() method which they will call; this is a shadow of Object's new(), not an override. Therefore, we cannot use has_method("new") to check if the script was properly loaded. Tagging @AlexDarigan as well in case he wants to know the reason 😂
Just some additional info that isn't intuitive to find, the Godot docs have a Warning that C# class names and file names must match: https://docs.godotengine.org/en/stable/getting_started/scripting/cross_language_scripting.html) or else it will throw the Invalid call. Nonexistent function 'new' in base error.


Feature suggestion : web app capabilities

You know, the cool feature when you can add it to you homescreen with a nice icon instead of the letter in the square, and the navbar is hidden 😊

Good idea, would be nice to have the recipes accessible offline, too. I'll look into it.


BCDB: BCDBFS (can't find object with obj id)

searching files always fails.

this case happened with inconsistent state of sonic and bcdb on a dirty container.

To check whether it is a bug, or simply due to the dirty container.

tried to reproduce with clearing bcdb, and without resetting sonic server data
then searched for sonic, but couldn't reproduce


Form Fixes for Server Side Validation

Forms to be fixed:
Henry:
-HelpSeeking
-Mechanisms
-OA
Noah:
-Return Intention
-RR (Recognition Ratings)
-Wellness (Also convert the slider to radio buttons; see image)

These are all fixed, or referenced by other issues.


fix: forcing ssh very explicitly in our github URL in the dir2consul job

It turns out our issues that this was trying to fix involved a nomad "feature", which you can see some discussion around here, from 2017:

https://github.com/hashicorp/nomad/issues/2818
https://github.com/desktop/desktop/issues/2579

And 2019

https://github.com/hashicorp/nomad/issues/6619

As such, I'm closing this in favor of a slightly different approach.


run_example.sh doesn't work without tweaking

On Ubuntu 16.04 with docker 1.11.2 I had to change run_example.sh from docker build . -t django-rest-swagger-example to docker build -t django-rest-swagger-example . (put the dot at the end).
Even so it only worked after multiple re-runs and me running manage.py migrate manually inside the container (ie. it doesn't seem to work correctly when the image is re-built from scratch on the machine).

Fixed in 2.0.5


15 fps on every Game on Noblex Android TV

Platform

Device: TV (Noblex)
OS: Android
Browser: Kiwi Browser and Better Xcloud Web
Browser Version: Lastest
Better xCloud Version: Lastest

Describe the bug
When i start any Game this one runs on 15 fps and randomly can get fixed When the screen freezes like resident evil 2 where this one keeps freezing every time, i tried using 720p too but i can't fix it and i use 50 mbps of internet speed
https://github.com/redphx/better-xcloud/assets/163880555/374f85a9-44f2-46e1-ac28-a17825f35caf
Screenshots/Videos
If applicable, add screenshots/videos to help explain your problem.

it's the same with me, but on windows with a delay of up to a minute

Probably because your device doesn't support hardware decode for H.264

You can also check codec support with the AIDA64 app. It’s compatible with Android TV. So no need to sideload for Android TV users.
https://play.google.com/store/apps/details?id=com.finalwire.aida64

for hardware accelerated h.264, look for rows with "video/avc" that don't start with "omx.google"


challenge stuck in pending state - certifcate never gets ready

Certificate stuck in NOT READY state.
Re-creating ingress did not solve it - which usually does the job.
Upon investigating, found that the first challenge was still stuck in pending state.
NAME                                                     CLASS   HOSTS                ADDRESS    PORTS     AGE
ingress.networking.k8s.io/test-redacted-app-fe           nginx   test.redacted.com    redacted   80, 443   24m

NAME                                                                STATE     AGE
order.acme.cert-manager.io/test.redacted.com-tls-cczsk-1838508191   pending   24m

NAME                                                             APPROVED   DENIED   READY   ISSUER     REQUESTOR                                         AGE
certificaterequest.cert-manager.io/test.redacted.com-tls-cczsk   True                False   zerossl-issuer   system:serviceaccount:cert-manager:cert-manager   24m

NAME                                                READY   SECRET                  AGE
certificate.cert-manager.io/test.redacted.com-tls   False   test.redacted.com-tls   24m

NAME                                                                               STATE     DOMAIN              AGE
challenge.acme.cert-manager.io/test.redacted.com-tls-b68pk-1838508191-1486820021   pending   test.redacted.com   22h
challenge.acme.cert-manager.io/test.redacted.com-tls-cczsk-1838508191-1957232724             test.redacted.com   24m

Expected behaviour: creation of certificate without any issue.
Steps to reproduce the bug:
Not exactly reproducible. It happened at random for one certificate (out of many).
Anything else we need to know?:
For now, I resolved it by manually deleting the pending challenge (and removing finalizers). Followed by re-installing my application.
Environment details::

Kubernetes version: 1.26
Cloud-provider/provisioner: GKE
cert-manager version: 1.12.0
Install method: static manifests

/kind bug

I'm seeing this error as well

I'm seeing this error as well

The issue for me was that Cloudflare was flagging the challenges as a bot and was blocking them.

We are running Cert Manager 1.13.3 (same issue with 1.13.1).
We had to create a CAA record on our DNS zone to create new certificates or renew existing ones.
Still investigating why we had to do so, it was working correctly in the past.

I'm seeing this error as well

The issue for me was that Cloudflare was flagging the challenges as a bot and was blocking them.

Could you tell, how you managed to get it fixed? I was searching cloudflare panel for some requests that were flagged as a bot, but didn't find anything.

I'm seeing this error as well

The issue for me was that Cloudflare was flagging the challenges as a bot and was blocking them.

Could you tell, how you managed to get it fixed? I was searching cloudflare panel for some requests that were flagged as a bot, but didn't find anything.

After selecting the site, Security then Events. You should see a list of everything blocked.
I added an IP Access Tool Rule under Security-WAF, that allows any connection from my server's IP address. I wish there was a way to automate this. I know I'm going to forget the next time the ISP changes my IP

I'm seeing this error as well

The issue for me was that Cloudflare was flagging the challenges as a bot and was blocking them.

Could you tell, how you managed to get it fixed? I was searching cloudflare panel for some requests that were flagged as a bot, but didn't find anything.

After selecting the site, Security then Events. You should see a list of everything blocked.
I added an IP Access Tool Rule under Security-WAF, that allows any connection from my server's IP address. I wish there was a way to automate this. I know I'm going to forget the next time the ISP changes my IP

None of above worked, but when I removed a _acme-challenge TXT record it successfully validated the challenge and everything worked lol.
Weird behaviour, I had this set up for 2 years and it worked like a charm until today.


fix type create cache bucket

Description
Fix bad type and possible race condition/intermittent failures.
The cache module would fail on some of our developer's laptops. Currently, you optionally call data.aws_caller_identity if create_cache_bucket is set to true. create_cache_bucket defaults to bool true but has an improper type of string. This likely doesn't matter bc of loose automatic terraform type-conversion but should get fixed.  You then optionally decide to prefix the bucket with the account-id if cache_bucket_name_include_account_id is set to true. cache_bucket_name_include_account_id has a correct bool type. There is a chance for these invariants to not line up - i.e. dont create the cache bucket but ask for it to add the account_id to the bucket name.
That said, in our case, we were leaving these as the defaults and we still experienced intermittent failures below on some developer's laptops. There may be some race condition that causes the data.aws_caller_identity tuple to not be populated and then terraform attempts to use it for templating the bucket name. I didnt investigate much further but tested the fork on a number of our team members machines that were experiencing the failure and it consistently seemed to address the issue.
This commit fixes the type of create_cache_bucket and sets it to bool. It also, removes the count attribute on data.aws_caller_identity. The identity will always be looked up but only used in the case that cache_bucket_name_include_account_id is true. This is a small performance hit but in reality, the optimization seemed a little overzealous.
Error: Invalid index
  on .terraform/modules/runner.runner/npalm-terraform-aws-gitlab-runner-43ebd78/cache/main.tf line 16, in locals:
  16:   cache_bucket_name = var.cache_bucket_name_include_account_id ? "${var.cache_bucket_prefix}${data.aws_caller_identity.current[0].account_id}-gitlab-runner-cache" : "${var.cache_bucket_prefix}-gitlab-runner-cache"
    |----------------
    | data.aws_caller_identity.current is empty tuple
The given key does not identify an element in this collection value.

I regenerated the docs and it picked up another change that I didnt change so it seems the docs were already slightly stale. Specifically docker_machine_ssh_cidr_blocks and  docker_machine_docker_cidr_blocks look to no longer be used.
Migrations required
NO
https://www.terraform.io/docs/configuration/expressions.html#type-conversion
Verification
Tested a very simple deploy of a cache and gitlab runner with mostly defaults
Documentation
Please ensure you update the README in _docs/README.md. The README.md in the root can be updated by running the script ci/bin/autodocs.sh

@geota thx, will check in the next days.

@geota  thanks all good, I will create end of the week a release.


Updating the browser address bar when paginating

Angular 2 version:
RC.1
ng2-pagination version:
0.3.0
Description of issue:
Updating of the browser address bar doesn't get updated while paginating, this in turn doesn't allow users to easily share links of specific pages
Steps to reproduce:
Just paginate between pages of results
Expected result:
the address bar should get updated, for ex. www.example.com/articles should be updated to www.example.com/page/2 when a user paginate to the second page (the url addition of "page/#" should be customizable as its also an SEO issue).
It will be even better if this feature will be optional so the dev could decide if he want it or not.
Actual result:
The address bar (and also the browser history) doesn't change when paginating
Demo:
I guess no demo is needed, feel free to let me know otherwise
Thanks a lot for this project!

Hi,
This is beyond the scope of this module - it is too application-specific to generalize and still be useful. The application developer needs to solve this problem separately.


Use pflags string slice instead of internal util.StringList

Simplifies our data structures and provides consistency with other command flags. Reduces (our) code too!

+1 to this, killing util.StringList is reason enough to do this.

ok to test

LGTM

You have to rebase the pr first to get this merged. Sorry for the inconvenience.

ok to test

rebasing AGAIN because of s|github.com/GoogleCloudPlatform|k8s.io/kubernetes|  blasted rebases!

Sorry, looks like you have to rebase it again.

PR changed after LGTM, removing LGTM.

This one is at the top of my merging queue.


Error running benchmarks/benchmark_generation.py

Hi there. It's great to see another LM trained on the Pile.
When I run benchmarks/benchmark_generation.py:
[KeOps] Compiling cuda jit compiler engine ... OK
[pyKeOps] Compiling nvrtc binder for python ... OK
Number of parameters:<PHONE_NUMBER>
[KeOps] Generating code for formula Sum_Reduction(ComplexMult(Var(0,2,1),ComplexExp(ComplexMult(Var(1,2,1),Var(2,2,0)))),0) ... OK
Segmentation fault

and it exits after "Segmentation fault".
So I uninstall pykeops, and then the new error is:
Traceback (most recent call last):
  File "/fsx/BlinkDL/CODE/_PUBLIC_/H3/benchmarks/benchmark_generation_h3.py", line 68, in <module>
    fn()
  File "/fsx/BlinkDL/CODE/_PUBLIC_/H3/benchmarks/benchmark_generation_h3.py", line 65, in <lambda>
    fn = lambda: model.generate(input_ids=input_ids, max_length=max_length,
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/flash_attn-0.2.8-py3.9-linux-x86_64.egg/flash_attn/utils/generation.py", line 150, in generate
    output = decode(input_ids, self, max_length, top_k=top_k, top_p=top_p,
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/flash_attn-0.2.8-py3.9-linux-x86_64.egg/flash_attn/utils/generation.py", line 107, in decode
    logits = model(input_ids, inference_params=inference_params).logits[:, -1]
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/fsx/BlinkDL/CODE/_PUBLIC_/H3/src/models/ssm_seq.py", line 186, in forward
    hidden_states = self.backbone(input_ids, position_ids=position_ids,
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/fsx/BlinkDL/CODE/_PUBLIC_/H3/src/models/ssm_seq.py", line 141, in forward
    hidden_states, residual = layer(hidden_states, residual, mixer_kwargs=mixer_kwargs)
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/flash_attn-0.2.8-py3.9-linux-x86_64.egg/flash_attn/modules/block.py", line 126, in forward
    hidden_states = self.mixer(hidden_states, **mixer_kwargs)
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/flash_attn-0.2.8-py3.9-linux-x86_64.egg/flash_attn/modules/mha.py", line 481, in forward
    kv = self._update_kv_cache(qkv[:, :, 1:], inference_params)
  File "/fsx/BlinkDL/conda/lib/python3.9/site-packages/flash_attn-0.2.8-py3.9-linux-x86_64.egg/flash_attn/modules/mha.py", line 419, in _update_kv_cache
    assert self.layer_idx is not None, 'Generation requires layer_idx in the constructor'
AssertionError: Generation requires layer_idx in the constructor

@BlinkDL try with this fix now!
For the KeOps issue - can you share details about your environment? PyTorch, CUDA, and KeOps versions would all be helpful.

I believe the issue happens when the GPU runs out of mem for the larger benchmarks.... e.g. on my setup with
pykeops-2.1.1 on  Driver Version: 525.60.13    CUDA Version: 12.0 with torch                         2.0.0a0+git81b5eff on a 24gb card it crashes:
Number of parameters:<PHONE_NUMBER>

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007ffe4e0c556b in range_preprocess_from_device(int&, int, int, int, int**, int, int*&, int*&, int*&, int*&, int, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, int*) () from .cache/keops2.1.1/build/pykeops_nvrtc.cpython-310-x86_64-linux-gnu.so

but works if i do a smaller test:
Number of parameters: 12102144
[KeOps] Generating code for formula Sum_Reduction(ComplexMult(ComplexMult(Var(1,2,0),Var(0,2,1)),ComplexExp(ComplexMult(Var(2,2,0),Var(3,2,1)))),0) ... OK

hope that helps!

getting this same error -- also on a 24gb card. i see the --ckpt option but is there some way to toggle the model architecture between the different model sizes (ex. 1.3B vs. 2.7B)
thanks!

There are examples to switch between the different models for text generation: https://github.com/HazyResearch/H3/tree/main/examples


errorneous connection mode

The function allInterfacesDown connectionMode in taskexecuter.cpp networkmanager.cpp wrongly returns UnknownMode on some machines , therefore none of the measurements will be executed.

Fixed in version 2.7.1


SEHException when using xgboost with gpu

I have installed latest Cuda version (9.2), and when setting the tree method to GPU* i get an SEHException "external component has thrown an exception", should i compile the program in a certain way after cuda installation? What should i do?, thanks!

Hi @gaop123 ,
It could sound like a GPU memory issue. There are no special compilation needed once you have installed Cuda like descriped in the guide: Cuda installation.
Could you provide some details about the following:

Settings of the xgboost learner (code)
How large is the problem you are training on (number of rows, cols)
If possible, detailed description from the SEHException

Best regards
Mads

I don't think it's a memory related issue, i have tried on some small data
sets (about 500 rows and 100 cols) just to check but the exception is still
thrown,
this is the code of the learning part:
       var sharpDtLearner = new

ClassificationXGBoostLearner(3,0.1,100,false,ClassificationObjective.GPUBinaryLogistic);
var sut = sharpDtLearner.Learn(mat, outputs.Convert(x =>
(double)x));
      ProbabilityPrediction[] pp = this.xgboost.PredictProbability(mat);

this is then exception:
System.Runtime.InteropServices.SEHException (0x80004005): External
component has thrown an exception.
at XGBoost.lib.XGBOOST_NATIVE_METHODS.XGBoosterUpdateOneIter(IntPtr
bHandle, Int32 iter, IntPtr dHandle)
at XGBoost.lib.Booster.Update(DMatrix train, Int32 iter)
at
SharpLearning.XGBoost.Learners.ClassificationXGBoostLearner.Learn(F64Matrix
observations, Double[] targets, Int32[] indices)
*if i change the objective to BinaryLogistic i't works perfectly.
Thanks!
בתאריך יום ו׳, 7 בספט׳ 2018 ב-8:33 מאת Mads Dabros <
notifications@github.com>:

Hi @gaop123 https://github.com/gaop123 ,
It could sound like a GPU memory issue. There are no special compilation
needed once you have installed Cuda like descriped in the guide: Cuda
installation
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
.
Could you provide some details about the following:

Settings of the xgboost learner (code)
How large is the problem you are training on (number of rows, cols)
If possible, detailed description from the SEHException

Best regards
Mads
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mdabros/SharpLearning/issues/87#issuecomment-419327894,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANFWWW1K_hzG1exi6VOvr8h1GSZppSGsks5uYgVAgaJpZM4WcdTN
.

--
חיימוביץ גיא


Make time shift corrections optional

This adds boolean telescope options to the CameraCalibrator for applying the time shifts.
Waveform shifting and peak time shifting can be independently turned on / off.

@watsonjj I implemented a better test, can you re-review?

Merge conflicts resolved, plase review again @kosack @watsonjj


[Feature Request] Add a static function that converts HEX rgb and rgba strings into Color objects.

Subject of the issue
I sometimes get HEX codes instead of rgba values from programs, and adding a nifty little HEX to Color converter would be a nice addition to SFML.
You would need to add a rgba hex to color and a rgb hex to color converter. Example hex colors:
Blue:
#0000ff
Blue with alpha information:
#0000ffff
What do ya'll think of this feature? Should it be added or not?

After talking with a bunch of people on the sfml discord, I feel that this feature request is unnecessary. If introduced, it semantically removes the first word in the logo Simple.

Reopened for further input.

More input always welcome, but since the actual feature is available through Color constructor and toInteger(), it doesn't need to be open. Unless someone thinks an additional HTML conversion would be helpful (as string, or without alpha).


Disable touch ID

Background
Touch ID seems to be an 'attestation' that's provided by default with the WebAuthn API.
Touch ID isn't something that we're planning on providing as part of the initial project. To avoid additional thought to go into UX flows for this, we should disable it.
AC

When registering with the WebAuthn method, by CWP-default, users should only asked to be registered with what we understand a security key to manage.

We could make the "disable touch ID" configurable, in which we disable it by default, in case people actually want to use it for their projects

Found the relevant part of the API:
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredentialCreationOptions/authenticatorSelection

Yeah please make this configurable, it's a great marketing feature - particularly mentioning FaceID and SilverStripe in the same sentence. @clarkepaul What are the concerns in terms of UX on this? My concerns are more around organisational rules: A certain org might require their staff to use hardware keys, and while they provide work iPhones, they don't manage them centrally (e.g. enforcing a strong passcode). So their CISO isn't comfortable replacing a (known safe) hardware key with a potentially weaker TouchID or FaceID based on individual staff choice. It's all a bit contrived, but I can see the use case.
In the end, I want to make sure we don't block this important and increasing use case (built-in device MFA) because we designed an icon as a "key" rather than something more abstract.

Yeah it's probably more that we don't want to support single device factors by default (configurable) since you might lock your MFA settings to your phone by accident.

Yeah it's probably more that we don't want to support single device factors by default (configurable) since you might lock your MFA settings to your phone by accident.

I'm of the opinion that we can't make it configurable until we support multiple device registrations in one method registration. It's a little more work. It requires different UI though - and we'd need to do some weird stuff to allow management in the CMS for just that method. Maybe we need to do a similar pattern that is done in elemental for block actions?

Or allow the same Method to be registered more than once, e.g. 3x TOTPs, 2x YubiKeys and 1x fingerprint

Apparently, there's about a 1 in 50,000 chance someone else's fingerprint could be mistaken for yours, and a 1 in 100,000 your face could be mistaken (Apple stats). I personally don't have too many concerns as this field progresses so fast that it is already been proven to be successful, every method has its downsides which would need to be known/addressed by people who implement it. As mentioned above the UI doesn't fit this experience and would need to be modified is the caveat. I'm all for multiple methods of the same type to be registered but I don't think its high priority. Getting the status quo out is going to be enough of a challenge. I don't think we've backed ourselves into any corner in terms of how we've designed it so far.

I'm of the opinion that we can't make it configurable until we support multiple device registrations in one method registration.

People can loose phones, they can loose hardware tokens. We already have reset mechanisms in place. I don't really see a difference here, and the discussion for supporting multiple methods (e.g. Yubikey plus TouchID) seems like a distraction for this ticket? In my mind it's more around organisational preference for a single hardware token, as outlined above.
@ScopeyNZ Maybe I'm misunderstanding you - why do you think "allowing platform-specific device authenticators like TouchID" is coupled with "allowing multiple device registrations"?

Because you have to register each device individually. Your fingerprint on your phone is not the same as your fingerprint on your MacBook Pro. The WebAuthn library caters for this - it provides an interface that is tasked with fetching specific credentials from a collection that belongs to a single user.
I think "allowing platform-specific device authenticators like TouchID" is coupled with "allowing multiple device registrations" because it's a pretty awful user experience if you can only have one authorised device at a time with WebAuthn.

Allow the same Method to be registered more than once, e.g. 3x TOTPs, 2x YubiKeys and 1x fingerprint (3x WebAuthn RegisteredMethods)

This becomes too hard in the case of TOTP I think. You would have to name your registration so you know what one to pick when you log in.

If we were to allow TouchID, it shouldn't be configured it in the Security key (webauthn) user flow. We could consider disabling TouchID from the WebAuthn user flow and have it as another method called TouchID? This would require more UI and content I'd imagine. Even though it would be nice selling point, it seems more like a nice to have, as it would only benefit a limited number of users, and because of the limitation @ScopeyNZ raised, that a fingerprint registered on a device cannot be reused on another device.

@newleeland we're mostly discussing the backend implementation of how we handle the WebAuthn protocol here, rather than the UI we've built around it. Agreed, promoting a single authenticator factor (security key) out of whatever WebAuthn supports is limiting, and it will probably require re-work in future if biometric validation were a more standard use case for the module, but I agree with @chillu that disabling touch ID now because the UI doesn't indicate that you can use it is the wrong choice to make. The more valid concern is around the fact that fingerprints are tied to a single device, which to me is more why we'd want to disable it, rather than the UI.

Relevant backend docs for this: https://github.com/web-auth/webauthn-framework/blob/v1.2/doc/webauthn/PublicKeyCredentialCreation.md#authenticator-selection-criteria

PR here: https://github.com/silverstripe/silverstripe-webauthn-authenticator/pull/23


NE-310 Implement route admission support for HSTS header

Route admission support for HSTS annotations on routes.

Add type RequiredHSTSPolicy with HSTS directives plus namespace selector and domain patterns to match. Add supporting variables.
Add RequiredHSTSPolicies to IngressSpec

Enhancement proposal: https://github.com/openshift/enhancements/pull/749

/lgtm

/assign @sttts

Thanks for the updates.  Looks like a solid API.
/approve


Offering Help to Improve SEO for Your Website

Hi @falguni-mondal
I came across your website and noticed that there might be opportunities to enhance its SEO performance. I’d be happy to help you with:

Optimizing meta tags (titles, descriptions, etc...
Improving page structure for search engine visibility
Enhancing page load speed and mobile responsiveness
Adding relevant keywords and alt text for images

and more.
If you're interested, I’d love to collaborate on and contribute to your project, Let me know how I can assist or if there's a particular area you'd like to focus on.

Hi @Moamal-2000 ,
Thank you for showing interest in contributing to my Kickster project and for pointing out opportunities for improvement, especially in terms of SEO and related aspects.
You are absolutely right that there are areas for optimization, but as the project is still under development, such issues are expected at this stage. Rest assured, I plan to address and improve these aspects as the project progresses toward completion.
I truly appreciate your willingness to collaborate and your suggestions. In the future, if I feel the need, I will definitely reach out to you.
Thank you again for reaching out!
Best regards,
Falguni Mondal

It’s great to hear that you already have these improvements in mind, Your work caught my attention, which is why I wanted to contribute, even in a small way, I wish you all the best as you continue working on the project.


Empty default section is not an error anymore

Pull Request Test Coverage Report for Build 24

7 of 7 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.7%) to 93.846%

Files with Coverage Reduction
New Missed Lines
%

filehandler.go
2
93.85%

Totals

Change from base Build 21:
-0.7%

Covered Lines:
61

Relevant Lines:
65

💛  - Coveralls


Users don't know when bot is thinking

Replace acknowledge.mp3 bip by a loading sound until the bot answers.

Done in ceab9281fc64adc072ef070ced29a03dee6fa3ae.


message_fetch: Fix get_frontfill_anchor fallback.

This fixes a very rare exception seen in production, which the previous assertion allowed us to understand was possible in a rare race, now documented in comments.

Closing in favor of https://github.com/zulip/zulip/pull/27948, which completed this.


Create permission activity model

Needed for compatibility with SDK 31 (Android 12) as @Zanthed wrote in #12.
Work in progress, feel free to contribute or discuss on #talkback-foss matrix channel.

Closing since it is fixed upstream.


Mongo SSL support

I have the following mongo url
mongodb://user:pass@<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>:27017/admin?replicaSet=demo-rs0&ssl=true

This however gives me the error
connection.go:35] Cannot connect to server using url "mongodb://user:pass@<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>:27017/admin?replicaSet=demo-rs0&ssl=true" : unsupported connection URL option: ssl=true

Is it possible to connect to a mongo replicaset with ssl enabled?

Would love to see this. Using Mongo Atlas and SSL is required for connection.


update pytest

For https://github.com/Graph-Learning-Benchmarks/gli/issues/331.
This PR is for testing correctness. We remove README in wiki. Auto commenting should be triggered.

Close since auto-comment.yml is merged


Saving changes to HorizontalPodAutoscalers not working

Saving changes to HorizontalPodAutoscalers not working in v1.31.0
Clicking the save button does nothing after changing hpa.

I can't reproduce the issue you are experiencing, can you provide more information?

Did not work for me that is why I created an issue. I am using the following:
ubuntu 22.04
k3s kubernetes: rancher/k3s:v1.28.14-k3s1

I've managed to reproduce your issue, this will be fixed in the next version!

Great!
Thanks again for your amazing application.


Issue 2792

Changelog category (leave one):

New Feature
Improvement
Performance Improvement
Backward Incompatible Change
Build/Testing/Packaging Improvement
Documentation (changelog entry is not required)
Bug Fix (user-visible misbehavior in an official stable release)
Not for changelog (changelog entry is not required)

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
...
Documentation entry for user-facing changes

[ ] Documentation is written (mandatory for new features)

Information about CI checks: https://clickhouse.com/docs/en/development/continuous-integration/

This is an automated comment for commit 691d527a77b7f321ce27a0f6bfa80f89895eccd1 with description of existing statuses. It's updated for the latest CI running
The full report is available here
The overall status of the commit is 🟢 success
Check nameDescriptionStatus
Push to DockerhubThe check for building and pushing the CI related docker images to docker hub🟢 success


Gallery Widget Broken

The widget for the Gallery app is broken.
When you go to widget > Gallery > Single photo
It will take you to the gallery app to select a photo. You click the photo, it offers to crop it, and then it will just flicker and not show up.
I am using Neo launcher if that matters.

We can remove this functionality. The app is deprecated.


fix(examples): replace k8s.io with example.io

fixes https://github.com/AmitKumarDas/metac/issues/127
In newer kubernetes version, the namespace k8s.io is protected
https://github.com/kubernetes/enhancements/pull/1111
switch sample controller to use example.io instead
Signed-off-by: Florian Koch<EMAIL_ADDRESS>

:tada: This PR is included in version 0.2.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Incorrect statement. IoAcquireRemoveLock does not have a return type.

IoAcquireRemoveLock returns STATUS_SUCCESS if the call was successful. One possible error return value is the following:

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

ID: aff43c16-5161-b97d-e498-bbc5d2659fba
Version Independent ID: 26169519-6e0e-42b2-851e-d8fc67a1b03a
Content: IoAcquireRemoveLock macro (wdm.h) - Windows drivers
Content Source: wdk-ddi-src/content/wdm/nf-wdm-ioacquireremovelock.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Thanks for the feedback, Jay.  First a caveat that I'm not a dev.  Here's what I see in wdm.h:
#if DBG
#define IoAcquireRemoveLock(RemoveLock, Tag) \
        IoAcquireRemoveLockEx(RemoveLock, Tag, __FILE__, __LINE__, sizeof (IO_REMOVE_LOCK))
#else
#define IoAcquireRemoveLock(RemoveLock, Tag) \
        IoAcquireRemoveLockEx(RemoveLock, Tag, "", 1, sizeof (IO_REMOVE_LOCK))
#endif

#if (NTDDI_VERSION >= NTDDI_WIN2K)
_IRQL_requires_max_(DISPATCH_LEVEL)
NTKERNELAPI
NTSTATUS
NTAPI
IoAcquireRemoveLockEx (
    _Inout_ PIO_REMOVE_LOCK RemoveLock,
    _In_opt_ PVOID          Tag, // Optional
    _In_ PCSTR              File,
    _In_ ULONG              Line,
    _In_ ULONG              RemlockSize // are we checked or free
    );
#endif

Doesn't the #define just expand out at compile time?  So yes, the "macro" is technically void, as our build system correctly puts in the syntax block, but seems to me the text in the return value section is fine.  It's just a text replacement to a call that returns NTSTATUS.
Did you encounter a scenario where that wasn't the case?  Is your recommendation that we delete all text in the return value section?

Agreed with your comment in #663 about adding NTSTATUS in the syntax block.
I just pushed a change that should override the build system and render that as the syntax block.  Give it 30-60 min to appear on the live site.  Feel free to reopen if you still see any issues at that point.

Thank you for updating the doc.
FYI, I’m a bluetooth driver dev at MS (jcourtn). In case we happen to work together in the future 😊
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Ted<EMAIL_ADDRESS>Sent: Friday, October 18, 2019 4:32 PM
To<EMAIL_ADDRESS>Cc: Jay<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-driver-docs-ddi] Incorrect statement. IoAcquireRemoveLock does not have a return type. (#662)
Closed #662https://github.com/MicrosoftDocs/windows-driver-docs-ddi/issues/662.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-driver-docs-ddi/issues/662?email_source=notifications&email_token=AFZ6VKGZGC4U3W5LAXMQFSTQPJBQTA5CNFSM4JCM7TC2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOUKBYSWQ#event-2726529370, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFZ6VKFI4MIMRZMEK4ZS4HTQPJBQTANCNFSM4JCM7TCQ.

Sounds good, Jay, thanks again for the feedback.
Look fwd to seeing you down the road.


the platform should identify the type of model (not asking to the user)

When a model is loaded, the platform should identify the type of model (not asking to the user)

Added ~46 label

Added ~56 label


GO:0090415 '7-hydroxymethyl chlorophyll a reductase activity'

Add missing xref to GO:0090415 '7-hydroxymethyl chlorophyll a reductase activity'

EC:<IP_ADDRESS>
https://www.rhea-db.org/rhea/53544

Note that EC:<IP_ADDRESS> maps to another RHEA; https://www.rhea-db.org/rhea/31751, although this RHEA has no gene associated. I propose we wait for this reaction to be supported by annotations before ading it as a xref in GO.

Created term for last missing sibling for EC:1.17.7.- branch
+[Term]
+id: GO:0141197
+name: 4-hydroxy-3-methylbut-2-enyl-diphosphate synthase activity (flavodoxin)
+namespace: molecular_function
+def: "Catalysis of the reaction: (2E)-4-hydroxy-3-methylbut-2-enyl diphosphate + 2 H+ + H2O + oxidized [flavodoxin] = 2-C-methyl-D-erythritol 2,4-cyclic diphosphate + reduced [flavodoxin]." [RHEA:43604]
+synonym: "(E)-4-hydroxy-3-methylbut-2-enyl diphosphate synthase activity" EXACT [EC:<IP_ADDRESS>]
+synonym: "4-hydroxy-3-methylbut-2-en-1-yl diphosphate synthase activity" EXACT [EC:<IP_ADDRESS>]
+xref: EC:<IP_ADDRESS>
+xref: RHEA:43604
+is_a: GO:0052592 ! oxidoreductase activity, acting on CH or CH2 groups, with an iron-sulfur protein as acceptor
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27696" xsd:anyURI
+created_by: pg
+creation_date: 2024-04-23T08:04:46Z
+

Same branch: EC:<IP_ADDRESS>  >> GO:0051745  4-hydroxy-3-methylbut-2-enyl diphosphate reductase activity
Fixed definition to describe both products:
-old def: "Catalysis of the reaction: (E)-4-hydroxy-3-methylbut-2-en-1-yl diphosphate + NAD(P)H + H+ = isopentenyl diphosphate + NAD(P)+ + H2O. Note that (E)-4-hydroxy-3-methylbut-2-en-1-yl diphosphate is an alternative name for 1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphate." [EC:<IP_ADDRESS>]
+new def: "Catalyzes the conversion of (2E)-4-hydroxy-3-methylbut-2-enyl diphosphate + 2 H+ + 2 reduced [2Fe-2S]-[ferredoxin] to isopentenyl diphosphate (IPP) and dimethylallyl diphosphate (DMAPP) releasing H2O + 2 oxidized [2Fe-2S]-[ferredoxin]. Note that (E)-4-hydroxy-3-methylbut-2-en-1-yl diphosphate is an alternative name for 1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphate." [EC:<IP_ADDRESS>, GOC:pg]
Added missing xrefs
+xref: REGG_REACTION:R05884
+xref: RHEA:24488 {source="skos:narrowMatch"}
+xref: RHEA:24825 {source="skos:narrowMatch"}

Typo reported on GO helpdesk:
I work on EBI Search, where we index the Gene Ontology for searching and
cross-references across our data sets.
We have recently had an unrecognized cross-reference flagged by our
indexing pipeline. The entry GO:0051745 has a cross-reference to
REGG_REACTION:R05884, which does not match any databases we are aware
of. However, R05884 is an entry in the KEGG Reaction database. Is this a
typo in the entry?
If not, please let us know the referenced database - we would like to
keep our cross-references as up-to-date as possible!
All the best,
Matt
Matt Pearce
Technical Project Lead - EBI Search
European Bioinformatics Institute (EMBL-EBI)


[Question] Initiating chat from Bot to user on Microsoft Teams

System Information (Required)

SDK Language: C#
SDK Version: <IP_ADDRESS>
Development Environment: LOCALHOST + ngrok

Issue Description
When i'm trying to init conversation with user, im getting http 400 Bad Request: "Malformed tenant id"
I've read about https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-connector
and other issues i.e #2092
When i'm doing this for Skype, and Skype for Buissnes (preview) it works fine. On MS Teams, im getting this error.
Code Example
var botAccount = new ChannelAccount(lastActivity.Recipient.Id, lastActivity.Recipient.Name);
var userAccount = new ChannelAccount(lastActivity.From.Id, lastActivity.From.Name);
var connector = new ConnectorClient(new Uri(lastActivity.ServiceUrl), "appId", "secret");
var conversationId = await connector.Conversations.CreateDirectConversationAsync(botAccount, userAccount); // here im getting http 400

I've tried CreateConversationAsync as well - with same results.
I've also tried to pass "tenant" as a Property for bot and user but it didn't help.
Expected Behavior
conversationId should be fetched.
Actual Results
HTTP/1.1 400 Bad Request
Content-Length: 65
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 14 Jun 2017 12:50:04 GMT
Connection: close
{"error":{"code":"ServiceError","message":"Malformed tenant id"}}

As described in MS Teams MSDN, you need to provide a tenant to create a 1:1 conversation.
You can use the Nuget package Microsoft.Bot.Connector.Teams (here) and use the following method (quite similar as the one already used):
connector.Conversations.CreateOrGetDirectConversation(channelFrom, channelTo, "yourTenantIdHere");
In fact if you want to cover all the channels it will look like:
// Create Conversation
ConversationResourceResponse conversation;
if (channelId != "msteams")
{
    conversation = await connector.Conversations.CreateDirectConversationAsync(channelFrom, channelTo);
}
else
{
    conversation = connector.Conversations.CreateOrGetDirectConversation(channelFrom, channelTo, "yourTenantIdHere");
}

I tested it, it's working.
See more documentation here:
https://msdn.microsoft.com/en-us/microsoft-teams/bots1on1#starting-a-11-conversation

Thanks for your response @nrobert , with that package and your code, it works!

@nrobert Know if there is a netstandard package solution?  Microsoft.Bot.Connector.Teams is outdated?

@nrobert  This answer might be a few months late, but you can find here the Microsoft Teams extension, which provides a set of methods to make interactions with Teams easy.
And @shather You can find a detailed post about creating or initiating conversations and sending proactive replies with your Bot here.

@DamienDoumer how to initiate conversation for 1:1 user, the blog is for sending in a group

@Annabelle7989 This sample demonstrates creating 1:1 conversations for members of a team https://github.com/microsoft/BotBuilder-Samples/blob/master/samples/csharp_dotnetcore/57.teams-conversation-bot/Bots/TeamsConversationBot.cs#L94

@EricDahlvang No..The members should not be part of a team. I have to send a individual message to 5 people who do not have any team in common.

I haven't tried this, but presumably an Admin could install the app for the users.  At which point the bot should receive an OnTeamsMembersAdded and the bot should be able to message the user in the event handler.
Here is an example of using Graph to add an App for a user: https://github.com/microsoftgraph/contoso-airlines-teams-sample/blob/283523d45f5ce416111dfc34b8e49728b5012739/project/Models/GraphService.cs#L176


Remove string refs

String refs are legacy API and likely to be removed.

Thanks for spotting this! It totally makes sense to use a bound method on the class to avoid allocating a closure every time render is called.

Plus there's a bit of a footgun that wound up killing Nuclide's perf bad once when we had a kind of expensive ref callback. 😣


Add support for Disable field in generate blocks

Description
Fixes #2496.
Introduces a disable field in generate blocks so they can be disabled on a per use case basis.
TODOs

[x] Update the docs.
[x] Run the relevant tests successfully, including pre-commit checks.
[ ] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)
Added 'disable' field to generate blocks.

Noticed that some of integration tests failed:
TestRenderJSONConfig

=== CONT  TestRenderJSONConfig
    integration_debug_test.go:246:
        	Error Trace:	integration_debug_test.go:246
        	Error:      	Not equal:
        	            	expected: map[string]interface {}{"provider":map[string]interface {}{"comment_prefix":"# ", "contents":"provider \"aws\" {\n  region = \"us-east-1\"\n}\n", "disable_signature":false, "if_exists":"overwrite_terragrunt", "path":"provider.tf"}}
        	            	actual  : map[string]interface {}{"provider":map[string]interface {}{"comment_prefix":"# ", "contents":"provider \"aws\" {\n  region = \"us-east-1\"\n}\n", "disable":false, "disable_signature":false, "if_exists":"overwrite_terragrunt", "path":"provider.tf"}}

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,5 +1,6 @@
        	            	 (map[string]interface {}) (len=1) {
        	            	- (string) (len=8) "provider": (map[string]interface {}) (len=5) {
        	            	+ (string) (len=8) "provider": (map[string]interface {}) (len=6) {
        	            	   (string) (len=14) "comment_prefix": (string) (len=2) "# ",
        	            	   (string) (len=8) "contents": (string) (len=42) "provider \"aws\" {\n  region = \"us-east-1\"\n}\n",
        	            	+  (string) (len=7) "disable": (bool) false,
        	            	   (string) (len=17) "disable_signature": (bool) false,
        	Test:       	TestRenderJSONConfig
--- FAIL: TestRenderJSONConfig (293.25s)

TestRenderJSONConfigWithIncludesDependenciesAndLocals

=== CONT  TestRenderJSONConfigWithIncludesDependenciesAndLocals
    integration_debug_test.go:345:
        	Error Trace:	integration_debug_test.go:345
        	Error:      	Not equal:
        	            	expected: map[string]interface {}{"provider":map[string]interface {}{"comment_prefix":"# ", "contents":"# This is just a test", "disable_signature":false, "if_exists":"overwrite", "path":"provider.tf"}}
        	            	actual  : map[string]interface {}{"provider":map[string]interface {}{"comment_prefix":"# ", "contents":"# This is just a test", "disable":false, "disable_signature":false, "if_exists":"overwrite", "path":"provider.tf"}}

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,5 +1,6 @@
        	            	 (map[string]interface {}) (len=1) {
        	            	- (string) (len=8) "provider": (map[string]interface {}) (len=5) {
        	            	+ (string) (len=8) "provider": (map[string]interface {}) (len=6) {
        	            	   (string) (len=14) "comment_prefix": (string) (len=2) "# ",
        	            	   (string) (len=8) "contents": (string) (len=21) "# This is just a test",
        	            	+  (string) (len=7) "disable": (bool) false,
        	            	   (string) (len=17) "disable_signature": (bool) false,
        	Test:       	TestRenderJSONConfigWithIncludesDependenciesAndLocals
--- FAIL: TestRenderJSONConfigWithIncludesDependenciesAndLocals (254.76s)

TestReadTerragruntConfigFull
=== CONT  TestReadTerragruntConfigFull
    integration_test.go:3286:
        	Error Trace:	integration_test.go:3286
        	Error:      	Not equal:
        	            	expected: map[string]interface {}{"provider":map[string]interface {}{"comment_prefix":"# ", "contents":"provider \"aws\" {\n  region = \"us-east-1\"\n}\n", "disable":false, "disable_signature":false, "if_exists":"overwrite_terragrunt", "path":"provider.tf"}}
        	            	actual  : map[string]interface {}{"provider":map[string]interface {}{"comment_prefix":"# ", "contents":"provider \"aws\" {\n  region = \"us-east-1\"\n}\n", "disable_signature":false, "if_exists":"overwrite_terragrunt", "path":"provider.tf"}}

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,6 +1,5 @@
        	            	 (map[string]interface {}) (len=1) {
        	            	- (string) (len=8) "provider": (map[string]interface {}) (len=6) {
        	            	+ (string) (len=8) "provider": (map[string]interface {}) (len=5) {
        	            	   (string) (len=14) "comment_prefix": (string) (len=2) "# ",
        	            	   (string) (len=8) "contents": (string) (len=42) "provider \"aws\" {\n  region = \"us-east-1\"\n}\n",
        	            	-  (string) (len=7) "disable": (bool) false,
        	            	   (string) (len=17) "disable_signature": (bool) false,
        	Test:       	TestReadTerragruntConfigFull
--- FAIL: TestReadTerragruntConfigFull (170.10s)

TestRenderJsonMetadataIncludes

=== CONT  TestRenderJsonMetadataIncludes
    integration_test.go:4958:
        	Error Trace:	integration_test.go:4958
        	Error:      	Not equal:
        	            	expected: "{\"provider\":{\"metadata\":{\"found_in_file\":\"/tmp/terragrunt-test4058810509/fixture-render-json-metadata/includes/app/generate.hcl\"},\"value\":{\"comment_prefix\":\"# \",\"contents\":\"# test\\n\",\"disable_signature\":false,\"if_exists\":\"overwrite\",\"path\":\"provider.tf\"}}}"
        	            	actual  : "{\"provider\":{\"metadata\":{\"found_in_file\":\"/tmp/terragrunt-test4058810509/fixture-render-json-metadata/includes/app/generate.hcl\"},\"value\":{\"comment_prefix\":\"# \",\"contents\":\"# test\\n\",\"disable\":false,\"disable_signature\":false,\"if_exists\":\"overwrite\",\"path\":\"provider.tf\"}}}"

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1 +1 @@
        	            	-{"provider":{"metadata":{"found_in_file":"/tmp/terragrunt-test4058810509/fixture-render-json-metadata/includes/app/generate.hcl"},"value":{"comment_prefix":"# ","contents":"# test\n","disable_signature":false,"if_exists":"overwrite","path":"provider.tf"}}}
        	            	+{"provider":{"metadata":{"found_in_file":"/tmp/terragrunt-test4058810509/fixture-render-json-metadata/includes/app/generate.hcl"},"value":{"comment_prefix":"# ","contents":"# test\n","disable":false,"disable_signature":false,"if_exists":"overwrite","path":"provider.tf"}}}
        	Test:       	TestRenderJsonMetadataIncludes
--- FAIL: TestRenderJsonMetadataIncludes (22.36s)

@denis256 I've updated the tests.

@denis256 is there anything else needed?

Have you considered the enabled input parameter instead of disabled? In some cases, the generator block may need to be enabled or disabled based on certain conditions.
Which one is easier to read and understand?
enabled = true|false
disabled = false|true`

My original plan was to use enabled but after reviewing other configuration I noticed there is an existing pattern that uses disable*. For instance, remote_state has disable_init, disable_dependency_optimization, disable_bucket_update, etc. generate has disable_signature. So I ultimately went with disabled to keep it consistent.

@denis256 @zackproser can this be merged? Thanks!

@denis256 @zackproser  Please take a look and let me know if anything else is required. Thanks!

Hello,
CICD job is failing now, I think because branch is behind gruntwork-io:master
https://github.com/szesch/terragrunt/tree/feature/disable-generate-blocks
This branch is 3 commits ahead, 21 commits behind gruntwork-io:master.


Make _lazyrias property writable

Hi,
Because I update the data-src attribute dynamically (https://github.com/aFarkas/lazysizes/issues/46), the lazysizes calls the setSrc method more than one time for an element. In this case an error occurs in setSrc method when Object.defineProperty is called the second time.
This pull requests makes the property  _lazyrias writable which allows to re-define the property again. Please let me know whether it's ok or whether it may break something else.
Best,
Alex

No this should be just fine. There is a similar situation in another plugin, which might fail (optimumx plugin). Will also update this one.
It would be great, if you could target the PR against my master branch. This would be great thank you.


[SPK-277] Fault tolerance test 1

What changes were proposed in this pull request?
Fault tolerance FT-SSD-001 implemented
How was this patch tested?
Manually

LGTM


upsert existing data: missing keys in new data can cause switch from ints to floats to handle nans

If we have an int column in the live data and the new data has a row that isn't present in the live data, the .merge in _get_common_rows() will cause the int column to be a float to handle nans.
Maybe look at the updated pandas int type that can handle nans? Maybe force all original int fields back to ints?

See test case TestFeatureServiceUpdater/test_get_common_rows_handles_ints_in_existing_to_float_for_rows_not_in_existing_dataset


Geolocation headers for Azure CDN

[Enter feedback here]
Hi Team,
Does Azure CDN support Geolocation headers to give you more granular control of cache behavior and your origin access to the viewer’s country name, region, city, postal code, latitude, and longitude, all based on the viewer’s IP address?
Thanks,
Suneel

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

ID: 96825a08-0b8a-ed56-4874-93fad8b5f8ce
Version Independent ID: 30b6d473-0225-bd9d-b9d1-0d6242e9e8f0
Content: Restrict Azure CDN content by country/region
Content Source: articles/cdn/cdn-restrict-access-by-country.md
Service: azure-cdn
GitHub Login: @asudbring
Microsoft Alias: allensu

Thanks for the feedback @suneelsunkara! We are currently investigating and will update you shortly.

@suneelsunkara What exactly do you mean by 'Geolocation headers'? Azure CDN does not add a location header to the requests, and the functionality defined in this doc is the only geo control for Azure CDN offerings.

Hi,
Thank you for your response. I was checking if azure CDN has a equivalent feature such as Geolocation headers in AWS cloud front https://aws.amazon.com/about-aws/whats-new/2020/07/cloudfront-geolocation-headers/#:~:text=Additional geolocation headers are now,caching and origin request policies.

@suneelsunkara unfortunately it does not, the doc outlines the geo functionality that Azure CDN has.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

Dear @TravisCragg-MSFT
Is there any updates since 15 Sep 2020 ?

@TravisCragg-MSFT Is this feature enabled for azure CDN?

@SaiKishor-MSFT @ChaitanyaNaykodi-MSFT can you follow up with this ask?


Flip modifier does not use fallbackPlacements and overflows when there is room to flip

CodePen demo

https://codesandbox.io/s/inspiring-cherry-4nsgg
You need to make any change (e.g. whitespace) in the JS file for the codesandbox to work. I'm not sure why this is happening.
Steps to reproduce the problem

Create a popper with placement: left and flip modifier option fallbackPlacements: ["bottom", "top"].
Use the popper in a dom node that has overflow: scroll.
Scroll to a position where the fallback placements should be used

What is the expected behavior?
The popper should respect the fallbackPlacements.
What went wrong?
The popper stays at the initial placement of left, overflowing the container.
Any other comments?
The codesandbox above is fairly stripped down from where I am seeing this issue. Some differences are that I am using strategy: fixed and that my popper is placed directly under <body> in order to avoid parent css conflicts. I am also passing options to the preventOverflow and arrow modifiers. As far as I can tell, the preventOverflow modifier is working properly in this same scenario. Both flip and preventOverflow modifiers work as expected using popper.js@1 with an equivalent configuration.

In v2 the new default is "clippingParents", which means, "scrolling containers that will cut the popper off". The scrolling container in the CodeSandbox won't cut the popper off, so it won't flip or be prevented from relative to it. You can specify boundary to be the scrolling element if you want that behavior.
In v1 the default was "scrollParent" which was the reference's scroll parent, but this was not a good default, because when the container was small and couldn't fit the popper, it caused overlapping positioning problems. While altAxis is no longer true by default (no overlapping), it may still flip to an unexpected side, and the positioning problems will occur again if it's enabled, without an obvious cause.
Also, we don't recommend using fixed as a strategy unless the reference element is actually fixed, because Safari isn't great with it currently.

This might be something to mention in the migration guide, as it is a breaking change from v1.
Also, I've actually tried setting the border to the the the popper internal state reference scrollParents inside a modifier, which did not work. Let me try to repro this as well.
Also, when you say this:

The scrolling container in the CodeSandbox won't cut the popper off, so it won't flip or be prevented from relative to it.

Why wouldn't the scrolling container cut the popper off? It has an overflow set on it, so I would think the child popper node should not overflow it.

Not all the overflow: scroll containers clip absolutely positioned elements.

I'm using popper in a component library, and one of the great things about popper v1 is that I don't need to pass a boundary node around unless I want a custom boundary. This is nice because the component library is react, so its preferable not to have to hold onto a dom node to pass around components and into the where the consumer needs to use a tooltip. Being able to just import a component/hook and use it without much configuration is a huge win with popper v1.
I'm trying not to venture into "support thread" territory, but I'm interested in some input on how to proceed.

Is there any plan to support the older "scrollParent" boundary going forward? I could see making it another option but still applying clippingParents as a default.
If not, is this something you think could be handled by writing a custom modifier?

Why would you like to use scroll parent as default boundary? That’s surprising for the user, users want to have tooltips positioned in the least surprising position, clipping parent allows to achieve that

I'm not suggesting that popper use clippingParents as a default. However, I would like to use scrollParent as a default for the tooltip in the component library I am working on.
One main reason In want to do this is to avoid requiring the user of the tooltip to have to worry about passing a dom node around the component tree.
The main use case here is for toottips in the main page content when that page content is a scrollable div that could be anywhere on the page. You could pass the prop down from the root using prop-drilling, store a reference in context, or storing the reference outside of react entirely.
Another similar use case is in various dialogs/modals that could be anywhere on the page and even consume components that themselves consume tooltip/popper. For example, if you have a form in a modal, you might want tooltips to provide information about the fields. These fields might be general re-usable fields that consume the tooltip. Here, you would need to store the ref of the scrollable modal, pass it into each Field component, which itself passes the ref into the tooltip. This example is only a few levels of prop drilling, but it could be much more. If you used that same shared Field component outside of a modal, now you would have to pass the original root boundary reference into the field instead of the modal reference.
At the end of the day, I want to avoid the user of my component having to worry about the implementation of popper/tooltip in order to use it for basic cases. Having to know about boundaries/refs/scrollParents/clippingParents etc. can be a bit much to have to deal with just to use a tooltip. To be clear, I still want to provide the flexibility to override any popper option, but the general case should be dead simple to use in my opinion. This is exactly how it worked in popper v1, which ended up removing a good amount of complexity compared to most tooltip solutions I've seen in react.

The thing is "clippingParents" is supposed to be a good default. Why do you want to change it in the first place? Your component library will be partially broken by default in some ways and the consumer of it won't know why...
I'd only ever suggest using scrollParent as an escape hatch.  We could add altBoundary as an option for flip / preventOverflow (which means use reference "clippingParents" in this context — this is smarter than scrollParent but works the same effectively), which has very little cost since detectOverflow already supports it.


Use toRawJson + quote for storing eniTags into Cilium configmap

Currently if we want to set eni tags via Helm (--set eni.eniTags.foo=bar --set eni.eniTags.baz=bob or a values file) they get stored in the configmap as:
$ kubectl get cm -o yaml -n kube-system cilium-config  | grep eni
  eni-tags: map[baz:bob foo:bar]

which will make Viper to deserialize into an empty map.
With this change the value will be saved in the configmap as: eni-tags: '{"baz":"bob","foo":"bar"}' and we'll rely on Viper to behave correctly deserializing this. Same strategy is used for kvstore-opt.
Fixes https://github.com/cilium/cilium/commit/56df8443fdd2a6365718d294d39dd06218cf93f8.

test-me-please

test-me-please


Ability for admins to cancel/reject financial contributions

User story
As a Collective or Host admin, I want to be able to refuse/cancel financial contributions (subscriptions) so that I can have a say in who my project accepts money from and who shows up on my page as a contributor, and to combat backer spam.
Best solution for this problem
A screen showing all active recurring contributions to a Collective, with an option to cancel each, and an option to block future contributions from that account.
Related to #1993 to also allow Collective admins to give refunds, which should probably be part of the cancel flow (option to refund past contributions as well as block future ones).
Ideally also a way to refund and block one-time donators as well.
Context
#2002 - Someone is using becoming a backer as a spam vector to get listed on Collective pages.
Some Collectives (and hosts) have legal or moral restrictions on who they can accept funding from.

Only blocker to implement this is https://github.com/opencollective/opencollective/issues/1656. We don't have the proper refund functions for collective to collective and manual donations. We should add them before implementing this, otherwise users will get an error whenever they try to refund such transactions.

@xdamman maybe you are considering this in the context of the new create collective with recording expenses option?

@flickz yes, it also requires https://github.com/opencollective/opencollective/issues/1993 on which I added a bunch of items that must be solved in order to make it feasible

Is there a workaround for this in the meantime?  On our project's website (not its OC page), we could manually suppress the display of logos.
Otherwise, if we have this problem, how should we approach it?

The Dokku organization would also be willing to co-sponsor development of this feature. I think it's important to us as an OSS org to ensure that any money we receive comes from people and organizations that don't run afoul of our own moral prerogatives. Getting paid for writing code is great, but not at the expense of some elses human rights.
I'll bring this up in the slack group as well to see what would be appropriate :)

Mocha will be removing ~19 sponsors from our site listing, likely in the next couple days (unclear how many of these actually appeared, but the number is nonzero).  Hopefully this won't cause too many problems, but we really don't need to be linking to spammers.

Pasting here a solution that was recently discussed:
Have a Reject contribution button on the transactions page that will refund the contributions and open a modal for you to confirm if you want to:

[ ] Remove the member from your collective
[ ] Prevent them from contributing again in the future
(Optional) Add a small message to explain why you're rejecting their contribution

This is on the 'host dashboard' project board. Is this being addressed in the current host dashboard revamp or should I reassign this to the moderation project? @piamancini @Betree ?

@sbinlondon let's confirm with @Memo-Es, but I don't think there's anything in design for this yet. It's actually linked to both projects.

@josegonzalez We are looking at moderation as a whole right now - if you're in our Slack we have a #moderation channel or you can comment on this issue. It sounds like you might have some thoughts on moderation in general and I'd love to get your feedback on what we can do beyond just cancel/reject contributions.

Please refer to our updated issue for Collective admins going forward: opencollective/opencollective#3463

There is nothing that can hold you back once you decide to start making financial corrections in the field of work problems.


Make ScriptLog.GetOutput async in preparation for the Kubernetes Agent implementation

[sc-71685]
Background
The Kubernetes Agent will read logs from the Kubernetes API, which are async calls.
This PR makes the signature async to allow the change. Its callers are already async, so there shouldn't be any problems here.
How to review this PR

Quality :heavy_check_mark:

Pre-requisites

[ ] I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
[ ] I have considered informing or consulting the right people, according to the ownership map.
[ ] I have considered appropriate testing for my change.

I might not need this, depending on how we refactor the script services. Will keep you updated


[BUG] AttributeError: 'unicode' object has no attribute 'items'

As title says, I'm getting exception when trying to fetch/save xml response. Same request works fine with raw httpie. Response example attached at the very end.
env:
(http_prompt)  ~/Projects/plex_debug$ python --version
Python 3.6.0
(http_prompt)  ~/Projects/plex_debug$ pip freeze | grep http
http-prompt==0.9.2
httpie==0.9.9

httpie options:
http://<IP_ADDRESS>:32400/video/SVR-DEV> httpie
http http://<IP_ADDRESS>:32400/video/SVR-DEV Cookie:com.plexapp.plugins.svr=Y2VyZWFsMQozCmRpY3QKbGlzdApkaWN0CjIKcjEKczcKY29va2llc3IyCnM3CnNlc3Npb24wCjAKcjAK X-Plex-Token:%SOMETOKENHERE%

http-prompt get trace:
http://<IP_ADDRESS>:32400/video/SVR-DEV> get
HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 438
Content-Type: application/xml
Date: Wed, 01 Mar 2017 23:02:50 GMT
Etag: "1f5714a7cd820e8a1043cff95a0d10ac63d3760b"
Keep-Alive: timeout=20
Set-Cookie: com.plexapp.plugins.svr=Y2VyZWFsMQozCmRpY3QKbGlzdApkaWN0CjIKcjEKczcKY29va2llc3IyCnM3CnNlc3Npb24wCjAKcjAK
X-Plex-Content-Compressed-Length: 438
X-Plex-Content-Original-Length: 1665
X-Plex-Protocol: 1.0

<?xml version='1.0' encoding='utf-8'?>
<MediaContainer title1="SVR-DEV" art="/:/plugins/com.plexapp.plugins.svr/resources/art-default.jpg?t=1316888148" size="6" identifier="com.plexapp.plugins.svr" sourceTitle="SVR-DEV" mediaTagPrefix="/system/bundle/media/flags/" prefsKey="/:/plugins/com.plexapp.plugins.svr/prefs" searchesKey="/system/services/searches?identifier=com.plexapp.plugins.svr">
  <Directory art="/:/plugins/com.plexapp.plugins.svr/resources/art-default.jpg?t=1316888148" thumb="/:/plugins/com.plexapp.plugins.svr/resources/icon-default.png?t=1316888148" key="/video/SVR-DEV/latest_update_menu" title="LATEST_UPDATES"/>
  <Directory art="/:/plugins/com.plexapp.plugins.svr/resources/art-default.jpg?t=1316888148" thumb="/:/plugins/com.plexapp.plugins.svr/resources/icon-default.png?t=1316888148" key="/video/SVR-DEV/filter_menu" title="FILTER"/>
  <Directory prompt="SEARCH?"  key="/video/SVR-DEV/search_input" title="SEARCH" search="1"/>
  <Directory art="/:/plugins/com.plexapp.plugins.svr/resources/art-default.jpg?t=1316888148" thumb="/:/plugins/com.plexapp.plugins.svr/resources/icon-default.png?t=1316888148" key="/video/SVR-DEV/bookmarks_menu" title="BOOKMARKS"/>
  <Directory art="/:/plugins/com.plexapp.plugins.svr/resources/art-default.jpg?t=1316888148" thumb="/:/plugins/com.plexapp.plugins.svr/resources/icon-default.png?t=1316888148" key="/video/SVR-DEV/history_menu" title="HISTORY"/>
  <Directory art="/:/plugins/com.plexapp.plugins.svr/resources/art-default.jpg?t=1316888148" thumb="/:/plugins/com.plexapp.plugins.svr/resources/icon-default.png?t=1316888148" key="/video/SVR-DEV/advanced_menu" title="ADVANCED_MENU"/>
</MediaContainer>

response_example.zip

@dein0s I can't reproduce the bug with http://httpbin.org/xml. Here's what we can do next:

Can you show me your full pip freeze?
Are you able to reproduce the bug with a public accessible server? If not, can you provide your server-side code that can reproduce the bug?

Well, the first one is easy :)
(http_prompt)  ~/Projects $ pip freeze
click==6.7
decorator==4.0.11
http-prompt==0.9.2
httpie==0.9.9
ipython==5.3.0
ipython-genutils==0.1.0
parsimonious==0.7.0
pexpect==4.2.1
pickleshare==0.7.4
prompt-toolkit==1.0.13
ptyprocess==0.5.1
Pygments==2.2.0
requests==2.13.0
simplegeneric==0.8.1
six==1.10.0
traitlets==4.3.2
wcwidth==0.1.7

About second - I don't have enough experience yet with http-prompt, switched to it only few weeks ago from httpie. I can't reproduce this exception on public servers and I'm not sure that I can provide you a server-side code right now as it is internal API for Plex Media Server and I use it only to debug my own plugin. I can try to dig around, but their framework is a big mess and has no up-to-date docs (last version is 6 years old and removed from official site) :| So I'm not sure that I'll be able to find it any time soon.

The exception traceback is swallowed so it's not easy to debug. Here's another thing you can help. Add a line of code at line 523 in execute.py, so that:
original:
            else:
                # TODO: Better error message
                click.secho(str(err), err=True, fg='red')
        except CalledProcessError as err:
            click.secho(err.output + ' (exit status %d)' % err.returncode,
                        fg='red')

after:
```py
            else:
                # TODO: Better error message
                click.secho(str(err), err=True, fg='red')
            raise   # <-- ADD THIS LINE
        except CalledProcessError as err:
            click.secho(err.output + ' (exit status %d)' % err.returncode,
                        fg='red')

Then retry what you did. This time the traceback should be printed. Paste the traceback here. It allows us to see where the error occurred.

Okay, looks like the problem was on server (my) side as there were an update for Plex Server and after installing it I can't reproduce this exception.
I'll try to downgrade server version and test this issue again later on today.

Damn, still can't reproduce it, even rolled back the whole machine state from snapshot.
Guess it was just some local magic, closed.


Import statement

https://github.com/neptune-ai/examples/blob/29473ccffb78ee5cdaa43f61160cd5352284ff51/integrations-and-supported-tools/prophet/notebooks/Neptune_prophet.ipynb?short_path=3b753b3#L69
Should this be just import neptune, as the integration installs neptune-client 1.x? (And same thing in the script)

Thanks!
Fixed in #207 .


Diffbot breaks when used with Hashie versions >= 3.0.0

    Diffbot::Article.fetch(@url,diffbot_token)

Above code works fine with Hashie versions till 2.1.2. However refuses to play with Hashie version 3.0.0 onwards instead raising following error -

/usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/trash.rb:80:in `property_exists?': The property 'tags' is not defined for this Trash. (NoMethodError)
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/trash.rb:49:in `[]='
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/diffbot-0.1.7/lib/diffbot/coercible_hash.rb:58:in `[]='
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/dash.rb:149:in `block in initialize_attributes'
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/dash.rb:148:in `each_pair'
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/dash.rb:148:in `initialize_attributes'
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/trash.rb:96:in `initialize_attributes'
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/hashie-3.0.0/lib/hashie/dash.rb:93:in `initialize'
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/diffbot-0.1.7/lib/diffbot/article.rb:41:in `new'
	from /usr/local/rvm/gems/ruby-2.1.2@global/gems/diffbot-0.1.7/lib/diffbot/article.rb:41:in `fetch'
	from listbot.rb:9:in `initialize'

Hi @nonocut
it's fixed a659780.
Thanks

Hi @greshny
Bundler could not find compatible versions for gem "nokogiri":
  In Gemfile:
    diffbot (>= 0) ruby depends on
      nokogiri (~> 1.5.0) ruby

    rails (= 4.2.0) ruby depends on
      actionpack (= 4.2.0) ruby depends on
        rails-dom-testing (>= 1.0.5, ~> 1.0) ruby depends on
          nokogiri (1.6.0)

Any ideas how to fix this ?


PR cannot be excluded from uncategorized

The Issue
This might just be misunderstanding the correct way to use this action to accomplish my goal, but I noticed that if you try to exclude a PR by label from the Uncategorized section it will ignore your exclude_labels.
Example
// build_changelog_config.json
{
"categories": [
        {
            "title": "## 🚀 Features",
            "labels": ["feature", "story", "feat"],
            "exclude_labels": ["release notes ignore"]
        },
        {
            "title": "## 🐛 Fixes",
            "labels": ["fix", "bug", "bugfix", "hotfix"],
            "exclude_labels": ["release notes ignore"]
        },
        {
            "title": "## 👷 Improvements",
            "labels": ["improvement", "enhancement", "chore", "task", "dependencies"],
            "exclude_labels": ["release notes ignore"]
        },
        {
            "title": "## 📦 Uncategorized",
            "labels": [],
            "exclude_labels": ["release notes ignore"]
        }
    ]
}

In the above example the generated release notes would still includes PRs that contain the label "release notes ignore" in the "Uncategorized" section.
The Goal
Sometimes changes are picked up in the changelog diff that are irrelevant, like the addition of a codeclimate file or updates to dependabot config.  I want to be able to filter out these PRs from the generated release notes to avoid cluttering them up with irrelevant work.

Thank you very much for the report. You are correct this is currently not covered, however I think it will be a great addition. As such I'll look into getting this included for the new v4 version.


403 on projects.view on permission fail on projects

Targets #1117

Description

Checklist:

[x] I have performed a self-review of my own code.

Please fix the failed checks.

Pull request is closed as code is already merged through diferent code request


Add list stats on stopping container test

This change adds a test that ensures ListContainerStats() still works in situations where the query may be interrupted or when the container we are querying is in a state where stats are not available. In both cases, ListContainerStats should not error out.
This is currently causing flakes on Windows in k8s: https://github.com/kubernetes/kubernetes/issues/106278
The following PR in hcsshim should make this test pass on Windows:
depends-on: https://github.com/microsoft/hcsshim/pull/1276
Signed-off-by: Gabriel Adrian Samfira<EMAIL_ADDRESS>

/ok-to-test

@estesp This PR has changed quite a bit, as the root cause of the issue was tracked down to hcsshim and a PR with a fix submitted there. Only the test remains. A dependency to the PR on hcsshim was set in the description of this PR, as merging it without the change in hcsshim would break tests on Windows.

The hcsshim update to 0.9.2 was just merged; not sure if that includes the PR you mention but if so, this PR can be rebased on that now, correct?

The hcsshim update to 0.9.2 was just merged; not sure if that includes the PR you mention but if so, this PR can be rebased on that now, correct?

Correct. That release also includes a bunch of other stability fixes that will allow us to enable other tests as well.
Rebased and pushed. Should be safe to merge this if tests pass.

@mikebrow given @gabriel-samfira's comments, this is now just a testcase since the bug was fixed in the hcsshim.
If you still have an opinion on a different way to test for the failure; this is a 5sec loop as it stands, but in the context of integration tests seems not unreasonable. If you're fine with it I think this is ready for merge now.

I would vote to not add this test.  As i understand, the test is trying to catch a stopping container and that can be racy.  I would prefer to not have it so that we do not have flaky CI runs.
Things like this are hard to test and I don't have a good solution but if there is a possibility of it failing because it didn't catch the stopping state, i would prefer not to add the test.

Fair enough! Closing.


How are the shapes of convolutional layers calculated

Hello Keras-Team :),
I use Tf2.8 with tf.keras.
For a web app I need to precalculate the shapes of the layers a user is using. So I have derived formulars for nearly all layers so far. But I am stuck on the convolutional layers.
For convolutional layers it is not allowed to have a dilation_rate > 1 and strides > 1. Why is that and why is it possible for other convolutional layers like SeperableConv or DepthwiseConv?
From my understanding defining a dilation rate > 1 can be understood as greater kernel size with gaps in it. So it should also be possible to jump with that „greater kernel“ a given stepsize (which is the strides) or not?
So far I came up with the following formular which works for any convolutional layer (except transpose of course) as long as one of the parameters dilation_rate or the strides are 1. (You don't have to get really into the following formula, what would really help me out is just the correct formula, but for completness sake I paste it here).

/*
        For a given dimension:
        p - is previus_shape dimension value
        k - is kernel_size
        d - dilation rate
        s - strides rate
*/

if(p < k) return "invalid";
if(d > 1) k = k + (k-1) * (d-1);

if(padding === "valid") {
        const kernel_poses = p-(k-1)-s; // the theoretical amount of positions we can place the kernel if strides (s) === 1
        if(s===1) return Math.ceil(kernel_poses);
        else return Math.ceil(kernel_poses/s);   // here the returned value differs sometimes from what I get when I call model.summarize()
} else if(padding === "same") {
        const kernel_poses = p; // the theoretival amount of positions we can place the kernel if strides (s) === 1
        if(s===1) return Math.ceil(kernel_poses);
        else return Math.ceil(kernel_poses/s);
}

To Summarize my questions and needs here:

I would like to understand why dilation_rate > 1 and strides > 1 is not allowed.
I would like to understand why on other convolutional layers (ConvSeparable, DepthwiseConv) it is allowed to set both parameters > 1 (allthough the documentation states something different)
My Main need are formulas for the shape calculation of each convolutional layer.

Thx in advance <3

Hi. To you third question, you can see three funcs called conv_output_length(), conv_input_length() and deconv_output_length, in \tensorflow\python\keras\utils\conv_utils.py of tensorflow 2.8's source code.
These three functions havn't opened to users, but did be used in tf.keras.ConvTranspose.
Abobe three functions shows shape calculation's detail. But if we draw a conlusion,
In tensorflow and keras, calculation of  each convolutional layer‘s shape obeys the following formula:
see the:
https://www.tensorflow.org/api_docs/python/tf/nn#notes_on_padding_2
If padding == "SAME": output_shape = ceil(input_length/stride)
If padding == "VALID": output_shape = ceil((input_length-(filter_size-1)*dilation_rate)/stride)

@pokecheater
Can you please specify which layer in specifically doesnt have the dilation_rate parameter and strides parameter?
To the best of my knowledge all Conv (1D, 2D, 3D) and their transpose counterparts have both the parameters.

@pokecheater
take a look at this

Hey @Zhaopudark,
I tested it and I can still not verify that the given formula works for me. Since setting both, the dilation_rate and strides > 1 is not allowed on normal conv layers I will show you what I mean for SeperableConv2D (same applies for DepthwiseConv2D except for the output channel dimension).
To make things more clear and to speed them up I used your formula and play copy-cat. I pasted it into a shape calculator function. Then I wrote 4 simple test cases. The first 2 will pass, the shape is then calculated correctly. The last 2 will fail. I assume, that the shape calcluation for DepthwiseConv2D will not differ from normal convolution, since only the filter dimension will be overwritten. For Separable as fas as I understand it, the shape calculation of a normal convolution should also be the same formula.
The test cases indicate, that the formula seems only to be valid for certain circumstances. It is in fact equivalent to what I have derived .
`
import math
import tensorflow as tf
def create_model(input_shape, filter_size, filters, strides, dilation_rate, padding):
'''
Just a simple creator function to build up a simple convolutional model with exact one layer.
'''
model = tf.keras.Sequential()
#model.add(tf.keras.layers.Conv2D(2, 3, dilation_rate=dilation_rate, strides=strides, activation='relu', input_shape=(128, 128, 3)))
model.add(
tf.keras.layers.SeparableConv2D(
filters = filters,
kernel_size = filter_size,
dilation_rate = dilation_rate,
strides = strides,
activation = 'relu',
input_shape = input_shape,
padding = padding
)
)
sgd = tf.optimizers.SGD(lr=0.1, momentum=0.9)
model.compile(loss='binary_crossentropy', optimizer=sgd, metrics=['accuracy'])
return model
def calcShape(input_shape, filter_size, filters, strides, dilation_rate, padding):
'''
A simple calcShape function. Based on the provided formular given from:
https://www.tensorflow.org/api_docs/python/tf/nn#notes_on_padding_2
'''
result_shape = [None]
for i in range(len(input_shape)-1):
    output_shape = None

    if padding == "SAME":
        output_shape = math.ceil(input_shape[i]/strides)
    elif padding == "VALID":
        output_shape = math.ceil((input_shape[i]-(filter_size-1)*dilation_rate)/strides)

    result_shape.append(output_shape)
result_shape.append(filters)

return tuple(result_shape)

def compareShapes(test_no, test_params):
'''
Our testing function. Creates the model, extracts the convolutional layers
output shape and compares it against our calculated shape.
'''
model = create_model(**test_params)
conv_output_shape = model.get_layer(index=0).output_shape
# model.summary()
calculated_shape = calcShape(**test_params)
passed = conv_output_shape == calculated_shape
print("")
print('Test #{0}: Passed: {1}'.format(test_no, passed))
print("conv_output_shape", conv_output_shape)
print("calculated_shape", calculated_shape)

Test 1
test_params = {
"input_shape": (128, 128, 3),
"filter_size": 3,
"dilation_rate": 3,
"strides": 3,
"padding": "VALID",
"filters": 200
}
compareShapes(1, test_params)
Test 2
test_params = {
"input_shape": (256, 256, 3),
"filter_size": 5,
"dilation_rate": 3,
"strides": 5,
"padding": "VALID",
"filters": 200
}
compareShapes(2, test_params)
Test 3
test_params = {
"input_shape": (256, 256, 3),
"filter_size": 5,
"dilation_rate": 5,
"strides": 3,
"padding": "VALID",
"filters": 200
}
compareShapes(3, test_params)
Test 4
test_params = {
"input_shape": (256, 256, 3),
"filter_size": 5,
"dilation_rate": 10,
"strides": 7,
"padding": "VALID",
"filters": 200
}
compareShapes(4, test_params)
`

here is my output:
Test #1: Passed: True
conv_output_shape (None, 41, 41, 200)
calculated_shape (None, 41, 41, 200)
Test #2: Passed: True
conv_output_shape (None, 49, 49, 200)
calculated_shape (None, 49, 49, 200)
Test #3: Passed: False
conv_output_shape (None, 76, 76, 200)
calculated_shape (None, 79, 79, 200)
Test #4: Passed: False
conv_output_shape (None, 36, 36, 200)
calculated_shape (None, 31, 31, 200)

Hello, @pokecheater
Since SeperableConvnD  consists with depthwise_conv and pointwise_conv. It is quite difficult to draw a formula  for SeperableConv.
The more detailed information can see here:
https://github.com/keras-team/keras/blob/v2.8.0/keras/layers/convolutional.py#L2106-L2272
https://github.com/tensorflow/tensorflow/blob/3f878cff5b698b82eea85db2b60d65a2e320850e/tensorflow/python/ops/nn_impl.py#L996-L1099
https://github.com/tensorflow/tensorflow/blob/v2.8.0/tensorflow/python/ops/nn_ops.py#L536-L694
Shortly,  SeperableConv's depthwise_conv  procedure is easily to understand, obey traditional conv formula, but it does not use dilation_rate directly. The dilation behavior operation is conducted in pointwise_conv by ops such "tf.nn.with_space_to_batch". Even in its documents, the calculation procedure is quite cumbersome.

Thanks for your answer.
You have my full understanding. Development is always in fixing issues and while fixing them discover new ones.
Good to know that the formula is different for these convolutional layers. I was just confused by the fact that the formula applied sometimes perfectly (especially for the cases when one of the parameters (dilation_rate or strides) where equal to 1). So I thought it is just a small detail that I am missing here.
Would be great to hear in near future from you when you can give an answer to it.
Greetz & Thx @Zhaopudark

Can you close this? @pokecheater
TIA

@pokecheater Is this still an issue?
Please move this issue to closed status if it is resolved  for you ?
Thanks!

Hey Sry, haven't answered for a while. (Since our current release is done with this bug my attention moved to other features and issues).
No it is still an issue. I was not able to find the exact formualars for those convolutional layers from the code.


fix(worker): fix concurrent access problem of rand.Rand

fix issue: #693

/backport release-0.4

backport release-0.4

/backport


CJK charaters are being rendered as squares

I'm using Source Han Sans VF as CJK font, does this mean centerpiece don't support font fallback?

I've enabled font fallback in #131. Feel free to test that branch and leave a review whether this works for you :).

That's weird. I've ran the same command:
> nix run github:friedow/centerpiece/pull/131/head -- --version
centerpiece 1.0.0 - 2024-04-15 - 7318ea3

The title of this website: https://www.archchinese.com/ is displayed correctly in the brave history plugin:

Oh perfect, I'm really happy to hear that :). Will merge the Bugfix branch then!


Untyped Object improvements

List of improvements to untyped object:

Allow an object to support both dot lookup and indexing.  This enables things like indexed fields:  Index(obj, 1) and obj.Field1
Enumerate list of possible field names.

As a "design validation" - can we wrap an existing FormulaValue in an UO?
For hosting, it may also be useful to include a UO adapter on top of .net object. We do this in tests.

https://github.com/microsoft/Power-Fx/pull/1177


Bug: Icons not loading in production

The icons don't seem to load in production:

@jhen0409 @dustintownsend thoughts on this? From what I see, I think this happened after https://github.com/chentsulin/electron-react-boilerplate/commit/b59ad178a79769e60a22d213e9ba6e442353d9f3

It looks #558 broken it:

How did you open devtools in production? I tried using the previous method but it didn't work

Fixed after reverting


Add documentation for Mattermost AI Copilot Plugin

Fixes #7004
Quick links:

Admin guide
User guide

Okay, I've migrated in the documentation from the mattermost/mattermost-plugin-ai repo into the product docs, with a guide for admins (configuration and setup) and a guide for end users (usage examples from the blog post)! Next I'll submit a PR to the project repo to remove the duplicative documentation and refer them to these new docs.
@cwarnermm The Sphinx was putting up a fight!! Can you look over my links and images and fix them if I messed them up? Also, can you place these doc pages into the best structure on the docs website so it can go live and be navigable (based on https://github.com/mattermost/docs/issues/7005)?
@esethna Can you give this a review and provide any feedback?
cc @jasonblais adding this to the Fast Futures agenda for Thursday.

Thanks, @azigler!! Looking forward to digging into this!

Thanks @azigler, this is great! Left a few minor comments

Great recommendation @esethna. I tweaked the titles and explained the plugin bit in the admin guide. I'll defer to @cwarnermm on placing those enterprise labels.

@esethna Great feedback, I took another pass!
@cwarnermm Could you assist with the Enterprise labels and getting this documentation placed somewhere in the TOC (a temporary home is fine). Can we target getting this published and live by Thursday's Fast Futures meeting?

Left a few more minor comments, non-blocking, I think this just needs @cwarnermm's help re TOC and Enterprise labels where noted

Thanks @esethna!
@cwarnermm could you help us with the final touches and getting this live? Let me know an ETA so I can convey that back to the Fast Futures team. Thanks!

@azigler - Yes! The integration consolidation docs effort is in progress via https://github.com/mattermost/docs/pull/7030. My plan is to incorporate the AI content from this PR there.

@azigler - I'm closing this docs PR because the content has been incorporated into https://github.com/mattermost/docs/pull/7030.

Thanks @cwarnermm! Do we have an ETA on when #7030 will be merged along with Mattermost AI Copilot changes?

@jasonblais - ETA for https://github.com/mattermost/docs/pull/7030 is mid-May, or sooner.


Consider overrides when checking if an environment satisfies requirements

I noticed this while implementing #4973 — it seems like an oversight.

It turns out this is quite complicated because overrides can be unnamed which isn't compatible with the current design of satisfies — we cannot check that the override is respected without significant changes.
It also looks like there's a bug in the constraint enforcement in this method, where it does not check that the constraint name matches the installed distribution name.