Misuses of cryptographic APIs

Hi
The following lines have cryptographic API misuses.  File name => src/main/java/org/apache/commons/math3/random/RandomDataGenerator.java: Line number => 285: API name => MessageDigest:Unexpected call to method reset on object of type java.security.MessageDigest. Expect a call to one of the following methods digest,update

Hi, this is a fork of some other code to fix a particular issue and is not maintained. Please report this against the maintained versions:
https://github.com/Hipparchus-Math/hipparchus
https://commons.apache.org/proper/commons-math/


remove kamon repo

Codecov Report

Merging #19 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   84.39%   84.39%
=======================================
  Files          17       17
  Lines         391      391
  Branches       41       41
=======================================
  Hits          330      330
  Misses         61       61

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 404e8c7...e3504ec. Read the comment docs.


TextField cannot input in ExposedDropdownMenuBox, when ExposedDropdownMenu is expanded

Discussed in https://github.com/JetBrains/compose-multiplatform/discussions/4693

Originally posted by JasonMing April 24, 2024

Kotlin version*: 1.9.23
Compose Multiplatform version*: 1.6.5

I'm trying to implement a filterable drop down menu in Compose Web by using Material3's ExposedDropdownMenuBox.
var expand by remember { mutableStateOf(false) }
var text by remember { mutableStateOf("") }
ExposedDropdownMenuBox(
    expanded = expand,
    onExpandedChange = { expand = !expand },
) {
    OutlinedTextField(
        value = text,
        label = { Text("Options") },
        onValueChange = {
            text = it
        },
        trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(expanded = expand) },
        modifier = Modifier.menuAnchor(),
    )

    ExposedDropdownMenu(
        expanded = expand,
        onDismissRequest = { expand = false },
    ) {
        listOf("foo", "bar", "baz")
            .filter { it.contains(text) }
            .forEach {
                DropdownMenuItem(
                    text = { Text(it) },
                    onClick = {
                        text = it
                        expand = false
                    }
                )
            }
    }
}

After click the TextField, menu will auto expand.
The focus is still on the TextField, it should be able to input, but actually NOT.
If I collapse the menu, the TextField will be able to input again.

I'm seeing the same behavior in Android. The keyboard is active, but pressing the keys does not do anything.

Just set the focus of ExposedDropdownMenuBox to false(in PopupProperties).

The problem here is that DropdownMenu steals focus. In Material 3 1.3.*, there is a related change: https://android-review.googlesource.com/c/platform/frameworks/support/+/3028145
It adds a parameter to menuAnchor that controls if a dropdown menu is focusable or not. It cannot be just unconditionally changed in the current version because focus is usually required there (for example for keyboard arrows navigation)

I can confirm I have the same issue with desktop and iOS. Android is working well

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Bugfix/update avro version

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

retest this please

Run Spotless PreCommit

run avro precommit

Run PostCommit_Java_Avro_Versions

Run Python_Runners PreCommit

@johnjcasey Please, use git rebase instead of git merge to keep your branch up-to-date with master and proper commits history.

If we don't run :sdk:avro:extensions:test with Java PreCommit job then we need to make sure that an corresponding github action is triggered


Server Error on rack elevations

Hi everyone,
After the upgrade to the version 2.5.4 I receive an error when I click on Racks > Elevations.
Environment

Python version:  3.6.7
NetBox version:  2.5.4

Steps to Reproduce

Click on 'Racks'
Click on 'Elevations'

The following error message shows up

Thanks
Remo

Duplicate of #2824, fixed in v2.5.5


Informative logging results to be available in app

Motivation
There is currently no way as far as I know, to verify properly that the app is really sending and receiving tokens in all situations, e.g. when phone is on Battery Saver, Sleep mode etc.
Since the app was tested only on a small subset of devices in a small subset of use case, it's necessary to be able to verify by the interested public at large that the app is doing its job properly under all circumstances and report bugs when this is not the case.
Suggestion
Please add a way to see communication logs under settings in some sort of way. For example, a time stamp every hour with summary info on how often beacons were sent and how often beacons were read (not how many were seen, just to check that it's running properly). In addition, it'd be good if the logs mentioned if connection to the server is working as expected.
I feel very unsure about whether the app is doing its job properly. In normal usage, many possible bugs are not visible at all. Since one doesn't expect to be positive or be in contact with other positive people.

Internal Tracking ID: EXPOSUREAPP-2136

Please consider this feature request from the perspective of human psychology and public relations. Even users without technical expertise would like to be able to see that the app fulfills its purpose. Then they will be ready to recommend it to others.
It would be optimal if two users could press a button to check whether their two apps had exchanged beacons. Instead of this some other type of reliable information may help.
Bitte sehen Sie dieses Anliegen auch unter der Perspektive der menschlichen Psychologie und der Öffentlichkeitsarbeit.  Dann werden sie sie auch weiterempfehlen.
Optimal wäre es, wenn zwei Nutzer auf Knopfdruck prüfen können, ob ihre beiden Apps Beacons ausgetauscht haben. Stattdessen kann aber auch eine andere Art verlässlicher Information helfen.

@hatzfeld Sadly, this is a really bad idea regarding public trust. As of right now, the app has no permission to communicate directly with the bluetooth interface of the device (Which is a good thing in many ways). To implement such testing/verification method, the app would need to access the Bluetooth interface directly, but even if the user could check if basic beacon discovery works, it wouldn't give any information about the status of the EN framework (database, risk calculation, etc.). This is not possible to implement looking at the basic design of the framework.

A little update:
The key threshold is reached. You can now see the total number of keys that are saved on your phone in the settings app:

@tens0rfl0w Wo finde ich denn die Settings App? Oder ist das nur für iOS?

What does Matched Key Count mean exactly in this screen? Are those the keys that have been found on the server and on my device (= are a match) or are those all keys on my device that have been compared (matched) with the server keys? Or something entirely different?
I'm aware that the wording here is nothing we can control, but I'm curious …

 Oder ist das nur für iOS?

Einstellungen > Datenschutz > Health > COVID-19-Kontaktprotokoll > Kontaktüberprüfungen

@bennokress Da Du Swift Entwickler bist, meinst Du wohl iOS. Habe Android.

@bennokress This is the total number of keys that have been found on your phone and on the server (=Matched). So if the number is greater than 0, you have been exposed to a person that has marked himself as infected.

On a similar note (not sure if I should create a separate issue), can CWA (in my case on Android) see/query from the API whether beacon sending is actually supported by the phone? I read that the Samsung Galaxy SIII (i9300) supports receiving beacons, but not sending them (I can definitely confirm the not-sending issue, as I don't see any Beacons with a BLE scanner)

We got more Feedback on this matter via Email:
Using the CWA now for 14 days, I would like to offer you a user request: Please let the CWA breathe !
Which means that I would like to see from the outside that BLE is actually trying to sample for BLE beacons. That it is alive.
Due to privacy considerations, that user information should be just "scanning", just ONE BIT wide. Please DO NOT DISPLAY whether or not that BLE scan returns any result. For Privacy !
From a software-debugging perspective I would like to see more information displayed of the scanning result. But for the purpose of CWA, it is sufficient to just enhance the trustworthiness of CWA by displaying "scanning" in a low-frequency pulsating graphic symbol, like your blue ((o)) to the right of "RISIKO-ERMITTLUNG-AKTIV". But only after the scanning function of android/iOS returns without error. No more information, no result please to the user. For Privacy !
Just let it breathe !
Breathing frequency of human adults is approx. 12 /min.

A little update:
The threshold to make keys available for download is now reached. You can now see the total number of keys that are downloaded from the server in the settings app:

I have a Samsung Galaxy J5 and i can't confirm to see the number of keys submitted:

I got from<EMAIL_ADDRESS>the information that this is a bug.
Could  tens0rfl0w  please inform on which device/ which OS he got the right values?

Up to yesterday I thougt hat the App collects only contacts for 14 days.
I think that is not right, kindly ask to comment or confirm.
The number of checks is correctly mentioned on my mobil. It seems every day the check is done per day. Means it star wit 1, next day it is 2 (including yesterday), then 3 (actual day plus days before) etc. After 14 days there is the figure 105.
After it still increases afterwards. Means I have the impression at day 15 it drops the check from day 1, but that contacts have been checked at day 2 till 14, too. My impression ist hat therefore the contacts were checked for a period of 28 days.
Is that correct?

I fully join the view that the functionality of the CWA is only confirmed if the user can see that contacts are properly stored!!
And I want to extend that it should be possible to see the collected contacts by given date and time, best if a list can be opened that shows last contact first and decrease. I hope that the day will come when that happened.

Two days ago there was an update of my android system.
After that now I can see the number of provided key counts, too.
However, there are some surprises were I think that can be still bugs:

CWA 1.1.1 prioriesed background activity is on, but check happens only when opening the app

Googles COVID-19-Benachrichtigungen is on, indicating for example today 235 checks within the last 14 days. However, opening that -and i feel happy with this new feature- there is at the menu the possibility to export the stored date (as the list on the screen is not sorted by dates like at Apple IOS the only way to understand something.
After transferring *.json file (with www.aconvert.com/document/json-to-ods/) I was now able to see data in calculation sheet. However, instead of 235 there a 100 only checks. Earliest check date was 20.7. ; as we have now 27.7. that doesn‘t mean last 14 days. Also if you check the dates on the mobile screen you will not find something before 22.7.
Yesterday it was starting at 19.7. I assume a bug, that either only 100 checks (7 days a 14 hash’s plus 2 from first day) are stored or only shown / exported.

-If I understood it right each hash should remain for 14 days. However, with the update of the android system there was partly an interruption or change of hash values.

I have up to now 16 hash's with indicated number of key counts (means 3 days). Numbers vary from 200 to 1375. All are dividable by 5, does that sound reliable?
If signal change every 10 minutes 1375 contacts would means either 10 contacts for 23 hours or 100 contacts for app. 2,3 hours. I don’t believe that !!

I will now check what happens when I have more then 24 hours my mobile at home without any contact to another device with CWA. If then the number of key counts is not zero the CWA app will be deleted from my mobile.

My mobile was 2 days only at home with no contact to another mobile with CWA.
I got keyCounts 595 and 1790.
From my point of view nothing related to the new feature related to CWA is reliable.
For my it's game over now.

These key counts are the downloaded keys, i.e., the ones uploaded by infected users. Unless you have matched keys or "abgeglichene schlüssel" greater than zero, you have not been in contact with infected users.
The 100 entries in the exposure checks list are a known limitation in both iOS and Android, and we'll work with the to fix that (https://github.com/corona-warn-app/cwa-app-android/issues/941).

We have now also added a section for this in the FAQ: https://www.coronawarn.app/de/faq/#keys_matches
Hopefully, that makes it a bit clearer

This information is now also explained in the FAQ: https://www.coronawarn.app/de/faq/#keys_matches

If it is true that the key counts are the number of keys uplaoded by infected users then I think more clarification is required.
In case the app works for more then 2 weeks then at each day 14 hashs are checked. But for each hash -at the same day- you get different numbers of key counts (for me they vary at 29.7.2020 between 345 and 1790). How could that be?
Info from micb25.github.io/dka/ for the same day 29.7.20:
Geteilte Diagnoseschlüssel von positiv getesteten Personen (geschätzt) = 458
täglich gemeldete Diagnoseschlüssel (inkl. fingierten Schlüsseln) = 2290

My personal main interest is to get information which contact data were detected and stored at my mobile (min. information how much per day, preferable with date and time and -as Google needs that info anyhow- location).
I assume (and hope for data safety) that for my phone I am the only one who can check that data. But I need -and demand- Information how to get the information!
For my understanding that is the only way to proof the proper functionality of the CWA.

Currently, there is no way for the app to get this information. It is not provided by the Exposure Notification Framework and also not shown in the according systems dialog.
The 14 hashes per day are the files for the last 14 days. So, there is a file containing the keys for yesterday, the day before, etc. Since each user that reports as infected uploads the keys of their last 14 days of tracing, this can lead to varying numbers of keys per days. https://www.coronawarn.app/de/faq/#multiple_exposure_checks

Does that mean that a 5 days old hash is checked against the downloaded keys of infected persons; as indicated the same amount of keys as 5 days ago (as each hash shows the same number all the time)?

The hash belongs to the downloaded file (as these should not change anymore after the respective day is over).
Hence, the same file should be checked every day for 14 days against the collected RPIs. This is necessary since the risk assessment also takes into account, when an encounter occurred (https://github.com/corona-warn-app/cwa-documentation/blob/master/cwa-risk-assessment.md) and therefore this needs to be re-evaluated every day to determine the risk score.

As I understand for every 24 hours app will check 14 times for the exposures, So there will be 14 hashes.
I observed  with one particular Hash there was a one matched key count where the provided keys were 4.835
Next day I could see same hash number and same number of provided keys but no matched key count.
How it could be possible?

Your phone stores encounters for 14 days and deletes encounters that are older than that. So that most likely means that you had the encounter with the person with this particular diagnosis key in the hash file 14 days prior to the day where the number of matches drops from 1 to 0.

Okay. But still app shows one exposure with low risk. Why is like that.

Your phone stores encounters for 14 days and deletes encounters that are older than that. So that most likely means that you had the encounter with the person with this particular diagnosis key in the hash file 14 days prior to the day where the number of matches drops from 1 to 0.

Okay. But still app shows one exposure with low risk. Why is it like that? . If it is 14 days prior it should not say exposure right?
Hash is created for the keys from the server or for the local stored keys?

Since 14. October it seems to me that there is only one hash per day exchanged. Why?
Instead of an improvement (wish that number of OWN recorded contacts were shown) the information content is even worse.
For seeing the daily numbers of downloaded keys only https://micb25.github.io/dka/  (Diagnoseschlüssel) remains.
Great success; compliment.

@Peter-Einhausen
Could you share a screenshot from the screen where you see that "only one hash per day is exchanged"
Are you using iOS or Android?

@Peter-Einhausen

Since 14. October it seems to me that there is only one hash per day exchanged. Why?

You're on Android, right? This observation is probably due to the different way CWA 1.5 handles the key handover to the Exposure Notification Framework (ENF). Instead of handing over 14 separate packages potentially DoS'ing ENF and causing timeouts, CWA 1.5 under Android now submits all packages in one batch (cf. PR 1088, PR 1150).
Although 14th Oct seems a bit early as CWA 1.5 only became available on the play store on Oct 19 🤔.

Confirmed, 14.10. is a typing error. Up to 19.10. each day 14 hashs, till 20.10. only 1.
Confirmed, I use Android. Screenshuts attached.

Version 1.12 will contain some statistics (https://github.com/corona-warn-app/cwa-app-ios/pull/1807). 🎉

Version 1.12 will contain some statistics (https://github.com/corona-warn-app/cwa-app-ios/pull/1807). 🎉


Missing directory filter for account_objects

This should work (to return a list of directory nodes the account owns), but instead returns an error:
{
  "error": "invalidParams",
  "error_code": 31,
  "error_message": "Invalid field 'type'.",
  "status": "error",
  "type": "response",
  "id": 1,
  "request": {
    "id": 1,
    "command": "account_objects",
    "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
    "ledger_index": "validated",
    "type": "directory",
    "limit": 10
  },
  "warnings": [
    {
      "id": 2001,
      "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
    }
  ]
}

It looks like it is not a documented type on xrpl.org.

It looks like it is not a documented type on xrpl.org.

https://xrpl.org/directorynode.html

It looks like it is not a documented type on xrpl.org.

https://xrpl.org/directorynode.html

I was looking here. https://xrpl.org/account_objects.html

It looks like it is not a documented type on xrpl.org.

https://xrpl.org/directorynode.html

I was looking here. https://xrpl.org/account_objects.html

It seems that even on rippled this returns an empty array.


Error while running

I have gotten following error when I followed your instruction.

Any Help?

Could you try restarting your Hyper terminal and see if the error persists?

@ekstrah Could you try restarting your Hyper terminal and see if the error persists?

Yeah it works thanks :D


record dependencies

imagine the steps having a link to prerequisite steps..and then you'd have a "git history" type recipe tree. it'd be easy to pass that to a library which could show you what steps can happen at any given time. oh man, you wouldn't have to scroll back and forth thinking "what do i do next?"

I'm working on this now in the fastapi branch. I don't know if I'll have much to consume this new format, but essentially I want a tree of Ingredients linked by Instructions. the Instructions will all hang off of a Recipe which will be used to look up the contents of the tree.
well, it's a directed graph moreso than a tree. i..e Instructions will have requirements (ingredients) and products (also ingredients) and it'd be cool if when you were doing the recipe you could just be shown the available (i.e. not dependent on any that haven't been done yet) instructions

this was cool to think about, but super inconvenient to implement so I don't think I'll ever get around to it


Using avocado diff algorithm instead of 'git fetch'

Currently, breaking-changes and linter-diff tools do git fetch in CI. It causes a problem in AzureDevOps for a private repositories. The fix is replacing git fetch with Avocado diff/checkout algorithms.
Example https://github.com/Azure/azure-rest-api-specs/pull/5691
Preproduction Azure pipeline with the changes https://dev.azure.com/azure-sdk/public/_build?definitionId=231
Related Avocado changes: https://github.com/Azure/avocado/pull/18

@veronicagg https://github.com/Azure/avocado/pull/23/files

@veronicagg it's ready to review again.


Python Completion DB updates every time VS updates

Completion DB update occurs every time Visual Studio 2017 preview updates
and it takes too long
Is this inevitable?
Necessary?

Fixed in #2325 yesterday (probably just a few hours before you reported this), because I agree entirely :)
We moved back to a manual versioning system for the completion DB, so we should only trigger re-analysis when something has actually changed, and it's better this time than our old way (which had a tendency to start "fights" between two VS installs).

Dup of #2324


KNL-1498 Reduce memory usage when handling cache invalidation arising…

… from a realm update
This is a compromise between creating a single large map of keys to invalidate, and calling
cache.remove() for each entry. In many cases (sites above 25 users or so), the set of potential
keys to invalidate will exceed the size of the cache. For large sites (for example 20K site members,
200 permissions), this iterates through the permissions first and does a set of cache invalidations
per permission, so the invalidation map size will be 20K. This still gains some efficiency by
allowing removeAll() to iterate through the smaller collection (the cache size).

Updated with suggestions from @buckett.
Is this good to merge?

I've got a PR with some tests on: #4160
This is a small test of these changes although it doesn't test all the code paths. It does also change the SecurityService to allow testing without the ComponentManager being started so it may be best to keep the tests just on master and not backport them.


Truncate adapter dropdowns

'Test a Pipeline' & 'Add/Edit Scheduler' pages have a dropdown to select an adapter where it displays the adapter name and descriptions as the options.
The options in the dropdown should be truncated to a max length of characters (100 or 150) so that it fits nicely enough on most screens.

Interesting
{{adapter.value.name + adapter.value.description != null ? (" - " + adapter.value.description) : "" | truncate:150}}
Has to be changed to
{{adapter.value.name + (adapter.value.description != null ? (" - " + adapter.value.description) : "") | truncate:150}}
In order to not mess it up, maybe angular templates get evaluated differently than I thought

Interesting {{adapter.value.name + adapter.value.description != null ? (" - " + adapter.value.description) : "" | truncate:150}} Has to be changed to {{adapter.value.name + (adapter.value.description != null ? (" - " + adapter.value.description) : "") | truncate:150}} In order to not mess it up, maybe angular templates get evaluated differently than I thought

It's not specifically Angular templates or typescript, this expression would be interpreted the same in any language. The string concatenation would occur before the null check.

Interesting {{adapter.value.name + adapter.value.description != null ? (" - " + adapter.value.description) : "" | truncate:150}} Has to be changed to {{adapter.value.name + (adapter.value.description != null ? (" - " + adapter.value.description) : "") | truncate:150}} In order to not mess it up, maybe angular templates get evaluated differently than I thought

It's not specifically Angular templates or typescript, this expression would be interpreted the same in any language. The string concatenation would occur before the null check.

That's an interesting order of evaluating the expression, I guess I never really put a lot of thought behind it.
Regardless, I won't forget this anytime soon 😅


Add a wiki: Koei Tecmo Wiki

An anonymous user has submitted a new wiki via our submission form.
Link to origin wiki: https://koei.fandom.com/wiki/Main_Page
Link to destination (independent) wiki: https://koeitecmo.wiki/wiki/Main_Page

Now available in v2.5.2 (released on Firefox, and should be released on Chrome within the next day once the Chrome Store approves it)


Would you like to have this project featured in the WadJS readme?

I just noticed this project recently, and I think it's pretty cool. I want to show off work that other people have done using WadJS, so I was wondering if you would have any objections to me linking to this project in the 'Showcase' section of the WadJS readme?

@rserota sorry, just noticed this issue now. Yes please feel free!


[Feature] Add Thingiverse as an External Source

Problem
The goal is to add a good number of external sources to give users a variety of results from different sources.
Description
In particular, Thingiverse is one such external source with free 3D design models that can be downloaded and used.
Adding Thingiverse as an external source to CC search will be a good addition and will benefit our users.

Implementation

[x] I would be interested in implementing this feature.

What caption text should we use to describe the content for Thingiverse. The site contains various 3D model designs.
Was thinking of using "Image" or "MODEL_3D" or "3D Model"

3D models sounds good

“3D Model” is okay

I've run into a little issue with this task.
In effect, the problem is that in order to  apply the "commercial purposes" and "modify, adapt ..." filters as indicated by the checkboxes in the picture below, I browsed the Thingiverse site and discovered that applying the "customizable" filter corresponds to "modify, adapt, ... " for CC search.

The problem is that, in order to implement "commercial purposes" filter for CC search, I thought about leveraging the license filters on Thingiverse, but selecting any of the licenses simply displays "NO Results" yet I actually verified and could see that there are items with these licenses.

I used the search param "&license=cc" (which on Thingiverse stands for the CC Attribution Licence) as the equivalent to the "use for commercial purposes" filter on "CC search".


[EFR32] Heap fragmentation issue cause AddOpCert request to fail

Problem
EFR32 examples fail Secure session establisment with a failure when adding OpCert
00> <info  > [ZCL] OpCreds: Failed AddOpCert request.

The error happend when trying to store the OperationCertificate for this admin, the creation of a new StorableAdminPairingInfo does a malloc of 1976 that fails.
CHIP_ERROR AdminPairingInfo::StoreIntoKVS(PersistentStorageDelegate * kvs)
{
    CHIP_ERROR err = CHIP_NO_ERROR;

    char key[KeySize()];
    ReturnErrorOnFailure(GenerateKey(mAdmin, key, sizeof(key)));

    StorableAdminPairingInfo * info = chip::Platform::New<StorableAdminPairingInfo>();
    ReturnErrorCodeIf(info == nullptr, CHIP_ERROR_NO_MEMORY);

The whole process does multiples mallocs of rather large size. #7695
After analysing the heap usage, There was enough free heap but not a big enough block for the StorableAdminPairingInfo
Change overview
Quick band AID fix: Adding 3k to the heap of efr32 examples helps with the current fragmentation issues.
Could Add more heap to the MG12 MCU family but MG21 is already starving for RAM.
TODO: refactor efr32 example to use heap4 for FreeRTOS and wrap all allocs to the freeRTOS api. Improve heap monitor and tracking to better analyse and optimize the heap usage.
Testing
Manual tests with python controller on the differents examples
connect -ble 3840 73141520 1234
confirm Secure Session to Device Established
Fixes #7390

@bzbarsky-apple @chrisdecenzo @Damian-Nordic Please can you take a look, I need one more approve so this can be merge and it is prevent example for running. Thank you.


Update the README with new features and new videos

Since we have a whole new interface and functionality, we probably need to update our README, and we probably need to update our welcome walkthrough as well.
Also need to update the version in package.json

The automation also needs to be updated to deal with the React.


Tests are very fragile

The tests rely on way too much external state to be useful. They should be mocked out use nock not only to run faster but to also run reliably.

We figured it would be a good source of truth to know if the API responses change. But you're right we should convert them to be mocked out. I can work on mocking with nock.

I agree with that sentiment. We should probably have a set of tests which are run against the live API as well.
Also be sure to check out nock's recording feature

Fixed in #35 & #34

What happened to the mocked tests? Have they now been removed?


Fix for rate limiting in GitHub Issues function

We are still getting rate limited in the GitHub Issues function app despite introducing rate limiting within the app itself. This is possibly due to the fact that the azure-sdk bot identity that we use is over subscribed in terms of automation. To mitigate this, in this PR I'm going to flip over to using a GitHub App registration which has a completely independent request limit.
The complexity is that rather than a simple personal access token for authentication, a GitHub application uses a certificate which is used to sign tokens for particular app installations. We've got this logic already implemented in Check Enforcer so I'll be transplanting some of the git integration from that project to here.

Not quite ready to go yet @damirault :) But I appreciate your confidence in me!

Closing this for now as the other mitigation appears to be working.


[conditional-hashable] Silence warning (unused binding) and break to 80 characters

Some minor changes to contribute to the effort.

cc @lorentey @mortenbekditlevsen


API should work by-value rather than by-reference

Modern architectures like x64 perform all floating-point math in SIMD registers, which typically have a width of at least 128bit. This is large enough to store an entire Vec4 as one register, which enables efficient pass-by-value semantics when performing vector math. Floating point math is most efficient when the values being manipulated stay within the SIMD registers as long as possible without being spilled to the stack or RAM. Using a by-value API allows the compiler to ensure this is the case.
Here's a good article describing this: http://www.gamasutra.com/view/feature/132636/designing_fast_crossplatform_simd_.php
Further, a by-value API improves ergonomics as values can be treated as primitives, which enables the natural expressions that primitives enjoy.
Finally, doing this will allow for potential further SIMD optimizations as rust gains support for it. SIMD types should always be treated by value, as by-reference semantics require them to be flushed out of the registers and back into RAM.
Todo

[x] Quaternion::magnitude
[x] Quaternion * Vector3
[x] Quaternion + Quaternion
[x] Quaternion - Quaternion
[x] Quaternion * Quaternion
[ ] And more...

How does this work for two and three dimensional vectors?

The remaining space in the register is simply ignored, similar to doing a 32bit integer add on a 64bit machine.

Do you think predicates like and functions that return a scalar value (like length) should also be taken by-value?

Yes, I'd suggest all functions have a by-value version. It's possible the full gains won't be realized until rust's SIMD support lands, but any function that works only by-ref will be an impediment to later SIMD efforts. I'd recommend by-value be the default choice, with a possible by-ref fallback if benchmarking indicates the pre-SIMD version is significantly slower for some reason. The by-value and by-ref APIs could even co-exist for a time.

All types are Copy, so the change should be transparent from an API point of view.

So matrices should be by-value too?
Also, how useful are the mutating methods? The take self by mutable ref.

Matrices should also be by-value, yes. Once SIMD support lands we'll be able to enforce that a matrix is only 4 registers, but before that we're at the mercy of LLVM's codegen. It might be worth benchmarking it or inspecting the compiled output in the meantime. Eventually, though, they will need to be by-value.
Directly reading or mutating a single element of a SIMD vector is already a (comparatively) costly operation that involves flushing the register, so it's less important that it be by-value since you're paying the cost anyway. Those can probably just be left as is for now, since a well designed algorithm will keep the values inside the registers as long as possible and only read out elements at the very end.

Added a todo list - need to do more checking of the library though

it may be nice to also have a reference version for all operators and other traits like they are defined in stdlib too, so it would be easier to handle Vectors of types that are not copyable.
An alternative may be disallowing uncopyable types in Vectors, since this is only meant for CG


Make sure go.mod is correct/updated when vendor/ updates are done

go mod verify does not fail when all moduled under vendor/ are
updated. However it does update go.mod in case it does not reflect the
downloaded versions.
By adding this additional verification in make mod-check, future
updates to vendor/ will require a correct go.mod as well.

On Mon, Apr 20, 2020 at 02:52:00AM -0700, Madhu Rajanna wrote:

@Madhu-1 commented on this pull request.

@@ -28,7 +28,7 @@ require (
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
google.golang.org/appengine v1.6.5 // indirect
google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 // indirect

google.golang.org/grpc v1.26.0

google.golang.org/grpc v1.27.0

do we need vendor directory change for this one?

No, that has already been committed with the k8s 1.18.0 update.

On Mon, Apr 20, 2020 at 02:52:00AM -0700, Madhu Rajanna wrote: @Madhu-1 commented on this pull request. > @@ -28,7 +28,7 @@ require ( golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect google.golang.org/appengine v1.6.5 // indirect google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 // indirect - google.golang.org/grpc v1.26.0 + google.golang.org/grpc v1.27.0 do we need vendor directory change for this one?
No, that has already been committed with the k8s 1.18.0 update.

@nixpanic I dont think this change from 1.26 to 1.27 has committed with 1.18.0 update. I remember deliberately downgrading it.

@humblec hmm, is there a reason for that? go mod verify insists in updating the version to 1.27. Maybe there is an other/additional directive in go.mod needed?

By removing the line for grpc from the go.mod 'requires', but keeping in the 'replace' section, go mod verify seems to be happy.

By removing the line for grpc from the go.mod 'requires', but

Yeah, thats what the requires does.  But, that upgrade can cause issue or break the stuff iic. Thats why I explictly mentoined we need 1.26.0.

There is no direct dependency on grpc from what I can see. And keeping it in 'replace' seems to have the required effect. go mod verify and go mod tidy do not want to remove grpc, or update it this way. Do you have concerns with the current PR?

@nixpanic @Madhu-1 by order the vendor has to be updated following with go.mod and not vice versa, Isnt it ?

@nixpanic @Madhu-1 by order the vendor has to be updated following with go.mod and not vice versa, Isnt it ?

i just pulled this PR and verified we don't need vendor changes for this one

On Tue, Apr 21, 2020 at 02:13:19AM -0700, Humble Devassy Chirammal wrote:

@nixpanic @Madhu-1 by order the vendor has to be updated following with go.mod and not vice versa, Isnt it ?

go.mod and vendor/modules.txt should probably get updated at the same
time.
Currently vendor/modules.txt lists grpc v1.26 (just like
go.mod:replace). However go.mod:requires wants to have v1.27. This went
out of sync when the k8s 1.18.x update was merged. This current PR
brings them in sync again (grpc 1.26) and adds a go mod verify test
case that reports an error in case there are issues like this in the
future.

Fine.. LGTM.

@Madhu-1 any concerns from you?

@MergifyIO  backport release-v2.1

@Mergifyi backport release-v2.1

@Mergifyio backport release-v2.1


use absolute path for bundlePath

When running buildah code on Atomic Hosts, we need to make sure
the absolute path for the bundlePath is used or operations
will fail.
Signed-off-by: baude<EMAIL_ADDRESS>

Solves a persistent issue with Podman's CI we've been encountering. LGTM

LGTM

I tested this on a F27AH

Passes the baseline tests on F28


Handle missing output file map gracefully swift 4.2 branch rdar://39660680

When the driver tries to open the path for -output-file-map, it currently emits a diagnostic and then fails an assertion. Fix this so it exits instead (as it does for other fatal diagnostics). Also enhance the diagnostic to include the path that could not be opened.
rdar://39660680

@swift-ci please smoke test

@swift-ci please nominate

@swift-ci please clean smoke test linux platform

@swift-ci please smoke test

@swift-ci please smoke test os x platform

@swift-ci please test


Add ecr repo policy

Fixes #4032
I added the IAMPolicyDocumentValidator and had to patch some methods, because the ECR policy is not that strict, but I think it is still worth to use it and if users complain about it, we can still remove it and don't do any validation at all 😄
And also the Terraform tests are working 💪

Codecov Report

Merging #4148 (7e45a26) into master (76094f0) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #4148   +/-   ##
=======================================
  Coverage   94.84%   94.85%
=======================================
  Files         478      478
  Lines       52280    52317   +37
=======================================
+ Hits        49584    49624   +40
+ Misses       2696     2693    -3

Flag
Coverage Δ

servertests
55.36% <20.00%> (-0.03%)
:arrow_down:

unittests
94.77% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/iam/policy_validation.py
98.35% <ø> (ø)

moto/ecr/exceptions.py
100.00% <100.00%> (ø)

moto/ecr/models.py
96.39% <100.00%> (+0.25%)
:arrow_up:

moto/ecr/responses.py
91.47% <100.00%> (+2.94%)
:arrow_up:

Continue to review full report at Codecov.

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

if users complain about it, we can still remove it and don't do any validation at all 😄

Yeah, we'll either remove it or introduce a flag to disable it. We'll worry about that when we get there 🙂


Create Production Scripts

Consider moving prerender into it's own script and run it separately before starting the express server
Create a npm script to run prerender and then start the server (without Nodemon)

Comments added about deployment strategies to README and added some methods to test the production version locally.


"deployment url" and "access token" naming

Could we drop this naming in our libs in favour of
AXIOM_URL (optional, default should be set to https://cloud.axiom.co), and
AXIOM_TOKEN (which can be either ingest or personal. We don't have a 'deployment' token)
This needs to be consistent across our open source libs and docs.

Done.


Add keys to literals to pass go vet

@drcapulet

LGTM

I added fixes for almost all of the golint issues for MQE, other than a handful to do with package naming and those affecting the generated files.

🚢 it


[elasticsearch] Readiness probe is failing again with 8.0.0-SNAPSHOT and default config

Chart version: 8.0.0-SNAPSHOT
Kubernetes version: all
Kubernetes provider: all
Helm Version: all
helm get release output:

Output of helm get release
NAME: es
LAST DEPLOYED: Fri Nov  5 17:27:14 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
USER-SUPPLIED VALUES:
null

COMPUTED VALUES:
antiAffinity: hard
antiAffinityTopologyKey: kubernetes.io/hostname
clusterHealthCheckParams: wait_for_status=green&timeout=1s
clusterName: elasticsearch
enableServiceLinks: true
envFrom: []
esConfig: {}
esJavaOpts: ""
esMajorVersion: ""
extraContainers: []
extraEnvs: []
extraInitContainers: []
extraVolumeMounts: []
extraVolumes: []
fsGroup: ""
fullnameOverride: ""
healthNameOverride: ""
hostAliases: []
httpPort: 9200
image: docker.elastic.co/elasticsearch/elasticsearch
imagePullPolicy: IfNotPresent
imagePullSecrets: []
imageTag: 8.0.0-SNAPSHOT
ingress:
  annotations: {}
  className: nginx
  enabled: false
  hosts:
  - host: chart-example.local
    paths:
    - path: /
  pathtype: ImplementationSpecific
  tls: []
initResources: {}
keystore: []
labels: {}
lifecycle: {}
masterService: ""
maxUnavailable: 1
minimumMasterNodes: 2
nameOverride: ""
networkHost: <IP_ADDRESS>
networkPolicy:
  http:
    enabled: false
  transport:
    enabled: false
nodeAffinity: {}
nodeGroup: master
nodeSelector: {}
persistence:
  annotations: {}
  enabled: true
  labels:
    enabled: false
podAnnotations: {}
podManagementPolicy: Parallel
podSecurityContext:
  fsGroup: 1000
  runAsUser: 1000
podSecurityPolicy:
  create: false
  name: ""
  spec:
    fsGroup:
      rule: RunAsAny
    privileged: true
    runAsUser:
      rule: RunAsAny
    seLinux:
      rule: RunAsAny
    supplementalGroups:
      rule: RunAsAny
    volumes:
    - secret
    - configMap
    - persistentVolumeClaim
    - emptyDir
priorityClassName: ""
protocol: http
rbac:
  automountToken: true
  create: false
  serviceAccountAnnotations: {}
  serviceAccountName: ""
readinessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 3
  timeoutSeconds: 5
replicas: 3
resources:
  limits:
    cpu: 1000m
    memory: 2Gi
  requests:
    cpu: 1000m
    memory: 2Gi
roles:
- master
- data
- data_content
- data_hot
- data_warm
- data_cold
- ingest
- ml
- remote_cluster_client
- transform
schedulerName: ""
secret:
  enabled: true
  password: ""
secretMounts: []
securityContext:
  capabilities:
    drop:
    - ALL
  runAsNonRoot: true
  runAsUser: 1000
service:
  annotations: {}
  enabled: true
  externalTrafficPolicy: ""
  httpPortName: http
  labels: {}
  labelsHeadless: {}
  loadBalancerIP: ""
  loadBalancerSourceRanges: []
  nodePort: ""
  transportPortName: transport
  type: ClusterIP
sysctlInitContainer:
  enabled: true
sysctlVmMaxMapCount: 262144
terminationGracePeriod: 120
tests:
  enabled: true
tolerations: []
transportPort: 9300
updateStrategy: RollingUpdate
volumeClaimTemplate:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

HOOKS:
---
# Source: elasticsearch/templates/test/test-elasticsearch-health.yaml
apiVersion: v1
kind: Pod
metadata:
  name: "es-qzanl-test"
  annotations:
    "helm.sh/hook": test
    "helm.sh/hook-delete-policy": hook-succeeded
spec:
  securityContext:
    fsGroup: 1000
    runAsUser: 1000
  containers:
  - name: "es-novrx-test"
    image: "docker.elastic.co/elasticsearch/elasticsearch:8.0.0-SNAPSHOT"
    imagePullPolicy: "IfNotPresent"
    command:
      - "sh"
      - "-c"
      - |
        #!/usr/bin/env bash -e
        curl -XGET --fail 'elasticsearch-master:9200/_cluster/health?wait_for_status=green&timeout=1s'
  restartPolicy: Never
MANIFEST:
---
# Source: elasticsearch/templates/poddisruptionbudget.yaml
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: "elasticsearch-master-pdb"
spec:
  maxUnavailable: 1
  selector:
    matchLabels:
      app: "elasticsearch-master"
---
# Source: elasticsearch/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: elasticsearch-master-credentials
  labels:
    heritage: "Helm"
    release: "es"
    chart: "elasticsearch"
    app: "elasticsearch-master"
type: Opaque
data:
  username: ZWxhc3RpYw==
  password: "dDFIa1VCTkxIRTE0VkdyRQ=="
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Helm"
    release: "es"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    {}
spec:
  type: ClusterIP
  selector:
    release: "es"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  ports:
  - name: http
    protocol: TCP
    port: 9200
  - name: transport
    protocol: TCP
    port: 9300
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master-headless
  labels:
    heritage: "Helm"
    release: "es"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
  clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve
  # Create endpoints also if the related pod isn't ready
  publishNotReadyAddresses: true
  selector:
    app: "elasticsearch-master"
  ports:
  - name: http
    port: 9200
  - name: transport
    port: 9300
---
# Source: elasticsearch/templates/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Helm"
    release: "es"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    esMajorVersion: "8"
spec:
  serviceName: elasticsearch-master-headless
  selector:
    matchLabels:
      app: "elasticsearch-master"
  replicas: 3
  podManagementPolicy: Parallel
  updateStrategy:
    type: RollingUpdate
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-master
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 30Gi
  template:
    metadata:
      name: "elasticsearch-master"
      labels:
        release: "es"
        chart: "elasticsearch"
        app: "elasticsearch-master"
      annotations:

    spec:
      securityContext:
        fsGroup: 1000
        runAsUser: 1000
      automountServiceAccountToken: true
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - "elasticsearch-master"
            topologyKey: kubernetes.io/hostname
      terminationGracePeriodSeconds: 120
      volumes:
      enableServiceLinks: true
      initContainers:
      - name: configure-sysctl
        securityContext:
          runAsUser: 0
          privileged: true
        image: "docker.elastic.co/elasticsearch/elasticsearch:8.0.0-SNAPSHOT"
        imagePullPolicy: "IfNotPresent"
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        resources:
          {}

      containers:
      - name: "elasticsearch"
        securityContext:
          capabilities:
            drop:
            - ALL
          runAsNonRoot: true
          runAsUser: 1000
        image: "docker.elastic.co/elasticsearch/elasticsearch:8.0.0-SNAPSHOT"
        imagePullPolicy: "IfNotPresent"
        readinessProbe:
          exec:
            command:
              - sh
              - -c
              - |
                #!/usr/bin/env bash -e

                # Exit if ELASTIC_PASSWORD in unset
                if [ -z "${ELASTIC_PASSWORD}" ]; then
                  echo "ELASTIC_PASSWORD variable is missing, exiting"
                  exit 1
                fi

                # If the node is starting up wait for the cluster to be ready (request params: "wait_for_status=green&timeout=1s" )
                # Once it has started only check that the node itself is responding
                START_FILE=/tmp/.es_start_file

                # Disable nss cache to avoid filling dentry cache when calling curl
                # This is required with Elasticsearch Docker using nss < 3.52
                export NSS_SDB_USE_CACHE=no

                http () {
                  local path="${1}"
                  local args="${2}"
                  set -- -XGET -s

                  if [ "$args" != "" ]; then
                    set -- "$@" $args
                  fi

                  set -- "$@" -u "elastic:${ELASTIC_PASSWORD}"

                  curl --output /dev/null -k "$@" "http://<IP_ADDRESS>:9200${path}"
                }

                if [ -f "${START_FILE}" ]; then
                  echo 'Elasticsearch is already running, lets check the node is healthy'
                  HTTP_CODE=$(http "/" "-w %{http_code}")
                  RC=$?
                  if [[ ${RC} -ne 0 ]]; then
                    echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} http://<IP_ADDRESS>:9200/ failed with RC ${RC}"
                    exit ${RC}
                  fi
                  # ready if HTTP code 200, 503 is tolerable if ES version is 6.x
                  if [[ ${HTTP_CODE} == "200" ]]; then
                    exit 0
                  elif [[ ${HTTP_CODE} == "503" && "8" == "6" ]]; then
                    exit 0
                  else
                    echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} http://<IP_ADDRESS>:9200/ failed with HTTP code ${HTTP_CODE}"
                    exit 1
                  fi

                else
                  echo 'Waiting for elasticsearch cluster to become ready (request params: "wait_for_status=green&timeout=1s" )'
                  if http "/_cluster/health?wait_for_status=green&timeout=1s" "--fail" ; then
                    touch ${START_FILE}
                    exit 0
                  else
                    echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )'
                    exit 1
                  fi
                fi
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 3
          timeoutSeconds: 5
        ports:
        - name: http
          containerPort: 9200
        - name: transport
          containerPort: 9300
        resources:
          limits:
            cpu: 1000m
            memory: 2Gi
          requests:
            cpu: 1000m
            memory: 2Gi
        env:
          - name: node.name
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: cluster.initial_master_nodes
            value: "elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2,"
          - name: node.roles
            value: "master,data,data_content,data_hot,data_warm,data_cold,ingest,ml,remote_cluster_client,transform,"
          - name: discovery.seed_hosts
            value: "elasticsearch-master-headless"
          - name: cluster.name
            value: "elasticsearch"
          - name: network.host
            value: "<IP_ADDRESS>"
          - name: ELASTIC_PASSWORD
            valueFrom:
              secretKeyRef:
                name: elasticsearch-master-credentials
                key: password
        volumeMounts:
          - name: "elasticsearch-master"
            mountPath: /usr/share/elasticsearch/data

NOTES:
1. Watch all cluster members come up.
  $ kubectl get pods --namespace=default -l app=elasticsearch-master -w
2. Retrieve elastic user's password.
  $ kubectl get secrets --namespace=default elasticsearch-master-credentials -ojsonpath='{.data.password}' | base64 -d
3. Test cluster health using Helm test.
  $ helm --namespace=default test es

Describe the bug:
When using 8.0.0-SNAPSHOT and default values (default elasticsearch config, security not enforced), Elasticsearch chart fails to deploy, with pods never reaching ready state due to Readiness probe failing:
$ kubectl describe pod elasticsearch-master-0
...
  Normal   Started                 116s (x3 over 3m37s)  kubelet                  Started container elasticsearch
  Warning  Unhealthy               76s (x11 over 3m26s)  kubelet                  Readiness probe failed: Waiting for elasticsearch cluster to become ready (request params: "wait_for_status=green&timeout=1s" )
Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )
  Warning  BackOff  72s (x2 over 2m8s)  kubelet  Back-off restarting failed container

This seems to be related to the new behavior where Elasticsearch generates TLS certificates by default: https://github.com/elastic/elasticsearch/pull/77231
cc @elastic/es-delivery @jkakavas @mgreau @nkammah
Steps to reproduce:

Try deploy Elasticsearch chart with default values from master branch

$ cd helm-charts
$ git checkout master
$ helm install es ./elasticsearch

That's all

Expected behavior: Readiness probe should success.
Provide logs and/or server output (if relevant):

Elasticsearch logs
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: Transport SSL must be enabled if security is enabled. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/elasticsearch.log

Any additional context:

elastic/elasticsearch#77231 was merged weeks ago, it's strange if we just started seeing these failures.
From the logs I can see that elasticsearch fails to start because security is enabled and TLS is not configured for the transport layer.
Transport SSL must be enabled if security is enabled.
Please set [xpack.security.transport.ssl.enabled] to [true] or disable
security by setting [xpack.security.enabled] to [false]

We only made this change https://github.com/elastic/elasticsearch/pull/79602 recently, but AFAIU the nodes deployed with the default example here start with a basic license by default so this change shouldn't affect them. If anything, this should have been failing since we had changed the default value of xpack.security.enabled to true back in August.
In short, we can't have multi-node clusters with security enabled and no TLS configuration for the transport layer when running in production mode ( es bound to <IP_ADDRESS> ).
Is a valid option making the security example the default one ?
Happy to work with you folks to determine why this started breaking just now if that's valuable

Is a valid option making the security example the default one ?

+1 to using a secure configuration by default. If folks explicitly disable security, fine, but since TLS example uses autogenerated certs it's not like it's more "effort" for users. In a production scenario folks will obviously want this stuff enabled and will provide their own certs.

👋 do we have any update on this? @jkakavas shall we turn the security example the default one?

We had a discussion with @jmlrt @nkammah @framsouza and I spent some time with @framsouza kind help figuring out what happens.
In summary:

The cluster fails to start because security is enabled (by default) and transport TLS is not enabled/configured.
TLS is not auto-configured because of the environment this runs in. I didn't get to the bottom of which of our heuristics is triggered but TLS auto-configuration and the newly introduced enrollment mode is not meant to cater for use cases where there is already orchestration in place. The TLS configuration fits better within the orchestration.

Path forward:
I think we need to do something similar to what we do for docker compose where we generate the TLS keys/certificates before starting the node. Something very similar to what the security example already does, but figure out a way to incorporate the make secrets part. @framsouza is looking into this.

In my case, I found errors from readinessProbe that said: "[[ unexpected operator". Further investigate indicated that despite probe to Elasticsearch cluster health (enabled with TLS and basic authentication) has returned successful, instead the script reported failed. I generated a copy of the manifest and changed from this:
# ready if HTTP code 200, 503 is tolerable if ES version is 6.x
if [[ ${HTTP_CODE} == "200" ]]; then
  exit 0
elif [[ ${HTTP_CODE} == "503" && "{{ include "elasticsearch.esMajorVersion" . }}" == "6" ]]; then
  exit 0
else
  echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} {{ .Values.protocol }}://<IP_ADDRESS>:{{ .Values.httpPort }}/ failed with HTTP code ${HTTP_CODE}"
  exit 1
fi

To this... which I suspect kubelet execute the script under "sh" which is not offering full compatibility of bash:
if [ ${HTTP_CODE} -eq 200 ]; then
  exit 0
elif [ ${HTTP_CODE} -eq 503 && "7" = "6" ]; then
  exit 0
else
  echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} https://<IP_ADDRESS>:9200/ failed with HTTP code ${HTTP_CODE}"
  exit 1
fi

Here onwards the readinessProbe works as expected. Hopefully this help the issue here.

It's simply the default shell of the container which is not capable to use double square-brackets. Change it to bash for example and it'll work.
readinessProbe:
          exec:
            command:
            - bash

Hi @gohmc @mloeschner, this is a different issue. We are working toward fixing it ad should publish a new 7.16.1 release soon.

@jmlrt is there an issue link for this one?

Hi @gohmc @mloeschner, this is a different issue. We are working toward fixing it and should publish a new 7.16.1 release soon.

@jmlrt is there an issue link of this one? Thanks

I got the same error as @jmlrt when deploying to Docker Desktop on my laptop.
After I changed values.yaml as described in https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/docker-for-mac/values.yaml, the deployment got some what further.
The deployment is giving me another error now (java.nio.file.FileSystemException: /usr/share/elasticsearch/data/nodes/0: Not a directory) but that seems unrelated to this particular issue.


Documentation (resolved conflict)

Completely reworked Create a Component (now called Create and connect Components), made a summary, created Principles.md, modified some pages
It's not complete but still more accessible

@Eliott-Guevel you need to push into documentation branch

The conflicts come from the modification of the files' name, I have a branch that doesn't modify them since I don't know how it can be solved currently (the branch I'm doing the pull request from is a copy of the current Molecule repository with only the files' content and name modified

@Eliott-Guevel I have found the problem, take a look here: https://github.com/Eliott-Guevel/Molecule-various-fixes/blob/documentation2-newFileNames/documentation/Table of contents.md
Read the conflicting report and you will find.


MB-4468 Add pagination to TOO queue handler

Description
Adds pagination functionality to the TOO queue handler.
Reviewer Notes
Is there anything you would like reviewers to give additional scrutiny?
Setup
Run the below and then head on over here once the office app is loaded locally: http://officelocal:3000/ghc/v1/queues/moves?Page=1 once there you should get 20 results.
make db_dev_e2e_populate

Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Messages

:book:
:link: MB-4468

  Generated by :no_entry_sign: dangerJS against 53e2b854b3133b4e34eb73e6248d0e37c3726015

Still working on this, will switch to ready to review when that's the case

Can we also add the DB indexes please? I believe we need one for every column that we call in a Where clause. What I'm not sure about is if we need to make them all composite indexes that also include the status (since it's used for sorting), given that we also search by status. In other words, if we have a separate index for status, do we also need to add it to the other indexes?

Can we also add the DB indexes please? I believe we need one for every column that we call in a Where clause. What I'm not sure about is if we need to make them all composite indexes that also include the status (since it's used for sorting), given that we also search by status. In other words, if we have a separate index for status, do we also need to add it to the other indexes?

Would you mind if we did that in a separate PR? I was going to write up a quick chore to knock out the indexes for both sides of the queues if that works.

That works. I believe I already wrote a chore, but I can't remember if it's for both TOO and TIO. Lemme find it,

Here it is: https://dp3.atlassian.net/browse/MB-5022

Here it is: https://dp3.atlassian.net/browse/MB-5022

Awesome! Thanks for writing that up. I moved it to the top of the backlog so we can include it in the planning chat today.


Fixed MIR answer

Resolves #884. If there's detail here that I am missing, let me know and I'll change the answer accordingly.

Looks good to me, thanks!


visual studio's ipython interaction is unusable

This issue has been moved from a ticket on Developer Community.

[severity:It's more difficult to complete my work]
visual studio's ipython interaction mode has no output. it just in[2]or in[3]......there，without  out[]

Original Comments
Feedback Bot on 5/24/2023, 06:02 PM:
(private comment, text removed)
Feedback Bot on 5/31/2023, 11:47 AM:
(private comment, text removed)

Original Solutions
(no solutions)

duplicate of https://github.com/microsoft/PTVS/issues/7219


perf(formatter): Skip bodies without comments

Summary
This PR improves the performance of the comments extraction by skipping over bodies that contain no comments.
The visitor already avoided visiting the children of a node if there are no comments in its range but we aren't doing this yet for bodies because bodies are not nodes.
This PR adds the logic for skipping over bodies if there's no comment in the body range.
if test: # a comment
	...

The old implementation did visit the if statement, as well as the body and orelse because it contains a comment in its range. But this is unnecessary
because only the case header has a comment.
Test Plan
cargo test

Current dependencies on/for this PR:

main

PR #4954

PR #4921

PR #4922

PR #4951

PR #4961

PR #4964

PR #4978   👈

This comment was auto-generated by Graphite.

The benchmarks compare against main which does not yet have the if statement formatting. But we can see that the increase goes down from 25% slowdown to an at most 18% slowdown.

With https://github.com/astral-sh/ruff/pull/4964#issuecomment-1583012574, i don't really see much performance difference

With #4964 (comment), i don't really see much performance difference

The linux result are in the range of what I expected and was able to reproduce locally. Not sure what happened with the windows run.


Quick question

Describe the bug
i just ran the code and it shows below :
i have another command and all of them work
by the way im new to Python for a week
thanks for your help!!!!
Minimal Reproducible Code
@bot.command()
async def abc(ctx: commands.Context):
    menu = ViewMenu(ctx, menu_type=ViewMenu.TypeEmbed)

    f = discord.File("image.png", filename="image.png")
    embed = discord.Embed(title="With local image")
    embed.set_thumbnail(url="attachment://image.png")
    embed.set_footer(text=f"Requested by {ctx.author}", icon_url = ctx.author.avatar.url)

    menu.add_page(embed, files=[f])
    menu.add_page(discord.Embed(title="Hello"))
    menu.add_buttons([ViewMenu.back(), ViewMenu.next()])

    await menu.start()

Traceback
ERROR    discord.ext.commands.bot Ignoring exception in command abc
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/discord/ext/commands/core.py", line 235, in wrapped
    ret = await coro(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/dory/Downloads/dcbot確認上傳/kaiMAIN.py", line 35, in abc
    menu.add_buttons([ViewMenu.back(), ViewMenu.next()])
                      ^^^^^^^^^^^^^
AttributeError: type object 'ViewMenu' has no attribute 'back'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/discord/ext/commands/bot.py", line 1350, in invoke
    await ctx.command.invoke(ctx)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/discord/ext/commands/core.py", line 1029, in invoke
    await injected(*ctx.args, **ctx.kwargs)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/discord/ext/commands/core.py", line 244, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: type object 'ViewMenu' has no attribute 'back'

Library Version

Python v3.11.5-final
discord.py v2.3.2-final
system MacOS

Required Checklist

[X] I am using discord.py 2.0 or higher
[X] I am using reactionmenu 3.1.0 or higher
[X] I have the required intents enabled

Additional Comments
No response

It's ViewButton.back(), not ViewMenu.back()


Add docstring for load_checkpoint

Description
Added docstrings to load_checkpoint module and _get_file_to_weight_map function.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)

@kwen2501 @wz337


SOAP / Codeunit

Hello
I read that the page in SOAP will be deprecated in a later version of BC but what about codeunit and queries ?
Thank you for your help
best regards

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

ID: 5080e6bc-a674-1de4-b85a-4c07ff66af67
Version Independent ID: a26eda56-81dd-5ee8-4531-e21f1c335127
Content: Deprecated Features in W1 - Business Central
Content Source: dev-itpro/upgrade/deprecated-features-w1.md
Service: dynamics365-business-central
GitHub Login: @bholtorf
Microsoft Alias: solsen

Long term strategy is to remove all SOAP endpoints and align on OData / REST.
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/deprecated-features-w1#expose-ui-pages-as-soap-endpoints-warning
Currently we do not have a date for removal, but guidance is to move to OData.


Contibuting guidelines

Add contributing guidelines files with full description.

This PR does not meet most expectations and unfortunately, I have to close it.


Smooth copy paste

Adds a smooth copy paste behaviour to charts.
When a copy event is fired, the normal svg charts are hidden and replaced with an  tag depicting the chart, which plays nicely with other productivity applications.
There are other quality of life items we should do on copy/ paste, but I'd say this closes #254.

This is awesome.
It looks like this works well in Google Docs and Word, but in Google Slides and PowerPoint there are some sizing issues with the pasted outputs. I'm not sure if there's anything we'll be able to do about that.
I think it's worth considering copy/paste options at the individual item level as well (e.g., copy a chart to clipboard, copy data to clipboard). Maybe a separate project, but it would make it clearer that charts are copy-able and would make the sizing issues in slides easier to handle.


Permit edge -> edge topology node parentage

What does this PR (Pull Request) do?

[x] This PR fixes #4785

Which Traffic Control components are affected by this PR?

Traffic Ops
Traffic Portal

What is the best way to verify this PR?

Run the topologies API tests in CDN-in-a-Box, make sure they pass.
In TP, create a topology where one or more edge_loc cache groups have a edge_loc parent or secondary parent. Ensure the warnings are displayed and can be save successfully. Also ensure that edge_loc cache groups can only parent edge_loc children.

If this is a bug fix, what versions of Traffic Control are affected?
Includes a bug fix. GET /topologies used to return null for 0 topologies, now it returns an empty array.

master (2dd9a0cdf1)

Otherwise, not a bug fix.
The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes Go docs
[x] An update to CHANGELOG.md is not necessary
[x] This PR includes any and all required license headers
[x] This PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

The code changes look good, unit tests pass, and the TO API tests pass.
But I did notice something weird with TP. When I created an EDGE_LOC1 -> EDGE_LOC2 topology, TP let me click on the 2nd parent button to make EDGE_LOC2 a 2nd parent of EDGE_LOC1. This should be prohibited via the API since it creates a cycle in the parentage, but it looks like TP is not actually adding the 2nd parent and sending that in the request:

So the API creates the topology without the cyclic parentage (since TP scrubbed out that 2nd parent), but this behavior was surprising and should be prevented in the UI.
This issue seems to apply to MID_LOC cycles in the 2nd parentage as well (not just EDGE_LOC).

ok @rawlinp, looking into...


remove prometheus sample app

This PR addresses the issue #497
In-order to reduce the maintenance for prometheus sample app in aws-otel-test-framework.
Using the public ECR image public.ecr.aws/aws-otel-test/prometheus:latest
as sample-app-image instead of dedupe from here.

Who's publishing this image?

Who's publishing this image?

I have asked Seth's help to publish it.

Who's publishing this image?

I have asked Seth's help to publish it.

I mean who's maintaining this image? Do we need to manually update the image ourselves?

Who's publishing this image?

I have asked Seth's help to publish it.

I mean who's maintaining this image? Do we need to manually update the image ourselves?

Yes, we need to maintain it manually. The sample app is pretty much stable at this point.


Browser freezes when updating chart data.

Lightweight Charts™ Version: 4.1.2
Steps/code to reproduce:
const chart = LightweightCharts.createChart(document.getElementById("chart"));
let series = chart.addLineSeries();
series.update({
	"time": "2023-12-27",
	"value":<PHONE_NUMBER>34093
});

Actual behavior:
Browser freezes.
Expected behavior:

Screenshots:

CodeSandbox/JSFiddle/etc link:
https://jsfiddle.net/L3rvudpc/

Thanks @pkquell
The library does appear to have an issue when the data value becomes very large. The test value is less than Number.MAX_SAFE_INTEGER so it is something that should be fixable in the library without needing to use BigInt. However support for BigInt is really good across browsers so it should be safe to use that if required.


Custom policy with modified cnn feature extraction [question]

Hi,
I'm trying to modify the feature extraction in a custom policy. The code below returns AttributeError: 'CustomPolicy' object has no attribute '_processed_obs' .  Has anyone managed to get a custom cnn_extractor working and is this the right way to go about changing the CNN layers?
Thanks,
Simon
import gym
import tensorflow as tf
import numpy as np
from stable_baselines.common.tf_layers import conv, linear, conv_to_fc
from stable_baselines.common.policies import FeedForwardPolicy, register_policy
from stable_baselines import PPO2

class CustomPolicy(FeedForwardPolicy):
    def __init__(self, *args, **kwargs):

        activ = tf.nn.relu
        layer_1 = activ(conv(self.processed_obs, 'c1', n_filters=32, filter_size=6, stride=4, init_scale=np.sqrt(2), **kwargs))
        layer_2 = activ(conv(layer_1, 'c2', n_filters=64, filter_size=4, stride=2, init_scale=np.sqrt(2), **kwargs))
        layer_3 = activ(conv(layer_2, 'c3', n_filters=64, filter_size=4, stride=2, ini_scale=np.sqrt(2), **kwargs))
        layer_3 = conv_to_fc(layer_3)
        cnn = activ(linear(layer_3, 'fc1', n_hidden=512, init_scale=np.sqrt(2)))

        super(CustomPolicy, self).__init__(*args, **kwargs,
                                           net_arch=[dict(pi=[128, 128, 128],
                                                          vf=[128, 128, 128])],
                                           feature_extraction="cnn",
                                           cnn_extractor=cnn)

register_policy('CustomPolicy', CustomPolicy)
model = PPO2(policy='CustomPolicy', env='SpaceInvaders-v0', verbose=1).learn(total_timesteps=100000)

Hello,
This might be a duplicate of https://github.com/hill-a/stable-baselines/issues/296#issuecomment-487366575 and https://github.com/hill-a/stable-baselines/issues/132
The cnn extractor should be a separate method.
As an example, the nature cnn is defined here: https://github.com/hill-a/stable-baselines/blob/master/stable_baselines/common/policies.py#L16

Thank you for the quick reply. It's working now with your suggestion.


Create extension pgcrypto in "public" schema

The issue is that extension pgcrypto might already exist in the database, and we still need to
access it.  So we cannot choose to locate the extension in a schema of our choice.  On the other
hand it must be in the same schema each time because each test uses a different schema, and
it is not possible to redefine the same extension there.  So public is a good choice.

Well, that failed testing quite miserably, so PTAL.

Codecov Report

Merging #907 (cccb491) into master (fd3b7dc) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #907      +/-   ##
==========================================
- Coverage   45.72%   45.70%   -0.02%
==========================================
  Files         142      142
  Lines       10949    10949
==========================================
- Hits         5006     5004       -2
- Misses       5325     5326       +1
- Partials      618      619       +1

Impacted Files
Coverage Δ

catalog/cataloger_create_repository.go
59.25% <0.00%> (-3.71%)
: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 fd3b7dc...cccb491. Read the comment docs.

Looks good, thanks


Ignite2018

Updated content per edit pass.

#signoff

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/enterprise/overview.md
:white_check_mark:Succeeded

docs/skills/adaptive-cards.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Event Request] Page 160 & 161; Function OnOpenpage

Hi,
we need an event with handler pattern in page 160 Sales Statistics in OnOpenpage.
This should allow us to set the AllowInvDisc variable.

with parameters:
salesHeaderL : Record "Sales Header";
VAR allowInvDiscRL : Boolean;
VAR handledRL : Boolean
Thanks in advance

we actually need this in page 161 as well, done in the same way.

with parameters:
salesHeaderL : Record "Sales Header";
VAR allowInvDiscRL : Boolean;
VAR handledRL : Boolean


[UI] Group Pulses / Pulse Shifting

In Advanced Operation Properties we have Group Pulses. In Device Config we have Pulse Shifting.
Are these alternative names for the same thing? If so can we change the Terminology so that it is consistent?
"Pulse Grouping"?

P.S. If this is agreed, I can code the change.
P.P.S. Do these options work on Vector or Raster Operations or both?
P.P.P.S. Any chance of a simple explanation for mere mortals such as myself? It seems to work on groups of 4 bits - a simple explanation of what each of the 16x 4-bit combinations translates to would be great.

Yes, they are inconsistent names for the same thing.
Yes, they should have a name change.
They shift a pulse around.
Basically _ is no laser and X is laser.
____ -> ____
___X -> ___X
__X_ -> __X_
_X__ -> _X__
X___ -> X___
X__X -> X__X
X_X_ -> XX__
XX__ -> XX__
_X_X -> _XX_
_XX_ -> _XX_
__XX -> __XX
XX_X -> XXX_
XXX_ -> XXX_
X_XX -> _XXX
XXXX -> XXXX

Basically pulses get shifted by 1 where needed. So X_X_X_X_X_X_X as a long pulse train gets made XXX___XXX__ as the X_ gets moved towards the X and the same on the other side. So pulses can be moved a bit in either direction.
Also, this happens real time in the pulse plotter so if you turn it on while it's running it should instantly apply. So you should go from stuttering to not stuttering if you engage the feature.

What CutCode types does it apply to? Raster / Image, Vector, both?

All. The cutcode decides the positioning of the pulses, the PPI and shift pulses is in the pulse planner and comes afterwards. Much like things like dot length etc, it's actually done later and manipulates the pulses. So it applies to raw pulses so all cut types.

Can we have an Emergency Stutter Fix pane/button (like the Emergency Stop one) that turns this on until the laser is idle again?

I assume that the pulse planner has access to the operation settings at the time that it was sent to the spooler so it knows which operations had Pulse Group set?

A little bit yes, it's a bit hamfisted though. The Pulse Planner does get access to the settings. But, also communicates with some rather kludgy methodology as to whether there's new settings and or if certainly things should be checked. I did some research trying to see if there was a more organic and natural way to do that but left it as is.

The plotplanner has settings and the generated values are cutcode and all the cutcode has settings. If the setting from the previous cut is different than the current set it yields a None None, PLOT_SETTING This is read during the LhyStudiosDriver.plotplanner_process() which checks of the on value is equal to plot setting and if it is updates the settings., and does this on from the settings on the PlotPlanner, which would have been updated since it yielded that PLOT_SETTING value for the control code.
This code section may be the sloppiest bit of code in the whole set of routines. Since it's communicating basically with semiphores to notify the driver that it needs to update different sections. It has codes for updating settings, plot axis, direction, whether it should jog or rapid jog.
Basically plot planner is supposed to give x, y, and on-off information so go to this point with a laser and laser there, go to this point. But, it also gives on values that mean things like update your settings since there was a speed change or something and the driver might have the older values.

There's also some general sloppiness in that cutcode basically generates COMMAND_PLOT and COMMAND_PLOT_START commands in lasercode. Which are generally interpreted by the drivers but these cutobjects are more or less always cutcode and really use the plotplanner to read them. It feels like some of these parts could be foregone or made more coherent and simpler but I couldn't see a very easy method of doing that. The drivers consequently have a plotplanner that reads the COMMAND_PLOT and turns it into the various movement and laser on/off code, that also uses those weird semiphores to communicate things like it should update the local settings since the plotplanner settings have been updated by a new bit of cutcode.
There's reasons for all of this but it seems like there's like 3 different highly general ideas tied into a knot that makes them highly linked together.
The spooler accepts lasercode. Cutcode produces laser code of COMMAND_PLOT commands. The PLOT commands are interpreted by the PlotPlanner with extra semiphores, to do things like tell it to update speed.
The need for the plotplanner is that I wanted to be able to merge similar and identical plotting code. So the different cutobjects linked together would work correctly as a group. They can be flushed out of extra data so if some processes in the plotplanner require a buffer these can be corrected at the end. But, other than that it could do things like move pulses around, give data in grouped batches, apply ppi, etc. It would be fed a bunch of plot points and give a very nice pulse train as decided by general algorithms.
The fact that it needed to know speeds etc, changed was an issue that I just sort of kludged around. But, it also includes a bunch of weird things like telling the driver which direction will be happening next. The M2 Nano has a thing where to twitch the right direction, it needs to know which way it will go after entering program mode. So the plotplanner relays that information to the driver. But, this is likely only a thing with the M2 Nano. So it came together somewhat kludgier than I had hoped.
But, the pulse shifting is part of the plotplanning which is done independent of the backend being used. So pulse shifting could be done on a Moshi-board it just wouldn't mean much to the Moshi since stuttering isn't a problem there. And it would ignore the other signals that relay future but needed information for the M2 Nano. Like, after entering program mode, which directions should be set active because I will use those directions first, or whatnot.

The ZinglPlotter just produces position that perfectly trace a particular shape with integer values. So it's like the bresenham line draw algorithm but for bezier curves, etc. This gives me a series of pulses for the generator. But, the M2 Nano actually wants diagonal and orthogonal directions. So 3 right, 1 right-up diagonal, 3 right, 4 right-up diagonal. And to convert the plots into that took some planning which got put in plot-planner.
There's also a long standing bug in plot planner where it crashes here and there since it has non-orthogonal values at some point when it should absolutely have them planned out to be correctly orthogonal. But, the PlotPlanner is a series of plots passed through a series of yield commands.  Specifically: Group, Shift, PPI, and Single all wrap the plot in order. So the input values are turned into single position plots, then ppi is applied to that, then shifts are made in that PPI if it reduces the amount of plotting a bit, then it's put into orthogonal/diagonal groups.
It crashes on rare occasions in Group() which might somehow be moving or failing to have flushed or something. And the group_dx and group_dy ends up greater than single step values. Though I've been over the code repeatedly without figuring out anything.
And the whole thing feels kind of complex when it's supposed to be general but very powerful. In theory you could replace the plot-planner in the driver with a different one since it's really reading the lasercode and the cutcode would create COMMAND_PLOT commands and COMMAND_PLOT_START commands so it might be somewhat general but I don't really see any other methods of doing this or to make the various parts less intermingled.

Can we have an Emergency Stutter Fix pane/button (like the Emergency Stop one) that turns this on until the laser is idle again?

If this is turned on while it's running, it should be able to do that in Config, and prevent the stuttering. I think it overrides the default setting in the Operation. Which is a distinction between the two settings. The one in operations is default, the one in Config overrides that regardless what value they have they will be forced to be turned on, which should quickly change the behavior. So both of them mean the same thing but the config one overrides whereas the one in operations just sets that value within that operation. Like if you wanted it for the raster, but didn't care for the vector stuff it would change it's setting accordingly.

Completed.


configure: remove a bash-ism in daemondo check

Using '==' with 'test' is not part of the POSIX shell specification, and 'dash' doesn't support it.

Should I merge this myself?

Thanks, good catch! Maybe we should even some automated check using shellcheck for such things?

Thanks, good catch! Maybe we should even some automated check using shellcheck for such things?

Well, a much easier test might be simply running dash ./configure on systems where it's available 🙂


Merge with current main

I wanted to test adaptive keys, but couldn't get your behavior to work with the current zmk main, so I merged with it and fixed the behavior (well, copy-pasted the changes from other behaviors made since the two branches diverged). Tested with my keyboard and it appears to be working.
Great job on the behavior BTW, can't wait to give a try :rocket:

Thanks klausweiss for the fix. Maybe it's worth raising a PR to the main ZMK repo instead?


Improve naming of decrypted key output

Currently when an encrypted key is run through the key_convert.sh script the out put appears to be <inputname w/o .pem>_decr.key.
For key names that include URLs, like prod.example.com.au.pem when they get decrypted through the script he output file only uses the first . delimited string of the name. In the example of prod.example.com.au.pem the output decrypted file is prod_decr.key.
This results in the tedious step of renaming the file that was just spat out of the script in order to avoid:

Overriding the file (in the case of many similiarly starting encrypted keys)
Loss of information otherwise stored in the name
Confusion in general

Solution
The key_convert script could more intelligently remove the last . delimited section of the incoming file rather than only selecting the first.

@mzball want to test new revision?


Integrate replays into the client

They look like this: http://prntscr.com/jgb81s

As much as I'm usually pro-stopgap, I really find server roundtrips distasteful here, so I'm closing. I promise to do this myself after the React rewrite, if you haven't figured it out by then.


Allow handling the handleTap event from a GlobalKey

We need to show the dropdown from a external widget equal to old versions

This is already applicable.
Starting from version 3.0.0-beta.13, instead of:
final dropdownKey = GlobalKey<DropdownButton2State>();

@override
Widget build(BuildContext context) {
  return Column(
    children:[
      DropdownButton2<String>(
        // Other properties...
        key: dropdownKey,
      );
      // Open the dropdown programmatically, like when another button is pressed:
      ElevatedButton(
        onTap: () => dropdownKey.currentState!.callTap(),
      ),
    ],
  );
}

do:
final openDropdownListenable = ValueNotifier<Object?>(null);

@override
Widget build(BuildContext context) {
  return Column(
    children:[
      DropdownButton2<String>(
        // Other properties...
        openDropdownListenable: openDropdownListenable,
      );
      // Open the dropdown programmatically, like when another button is pressed:
      ElevatedButton(
        onTap: () => openDropdownListenable.value = Object(),
      ),
    ],
  );
}

Hi, If I am not wrong, you can see here that the state class is private, on my PR I make It to public removing the underscore and make public the handleTab method too, the two are private on your current code,,
https://github.com/AhmedLSayed9/dropdown_button2/blob/master/packages/dropdown_button2/lib/src/dropdown_button2.dart#L396

Hi, If I am not wrong, you can see here that the state class is private, on my PR I make It to public removing the underscore and make public the handleTab method too, the two are private on your current code,,
https://github.com/AhmedLSayed9/dropdown_button2/blob/master/packages/dropdown_button2/lib/src/dropdown_button2.dart#L396

Yes, that's on purpose.
You don't need to call the callTap method anymore. just do:
final openDropdownListenable = ValueNotifier<Object?>(null);

@override
Widget build(BuildContext context) {
  return Column(
    children:[
      DropdownButton2<String>(
        // Other properties...
        openDropdownListenable: openDropdownListenable,
      );
      // Open the dropdown programmatically, like when another button is pressed:
      ElevatedButton(
        onTap: () => openDropdownListenable.value = Object(),
      ),
    ],
  );
}


Change CompareFn and BinaryBooleanFn to return Result<Option>

This lets declare they support the compute function, while later being able to reject it having seen the arguments.
This should help our compute nonimplementation script work better.
I prefer Result<Option> so we can continue to use ?

BinaryFn is not done


⚠ Bofrost.lu has degraded performance

In 9eaf3d7, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 834 ms

Resolved: Bofrost.lu performance has improved in 76e44a7 after 6 minutes.


Implement clear axes plt.cla() method

Hi,
I was thinking if there can be a method calling the clear axes method available in matplotlib:
import matplotlib.pyplot as plt

# Create a figure with two subplots
fig, axs = plt.subplots(2)

# Plot something on both subplots
axs[0].plot([1, 2, 3], [4, 5, 6])
axs[1].plot([1, 2, 3], [6, 5, 4])

# Clear the first subplot
axs[0].cla()

It would be helpful for clearing only the subplots that need updates.

Thank you so much!


Documentation

In this PR, I've added basic documentation that explains how to encode a categorical as well as how to create an ensemble estimator. I'm also documenting my plans for experimentation to illustrate when this methodology should be used.

Codecov Report

Merging #3 (148410e) into develop (b9e76d9) will increase coverage by 0.20%.
The diff coverage is 100.00%.

:exclamation: Current head 148410e differs from pull request most recent head 204011f. Consider uploading reports for the commit 204011f to get more accurate results

@@             Coverage Diff             @@
##           develop       #3      +/-   ##
===========================================
+ Coverage    97.60%   97.80%   +0.20%
===========================================
  Files            9        9
  Lines          417      455      +38
===========================================
+ Hits           407      445      +38
  Misses          10       10

Impacted Files
Coverage Δ

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

bayte/ensemble.py
96.36% <100.00%> (+1.55%)
:arrow_up:

tests/test_ensemble.py
100.00% <100.00%> (ø)

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 b9e76d9...204011f. Read the comment docs.


codeblocks: fix build

Things done:

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[x] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

More
Ref: https://github.com/NixOS/nixpkgs/issues/13559
Built on release branch.

Travis, helpful as ever:
The log length has exceeded the limit of 4 MB (this usually means that the test suite is raising the same exception over and over).


Addition of Code of Conduct

Description
I kindly request the inclusion of a code of conduct in the repository because it:

Promotes inclusivity and respect.
Defines acceptable behavior.
Encourages healthy collaboration.
Resolves conflicts effectively.
Protects contributors and maintainers.
Aligns with open source values.

Screenshots
No response
Additional information
No response

What's you contribution in this issue?
Github Provides Code of Conduct template you just have to add mail or name
I don't think there is a need of this
what you say @J0SAL


how to add a title to the generate MP4? [feature request]

I saw we could use SHGetPropertyStoreFromParsingName to add metadata to the recording, but can't figure how to actually code this. Any idea?

After writing to video file finishes, for example, in StopRecording function after Encoder_Stop(&gEncoder); call, you can add there following code to set custom title:
	IPropertyStore* PropStore;
	if (SUCCEEDED(SHGetPropertyStoreFromParsingName(gRecordingPath, NULL, GPS_READWRITE, &IID_IPropertyStore, &PropStore)))
	{
		PROPVARIANT Title = { .vt = VT_LPWSTR, .pwszVal = L"My Custom Video Title" };
		HR(IPropertyStore_SetValue(PropStore, &PKEY_Title, &Title));
		HR(IPropertyStore_Commit(PropStore));
		IPropertyStore_Release(PropStore);
	}

Add #include <propkey.h> on top.

@mmozeiko It seems limited to writing 255 characters. Do you know if there's a way to write longer text in the PROPVARIANT or is it a limitation of the MP4 metadata field?

Well, my dirty hack is just to append my text data to the MP4 file and my app is able to ready that back (it starts with a special text). I couldn't find any C library that I could easily use from the existing code.


Possible to force HTTP protocol everywhere?

Gem versions:
* devise (3.5.2)
* warden (1.2.3)
* rails (4.2.4)

Hey guys, I've tried figuring this out for some time so I am hoping for some help. I searched the issue tracker and couldn't seem to find this issue filed anywhere.
The issue is concerning how Devise redirects after the SessionsController#create method has fired. I am running my Rails app in QA mode, and I have force_ssl set to false.
I can load the standard devise sign in page on http without issue. However, once I enter a correct user/pass combination and submit the form, I see the following in the Rails log:
I, [2016-01-23T00:07:47.554424 #3790]  INFO -- : Started POST "/staffs/sign_in" for <IP_ADDRESS> at 2016-01-23 00:07:47 +0000
I, [2016-01-23T00:07:47.555696 #3790]  INFO -- : Processing by SessionsController#create as HTML
I, [2016-01-23T00:07:47.555767 #3790]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"RDhChv1N5SomM+T7xjIBUQILkNV11DwIK8lbXIjqQeagNA/Q8e7RKR7t8JA+cn5CO1QMTupfinZ3+tHtZc1ehg=="<EMAIL_ADDRESS>"password"=>"[FILTERED]"}, "commit"=>"Sign In"}
W, [2016-01-23T00:07:47.557442 #3790]  WARN -- : Can't verify CSRF token authenticity
I, [2016-01-23T00:07:47.742939 #3790]  INFO -- : Redirected to https://foo.testinglocal.com/acme/customers
I, [2016-01-23T00:07:47.744995 #3790]  INFO -- : Completed 302 Found in 189ms (ActiveRecord: 9.4ms)

The source of trouble is the 302 at the end - as you can see it is redirecting with https:// as the protocol. I have tried hooking in to after_sign_in_path_for but it's not clear to me that that's the right way to go.
What I am really looking for is a config option to tell devise "please always use http as the protocol". Is such a thing available/possible?
Thanks in advance!

I am still not sure how we can help. Unless you set force_ssl, http is supposed to be fine. Or you need to give us a way to reproduce or should stick to the mailing list/stack overflow for help.


Re-Remove this signal call that was mistakenly added in #36244

The original change was in #36340
Hopefully this is the last pull request regarding these signals :stuck_out_tongue:

The never-ending story :)

Thanks!


How to sign out/logout?

Please consider to add the step, how to log out such as from AAD.
https://social.msdn.microsoft.com/Forums/expression/en-US/17661111-c2d9-41ac-ab5b-df1cf7190585/websiteauthlogoutpath-since-novemeber-2015?forum=windowsazurewebsitespreview
The WEBSITE_AUTH_LOGOUT_PATH environment variable has been deprecated and isn't being added for newly configured web apps.  Instead, you can just created a hyperlink to "/.auth/logout".

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

ID: 75e17529-8b8a-1d67-f0e1-840d1d3ca990
Version Independent ID: 265645df-ef21-4631-1744-7014b3ee681a
Content: Authentication and authorization - Azure App Service
Content Source: articles/app-service/overview-authentication-authorization.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: mahender,cephalin

@KeiroKamioka0000 It's documented here: https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-how-to

#please-close


fix(playwright): Update transform.js to load presets using require.resolve

What problem does this PR address?
This PR addresses [Bug] Module resolution in transform.js #280
How does it solve the problem?
Updates transform module to use require.resolve in loading the presets.
Has this change been tested?
Yes.

I'll be closing this PR as this issue should be addressed in https://github.com/storybookjs/test-runner/releases/tag/v0.11.0, but let me know if you encounter any issues!


[Salsa] Expected completion list for "this." to contain global scope items for JS files

TypeScript Version:  nightly
Expected completion list for "this." to contain global scope items for JS files

Expected behavior:
Completion list should contain "window" and all other items that appear in the global scope.  This was the previous model in the JSLS.

Actual behavior:
No global scope items appear in the completion list

This is working as designed. Getting this type correctelly is a tricky task.