memory safety: audit use of static variables

We should audit the use of static variables in the codebase to prevent static initialization/deinitialization order problems internally, and for dependent projects.
The codebase already defines a construct on first use macro. We should audit other static variables that should be migrated, and enforce the pattern via code linting.

There is a clang-tidy rule that can check this. We tried it but then turned it off for some reason. @lizan knows the history here.

/sub

There is a check in clang-tidy: https://clang.llvm.org/extra/clang-tidy/checks/fuchsia-statically-constructed-objects.html
We added and reverted in https://github.com/envoyproxy/envoy/pull/5733
The problem was tests are registered via static registration mechanism which will be flagged by clang-tidy.
If we wrap those macro, i.e. ENVOY_TEST_F, ENVOY_TEST_P, then we can add NOLINT in the macro definition to workaround that.

This has caused enough problems lately that I think we should turn this check on and deal with the macros. @lizan wdyt?

sounds reasonable.


Pol 31 AWS Unencrypted Volumes Report

Description
This policy checks all Elastic Block Store (EBS) volumes in a given account and reports on any that are not encrypted.
Issues Resolved
Generates the report for Unencrypted Volumes in AWS.
Contribution Check List

[ ] All tests pass.
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[ ] New functionality has been documented in CHANGELOG.MD

Running Template Link:

https://governance.rightscale.com/org/1105/projects/60073/applied-policies/5cbdacec9940ee0089ff1572

Screenshot:

@avinashbhashyam-rs & @rshade - We had resolved conflicts for root readme file since POL-33 was merged to master branch, Could you please review and approve ?


add --cluster-status to snakemake command to handle timeout errors

For details see this

Done in f2e4f60


[CLI]: ModuleNotFoundError: No module named 'ultralytics.yolo'

Describe the bug

Import error while trying to import add_wandb_callbacks in python, there is broken imports in wandb/integration/ultralytics/callback.py line 34.

from wandb.integration.ultralytics import add_wandb_callback

Traceback (most recent call last):
  File "/Users/xyz/dev/venv/yolov8/lib/python3.10/site-packages/wandb/integration/ultralytics/callback.py", line 34, in <module>
    from ultralytics.yolo.utils import RANK, __version__
ModuleNotFoundError: No module named 'ultralytics.yolo'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/xyz/dev/venv/yolov8/lib/python3.10/site-packages/wandb/integration/ultralytics/__init__.py", line 7, in <module>
    from wandb.integration.ultralytics.callback import add_wandb_callback
  File "/Users/xyz/dev/venv/yolov8/lib/python3.10/site-packages/wandb/integration/ultralytics/callback.py", line 53, in <module>
    wandb.error(e)
AttributeError: module 'wandb' has no attribute 'error'. Did you mean: 'Error'?

Additional Files
No response
Environment
WandB version: 0.15.11
OS: MacOs 14.0
Python version: 3.10
Versions of relevant libraries: Ultralytics 8.0.192
Additional Context
No response

Hey @dirtbiker, thank you so much for flagging this! Our team is working on a PR to fix this issue but, in the meantime, downgrading to ultralytics==8.0.186 should solve this. Would you mind checking if this works for you?

Hey @dirtbiker, just wanted to let you know that this was merged on our latest SDK release here

I can confirm that this is an issue on ultralytics==8.0.203, simply doing model = torch.hub.load('ultralytics/yolov5', 'yolov5x'),
The suggested downgrade to 8.0.186 successfully fixed the issue. Thank you @luisbergua for the suggestion.


Color change for 'View Profile' & Search Icon Bg , Border Radius for Cards

Color for View Profile' & Search Icon Bg is not according to design & cards is of rectangle shape we need to add radius to border

Okay. This issue is open for contribution and anyone can drop in a message if they want to work on it.

I'm on it


Halting behaviour

Hello, I am using a slightly modified version of Flute which allows to set halting variable of CPU module from external source.
https://github.com/michalmonday/Flute/blob/continuous_monitoring/src_Core/CPU/CPU.bsv#L791
I noticed that halting CPU this way prevents new instructions from executing but it does not delay results of the current and previous instruction being written to the GPR file.
This is not a problem from the CPU perspective, but in the project I'm working on, it desynchronises the series of program counters from its corresponding series of GPR file values. The project keeps shadow copy of the GPR file and records every program counter with its corresponding state of the GPR file.
Screenshot below shows what happens without halting CPU.

On the screenshot above the blue colour marks instruction that becomes "extended" when CPU is halted. While it's being "extended" (shown on image below) there are 2 writes to GPR file that would normally happen during different instructions.

(please ignore "2 clk past" on the image, it was self note hinting at naive not-working solution to shift any writes 2 cycles after the "extended" instruction).
My question is:
Is there a way to somehow delay any GPR file writes while halting variable is high?

Here is another, hopefully more clear example:
During normal execution (without halting from external source), the GPR address (rg_written_reg_name) becomes 0D while program counter (imem_rg_pc) is 800010E6. Also, the program counter is 800010E6 for 2 clock cycles.

When halting occurs, the GPR address becomes 0D while program counter is 800010EA. The program counter appears to be 800010E6 for only one non-halted clock cycle. So there are 2 options:

GPR address becomes OD 1 clock cycle too late
the 800010E6 program counter changes to 800010EA 1 clock cycle too early

It appears that adding "&& halting" to rl_pipe guard condition in CPU.bsv reduces the number of situations where this kind of mismatch happens, but it does not get rid of them completely.


not compatible with tide prompt

im having issues with tide prompt which entirely doesnt show up when i install this plugin, while also being an async plugin

Tide prompt is already async https://github.com/IlanCosman/tide?tab=readme-ov-file#asynchronous-rendering

ohh right, i thought it asyncs all plugins installed in fish shell, my bad:


Column metadata does not update

System information:

Operating system (distribution) and version, Windows 10, Windows server 2012
DBeaver version 21.0.5
Java version - included JRE
Additional extensions none

Connection specification:

Database name and version: Oracle 12
Driver name Oracle.jdbc.oracledriver
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
The column metadata pane shows the columns from the last query run, instead of the current query. If you run the current query again, it will update correctly.

Steps to reproduce, if exist:
Include any warning/errors/backtraces from the logs

Could you please provide me with steps to reproduce? It will help me to assess the issue and find a solution.

seems to be duplicate of #11639 .
The issue will be fixed in 21.1.1.
anyway, thanks for the report


Update sql-server-docs-contribute.md

Some unclarities in description of "edit in browser" procedure

@MikeRayMSFT
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@HugoKornelis I'm going to consolidate all three PRs into a single internal PR. Thank you as always for your contributions.


how to Remove the Signin buttons ?

In the above image, I want to remove the "Sign in with Google" and "Sign in with Microsoft" buttons. I updated the code to remove these buttons and then ran the following command:
./runkube.py --with-elk --update-only --optscale-deployment-name
However, this did not reflect the changes. Could you guide me on how to properly apply these changes?

Hi @surendra-ta 👋,
To update the ngui component, you need to rebuild its Docker image and restart the corresponding pod to apply the changes.
Steps to Update ngui:

Make the necessary changes in the ngui project.

Navigate to the root directory of the optscale repository:

> cd optscale

Rebuild the Docker image and restart the ngui pod:
You can either build the image manually or use the build.sh script:

Option 1: Manual build:
> docker build -t ngui:local -f ngui/Dockerfile . && kubectl delete pod $(kubectl get pod | awk '/ngui/ {print $1}')

Option 2: Use the build.sh script:
> ./build.sh ngui
> kubectl delete pod $(kubectl get pod | awk '/ngui/ {print $1}')

[Optional] Verify that the ngui pod has restarted:

> kubectl get pods | grep ngui

Example output:
NAME                                READY   STATUS    RESTARTS      AGE
ngui-866795d6c5-nfhkw               1/1     Running   0          -->33s

Let me know if this resolves your issue! 😊

You must adapt the template: ngui/ui/src/components/OAuthSignIn/OAuthSignIn.tsx.
It is best to comment out the area:
const OAuthSignIn = ({ googleButton, microsoftButton }) => (   <Grid container alignItems="center" justifyContent="center" spacing={SPACING_1}>     <Grid item xs={12}>       <SubTitle>         <FormattedMessage id="signInWith" />       </SubTitle>     </Grid>     {/* <Grid item xs={6}>       {googleButton}     </Grid>     <Grid item xs={6}>       {microsoftButton}     </Grid> */}   </Grid> );
Then carry out the steps as described by @ek-hystax

thanks its working @ek-hystax  @siddi0812


Add Related Metadata Molecule to the sidefoot for pages

Changed browse-filterable/index.html and molecules/related-metadata.html according to new backend
Topics added without markup
TODO Add markup to topics in molecule

Frontend work needed for the topic list
Test

Run ./cfgov/manage.py migrate
Go to add a new DocumentDetail page
Navigate to the Sidebar (Footer) tab
Add Related Metadata block content
Preview/Publish then view the page

@sebworks
@rosskarchner
@richaagarwal

Ready for final review

I'm still seeing individual atoms as options in the sidebar, should those be removed to avoid the lack of spacing control?

I can add the related metadata to a landing page template type, but it doesn't display. Should it be hidden in the admin for this page type?

Following up on @jimmynotjim's comment re page types -- This should only be an option for Learn or Doc Detail page types. Hidden for all others.

Following up on @jimmynotjim's comment re page types -- This should only be an option for Learn or Doc Detail page types. Hidden for all others.

We'll address this in a different PR, as it is out of scope for this one.

Should be ready again.

can you update the migration script. currently there are migration conflicts

:+ after migration conflicts


Replaced outdated link to Discord Error Codes with new one

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[ ] Library interface (affecting end-user code)
[x] Documentation
[ ] Other: _____

Description
This replaces the JavaDoc link that links to the no longer existing response-codes page (404)

this should be directed at https://github.com/DV8FromTheWorld/JDA/tree/docs/development

Yeah. Rebase not working as i wished. Opening a new PR

-> #1837


Verify number of files that can be uploaded via the browser

It's possible there is a limit of 1000 files that can be uploaded to H2 via browser uploads:

Verify if there is a total number of files limit that can be uploaded.
Verify if we enforce a total single file size limit of 10 GB (i.e. will it block you if you try and do this)
If there is a limit to total number of files, see if it actually works.
If there is not a limit, try to limit to 1000 files (check with Amy first).
Add instruction text to inform user of limit.

Current limit in instructions to user is 10 GB total for browser uploads, so the 1000 file limit should total to no more than 10 GB.

Proposal:

Set the max number of files to 250, and configure DropZone to only allow that many. This way we can be pretty sure users are getting the best user experience.
Lets make sure we understand how the maximum file size is getting configured, and that the error message is expressed in terms of GB not MiB.

@edsu I'm wondering if 250 is the maximum number of files that can reasonably be unpacked from an uploaded zip file as well? Perhaps that's a question for a different ticket.

@amyehodge that's a good question. It does feel like a follow on ticket to see what the limits are there. I don't think that the DropZone JavaScript that we are using for the upload will be a bottleneck for that.

@edsu I've created a new ticket in #3195.

I'm noticing that the size limit that DropZone imposes is for the each file, not for all the files together. So it's possible to upload three 5GB files (more than 10GB). I don't think this is necessarily a problem, but users would definitely be better off using Globus for this type of transfer.


[BUG] mogdb install falied: spec.actions: Required value, : Invalid value: "null"

Describe the bug
 kbcli version
Kubernetes: v1.26.14-gke.1006000
KubeBlocks: 0.9.0-beta.0
kbcli: 0.9.0-beta.0

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

helm upgrade --install mogdb kubeblocks-addons/mogdb --version 0.8.2

W0402 15:20:24.895989   33001 warnings.go:70] The ClusterVersion CRD has been deprecated since 0.9.0
W0402 15:20:25.233672   33001 warnings.go:70] The ClusterVersion CRD has been deprecated since 0.9.0
W0402 15:20:28.043017   33001 warnings.go:70] unknown field "spec.jobSpec"
W0402 15:20:28.043049   33001 warnings.go:70] unknown field "spec.varsRef"
Error: UPGRADE FAILED: failed to create resource: OpsDefinition.apps.kubeblocks.io "mogdb-switchover" is invalid: [spec.actions: Required value, <nil>: Invalid value: "null": some validation rules were not checked because the object was invalid; correct the existing errors to complete validation]

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

dup with https://github.com/apecloud/kubeblocks/issues/6925

fixed at https://github.com/apecloud/kubeblocks-addons/pull/416


Fix #3374

This patch provides an option to always toggle vterm buffer, even if displayed. Note that the default behavior is not changed. This enables a more ergonomic UX where the user can rely on a single binding to open/hide a pop-up
Currently, if vterm pop-up invoked via SPC o t is displayed, but another buffer is selected, a subsequent invocation of SPC o t selects the vterm buffer. This is a sensible default behavior, however for certain usage patterns it is inconvenient. Consider, for example, the case of tailing a log file, or issuing an ad hoc command in the terminal, going back to the code buffer, and realizing the terminal is not needed anymore and wanting to dismiss it.
The current behavior, moreover, is somewhat unexpected because a command with "toggle" in its name is expected to indeed toggle some feature consistently on subsequent invocations.
Furthermore, it is quite easy to select the vterm buffer, if so desired, via user's preferred window selection commands. An option to always hide the vterm pop-up if already displayed using the same keybinding used to show it would provide substantially improved UX over having to think about whether or not the buffer is selected, whether or not one should be using the o t binding or ~ binding, etc.

You can use C-`  to toggle any popups. But I agree that if it's named "toggle*" it should probably toggle :)

You can use C-` to toggle any popups. But I agree that if it's named "toggle*" it should probably toggle :)

C-is nice but is undocumented and not discoverable (unlike theSPC ~` binding to the same function). However as you said, a toggle should toggle -- Principle of Least Surprise is a Good Thing!


RocksDB dependency issue when running tests and using Make

As I work on the Informational Watcher API, two key elements of the development process are the following:

Testing: I write tests and run them with mix test

Visualising API changes: If I write code to modify the API response, I would like to visualise this with Insomnia or Postman. To reflect changes on containers that were started with docker-compose up, I run make docker-update-watcher_info.

This flow is hampered by :rocksdb.
If I run tests, I will get the following error when I run make docker-update-watcher_info:
** (Mix) Could not compile dependency :rocksdb, "/home/elixir-omg/.mix/rebar3 bare compile --paths "/app/_build/prod/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile rocksdb", update it with "mix deps.update rocksdb" or clean it with "mix deps.clean rocksdb"

Running mix deps.clean --all followed by mix deps.get will fix the issue, but then I will get the above error if I try to run tests.
The result is that much time is lost cleaning and re-installing dependencies.
A fix would allow me to test and (re)build containers concurrently without this dependency issue as I work on watcher_info
N.B. @unnawut explains that this due to the dependency cache being shared - and that separate dependency caches may sort the issue.

Expanding on

due to the dependency cache being shared - and that separate dependency caches may sort the issue.

It's this line https://github.com/omisego/elixir-omg/blob/master/Makefile#L244:
docker run --rm -it \
  ...
  -v $(IMAGE_BUILD_DIR)/deps:/app/deps \
  ...

And because rocksdb is compiled from source, it's incompatible between the host's MacOS and docker container's linux, so the deps can't be shared.

Yep exactly that @unnawut . Container mounts the local volume and it leaves compilations in the mounted volume. Containers are linux, host is osx and compilation outputs are not compatible.
Idk if there's a solution to this... if you go back and forth many times I suggest you use baremetal cluster.
make start-services
make start-child_chain
make start-watcher


#130 Revert "target using serialized line coverage"

This reverts commit 2c68bfb98386736006e656351df4452eb00e9b55.

Hi @tasaiii725 👋
Could you elaborate what motivates this change?

Reverting this fixes #130


Not able to create mappings with ID using REST API

Documentation doesn't show an example of how to create a mapping with an id using the REST API, it only shows edit.  I've tried what I thought might work but with no success.

The problem is the /foo on the end of the URL. Please can you post future questions to the mailing list as per the README.


Make AnimationBase generic

https://github.com/xamarin/XamarinCommunityToolkit/blob/f92ef897b4e184760f228235810c7eccd70059ad/XamarinCommunityToolkit/Behaviors/Animations/AnimationTypes/AnimationBase.shared.cs#L33
Now AnimationBase Animate method has 1 parameter View. Lets say I animate the Label. if I need to access specific property (Text) I have to cast the View to Label. If I want to animate the TextView, I have to duplicate the code.

public abstract class AnimationBase<TView> : BindableObject {
}
public abstract class AnimationBase : AnimationBase<View> {
}

?

yes. The use case where I try to use it: https://forums.xamarin.com/discussion/158746/number-from-to-animation


Release v24.11_REL1.0.9  acs_waiver.json missing.

acs_waiver.json sample file is needed.

Hi @quic-pansing,
We are working on it and will share the sample waiver json and guidelines to apply it by today.
Thanks,
Chetan

Hi @quic-pansing,
The sample waiver json and guide on details of waiver application process are documented here: https://github.com/ARM-software/arm-systemready/tree/main/common/docs

example_waiver.json
waiver_guide.md

Thanks,
Chetan


Add hideScriptTag option

Add hideScriptTag option which, when enabled, doesn't render the script tag in the component source code
Expands README to describe this new option

Tested in Storybook 7

Hey, it seems the new hideScriptTag property is not yet typed, i get this in my VSCode:
Argument of type '{ typeRef: string; hideScriptTag: boolean; }' is not assignable to parameter of type 'Options'.
  Object literal may only specify known properties, and 'hideScriptTag' does not exist in type 'Options'.ts(2345)

Thank you, @certainlyakey! This is fixed in release 1.5.3.


Support for Nativewind v4 Alpha

Hi! I came across a dependency issue in my project whilst installing gluestack-ui for nativewind. Your package supports     "nativewind": "^2.0.0" but the latest version is nativewind": "4.0.36.

I would definitely like to support nativewind v4. We've been using it in our apps with v2 for a while but I think we should upgrade it to v4.
I haven't had a chance to dig into the API changes yet, but it looks like we just need to change styled to remapProps ? See the existing implementation: https://github.com/LegendApp/legend-motion/blob/main/src/styled.ts

I just released version 2.4.0 which changes the peerDependency to * so it should work for nativewind v4. A major difference in v4 is that nativewind doesn't have styled anymore, and the configuration isn't necessary anymore, and it shouldn't even need remapProps.
So it probably doesn't affect you if you're using gluestack, but if you're using legend-motion with nativewind v4 directly, you don't need to import from "@legendapp/motion/styled". I'll update the docs about that soon.


MM-11703: Update incoming and outgoing webhook description to 500 characters

Summary
This PR increases maxLength of incoming and outgoing webhook's description field to 500 characters
Ticket Link
https://github.com/mattermost/mattermost-server/issues/9258
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[x] Has server changes https://github.com/mattermost/mattermost-server/pull/9265
[x] Has UI changes (only maxLength)

I have rebased, please consider my changes

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0e3474c75bd7212fd.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0e3474c75bd7212fd

Looks good from the PM side as well.  Thanks for adding this for us @n1aba !

Spinmint test server destroyed

I have rebased, please consider my changes


Allow target to be specified with an environmental variable

My TextMate-based development environment can't easily pass the
target on the command line.

This is now implemented in a different manner, using CARGO_BUILD_TARGET, in #804.


How to use MusicRNN continuesequence

In the docs, it gives the parameters for continuesequence() as:
continueSequence(sequence: INoteSequence, steps: number, temperature?: number, chordProgression?: string[]): Promise<INoteSequence>.
I'm confused about the temperature and chordProgression parameters, as there isn't much elaboration in the documentation. For temperature, what is the range of numbers that can be imputed? I tried a variety of numbers, and all but 1 caused the method to return nothing back. For chordProgression, how would I format the progression? Is there an example I can see that demonstrates how to use it?
Thanks!

First things first, here's an example of using continueSequence with both a temperature and a chordProgression parameter: https://github.com/tensorflow/magenta-js/blob/master/music/demos/music_rnn.ts#L156

temperature is a number that's above 0, and doesn't really have any upper bound. However, anything above 1.5 will essentially result in random results, so you won't see much difference between a temperature of 1.9 and one of like 3
chordProgressions is an array of chords that are passed to the tonal package for parsing, so they're in that format. I can't find a complete list of what's available in the docs, but as you can see in the example it's the pretty common way of representing keys by a capital letter (B), minors by adding an m (Bm), flats with a b (Bb) etc.

I think it would be a good idea to add a bit of docs to the chordProgressions parameter, at least pointing to tonal. Would you be interested in making that PR?

I was looking for an easy PR to get myself familiar with the code base and processes. Thanks @agreyfield91 for the opportunity and I hope it will help future developers taking a look at this model.


Create a sparkler "distribution"

We need to create a distribution that containers:

Sparkler jar
Solr Schema
External configuration lookup
Plugins as a folder structure
Matching Banana dashboard?

i've pushed some stuff that picks up the app, conf and stuff and builds a few archives. Should work for testing.

@buggtb aren't you supposed to raise a pull request and then merge it yourself?
 It's just a suggestion


Create: Input Action Maps

Similar to Unity.

Currently the input system functions by using Resources to connect aggregated InputEvents to functions in referenced scripts. It's a little limited because the InputHandler can only connect to encapsulated Nodes but I think it will work well. Differently, but well.
Pros

Like in Unity, InputActions and InputMappings are both globally-available Resources
Multiple InputHandlers can be active at once for the same device

Cons

InputMappings can only be mapped to Nodes with a similar (if not identical) SceneTree layout
Currently, actions are bound by searching for Nodes by name
Currently, multiplayer is not considered
Currently, input cannot consumed

Instead of having input bound to names of objects, I'd like to attempt to connect input to components by cycling through all Nodes in a scene and binding any available OnInput_Event methods. This would be similar to "send messages" in Unity's Input Handler.

I just implemented this, works like a charm. Much cleaner than before.

I ended up simplifying this dramatically. The actions are still there but they use the project input settings instead of creating new ones. It's not the best but it's robust. Trying to handle all input myself was causing very weird input issues and would probably be slower than this anyway. Calling it done.


feat(efs): Add support for specifying the EFS throughput mode

Add support for specifying the EFS throughput mode (and the provisioned throughput if/when PROVISIONED throughput mode is chosen)

Updated unit tests to cover new functionality
Updated existing unit test to pass for IAM related changes

Update the documentation
Upgrade the cdk lib to 2.54.0 as that is when the ELASTIC throughput mode was added: https://github.com/aws/aws-cdk/releases/tag/v2.54.0

This fixes: https://github.com/awslabs/cdk-serverless-clamscan/issues/1261

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@dontirun - What do you think of this change?  Is there anything you'd like me to change about it?

Thanks for the PR! Should be good to go after this small change

Done.  Thank you!

@bdmartin You'll need to run the  npx projen build command locally and push the documentation changes.


Indentation to tabs plus few improvements

Sorry for multitude of areas this pr touches, I got a bit carried away and made multiple smaller tweaks (also I haven't contributed to others' projects before so I pretty much don't know what I'm doing :'D)...

Changes:

Indentation style to tabs (see #7 for reasoning)
Easing function to Godot's built-in ´ease()´, I believe it's easier to use since editor has good support for it (visualizing the curve and presets). I couldn't get smooth enough transition with smoothstep function, but that might have been due to my poor understanding how it works.

Additions:

Option to disable VCamera.
Fov, near and far clip options for VCamera. VCameraBrain interpolates these as well.

Test scene:

Has now ability to change active cameras by pressing space. Without this the test scene doesn't really showcase the addon's capabilities.
Some VCameras have different fovs.

This is a really fantastic set of changes! If you can fix the one bug I commented about I'll gladly accept the PR 😄


sympify leading plus signs (sympy compat)

In sympy you can sympify an expression when it has a (redundant) leading plus sign:
import sympy
sympy.sympify('+1.234-x') # returns symbolic object

SymEngine does not recognize the expression as valid and will return an error.
import symengine
symengine.sympify('+1.234-x') # raises RuntimeError: syntax error

This also affects expressions with leading plus signs inside of parentheses.
import sympy
sympy.sympify('2*(+1.234-x)') # returns symbolic object

import symengine
symengine.sympify('2*(+1.234-x)') # raises RuntimeError: syntax error

Moving to C++ repo


Playlist feature not fully functional?

Hello!
There seem to be several issues with the playlist feature on the site right now. My standing system is Windows 10 on PC, using Chrome. But I also replicated this on Windows 10/PC/Firefox as well as Chrome on Android mobile.
There are a couple of different issues I've noticed...
The "active playlist" will only allow one show to be added. So, for example, my plan was to put all four nights of this year's Dick's shows into an active playlist, remove anything that didn't grab me, and then save as a "best of Dick's 2023." But any time I click on a new show to add it, that becomes the only show in the playlist. Clicking on any show automatically adds it to the active playlist, which means that going into the show and adding individual songs seems out of the question. Trying to add an entire show via the little dropdown arrow that appears next to the venue leads to the same result in that whatever the most recent one you add is, that's the entirety of that playlist, with the one that was added previously being wiped out.
Trying to save an "active playlist" to an existing one also doesn't work, as the dropdown for "update existing playlist" appears but isn't selectable. (I also don't know if the arrows on shows and songs are supposed to allow for you to add those directly to existing playlists or not, but if they are, it doesn't even show the option.)
I've only attached a screenshot for the "update existing playlist" bug because I'm not sure how to illustrate the other issues visually, but I HOPE I explained it well enough. I'm wayoutstuff in the Discord if you need to get a hold of me, too!
Thank you, and I hope I'm actually pointing out a bug and not just wishing for functionality that never existed in the first place and thus wasting your time!

That screenshot shows an Untitled Playlist, so the only option would be to save it as a new one. I updated the language slightly to make this a bit clearer.

I tested and the save features seem to be working as designed. Let me know if you run into issues though.


Return error instead of waiting

This is a feature request.
It would be great, if there was a way to return an error, if there are too many calls of the limited function, instead of simply waiting and still doing the requested thing later. Perhaps a third parameter in the decorator, which takes an error class?

Thank you for the suggestion. I'm really glad for the feedback. I intend on rewriting this package very shortly to accommodate all the other suggestions that have been made. I will look into this one too

Hi. I have been working through most of the issues on this project. Do you think this implementation makes more sense https://github.com/tomasbasham/ratelimit/tree/2.0

@tomasbasham Hey, I found some library that already does what I needed (sorry, I needed it rather quickly^^) and maybe you could take bits from it to add to your library: https://github.com/piotrmaslanka/falcon-ratelimit/blob/master/falconratelimit/ratelimit.py#L40 There the raising function is wrapped and it is used as a decorator in the end.
Anyway I (re?-)learned something about decorators which I memorized as follows:

when wrapping the functions about the wrap depths:

level takes the parameters of the decorator

level takes the original function which will be decorated

level is the decorated function that will be returned (iirc)

I ended up modifying the decorator that the other project has and created a pull request to return correct HTTP status code.
I can take a look at your new version soon I hope.

I understand I took some time to getting around to fixing some of the issues with this project. Thank you for your suggestions and the above link


DNM test

Depends-On: https://github.com/openstack-k8s-operators/openstack-operator/pull/1188

/hold


clhash is 3x slower than std::hash in Mac OS and 2x slower than std::hash in Linux

Hi Daniel,
I write a simple benchmark using https://github.com/google/benchmark and my benchmark results show that clhash is 3 times slower than std::hash in my MacBook Pro and 2 times slower than std::hash in Centos 6  with Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz. You can find my benchmark and CMakeLists.txt files from my GitHub folder https://github.com/hungptit/clhash/tree/convert.to.header.only.library/benchmark.
Do you have any suggestion?
Regards,
Hung
Benchmark results obtained in my MacBook Pro
./basic_benchmark
2018-10-25 22:57:00
Running ./basic_benchmark
Run on (8 X 2200 MHz CPU s)
CPU Caches:
  L1 Data 32K (x4)
  L1 Instruction 32K (x4)
  L2 Unified 262K (x4)
  L3 Unified 6291K (x1)
-------------------------------------------------------
Benchmark                Time           CPU Iterations
-------------------------------------------------------
std_hash_string          5 ns          5 ns  138334453
clhash_string           17 ns         17 ns   36479233

Benchmark results obtained in Centos with gcc-5.5
2018-10-25 23:08:44
Running ./basic_benchmark
Run on (88 X 2199.89 MHz CPU s)
CPU Caches:
  L1 Data 32K (x44)
  L1 Instruction 32K (x44)
  L2 Unified 256K (x44)
  L3 Unified 56320K (x2)
-------------------------------------------------------
Benchmark                Time           CPU Iterations
-------------------------------------------------------
std_hash_string         12 ns         12 ns   60746327
clhash_string           23 ns         23 ns   30505677

How did you invoke cmake? What are the compile flags?

Try increasing the size of the string, this is where it'll shine.

@fsaintjacques is correct.
Optimizing for speed with tiny strings is a vastly different problem than for long strings. Of course, you can optimize for both cases with some kind of branching and so forth... but clhash has not been optimized in this manner. I will add a paragraph to the README to make sure it is clear.
I have issued a PR on your fork, consider merging it...
https://github.com/hungptit/clhash/pull/2
Report back if you can't get good speed with sensibly long strings...
Of course, a PR which would provide fast speeds on tiny strings would be welcome. But it is not a bug that we can't match std::hash on tiny strings... it was not a design objective.

I have added a remark in the README as part of this commit:
https://github.com/lemire/clhash/commit/5511441cf3ae2c4f064e2e2950e754eb2033b56c

As a future reference, you might make a graph with regards of input size :)

Indeed.
A really good benchmark would actually include a realistic mix of string inputs, with various (unpredictable) lengths.

I have created a simple benchmark using randomly generated strings to automatically detect when clhash is faster than std::hash. The benchmark results obtained in my MacBook Pro show that clhash is faster than std::hash when the size of the string is greater than or equal to 192 bytes. You can find my benchmark code, automated scripts, and a sample PDF picture in my github folder https://github.com/hungptit/clhash/blob/convert.to.header.only.library/benchmark/. Regards. Hung.

This sounds credible, yes.


invalid syntax

File "bot.py", line 21
async def on_ready():
^
SyntaxError: invalid syntax

What python version are you running?

'/home/brage/discord-spotify-bot/bot.py'
Traceback (most recent call last):
File "/home/brage/discord-spotify-bot/bot.py", line 6, in
from cogs import music
File "/home/brage/discord-spotify-bot/cogs/music.py", line 2, in
from cogs.player import DiscordPlayer
File "/home/brage/discord-spotify-bot/cogs/player.py", line 7, in
import spotify
ImportError: No module named 'spotify'

think i just uesed python 3 to run this

Do you have pyspotify installed with a key?


readme: Add section about flight stack logging

Typo fixed and merged, tks!
I'll create an issue to keep track of MavlinkDialect=auto and look into it.


Improve connection speed by including the first candidate with the SDP offer.

Sending a single message over channel takes a lot less time than sending two messages, for some reason.

Obsolete I think.


2.2.2 causes TypeError: Cannot read property 'indexOf' of undefined

Trying to build a Nuxt project. I get this error.
/node_modules/sass-resources-loader/lib/utils/rewritePaths.js:41
    if (single.indexOf('sass:') === 0) {
               ^

TypeError: Cannot read property 'indexOf' of undefined
    at .../node_modules/sass-resources-loader/lib/utils/rewritePaths.js:41:16
    at String.replace (<anonymous>)
    at rewritePaths (.../node_modules/sass-resources-loader/lib/utils/rewritePaths.js:39:28)
    at .../node_modules/sass-resources-loader/lib/loader.js:73:36
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:69:3)
error Command failed with exit code 1.

It works fine if I add this to package.json:
"resolutions": {
    "sass-resources-loader": "2.2.1"
  }

This error is really blocking and is a problem for the whole development of my company.
Can you merge the PR with absolute urgency?

Critical issue indeed...

Critical issue indeed... Btw, for me it worked when I installed it explicitly as a dependency and version 2.2.1. (resolution didn't fix the issue)...

Yes I now, I downgraded the package locally, but for production I don't want to downgrade packages. However your workaround fixed the problem, at least temporarily

I can confirm that this is happening to me as well. I had to downgrade back to 2.2.1

Shipped 2.2.3! 🚀


fix the state script

The script is failing at different points and the script is fixed and tested.

Thanks @anishmonachan7 I've added some comments here.
Can you add more detail about what specifically is failing and how, and what upgrade sequence you are attempting?
Will I be able to reproduce the problems you've noticed on https://github.com/OE4T/tegra-demo-distro/tree/dunfell-l4t-r32.4.3 using demo-image-base and PREFERRED_PROVIDER_virtual/bootloader = "u-boot-tegra"? I'll give that a try.
Also tagging @madisongh and @ichergui for their feedback.

@dwalkes Thank you for reviewing the pull request. I've encountered two issues with the scrip

The  new_boot_part and current_boot_part are outputting wrong value.
The [setup-nv-boot-control](https://github.com/mendersoftware/meta-mender-community/blob/dunfell/meta-mender-tegra/recipes-mender/tegra-state-scripts/files/redundant-boot-install-script-uboot#L57) is failing with a message 'can't operate on dangling symlink'.

I've discovered some new information from your comments. I'm closing the pull request because I'll test the alternative suggestion you have given for finding new_boot_part and current_boot_part. Also, to put back the support for delta update which is important.


Removed No description.

Fix for issue #1054
Do not show "no description found".

@mithlesh4257 any update?
If we don't hear back soon, I think we can merge this. The remaining issue is a minor one and I can resolve it in a follow up commit if needed.

Yes it's working @whym

@maskaravivek I think this PR can be closed as the issue is already fixed and closed.


is mongodb supported?

Hi! Thanks for a great effort making php async!
Is mongodb supported? If so can you give an example of its usage?

I'm not aware of any implementation on Amp directly, but there's https://github.com/jmikola/react mongodb which is based on ReactPHP and thus fully compatible with Amp v2. That package is marked as experimental, but maybe it helps.

@kelunik , unfortunately it doesn't work with php7 and new mongodb php driver.

Hmm. Well, judging by the react-mongodb library, it should be pretty easy to write your own driver for this using amp.
If there is interest, I also may prototype such a basic library in a couple of hours.

@bwoebi , please note that react-mongodb is based on a legacy php mongo extension  for BSON processing which is not supported in PHP7, new mongodb extension is much sleeker, it provides BSON serialization and some low level features, but it lacks Asynchronous Queries support, there's a PHP library that is based on the new extension which implements all mongodb features.
What do you think about prototyping a basic amp driver which would be compatible with the mongo php library, so it could be used together in amp based apps?

https://github.com/jmikola/react-mongodb is really just a proof of concept for executing basic queries and commands asynchronously. It only depends on the legacy extension for BSON encoding and decoding, but that could be trivially changed to use the new extension's functions and classes. I would not expect the PHP library to be usable atop any async PHP driver.
That said, it lacks many of the essential features you'd need in a driver. TLS connections, authentication,
server discovery and monitoring, and a usable API. An ideal API would probably be modeled after the Node.js driver or Motor (for Python).
As a side note, https://github.com/mongofill/mongofill implements the legacy driver's BSON API in pure PHP if you were looking to bootstrap a new async driver without any extension dependency.

Closing this issue, the possible options have been mentioned. Another option is to build a driver based on amphp/parallel.

Re-opening. Introduced the package request label for these kind of requests. I think amphp/amp is the best repository to collect these.


Incorrect namespace and component content for new Razor Class Library

The namespace of the generated ExampleJsInterop class should match the library name, but is instead always RazorClassLibrary-CSharp.
Also, the content of Component1.razor is always "This Blazor component is defined in the RazorClassLibrary-CSharp package." when it should reflect the actually library/package name.
Repro steps:

Using .NET Core SDK 3.0.100-preview9-013996 or later
dotnet new razorclasslibrary -o RazorClassLib1
Inspect generated ExampleJsInterop.cs and Component1.razor files

Actual result:

Namespace of ExampleJsInterop is always RazorClassLibrary-CSharp
Content of Component1 is always "This Blazor component is defined in the RazorClassLibrary-CSharp package."

Expect result:

Namespace of ExampleJsInterop matches the name of the library/packages
Content of Component uses the correct library/package name

This has been resolved.


is_monotonic* for MultiIndex

The existing implementation only support for Series, Index, but not MultiIndex
so fix this for also supporting MultiIndex like pandas.

is_monotonic_increasing

>>> midx = ks.MultiIndex.from_tuples(
... [('x', 'a'), ('x', 'b'), ('y', 'c'), ('y', 'd'), ('z', 'e')])
>>> midx
MultiIndex([('x', 'a'),
            ('x', 'b'),
            ('y', 'c'),
            ('y', 'd'),
            ('z', 'e')],
           )
>>> midx.is_monotonic_increasing
True
>>> midx.is_monotonic_decreasing
False

is_monotonic_decreasing

>>> midx = ks.MultiIndex.from_tuples(
... [('z', 'e'), ('z', 'd'), ('y', 'c'), ('y', 'b'), ('x', 'a')])
>>> midx
MultiIndex([('z', 'a'),
            ('z', 'b'),
            ('y', 'c'),
            ('y', 'd'),
            ('x', 'e')],
           )
>>> midx.is_monotonic_increasing
False
>>> midx.is_monotonic_decreasing
True

cc @ueshin @HyukjinKwon
FYI: this property(is_monotonic*) will be used in #1182 for handling exception logic.
so if available, would you please review this PR first?

Codecov Report

Merging #1183 into master will decrease coverage by 1.6%.
The diff coverage is 94.11%.

@@            Coverage Diff             @@
##           master    #1183      +/-   ##
==========================================
- Coverage   95.24%   93.63%   -1.61%
==========================================
  Files          35       35
  Lines        7105     7120      +15
==========================================
- Hits         6767     6667     -100
- Misses        338      453     +115

Impacted Files
Coverage Δ

databricks/koalas/base.py
96.2% <94.11%> (-0.2%)
:arrow_down:

databricks/koalas/usage_logging/__init__.py
24.32% <0%> (-72.98%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
50% <0%> (-50%)
:arrow_down:

databricks/koalas/__init__.py
76.59% <0%> (-8.52%)
:arrow_down:

databricks/conftest.py
92% <0%> (-6%)
:arrow_down:

databricks/koalas/frame.py
96.44% <0%> (-0.57%)
:arrow_down:

databricks/koalas/generic.py
95.85% <0%> (-0.42%)
:arrow_down:

databricks/koalas/indexes.py
96.58% <0%> (-0.32%)
:arrow_down:

databricks/koalas/plot.py
94.04% <0%> (-0.24%)
:arrow_down:

databricks/koalas/groupby.py
91.4% <0%> (-0.2%)
:arrow_down:

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 15a6406...40a22a7. Read the comment docs.

Shall we use overriding?

@ueshin

Shall we use overriding?

Ah, It seems better. I'm going to move this on to MultiIndex class
Thanks for the comment :)

while working here, i found something.

pandas only concern about the order of first index of MultiIndex

>>> pidx
MultiIndex([(1.0, 100),
            (2.0, 200),
            (nan, 300),
            (4.0, 400),
            (4.0, 500)],
           )
>>> pidx.is_monotonic_increasing
False

>>> pidx
MultiIndex([(1, 100.0),
            (2, 200.0),
            (3,   nan),
            (4, 400.0),
            (4, 500.0)],
           )
>>> pidx.is_monotonic_increasing
True

pandas ignore the last null value of MultiIndex unlike Index

>>> pidx
Index([1, 2, 3, 4, None], dtype='object')
>>> pidx.is_monotonic_increasing
False

>>> pidx
MultiIndex([(1.0, 100),
            (2.0, 200),
            (3.0, 300),
            (4.0, 400),
            (nan, 500)],
           )
>>> pidx.is_monotonic_increasing
True

pandas only concern about the order of first index of MultiIndex

It does concern about the whole index.
>>> pd.MultiIndex.from_tuples([(1,100),(2,200),(3,None),(4,400),(4,500)]).is_monotonic
True
>>> pd.MultiIndex.from_tuples([(1,100),(2,200),(3,None),(4,500),(4,400)]).is_monotonic
False

pandas ignore the last null value of MultiIndex unlike Index

if MultiIndex has None in a row at the last position, we should ignore them when is_monotonic_increasing.
they doesn't apply the same logic to is_monotonic_decreasing like the below. they doesn't ignore None for is_monotonic_decreasing unlike is_monotonic_increasing.

It's just handling null value as the biggest number.
>>> pd.MultiIndex.from_tuples([(1,100),(2,200),(3,300),(4,400),(None,500)]).is_monotonic
True
>>> pd.MultiIndex.from_tuples([(None,100),(2,200),(3,300),(4,400),(5,500)]).is_monotonic
False
>>> pd.MultiIndex.from_tuples([(5,100),(4,200),(3,300),(2,400),(None,500)]).is_monotonic_decreasing
False
>>> pd.MultiIndex.from_tuples([(None,100),(4,200),(3,300),(2,400),(1,500)]).is_monotonic_decreasing
True

pandas only concern about the order of first index of MultiIndex

It does concern about the whole index.
>>> pd.MultiIndex.from_tuples([(1,100),(2,200),(3,None),(4,400),(4,500)]).is_monotonic
True
>>> pd.MultiIndex.from_tuples([(1,100),(2,200),(3,None),(4,500),(4,400)]).is_monotonic
False

pandas ignore the last null value of MultiIndex unlike Index

if MultiIndex has None in a row at the last position, we should ignore them when is_monotonic_increasing.
they doesn't apply the same logic to is_monotonic_decreasing like the below. they doesn't ignore None for is_monotonic_decreasing unlike is_monotonic_increasing.

It doesn't ignore null value but consider as the biggest value.
>>> pd.MultiIndex.from_tuples([(1,100),(2,200),(3,300),(4,400),(None,500)]).is_monotonic
True
>>> pd.MultiIndex.from_tuples([(None,100),(2,200),(3,300),(4,400),(5,500)]).is_monotonic
False
>>> pd.MultiIndex.from_tuples([(5,100),(4,200),(3,300),(2,400),(None,500)]).is_monotonic_decreasing
False
>>> pd.MultiIndex.from_tuples([(None,100),(4,200),(3,300),(2,400),(1,500)]).is_monotonic_decreasing
True

Thank you for correcting my misunderstanding.

wow it's really tricky.
pandas treats None as the largest value only for numeric type.
otherwise (for string type), they returns False for None.
AND they returns True if whole values of index 'partition' are None.
i think my explantation above seems not enough,
so let me show you some example below.
pd.MultiIndex.from_tuples([('x', 'd'), ('y', None), ('y', 'c'), ('z', 'a')]).is_monotonic_increasing
False
pd.MultiIndex.from_tuples([('x', 'd'), ('y', 'b'), ('y', None), ('z', 'a')]).is_monotonic_increasing
False
pd.MultiIndex.from_tuples([('x', 'd'), ('y', None), ('y', None), ('z', 'a')]).is_monotonic_increasing
True

Shall we use overriding?

i think maybe we better separate the logic again since the way of implementation changed a lot from Index.is_monotonic*

for bool type

>>> pd.MultiIndex.from_tuples([('x', True), ('y', True), ('y', None), ('z', True)]).is_monotonic_increasing
True
>>> pd.MultiIndex.from_tuples([('x', True), ('y', None), ('y', True), ('z', True)]).is_monotonic_increasing
True
>>> pd.MultiIndex.from_tuples([('x', True), ('y', None), ('y', None), ('z', True)]).is_monotonic_increasing
True

how inconsistent the behavior is ..

@itholic Please check itholic/koalas#1.

@ueshin a ha.. there are many things to consider more. 😅
okay i'll check that PR soon, thanks for helping me solve this problem 👍


Invoice not showing as Paid

Received this from BitPay however WHMCS has not updated the invoice as Paid?
Read the docs, am I missing something?
A payment has been fully confirmed by the bitcoin network and applied to your BitPay account settlement.

I've had the same problem for a few weeks, even opened a ticket with bitpay a few days ago. I've finally had the time today to track down the cause of the problem myself.
I'm afraid this recent commit has broken the IPN functionality of the plugin and introduces a security vulnerability:
https://github.com/bitpay/whmcs-plugin/commit/5d610a347c0adea3922df53e734db00d00895e82
the commit changes the URL passed to the bpCurl function to:
https://'.$network.'bitpay.com/api/invoice/
and introduces some code to figure out what $network should be populated with.
For a live site, $network should become empty, resulting in the url:
https://bitpay.com/api/invoice/
However, what actually happens is that, for a live site, $network becomes the word "live" and the url becomes:
https://livebitpay.com/api/invoice/
And this results in the bpCurl function returning the error "Couldn't resolve host 'livebitpay.com'".  Unfortunately this error message doesn't make it into the WHMCS gateway log, all that gets logged there is "Invoice ID Not Found" and the "Debug data" box is empty. I only discovered it by adding some debugging throughout the plugin to capture return output from various function calls.
So the past few weeks on my site the plugin has been sending a curl request to the non-existent domain livebitpay.com every time a callback came in from Bitpay.
Thankfully no-one has registered that domain (yet) otherwise they could capture requests to that URL that would expose my API key and other data.
Until Bitpay figure out the fix, I have now just crudely fixed this by modifying the URL in my installation, in two places in modules/gateways/bit-pay/bp_lib.php, to:
https://bitpay.com/api/invoice/
and this fixes the issue for me.

Thank you for bringing this to our attention @bmuthig @eddiegb .  I'm fixing the problem now and will have the updated plugin code for you to use in just a few minutes.  Please stand by.

Ok, this has been fixed.  Please download and update your plugin with the latest release: https://github.com/bitpay/whmcs-plugin/releases/latest

Installed new one and the invoice is still not showing up as PAID.  Do I have to test another transaction now or should that one have been marked now?

Yes, you'll need to create a new invoice.  The old notificationURL parameter was incorrect so invoices created with that value will still have it.  Any invoice going forward since my fix will be correct, however.

I just created a new one, received a message from BitPay that it cleared and still not showing up as paid. :(  Can anyone else confirm it's working for them?  Is there anything I possibly need to do re: firewall or something else that could be wrong?
A payment has been fully confirmed by the bitcoin network and applied to your BitPay account settlement.

Anybody have any suggestions for me here?  About to give up on this?

@bmuthig Yep, we are looking at this and will have an answer for you shortly.

@bmuthig, I just peformed a fresh install from master and tried multiple payments using a testnet API Access Key.  "High" Transaction Speed invoices were marked as PAID immediately as they are supposed to.  "Medium" Transaction Speed invoices were marked as PAID after 10ish minutes as they are supposed to.  I didn't test "Low".  What Transaction Speed are you using, and is it happening on both testnet and livenet, or just one of them and if so, which?

@bmuthig Can you update your plugin with the latest files from this repository and let us know if you're still having the issue?  The fix was a relatively minor one but it should definitely have taken care of the problem.  If you're having invoice issues it might be something different or maybe server-related.  We'd like to help you get it all working for sure!

@bmuthig, we're going to go ahead and close this issue as we cannot reproduce it.  If you are still having the issue and can provide more details, feel free to reopen it!


support adbd running on a device

Implement running adbd on a target device.

@ndec @alimon meta-oe dependencies were merged, so this PR adds machine-related support, while https://github.com/96boards/meta-rpb/pull/257 adds distro support.

run tests

run tests


WIP: Enable using a single values file for all mla charts

This commit prefixes the last 2 charts so that it's possible to use a single values-file to install any chart.
mla-secrets:

received mlaSecrets prefix

alertmanager-proxy:

prefixed with alertmanagerProxy
alertmanagerProxy is moved to alertmanagerProxy.proxy
alertmanagerAuthzServer is moved to alertmanagerProxy.authz

fixes #62

/lgtm

/wip cancel


Sprint 1 - Build/Test/Revise

Objective to complete:

Finish the linear motion arm and ensure it fits within the frame. - Kailyn and Hasini
Finish the Drivetrain - Kai and Rio
prepare a method for intake - Thomas

Hasini, Kailyn and Hamida (Note for Kailyn: could you add the photo of the extender to this comment??)

Started with building the linear arm extender and tested to see how low 2 extensions would extend up to.
Progress to do:
Have to remove stuck screw with the help of Mr. Fabroa
Have to make sure that the extensions are not surpassing the limits along with the drivetrain
- A) If it surpasses, we will have to use a shorter extension
- B)  If it doesn't surpass, we can continue with the progress.
Parts used for Monday:
Extension 15 mm
Slider plate
M3x8mm low profile socket cap screw
M3 nut x8
M3 locknut x8
Double-sided slider

Objectives: Thomas

Build the starter bot intake to learn about the intake and how it should work
Test attaching the intake to the parts team-members build to give an idea of how the design would function in the context of the larger robot
Make modifications to resolve issues that arise or generally improve the design


Analysis bug when add abstract final fields in mixin with const constructor

mixin A {
  abstract final int b;
}

class B with A {
  @override
  final int b;
  const B(this.b);
}

void main() {
  print(B(123).b);
}

This code run normally but I get a analysis error This constructor can't be declared 'const' because a mixin adds the instance field: 'A.b'. Try removing the 'const' keyword or removing the 'with' clause from the class declaration, or removing the field from the mixin class.

Yes, that's true: An abstract final instance variable denotes an abstract getter and should be treated as such.

@eernstg  Should abstract final be considered the same as getter? abstract final with built_value will report an error says should use getter. Will abstract final be different from getter in the future? (But at least in const, they should be the same)

@eernstg can you point me to spec text (or a proposal in the language repo) that spells this out? I'm not finding any definitions of abstract fields at https://spec.dart.dev/DartLangSpecDraft.pdf, nor in the NNBD feature spec.

Ah, found it, in future-releases: https://github.com/dart-lang/language/blob/master/accepted/future-releases/abstract-external-fields/feature-specification.md.

An abstract instance variable declaration D is treated as an abstract getter declaration and possibly an abstract setter declaration. The setter is included if and only if D is non-final.


DFT calculations

@vxfung @jxzhangjhu Thanks for the nice study. Could you share more details on how DFT calculations were performed? (ex. reference to equations etc.)

The details for the DFT calculations can be found in the referenced paper: https://www.nature.com/articles/s41524-021-00670-x#Sec7
Let me know if additional information is needed.


Release 0.30.0

The next Pony release will feature the removal of some packages from the standard library meaning it will be a breaking release. Expect the release around August 3, 2019.

Make Map insertion functions total
Before this change, code that inserts into maps might look like:
try map.insert("key", 1)? end

try map.insert_if_absent("key", 5)? end

try
  map.upsert("key", 1, {(current, provided) => current + provided})?
end

After this change, the question marks and the surrounding try expressions can be removed. Respectively, the above blocks become:
map.insert("key", 1)

map.insert_if_absent("key", 5)

map.upsert("key", 1, {(current, provided) => current + provided})?

Remove glob from the standard library
The glob package is being removed from the standard library and
moved to a new home at https://github.com/ponylang/glob/ where it
will live on as an independent library.
It is being removed because it has a transitive dependency on an
external library libpcre and that dependency makes creating release
artifacts more difficult.
At the moment we have to deal with packaging up pcre for each Linux
distro etc and they all have their own methods to do so. This
lead us to do a lot of work on supporting distro specific packaging.
That has turned out to be too much work. We are moving to having
a single glibc Linux friendly .tar.gz that can be done to install
Pony.
To faciliate this move, we decided that we want to remove items from
the standard library that depend on external libraries like pcre.
Full conversation about the decision is available in the audio of
the Pony development sync July 9, 2019 audio that you can download
from: https://sync-recordings.ponylang.io/r/2019_07_09.m4a
Remove regex package from standard library
The regex package is being removed from the standard library and
moved to a new home at https://github.com/ponylang/regex/ where it
will live on as an independent library.
It is being removed because it has a dependency on an external
library libpcre and that dependency makes creating release artifacts
more difficult.
At the moment we have to deal with packaging up pcre for each Linux
distro etc and they all have their own methods to do so. This
lead us to do a lot of work on supporting distro specific packaging.
That has turned out to be too much work. We are moving to having
a single glibc Linux friendly .tar.gz that can be done to install
Pony.
To faciliate this move, we decided that we want to remove items from
the standard library that depend on external libraries like pcre.
Full conversation about the decision is available in the audio of
the Pony development sync July 9, 2019 audio that you can download
from: https://sync-recordings.ponylang.io/r/2019_07_09.m4a
Remove OpenSSL as a requirement for building Pony
The net/ssl and crypto packages are being removed from the standard library
and moved to a new home at https://github.com/ponylang/net-ssl/ and
https://github.com/ponylang/crypto respectively. Each will live on as an
independent library.
They are being removed because they have a transitive dependency on an
external library openssl and that dependency makes creating release
artifacts more difficult.
At the moment we have to deal with packaging up openssl for each Linux
distro etc and they all have their own methods to do so. This
lead us to do a lot of work on supporting distro specific packaging.
That has turned out to be too much work. We are moving to having
a single glibc Linux friendly .tar.gz that can be done to install
Pony.
To faciliate this move, we decided that we want to remove items from
the standard library that depend on external libraries like openssl.
Full conversation about the decision is available in the audio of
the Pony development sync July 9, 2019 audio that you can download
from: https://sync-recordings.ponylang.io/r/2019_07_09.m4a

Fix segfault due to Cycle Detector viewref inconsistency
Prior to this fix, the Cycle Detector could end up in a situation
where it would have an inconsistent viewref which would result
in a segfault with the cycle detector trying to send a message
to an actor that was already destroyed.

Stop creating Buster Debian packages
When Buster graduated to a supported Debian version, they dropped LLVM 3.9.
We were relying on that LLVM 3.9 support. All our Debian packaging code assumes that
the LLVM version is used across distros. With Buster dropping LLVM 3.9, that is no longer the case.
We could spend time fixing that so that our releases work again, however, we are moving away from doing distro specific packaging.
Given that we don't want to continue doing distro specific releases, we are instead removing building Buster packages now. Expect to see a new release packaging system roll out over the next couple of months.

Blessing: bcec4cb2bea54deaf98c3548c4f43dd2c5a285ca

Homebrew PR opened: https://github.com/Homebrew/homebrew-core/pull/42525

@stefantalpalaru @kamilchm @myfreeweb
release is underway.
note that 0.30.0 no longer has dependencies on openssl/libressl and libpcre2. the code that required those has been moved to independent libraries.

Release notes PR has been opened: https://github.com/ponylang/ponylang-website/pull/463

Debian packages are available in bintray.

Windows packages are available in bintray.

AppImage is now available

There's currently a huge backlog of jobs waiting for resources on COPR so that is probably going to take a while:
https://copr.fedorainfracloud.org/status/stats/

Pony playground is now running 0.30.0

Gentoo ebuild updated.

COPR build is done

Docker builds are done.

Waiting on Homebrew.

If homebrew hasn't merged by later this evening here in the US, I'm going to update the release notes to state that everyhting is out except homebrew and announce the release.

Going to push out the release notes and announce. I won't close this until the homebrew PR is merged.

homebrew PR has been merged. thanks for playing along folks.


Fallback translations broken for unifiedssp:2.1.18

In the latest documented version of unifiedssp (2.1.18) fallback translations provided by Azure are not working anymore.
The following example uses English as the default language and Spanish as the customers language. For debugging purposes I translated the heading, the social provider and the ID and the rest (for some reasons except for the password claim) should be handled by Azure.
Here is version 2.1.17

      <ContentDefinition Id="api.signuporsignin">
        <LoadUri>~/tenant/templates/AzureBlue/unified.cshtml</LoadUri>
        <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
        <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.17</DataUri>
      </ContentDefinition>

Here is version 2.1.18

      <ContentDefinition Id="api.signuporsignin">
        <LoadUri>~/tenant/templates/AzureBlue/unified.cshtml</LoadUri>
        <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
        <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.18</DataUri>
      </ContentDefinition>

Maybe other pages are affected too, I didn't test them.
The undocumented version unifiedssp:2.1.19 is also affected.

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

ID: c4272fbd-ad3d-6099-39bc-966320101b03
Version Independent ID: ac21035f-4145-b309-d45c-3c38e965301d
Content: Page layout versions - Azure AD B2C
Content Source: articles/active-directory-b2c/page-layout.md
Service: active-directory
Sub-service: b2c
GitHub Login: @kengaderdus
Microsoft Alias: kengaderdus

@dk-neogeo
Thanks for your feedback! We will investigate and update as appropriate.

This also affects urn:com:microsoft:aad:b2c:elements:contract:selfasserted
Version 2.1.29 is working, but 2.1.30 and 2.1.31 (undocumented) are not.
Here is Verion 2.1.29 with no custom localization. The users language is German

And here version 2.1.30 and the users language is still German, but B2C is displayed in English

Changing the DefaultLanguage in SupportedLanguages has no affect on this behavior.

Sorry for the close and reopen, clicked the wrong button

@dk-neogeo
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.

@dk-neogeo
We've added this issue to our documentation backlog work item for internal tracking and prioritization. We'll update this issue as once we resolve the issue. Thanks again for your feedback. #please-close


Some of the blocks are not compacted, missed.

Thanos, Prometheus and Golang version used:
Thanos version 0.17.1, 0.17.2
Prometheus 2.20.1
Golang: not secified
Object Storage Provider: S3 MinIO
What happened:
Some of the blocks are not compacted, missed.
We are using thanos, and now we are trying to extend funcionality and add S3 storage ( exacly Minio)
We have data in prometheus , about 60 days and we want to move them to S3, So we startted tanos-sidecar with proper configuration and all of the the block are copied from prometheus to S3.
After upload to S3 any problems, as you can see on the graph.

The problem is when we start thanos-compact ,for some reason, some of the blocks are missed from compaction.It looks like on the screen.

During compaction when we watch on the the logs from compactor,  we see that compactor take 5 raw blocks for compaction and when finish them take another 5 , but one is missed and left untouched. This untouched block is 56h, and is exacly the same as all of the others blocks.
Because is this 56h block only 5m downsamplig is possible.
Normaly we planed to keep blocks 1h only, and delete 5m and raw in short time.
Any errors found in tanos-compact, thanos-sidecar, thanos-store logs, only  warnings.
Maybe someone have some hits, clue, or faced with similar problem and can give some advice whats can be wrong.
I repeated the whole procedure 3 times, deleted all data from S3 upload and comact again but  the result is always the same, missed the same blocks.

I have the exact same issue.
Most settings are default. (retention, block size, version, storage)

I have the exact same issue.
Most settings are default. (retention, block size, version, storage)

Hey @qube222pl, could you please share your compactor configuration?

Current configuration:
thanos compact
--http-address=<IP_ADDRESS>:10903  --data-dir /srv/data/compact
--objstore.config-file=/etc/prometheus/thanos/bucket.yml
--retention.resolution-raw=0d --retention.resolution-5m=0d --retention.resolution-1h=0d
--consistency-delay 0s --delete-delay=2h
--wait --wait-interval=5m
All fresh blocks from Prometheus , are compacted correctly and have 14 days , but the older have 12days + 2days.
We keep all data in Prometheus , so we can delete all data from S3 , and start compaction from zero. We are using version 17.2, not tested on 18.0.

Hey @kakkoyun  I believe it happens with the default configuration.
here's mine :
compact --debug.name compact --log.level debug --http-address=<IP_ADDRESS>:10999 --block-sync-concurrency=5 --compact.concurrency=1 --http-grace-period 1s --wait --data-dir /thanos/compact --objstore.config-file /config/bucket.yml

Which created the same pattern as @qube222pl


Feature/typings

As Typescript gets more and more popular, adding typings to the repository would make importing package in Typescript environments much easier.
I tried to keep it simple and concise and affect as little as possible, the only external dependency being Webpack @types/webpack (not Webpack itself).

The code isn't very complex and it's already written using ES6 classes - shouldn't be problematic, thanks to that ;)
The biggest challenge would be to properly build so it supports both Import/export syntax and commonJS.
I might try helping with that in my free time, but it'd take a bit to standardize and properly test.

The biggest challenge would be to properly build so it supports both Import/export syntax and commonJS.

You don't need to worry about that, ES6 modules are only useful for frontend where tree shaking is a thing, for node you just need to transpile to commonjs and it will work everywhere

Perfect, I'll try to conjure sth in following days then ;)

@mattlewis92 Basic work is done. All the tests are passing and all the code (including tests) is rewritten to Typescript, with a few improvements :)
I'll need another day to refine the tests (cover new type guards) and probably address https://github.com/mattlewis92/webpack-filter-warnings-plugin/pull/2 as well.

Codecov Report

Merging #3 into master will decrease coverage by 4.16%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master       #3      +/-   ##
==========================================
- Coverage    87.5%   83.33%   -4.17%
==========================================
  Files           2        2
  Lines          16       24       +8
  Branches        4        7       +3
==========================================
+ Hits           14       20       +6
  Misses          2        2
- Partials        0        2       +2

Impacted Files
Coverage Δ

src/cjs.ts
100% <100%> (ø)

src/index.ts
81.81% <81.81%> (ø)

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 81dac11...875abf6. Read the comment docs.

@mattlewis92 I've just finished coding! :) Tested the library with ES imports - it works fine.

Added function as an exclude option
Refined type checking for exclude
Modified package.json to support different TS checks
Updated security script to use npm audit

And a lot of smaller changes. Feel free to merge and if you don't mind - I'd be thankful if you can mention me as a contributor / typescript version author ;)

One remark - I changed main to index.js which exports ES module. cjs is still available under dist/cjs. Do you think that's acceptable (would probably break for older users, hence - major version update would be needed)?

@mattlewis92 another round of changes - I was able to update code structure to prepare two builds:

ES module - compatible that doesn't transpile exports
CJS module that works in any NodeJS environment

I also added some build tools and tests for them. I tested both ES and CJS and typings for TS. Importing is not touched after that last update - main exported module is CJS.
I also updated README. Please feel free to adjust it in any desirable way ;)

Hi! I'm sorry for not responding for so long, but I was switching commercial projects and well... Didn't have any time for Open Source :)

For Webpack - I completely agree - we can safely assume that someone using this plugin will add Webpack typings as well. I'll also update modified README to inform about that in Typescript section.
About separate indexes - I remember I modelled it after one repo I found online (this solution guarantees proper separation between both), but I'm not so sure anymore - maybe I took one step too far. I'll experiment with it and update repo soon :)

I updated the PR:

@types/webpack were moved to devDependencies and peerDependencies. That way, they won't be included in built files (as long as user is using NPM >= 3.x), but build itself will succeed.
As for ES modules / CommonJS - I experimented with different ways of exporting the plugin and if you agree about CommonJS exporting {WebpackFilterWarningsPlugin} as an object, then we're set. I'm against default exports, as they're considered harmful / problematic, according to at least a few sources: https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html https://blog.neufund.org/why-we-have-banned-default-exports-and-you-should-do-the-same-d51fdc2cf2ad

So... If you like the changes and approve, we're set!

@mattlewis92 done! All the remarks are addressed, if it works for you, we should be good to go! :)

Thanks again for your hard work on this! 😄
Just published a beta to npm, would you mind installing it in your project and double checking everything is ok?
npm i webpack-filter-warnings-plugin@next


keyboard controls manual

Cool PoC! I like!
One thing we all struggle with here is that most of the time keyboard controls are cryptic, but it sometimes work. Didn't get sound to work on chrome even single once (alt+s doesn't seem to do), but probably a matter of practice.
but really impressive and it got me back to digging my abandonware dvds from 90s, nostalgic ;)

Hi @sokoow! I am glad that you like it and i know that the sound part is a bit crude, the logic is in here: https://github.com/paolomainardi/additronk8s-retrogames-kubernetes-controller/blob/main/game-engine/conf/novnc/vnc_lite.html#L148 it is basically a javascript function injected by noVNC, it should already be cross-os but maybe i didn't tested all the cases, one of that is Windows., so the first question, which OS are you using to test it ?


Windows ssh using Putty

https://learn.koding.com/guides/connect-with-ssh-windows/
I believe the entire section about setting up a local proxy is unnecessary unless you have some weird firewall setup.

@stefanbc thoughts on this?

Configuring a local proxy is not necessary. I am using putty without that.


[FEAT]: simplify the database operation in environment

Description
for envlog database add, figure out some other way to do that.
Additional Information
No response

make yield operation and only record pk now.


Misc CMD entry?

When right clicking on a folder, there's a misc cmd entry that I can't seem to find. It's in both the right click and shift right click menu entries, but only on folders. As you can see below, the entry just says cmd and nothing else.

Any ideas on how to remove this?

Spectacular. Thanks!


prepare_data.sh

when I run the  "python lib/render_glumpy/render_py_multi.py", I meet this problem, can you help me?
Finish loading models*
[x] Window creation failed
Exception AttributeError: "Render_Py instance has no attribute 'window'" in <bound method Render_Py.del of <main.Render_Py instance at 0x7f0985a75638>> ignored

What's your output of echo $DISPLAY?

:10.0
Hillaric Zhou - 周廣源, Master
Ecole Centrale de Pekin
Sino-French Engineer School
中法工程师学院
Beihang University
北京航空航天大学
Xueyuan Road 37#，HaiDian District, Beijing，China
中国，北京，海淀区，学院路37号
Post Code，100191
Tel : 158 1068 8708
WeChat ID : hillaric
On 05/13/2019 11:29, Gu Wang wrote:
What's your output of echo $DISPLAY?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

10.0

Please refer to #26

Headless rendering is currently not supported.


Enhanced 2D and 3D particle system & tooling

It's a wild suggestion so feel free to ignore, but having more types of particle emitters would probably be cool. (It's also weird there isn't already a ticket for that, but I guess good particle effects are generally underestimated in games.)
Like beam emitters with startpos, endpos, trails, trail-fading, beam-fading and intense and zappynes (like for lightening bolts) parameters, or mesh emitters.
For example, check out this video.
As for the editor, a tool/stamp to group emitters would be awesome where included emitters could auto-inherit some parameters like lifetimes from. Imagine that for explosions, where you typically have fire, sparks, smoke and debris particles.
Note that I'm not even using Godot atm; I just think it would be a really cool feature to have for a game engine and it's probably a PITA to add manually afterwards. So if you got the time and motivation, why not.

+1 on this, I implemented non linear beams with collision support on my game using polygons + raycast
https://gfycat.com/DrearyMadeupBlobfish
But I would love a similar solution with particles and collision like the unreal one, also should be less resource intensive than my solution

Proposals on this repository are being closed. This issue was already linked in the particles proposal: https://github.com/godotengine/godot-proposals/issues/815


Add SOKOL_API definition for public functions

decided to do a pull request to improve sokol APIs
Added SOKOL_API to all public functions that is overriable, instead of "extern", so the user can override public function specifiers. For example, one can #define SOKOL_API static to make functions private for wrappers/internal systems, or #define SOKOL_API __declspec(dllexport) to export them from dll ...
Also, a while back we were discussing a bug on sokol_app and d3d11 + cpp compiler, and you removed extern block from implementation .. I guess this brings linker symbol not found when sokol headers are implemented inside cpp unit. So I put the new SOKOL_API before every function implementation too.

Hi, in general that's a good idea, but I have questions :)
 #ifndef SOKOL_API
    #ifdef __cplusplus
        #define SOKOL_API extern "C"
    #else
        #define SOKOL_API
    #endif
#endif

Up in the __cplusplus part, I don't quite understand why each function must be annotated with extern "C", since the entire declaration block is already inside an extern "C" { }, and AFAIK annotating the functions in the implementation parts isn't necessary (early versions of the sokol headers had the extern "C" both around the declaration and implementation parts, butt his wasn't necessary).
The extern that's currently used might indeed be redundant, AFAIK this is implicitly added for function declarations, at least in C (not sure about C++).
Did you see any linker errors when using sokol headers from C++? (I should have that case covered with the Dear ImGui samples, which are implemented in C++, and the sokol implementation in a separate file).
I think I'll implement two separate macros SOKOL_DECL and SOKOL_IMPL, the SOKOL_DECL would go before functions up in the declaration part, and SOKOL_IMPL would go before each public function implementation.

Ok, I have added SOKOL_API_DECL and SOKOL_API_IMPL macros to all headers, however I kept the prefixes as they were before (default for SOKOL_API_DECL is "extern" and SOKOL_API_IMPL is empty).


Game takes a long time to launch for the first time or after moving it to another folder on MacOS

Godot version
v4.1.2.stable.mono.official [399c9dc39]
System information
Godot v4.1.2.stable.mono - macOS 14.0.0 - Vulkan (Forward+) - dedicated AMD Radeon Pro 555X - Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 Threads)
Issue description
Exported game seems to take a very long time to launch for the first time or after moving it to another folder.
Steps to reproduce

Create an empty project
Export the game
Run the game for the first time, observe that it takes > 10 seconds to launch. Launch the game again and it only takes < 1 seconds.
Move the game to another folder, and it also takes more time to launch for the first time.

Minimal reproduction project
Empty project

Most likely shader cache creation/shaders compiling?

Indeed this sounds like shaded compilation

So this is essential then. I think we can improve the UX by letting the game show loading progress when doing that kind of heavy stuff at the beginning. Currently the game is unresponsive with a spinning wheel for almost 10s before splash screen appears. It would be better if we can show splash screen immediately upon launch while compiling the shaders in background.

Thanks for the report! Consolidating in https://github.com/godotengine/godot-proposals/issues/3657.


[BUG] EventHubBufferedProducerClient: high CPU usage when no events are being sent

Library name and version
Azure.Messaging.EventHubs 5.7.0
Describe the bug
We have an application with high event producing rate (at least hundreads per second) and after a load test (peak of 25K events in 1 minute) with duration of 3 minutes, we observed that CPU usage keeps almost the same as the event 'processing'.
We compared the very same approach/code/test exchanging to an EventHubProducerClient (on same version) and CPU drops seconds after the 'injection' of events finishes.
In both versions, each queue name has a unique instance of this class/Producer being (re)used to send all events.
Expected behavior
After the load test has stopped - as the the production of events has stopped too - we expect the CPU usage drops to same levels before the test, after a few seconds.
Actual behavior
CPU usage keeps at the almost same level after several minutes of the ending of load test. Only after a process restart the CPU usage has got back to normal levels.
Reproduction Steps
The code is very straighforward (I have edited to remove some internal abstraction details, but nothing relevant):

Using EventHubBufferedProducerClient:

    public class SenderQueue<T> : IAsyncDisposable
    {
        private readonly ISerializer<T> _serializer;
        private readonly EventHubBufferedProducerClient _eventHubProducerClient;
        private readonly ILogger _logger;

        public SenderQueue(
            IConfiguration configuration,
            string queueName,
            ISerializer<T> serializer,
            ILogger logger)
        {
            _serializer = serializer;
            _logger = logger;
            _eventHubProducerClient = GetProducerClient(configuration, queueName);
        }

        public virtual async Task EnqueueAsync(T item, CancellationToken cancellationToken = default)
        {
            if (item == null)
                throw new ArgumentNullException(nameof(item));
           var serializedItem = _serializer.Serialize(item);
           await _eventHubProducerClient.EnqueueEventAsync(new EventData(serializedItem), cancellationToken);
        }

        public async ValueTask DisposeAsync()
        {
            _eventHubProducerClient.SendEventBatchSucceededAsync -= SendSuccessfulHandler;
            _eventHubProducerClient.SendEventBatchFailedAsync -= SendFailedHandler;
            await _eventHubProducerClient.DisposeAsync();
        }

        protected EventHubBufferedProducerClient GetProducerClient(IConfiguration configuration, string queueName)
        {
            var eventHubBufferedProducerClient = new EventHubBufferedProducerClient(
                            configuration.AzureEventHubConnectionString,
                            queueName);
            eventHubBufferedProducerClient.SendEventBatchSucceededAsync += SendSuccessfulHandler;
            eventHubBufferedProducerClient.SendEventBatchFailedAsync += SendFailedHandler;

            return eventHubBufferedProducerClient;
        }

        private Task SendSuccessfulHandler(SendEventBatchSucceededEventArgs args)
        {
            _logger.Verbose("Successfully sent {EventBatchCount} events of {ItemType} to EventHub", args.EventBatch.Count, typeof(T).Name);
            return Task.CompletedTask;
        }

        private Task SendFailedHandler(SendEventBatchFailedEventArgs args)
        {
            _logger.Warning(args.Exception, "Failed to send {EventBatchCount} events of {ItemType} to EventHub", args.EventBatch.Count, typeof(T).Name);
            return Task.CompletedTask;
        }
    }

Using EventHubProducerClient:

    public class SenderQueue<T> : IAsyncDisposable
    {
        private readonly ISerializer<T> _serializer;
        private readonly EventHubProducerClient _eventHubProducerClient;
        private readonly ILogger _logger;

        public SenderQueue(
            IConfiguration configuration,
            string queueName,
            ISerializer<T> serializer,
            ILogger logger)
        {
            _serializer = serializer;
            _logger = logger;
            _eventHubProducerClient = GetProducerClient(configuration, queueName);
        }

        public virtual async Task EnqueueAsync(T item, CancellationToken cancellationToken = default)
        {
            if (item == null)
                throw new ArgumentNullException(nameof(item));
            var eventArray = BuildEventData(item);
            await _eventHubProducerClient.SendAsync(eventArray, cancellationToken);
        }

        public async ValueTask DisposeAsync() => await _eventHubProducerClient.DisposeAsync();

        protected EventHubProducerClient GetProducerClient(IConfiguration configuration, string queueName)
        {
            return new EventHubProducerClient(
                configuration.AzureEventHubConnectionString,
                queueName);
        }

        private EventData[] BuildEventData(T item)
        {
            var serializedItem = _serializer.Serialize(item);
            return new[] { new EventData(serializedItem) };
        }
    }

Environment

Windows Server 2016 (OS Version:  10.0.14393)
.Net Core 3.1 (runtime Microsoft.NETCore.App 3.1.1)
Visual Studio 2022

Hi @andreminelli.  Thank you for reaching out and we regret that you're experiencing difficulties.   Since the EventHubBufferedProducerClient has a deferred publishing model, it will continue working in the background after you've stopped enqueuing events until publishing is complete.  The first thing that I'd like to do is ask if we can confirm that the TotalBufferedEventCount is zero and you're not seeing the event handlers called at the time you're seeing the CPU activity.
In the meantime, we'll attempt to repro locally using the scenario that you've described.

We compared the very same approach/code/test exchanging to an EventHubProducerClient (on same version) and CPU drops seconds after the 'injection' of events finishes.

This is expected, as the EventHubProducerClient has a deterministic sending model.   Once SendAsync completes, there is no longer activity taking place.  The same is not true of the buffered producer, which will continue to make network calls until all enqueued events are cleared from the buffer.

The first thing that I'd like to do is ask if we can confirm that the TotalBufferedEventCount is zero and you're not seeing the event handlers called at the time you're seeing the CPU activity.

I haven't checked this property - I don't even know it until now - and the success event handler log level wasn't enabled during the tests :(
But EventHub "incoming requests" metric had decrease down to previous levels seconds after the load test has finished.

This is expected, as the EventHubProducerClient has a deterministic sending model. Once SendAsync completes, there is no longer activity taking place. The same is not true of the buffered producer, which will continue to make network calls until all enqueued events are cleared from the buffer.

I understand that, my point is that, apparently, even after all messages have been sent by EventHubBufferedProducerClient, CPU usage hasn't dropped.
I will retest and enable all those 'telemetry' mentioned by you in order to capture more data and allow a better view of the behavior.

BTW, we don't even need a big amount of events to 'trigger' this high CPU usage. With just a few events the CPU goes to same levels after the load test. The success handler is logging info (for those few events, and only 1 or 2 events are 'batched together' on this logs.

Have also observed this issue with a very similar pattern to the above.  A small number of events using the EventHubBufferedProducerClient resulted in each of our service instances to climb to circa 100% and remain at that level, despite having no further events to process.

Confirming that we've traced this back to a bug in which the task responsible for inspecting the buffers is not backing off during idle periods due to an error in the condition.   A fix is in progress.

This was fixed by #29276 and will be available in our next release.  (tenative target, the first week of July)

Awesome, thank you!


$ref generates -Xlint warnings

It is valid to have a build fail on warnings, especially those generated by -Xlint.
However, $ref generates a warning and we either then have to:

turn off missing-parameter, e.g. -Xlint:missing-parameter OR
remove -Xfatal-warnings

Can we move to a different mechanism of determining references to classes or model types? Happy to contribute if you agree.
Thanks

can you post the warning generated? I know there is one it generates that gets fixed (or was getting fixed) by play.

Here you go:
```[warn] /.../src/main/resources/api.routes:22: possible missing interpolator: detected interpolated identifier `$ref````

This should have been fixed https://github.com/playframework/playframework/issues/5134
try upgrade your play to 2.4.4+?

Hi
Thanks for referencing the issue. The fix is in version 2.5.0-M1 and greater.
We can't quite move to that version yet. :-(
I'll close the issue.
Mik

@mikquinlan also noticed that you can do -Xlint:-warn-missing-interpolator

Unfortunately that is not a valid Xlint arg in Scala 2.11.7 :-(
On Wednesday, 2 March 2016, Kailuo Wang<EMAIL_ADDRESS>wrote:

@mikquinlan https://github.com/mikquinlan also noticed that you can do
-Xlint:-warn-missing-interpolator
—
Reply to this email directly or view it on GitHub
https://github.com/iheartradio/play-swagger/issues/49#issuecomment-191288808
.


require email before charging users

Primary driver is consumer protection: we want to notify people about Gratipay charges to reduce surprises.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/19431102-require-email-before-charging-users?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

Additionally, our sponsoring bank suggested collecting and saving cardholder information, such as phone numbers, in the future for cases where documentation may be necessary. These situations may occur if you have to dispute a chargeback and provide evidence for your supporting case.

https://github.com/gratipay/gratipay.com/issues/3531#issuecomment-112256884

+1 https://gratipay.freshdesk.com/helpdesk/tickets/3292

+1 https://github.com/gratipay/inside.gratipay.com/issues/477#issuecomment-173634468

Requiring email would help in cases like https://github.com/gratipay/gratipay.com/pull/4221, where the ToS is changing and we should notify people.