Room identifier grammar: Is the localpart allowed to be empty?

The spec says that room alias and group identifier's localparts must not be empty, but for room ids (and old-style event ids) this is not stated. Is !:matrix.org a valid room ID?

This could probably be a comment on https://github.com/matrix-org/matrix-doc/issues/667

Also MSC1597 which appears to be merged clarified this and said it can't be empty. Why hasn't it landed in the spec? https://github.com/matrix-org/matrix-doc/blob/rav/proposals/id_grammar/proposals/1597-id-grammar.md

MSC1597 is still sitting in the implementation-needed pile: https://github.com/matrix-org/matrix-doc/issues/1597

There are now both room IDs and room alias IDs with an empty localpart federated to matrix.org AFAIK. Looks like MSC1597 has to be closed (reverted?). I've allowed them in Ruma too.

@jplatte the state of #1597 has been changed to in review so I think it hasn't been agreed on. Also if something like that is accepted it would be like capitals in mxids, where a spec compliant implementation shouldn't make any more and the ones that exist have to continue to work.


Fix potential github action smells

Hey! 🙂
I want to contribute the following changes to your workflow:

Avoid executing  scheduled workflows on forks
Stop running workflows when there is a newer commit in branch

(These changes are part of a research Study at TU Delft looking at GitHub Action Smells. Find out more)

@dotnet-policy-service agree

@ceddy4395  thanks for the contribution.
@BillWagner  thanks for the quick review and suggestion.


Send Mail: New Template Collection Not Found

[READ] Step 1: Are you in the right place?
Issues filed here should be about bugs for a specific extension in this repository.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
To file a bug against the Firebase Extensions platform, or for an issue affecting multiple extensions, please reach out to
Firebase support directly.

[REQUIRED] Step 2: Describe your configuration

Extension name: firestore-send-email
Extension version: 0.1.3

[REQUIRED] Step 3: Describe the problem
I added a new template to an already working extension deployment, but it said the template did not exist even though the logs say it was loaded, causing it to error out. I had to redeploy the extension using the same configurations for the new data to be loaded. This is similar to what happened in #92
Steps to reproduce:

Have a working templates and mail collection
Add a new template after successful sends.
Reference new template in a new mail or update an old one to use it and change state to "RETRY"
When it fails, redeploy extension
Win

8:40:21.836 am | ext-firestore-send-email-processQueue | loaded template 'reset'
8:40:37.340 am | ext-firestore-send-email-processQueue | Function execution started
8:40:37.349 am | ext-firestore-send-email-processQueue | Started execution of extension with configuration { location: 'us-central1', mailCollection: 'mail', smtpConnectionUri: '', defaultFrom<EMAIL_ADDRESS>defaultReplyTo: undefined, usersCollection: 'users', templatesCollection: 'templates' }
8:40:37.468 am | ext-firestore-send-email-processQueue | Attempting delivery for message: mail/OagLhtDRXlslmCJJAxNa
8:40:37.468 am | ext-firestore-send-email-processQueue | Error when delivering message=mail/OagLhtDRXlslmCJJAxNa: Error: tried to render non-existent template 'reset'
Expected result
I expected the newly loaded template to be used without error
Actual result
Receive an error until I redeployed.

Thanks for the report, this seems like a bug. @Ehesp can you investigate?

@mbleigh seems to only happen when updating the document (and changing the status back to RETRY). I'm guessing there's a reason as to why the template code subscribes to the templates? Thinking logically, would it not make more sense to directly query the template collection and check if a document exists? Not sure if you did that to reduce the amount of queries though?

Yeah it's to reduce reads -- templates should change quite infrequently so it would be less optimal to trigger a read every time we're trying to send a message. In addition, since Handlebars templates have to be compiled before they're used, if we refetch the template every time and recompile it as well that might add up to non-trivial amounts of CPU time, especially if it's a large HTML template.
I'm wondering if we're hanging onto an outdated reference in the code somewhere and that's causing the issue...

Make sense to me, they're fair points.

I'm wondering if we're hanging onto an outdated reference in the code somewhere and that's causing the issue...

Yeah it seems so, we'll do some more digging. Cheers!

Hello @MichaelRShelton, I thought I had this bug reproduced on Friday evening. This morning, I've redeployed five different times. I've sent new emails & retried previously successful emails referencing freshly created templates, they've all been successfully delivered. The logic seems fine, and I'm at a loss at reproducing this error.  I was wondering whether you could dig through your logs and let me know if there are any errors leading up to the issue?
This comment in the similar issue makes me wonder if there is a bug with respect to the cloud function spinning up on a cold start.
Just to clarify, does it also happen repeatedly until you redeploy?

Closing during to inactivity, if this is still an issue for you please let us know. Thanks!

Is there an update on this? Just installed the extension and it is not finding my templates.

I am still experiencing this issue. Not being able to pin point exactly whats happening, because I was able to send out an email using template, but then adding few more, deleting, updating templates I constantly get "Error when delivering message=email/VmxqFR7bFIVo7EXi7DmG: Error: tried to render non-existent template 'default'", replace 'default' with few others I tested.
My template documents contain fields: name, html & subject.

I'm having the same issue.
Cloud Firestore path: Home/templates/template1
which contains two string fields, subject and html
I then add a template attribute to the document being added to the /mail collection.
      template: {
        name: 'template1',
        data: {
          x: y.z,
          a: b.c
        }
      }

I also made sure the extension is configured with the templatesCollection set to templates.
I keep getting the error: tried to render non-existent template

Below is an overview of this issue along with some potential solutions.
Why is this happening?
The extension currently only updates the templates from the defined collection when it is initialised.
if (config.templatesCollection) {
    templates = new Templates(
      admin.firestore().collection(config.templatesCollection)
    );
}

The reason this is only ran once is to reduce the number of reads from the database. For every sent email a read would have to occur for every template available which would occur additional costs.
Current solutions
If you see the error Error: tried to render non-existent template.
Updating or reinstalling the extension is recommended solution. Once reinstalled any newly defined templates will be available. Should any new templates be added after installation then you will need to repeat the re-installation.
Possible (longer term) solutions

We could listen to any writes on the templates collection, this would mean that the templates field in now a required and an additional function would be required to process when a template is added. (https://github.com/firebase/extensions/pull/709)

It shouldn't be the case that new templates and updates to existing templates aren't picked up automatically -- it uses an onSnapshot listener on the entire templates collection which should mean that new templates are picked up automatically.
We have seen that's not happening in practice, though.
I wonder about a fallback solution along the lines of: "If a template is requested and not found in the in-memory cache (even though it should be up to date in realtime), do a get() for that template to confirm its existence or not."
While this does add additional reads, it only does so for missing templates which should limit the over-reading to an edge case and might solve this bug entirely. WDYT?

@mbleigh I think your suggestion would be a better solution. I have updated the above description to match your comments. The only other solution suggested so far also includes reads, so a fallback solution would be good just for edge cases.
After more testing the issue does appear to be difficult to recreate.
What was curious was a delay in the logging of any updates (this was around a minute in some earlier scenarios). Could there a type of caching that could exist on function - it does seem a strange bug!
I'll draft up a PR for a fallback solution (and see if I can replicate the issue while doing so)


[sw/sca] Device-side changes for increasing capture rate

Our current capture rate (waveform rate) is too low for capturing 1M+ traces, which we routinely need for side-channel attacks. The main bottleneck seems to be host-device communication during captures. For capturing a single trace, three simple serial packets are exchanged over UART:

Plaintext (host -> device),
Ciphertext (device -> host), and
Acknowledgement (device -> host) (this one is easy to address and is removed in c8abbd2.)

Latencies (python <-> usb stack <-> cw-lite <-> OpenTitan) along with the low bandwidth of UART severely limits our capture rate, which is currently ~100 traces/s or ~10 ms/trace when using cw-lite. This figure goes up to only ~340 traces/s or ~3 ms/trace if we remove everything from the capture loop running on the host except for the host -> device plaintext packet, i.e. removing device -> host ciphertext packet reception as well as cw-lite -> host trace data transfer. This suggests that simply replacing cw-lite with a more powerful oscilloscope is not an effective approach.
On the other hand, oscilloscope measurements show that OpenTitan can perform an encryption every ~90 us. Adding the overhead of random plaintext generation using MT PRNG (using this to match the python code running on the host) increases this number to ~400 us per encryption (~2500 encryptions/sec). So, there is clearly room for improvement. Note that there are more efficient PRNGs that can bring this number down. I used MT just to be able to address this issue incrementally while keeping the host-side code relatively constant.
This PR aims to improve this situation by implementing support for batch encryptions where the host starts a batch encryption operation by setting the AES key, seeding the PRNG, and sending the number of encryptions. After this point, OpenTitan repeatedly encrypts random plaintexts that are generated on the device, completely eliminating the host-device communication overhead during captures. This approach is similar to the one discussed here but this PR generates plaintexts directly on OpenTitan as opposed to SAM3U on CW305.
I am aware that this is a rather big change but just dumping the PRNG implementation in aes_serial.c and modifying the surrounding code was not very sustainable. Since I'm pretty confident that this approach will allow us to utilize other oscilloscopes to their fullest potential, I thought it would be nice to refactor the current implementation to reduce our technical debt. This PR should make our lives much easier as we experiment with or add different PRNGs, new SCA targets, e.g. KMAC, or other modes of operation. In a nutshell, this change:

Moves all common SCA code, e.g. putting Ibex to sleep during captures, handling triggers, device initialization to a new library (sca),
Improves and moves simple serial code to a new library (simple_serial),
Adds a Mersenne Twister PRNG implementation (prng),
Adds two new simple serial commands (s (seed PRNG), b (batch encryption)) to be able to run batch encryptions.

I highly recommend reviewing this PR commit by commit. Please see below for descriptions of individual commits.
Remaining tasks are captured in #4971.

[sw/sca] Replace char with uint8_t for consistency
[sw/sca] Refactor and rename constants and params, cleanup some related code
[sw/sca] Refactor common sca code in preparation for a new library
This change refactors some device init and handling code that is expected to be shared between different SCA targets.
[sw/sca] Add side-channel analysis support library (sca)
This change introduces a library that provides various functionality that is expected to be shared across different SCA targets such as:

Peripheral initialization (pinmux, UART, GPIO, and timer),
Trigger handling,
IRQ handling, and
Sleeping during encryption operations.

[sw/sca] Refactor simple serial code in preparation for a new library
This change also cleans up the handlers for 'k' (set key) and 'p' (encrypt) commands.
Note: 'p' (encrypt) no longer sends a 'z' (status) packet after this change. The capture script in lowRISC/ot-sca must be updated to reflect this change.
[sw/sca] Add simple serial library
This change introduces a library that implements simple serial protocol version 1.1. This library provides:

A mechanism for registering command handlers,
A simple parser that parses incoming packets and dispatches them to the appropriate handlers,
A built-in handler for the 'v' (version) command, and
Functions to send arbitrary packets to the host.

[sw/sca] Add Mersenne Twister PRNG library to improve capture rate
This change introduces a Mersenne Twister PRNG that can be used to generate random plaintexts on the device. Generating random plaintexts on the device eliminates the overhead of sending them from the host and can significantly improve capture rate. The host must use the same PRNG to be able to compute the plaintext and the ciphertext of each trace.
[sw/sca] Add 's' (seed PRNG) simple serial command
[sw/sca] Add 'b' (batch encrypt) simple serial command to improve capture rate
This command is designed to maximize the capture rate for side-channel attacks. Instead of expecting a plaintext and sending the resulting ciphertext from and to the host for each encryption, this command repeatedly encrypts random plaintexts that are generated on the device.  This eliminates the overhead of UART communication and significantly improves the capture rate. The host must use the same PRNG to be able to compute the plaintext and the ciphertext of each trace.

Hey @alphan , this looks like great work, thanks for looking into this!

Thanks for the quick review @vogelpi!

I have done a first round of review and added some comments here and there, but nothing dramatic. I think we should discuss two main points:

In the SCA repository, we have the simple capture (which I think will get a massive speed up based on this PR) as well as the specialized capture for the mixed columns attack, where we need to enforce static values for some columns. Will this specialized capture still work with these changes?

I don't see a reason why this wouldn't work. I think we just need to add another simple serial command that generates plaintexts while keeping some of the bytes fixed. This should be much easier with the changes in this PR.

So far, we've always read back the ciphertext and did a comparison on the host side. Basically, this allows you to verify correct AES operation. Obviously, the aim of this PR is to improve the capture speed, not transferring ciphertexts is the price to pay. However, I think it would make sense to add a simple command to at least transfer back and forth + verify:

the first block after setting up the key or doing a PRNG reseed, and
the last block of the capture
This would be helpful to detect cases where something with the configuration went wrong. Or if the PRNGs got out of sync or something like that. It would be really really bad if we were to capture and analyze 10s of millions of traces without being able to recover the key (because host and device config didn't match) and then conclude that the implementation is safe. There should be something to prevent this from happening.

I agree. I actually had a "test batch encryption" command but didn't include it in this PR since the correct place to perform this check is a unit test (sca_prng_unittest.cc). That being said, this obviously does not cover problems that can occur at runtime. I thought about the case where the scope misses a trigger for some reason, but this would be reflected in the number of traces and can easily be detected by the host. My current plan is to simply send a r (ciphertext) packet from the device to the host for the last operation at the end of a batch encryption. If the ciphertext matches what the host expects, this should mean everything is in sync. WDYT?

Hey @alphan , this looks like great work, thanks for looking into this!

Thanks for the quick review @vogelpi!

I have done a first round of review and added some comments here and there, but nothing dramatic. I think we should discuss two main points:

In the SCA repository, we have the simple capture (which I think will get a massive speed up based on this PR) as well as the specialized capture for the mixed columns attack, where we need to enforce static values for some columns. Will this specialized capture still work with these changes?

I don't see a reason why this wouldn't work. I think we just need to add another simple serial command that generates plaintexts while keeping some of the bytes fixed. This should be much easier with the changes in this PR.

So far, we've always read back the ciphertext and did a comparison on the host side. Basically, this allows you to verify correct AES operation. Obviously, the aim of this PR is to improve the capture speed, not transferring ciphertexts is the price to pay. However, I think it would make sense to add a simple command to at least transfer back and forth + verify:

the first block after setting up the key or doing a PRNG reseed, and
the last block of the capture
This would be helpful to detect cases where something with the configuration went wrong. Or if the PRNGs got out of sync or something like that. It would be really really bad if we were to capture and analyze 10s of millions of traces without being able to recover the key (because host and device config didn't match) and then conclude that the implementation is safe. There should be something to prevent this from happening.

I agree. I actually had a "test batch encryption" command but didn't include it in this PR since the correct place to perform this check is a unit test (sca_prng_unittest.cc). That being said, this obviously does not cover problems that can occur at runtime. I thought about the case where the scope misses a trigger for some reason, but this would be reflected in the number of traces and can easily be detected by the host. My current plan is to simply send a r (ciphertext) packet from the device to the host for the last operation at the end of a batch encryption. If the ciphertext matches what the host expects, this should mean everything is in sync. WDYT?

Addressed some of @vogelpi's comments (rest are captured in #4971)
Fixed gcc build error (ignored return values).

Addressed some of @vogelpi's comments (rest are captured in #4971)
Fixed gcc build error (ignored return values).

I have done a first round of review and added some comments here and there, but nothing dramatic. I think we should discuss two main points:

In the SCA repository, we have the simple capture (which I think will get a massive speed up based on this PR) as well as the specialized capture for the mixed columns attack, where we need to enforce static values for some columns. Will this specialized capture still work with these changes?

I don't see a reason why this wouldn't work. I think we just need to add another simple serial command that generates plaintexts while keeping some of the bytes fixed. This should be much easier with the changes in this PR.

Did you try out the mixed columns cpa capture script with these changes already? If this PR breaks it, we should at least document it.

So far, we've always read back the ciphertext and did a comparison on the host side. Basically, this allows you to verify correct AES operation. Obviously, the aim of this PR is to improve the capture speed, not transferring ciphertexts is the price to pay. However, I think it would make sense to add a simple command to at least transfer back and forth + verify:

the first block after setting up the key or doing a PRNG reseed, and
the last block of the capture
This would be helpful to detect cases where something with the configuration went wrong. Or if the PRNGs got out of sync or something like that. It would be really really bad if we were to capture and analyze 10s of millions of traces without being able to recover the key (because host and device config didn't match) and then conclude that the implementation is safe. There should be something to prevent this from happening.

I agree. I actually had a "test batch encryption" command but didn't include it in this PR since the correct place to perform this check is a unit test (sca_prng_unittest.cc). That being said, this obviously does not cover problems that can occur at runtime. I thought about the case where the scope misses a trigger for some reason, but this would be reflected in the number of traces and can easily be detected by the host. My current plan is to simply send a r (ciphertext) packet from the device to the host for the last operation at the end of a batch encryption. If the ciphertext matches what the host expects, this should mean everything is in sync. WDYT?

This sounds good. Maybe the r packet can be inserted a bit more regularly, say after every 100k traces or so. Even with a higher capture speed, collecting several millions of traces just to find out at the end that something went wrong somewhere is a huge waste of time/effort.

I have done a first round of review and added some comments here and there, but nothing dramatic. I think we should discuss two main points:

In the SCA repository, we have the simple capture (which I think will get a massive speed up based on this PR) as well as the specialized capture for the mixed columns attack, where we need to enforce static values for some columns. Will this specialized capture still work with these changes?

I don't see a reason why this wouldn't work. I think we just need to add another simple serial command that generates plaintexts while keeping some of the bytes fixed. This should be much easier with the changes in this PR.

Did you try out the mixed columns cpa capture script with these changes already? If this PR breaks it, we should at least document it.

So far, we've always read back the ciphertext and did a comparison on the host side. Basically, this allows you to verify correct AES operation. Obviously, the aim of this PR is to improve the capture speed, not transferring ciphertexts is the price to pay. However, I think it would make sense to add a simple command to at least transfer back and forth + verify:

the first block after setting up the key or doing a PRNG reseed, and
the last block of the capture
This would be helpful to detect cases where something with the configuration went wrong. Or if the PRNGs got out of sync or something like that. It would be really really bad if we were to capture and analyze 10s of millions of traces without being able to recover the key (because host and device config didn't match) and then conclude that the implementation is safe. There should be something to prevent this from happening.

I agree. I actually had a "test batch encryption" command but didn't include it in this PR since the correct place to perform this check is a unit test (sca_prng_unittest.cc). That being said, this obviously does not cover problems that can occur at runtime. I thought about the case where the scope misses a trigger for some reason, but this would be reflected in the number of traces and can easily be detected by the host. My current plan is to simply send a r (ciphertext) packet from the device to the host for the last operation at the end of a batch encryption. If the ciphertext matches what the host expects, this should mean everything is in sync. WDYT?

This sounds good. Maybe the r packet can be inserted a bit more regularly, say after every 100k traces or so. Even with a higher capture speed, collecting several millions of traces just to find out at the end that something went wrong somewhere is a huge waste of time/effort.

Did you try out the mixed columns cpa capture script with these changes already? If this PR breaks it, we should at least document it.

Yes, it works except for we need to set ack=False in the call to cw.capture_trace in simple_capture_traces.py (mix_columns_capture.py uses the same code) once this change lands, because we won't send a z immediately after an r packet anymore as I mentioned in the PR (they are redundant). This will be in the PR that updates the aes_serial binary in ot-sca repo. My comments were about running batch encryptions for mixed columns capture as well. I can make sure both PRs land at the same time. I'll reach out to you if I run into any issues while generating the bitstream for CW305.

This sounds good. Maybe the r packet can be inserted a bit more regularly, say after every 100k traces or so. Even with a higher capture speed, collecting several millions of traces just to find out at the end that something went wrong somewhere is a huge waste of time/effort.

Just to clarify: each batch encryption command can capture at most 5000 traces (this is the max for waverunner, I don't know what this value will be for chipwhisperer), so this check will be done quite frequently.

Did you try out the mixed columns cpa capture script with these changes already? If this PR breaks it, we should at least document it.

Yes, it works except for we need to set ack=False in the call to cw.capture_trace in simple_capture_traces.py (mix_columns_capture.py uses the same code) once this change lands, because we won't send a z immediately after an r packet anymore as I mentioned in the PR (they are redundant). This will be in the PR that updates the aes_serial binary in ot-sca repo. My comments were about running batch encryptions for mixed columns capture as well. I can make sure both PRs land at the same time. I'll reach out to you if I run into any issues while generating the bitstream for CW305.

This sounds good. Maybe the r packet can be inserted a bit more regularly, say after every 100k traces or so. Even with a higher capture speed, collecting several millions of traces just to find out at the end that something went wrong somewhere is a huge waste of time/effort.

Just to clarify: each batch encryption command can capture at most 5000 traces (this is the max for waverunner, I don't know what this value will be for chipwhisperer), so this check will be done quite frequently.

Perfect, thanks @alphan for the clarification!

Perfect, thanks @alphan for the clarification!

Addressed remaining comments.
@asb and @vogelpi, can you take another look at the license header in prng.c and let me know if it looks OK? Thanks!

Addressed remaining comments.
@asb and @vogelpi, can you take another look at the license header in prng.c and let me know if it looks OK? Thanks!


Jenkins X has been added twice to the CII Best Practices badge program

There are two projects for Jenkins X for the CII Best Practices badge program. This is redundant and results in misleading information for users.
Cosmin Cojocar, a core contributor to the project, has completed the badge assessment for Jenkins X.
In addition, there has been another attempt at completing a badge assessment for Jenkins X, but it appears incomplete. Having 2 CII Best Practices 'Projects' related to Jenkins X results in confusing, even misleading information for users.
Could we remove the second, incomplete project that references Jenkins X: https://bestpractices.coreinfrastructure.org/en/projects/3213

Hi,
Usually we encourage resolving this kind of issue by asking one of the badge owner's to delete their project entry.
In this case:
3213 is owned by Harsh Vardhan @vharsh.
while, as you said:
Cosmin Cojocar @ccojocar owns 3237.
@vharsh, would you mind deleting your project entry in the badge app?

Hi @vharsh @jdossett, any updates for the new year?

@david-a-wheeler How do you think we should proceed? There has been no reply from @vharsh.  The badge entry created by @vharsh has not been updated since it was created on 2019-09-24.

This is totally weird. We have to allow multiple projects to have the same name, because that happens. E.g., Debian had a "git" OSS project before the rise of the version control software "git", which caused confusion for quite some time. But in this case we have two different badge entries for the exact same project, and there seems to be no reason for it.
So I think @MarckK is exactly right, we should remove project 3213 is owned by Harsh Vardhan @vharsh and retain 3237 owned by Cosmin Cojocar ( @ccojocar ).
That said, I've sent one last email to @vharsh explaining this plan, and let's wait until Monday January 13 to provide one last opportunity to respond. I don't expect anything to change between now & then, but deleting project entries is a big deal, and on principle I want to always provide an opportunity for others to respond.

@MarckK : Thanks for letting us know!!

@david-a-wheeler Thank you for your response. :)

I'm deleting project # 3213, as owned by Harsh Vardhan @vharsh. That way the only Jenkins project is # 3237, owned by Cosmin Cojocar @ccojocar .
This is very unusual; we usually only delete projects where there's been a demonstration of bad faith. But the original submitter seems to have disappeared, so this seems like the right thing to do.
In case anyone cares, for posterity here's the data from project # 3213 in JSON format.
{"id":3213,"user_id":1748,"name":"jx","description":"Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Jenkins, Tekton, Knative, Prow, Skaffold and Helm","homepage_url":"https://github.com/jenkins-x/jx","repo_url":"https://github.com/jenkins-x/jx","license":"Apache-2.0","homepage_url_status":"?","homepage_url_justification":null,"sites_https_status":"Met","sites_https_justification":"Given only https: URLs.","description_good_status":"?","description_good_justification":null,"interact_status":"?","interact_justification":null,"contribution_status":"Met","contribution_justification":"Non-trivial contribution file in repository: \u003chttps://github.com/jenkins-x/jx/blob/master/CONTRIBUTING.MD\u003e.","contribution_requirements_status":"?","contribution_requirements_justification":null,"license_location_status":"Met","license_location_justification":"Non-trivial license location file in repository: \u003chttps://github.com/jenkins-x/jx/blob/master/LICENSE\u003e.","floss_license_status":"Met","floss_license_justification":"The Apache-2.0 license is approved by the Open Source Initiative (OSI).","floss_license_osi_status":"Met","floss_license_osi_justification":"The Apache-2.0 license is approved by the Open Source Initiative (OSI).","documentation_basics_status":"Unmet","documentation_basics_justification":"// No documentation basics file(s) found.","documentation_interface_status":"?","documentation_interface_justification":null,"repo_public_status":"Met","repo_public_justification":"Repository on GitHub, which provides public git repositories with URLs.","repo_track_status":"Met","repo_track_justification":"Repository on GitHub, which uses git. git can track the changes, who made them, and when they were made.","repo_interim_status":"?","repo_interim_justification":null,"repo_distributed_status":"Met","repo_distributed_justification":"Repository on GitHub, which uses git. git is distributed.","version_unique_status":"?","version_unique_justification":null,"version_semver_status":"?","version_semver_justification":null,"version_tags_status":"?","version_tags_justification":null,"release_notes_status":"Unmet","release_notes_justification":"// No release notes file found.","release_notes_vulns_status":"?","release_notes_vulns_justification":null,"report_url_status":"?","report_url_justification":null,"report_tracker_status":"?","report_tracker_justification":null,"report_process_status":"?","report_process_justification":null,"report_responses_status":"?","report_responses_justification":null,"enhancement_responses_status":"?","enhancement_responses_justification":null,"report_archive_status":"?","report_archive_justification":null,"vulnerability_report_process_status":"?","vulnerability_report_process_justification":null,"vulnerability_report_private_status":"?","vulnerability_report_private_justification":null,"vulnerability_report_response_status":"?","vulnerability_report_response_justification":null,"build_status":"Met","build_justification":"Non-trivial build file in repository: \u003chttps://github.com/jenkins-x/jx/blob/master/Makefile\u003e.","build_common_tools_status":"Met","build_common_tools_justification":"Non-trivial build file in repository: \u003chttps://github.com/jenkins-x/jx/blob/master/Makefile\u003e.","build_floss_tools_status":"?","build_floss_tools_justification":null,"test_status":"?","test_justification":null,"test_invocation_status":"?","test_invocation_justification":null,"test_most_status":"?","test_most_justification":null,"test_policy_status":"?","test_policy_justification":null,"tests_are_added_status":"?","tests_are_added_justification":null,"tests_documented_added_status":"?","tests_documented_added_justification":null,"warnings_status":"?","warnings_justification":null,"warnings_fixed_status":"?","warnings_fixed_justification":null,"warnings_strict_status":"?","warnings_strict_justification":null,"know_secure_design_status":"?","know_secure_design_justification":null,"know_common_errors_status":"?","know_common_errors_justification":null,"crypto_published_status":"?","crypto_published_justification":null,"crypto_call_status":"?","crypto_call_justification":null,"crypto_floss_status":"?","crypto_floss_justification":null,"crypto_keylength_status":"?","crypto_keylength_justification":null,"crypto_working_status":"?","crypto_working_justification":null,"crypto_pfs_status":"?","crypto_pfs_justification":null,"crypto_password_storage_status":"?","crypto_password_storage_justification":null,"crypto_random_status":"?","crypto_random_justification":null,"delivery_mitm_status":"?","delivery_mitm_justification":null,"delivery_unsigned_status":"?","delivery_unsigned_justification":null,"vulnerabilities_fixed_60_days_status":"?","vulnerabilities_fixed_60_days_justification":null,"vulnerabilities_critical_fixed_status":"?","vulnerabilities_critical_fixed_justification":null,"static_analysis_status":"?","static_analysis_justification":null,"static_analysis_common_vulnerabilities_status":"?","static_analysis_common_vulnerabilities_justification":null,"static_analysis_fixed_status":"?","static_analysis_fixed_justification":null,"static_analysis_often_status":"?","static_analysis_often_justification":null,"dynamic_analysis_status":"?","dynamic_analysis_justification":null,"dynamic_analysis_unsafe_status":"?","dynamic_analysis_unsafe_justification":null,"dynamic_analysis_enable_assertions_status":"?","dynamic_analysis_enable_assertions_justification":null,"dynamic_analysis_fixed_status":"?","dynamic_analysis_fixed_justification":null,"general_comments":null,"created_at":"2019-09-24T06:31:03.145Z","updated_at":"2019-09-24T06:31:03.145Z","crypto_weaknesses_status":"?","crypto_weaknesses_justification":null,"test_continuous_integration_status":"?","test_continuous_integration_justification":null,"cpe":null,"discussion_status":"Met","discussion_justification":"GitHub supports discussions on issues and pull requests.","no_leaked_credentials_status":"?","no_leaked_credentials_justification":null,"english_status":"?","english_justification":null,"hardening_status":"?","hardening_justification":null,"crypto_used_network_status":"?","crypto_used_network_justification":null,"crypto_tls12_status":"?","crypto_tls12_justification":null,"crypto_certificate_verification_status":"?","crypto_certificate_verification_justification":null,"crypto_verification_private_status":"?","crypto_verification_private_justification":null,"hardened_site_status":"Met","hardened_site_justification":"Found all required security hardening headers.","installation_common_status":"?","installation_common_justification":null,"build_reproducible_status":"?","build_reproducible_justification":null,"badge_percentage_0":17,"achieved_passing_at":null,"lost_passing_at":null,"last_reminder_at":"2019-12-07T23:00:49.845Z","disabled_reminders":false,"implementation_languages":"Go, Shell, Groovy, Makefile, Perl, Java, Smarty, Ruby, Batchfile, Dockerfile","lock_version":1,"badge_percentage_1":0,"dco_status":"?","dco_justification":null,"governance_status":"?","governance_justification":null,"code_of_conduct_status":"?","code_of_conduct_justification":null,"roles_responsibilities_status":"?","roles_responsibilities_justification":null,"access_continuity_status":"?","access_continuity_justification":null,"bus_factor_status":"?","bus_factor_justification":null,"documentation_roadmap_status":"?","documentation_roadmap_justification":null,"documentation_architecture_status":"?","documentation_architecture_justification":null,"documentation_security_status":"?","documentation_security_justification":null,"documentation_quick_start_status":"?","documentation_quick_start_justification":null,"documentation_current_status":"?","documentation_current_justification":null,"documentation_achievements_status":"?","documentation_achievements_justification":null,"accessibility_best_practices_status":"?","accessibility_best_practices_justification":null,"internationalization_status":"?","internationalization_justification":null,"sites_password_security_status":"?","sites_password_security_justification":null,"maintenance_or_update_status":"?","maintenance_or_update_justification":null,"vulnerability_report_credit_status":"?","vulnerability_report_credit_justification":null,"vulnerability_response_process_status":"?","vulnerability_response_process_justification":null,"coding_standards_status":"?","coding_standards_justification":null,"coding_standards_enforced_status":"?","coding_standards_enforced_justification":null,"build_standard_variables_status":"?","build_standard_variables_justification":null,"build_preserve_debug_status":"?","build_preserve_debug_justification":null,"build_non_recursive_status":"?","build_non_recursive_justification":null,"build_repeatable_status":"?","build_repeatable_justification":null,"installation_standard_variables_status":"?","installation_standard_variables_justification":null,"installation_development_quick_status":"?","installation_development_quick_justification":null,"external_dependencies_status":"?","external_dependencies_justification":null,"dependency_monitoring_status":"?","dependency_monitoring_justification":null,"updateable_reused_components_status":"?","updateable_reused_components_justification":null,"interfaces_current_status":"?","interfaces_current_justification":null,"automated_integration_testing_status":"?","automated_integration_testing_justification":null,"regression_tests_added50_status":"?","regression_tests_added50_justification":null,"test_statement_coverage80_status":"?","test_statement_coverage80_justification":null,"test_policy_mandated_status":"?","test_policy_mandated_justification":null,"implement_secure_design_status":"?","implement_secure_design_justification":null,"input_validation_status":"?","input_validation_justification":null,"crypto_algorithm_agility_status":"?","crypto_algorithm_agility_justification":null,"crypto_credential_agility_status":"?","crypto_credential_agility_justification":null,"signed_releases_status":"?","signed_releases_justification":null,"version_tags_signed_status":"?","version_tags_signed_justification":null,"badge_percentage_2":4,"contributors_unassociated_status":"?","contributors_unassociated_justification":null,"copyright_per_file_status":"?","copyright_per_file_justification":null,"license_per_file_status":"?","license_per_file_justification":null,"small_tasks_status":"?","small_tasks_justification":null,"require_2FA_status":"?","require_2FA_justification":null,"secure_2FA_status":"?","secure_2FA_justification":null,"code_review_standards_status":"?","code_review_standards_justification":null,"two_person_review_status":"?","two_person_review_justification":null,"test_statement_coverage90_status":"?","test_statement_coverage90_justification":null,"test_branch_coverage80_status":"?","test_branch_coverage80_justification":null,"security_review_status":"?","security_review_justification":null,"assurance_case_status":"?","assurance_case_justification":null,"achieve_passing_status":"Unmet","achieve_passing_justification":null,"achieve_silver_status":"Unmet","achieve_silver_justification":null,"tiered_percentage":17,"repo_url_updated_at":null,"badge_level":"in_progress","additional_rights":[],"project_entry_attribution":"Please credit Harsh Vardhan and the CII Best Practices badge contributors.","project_entry_license":"CC-BY-3.0+"}

Project # 3213 deleted (using "DELETE FROM projects WHERE projects.id = 3213").
I'm closing this issue.
Thanks for the report!


Is there a way to sendReport   on onCrash callback?

I tried  swift code.
KSCrash.sharedInstance()?.onCrash = {
            $0?.pointee.addBooleanElement($0,"some_bool_value",false)
            KSCrash.sharedInstance()?.sendAllReports(completion: { (reports, isComplete, error) in
                if isComplete{
                    print("sucessed")
                }else{
                    print("failed")
                }
            })
}

but get error
2020-07-29 14:22:03.147465+0800 CrashDemo[13804:1587226] Fatal error: Index out of range: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1<IP_ADDRESS>/swift/stdlib/public/core/ContiguousArrayBuffer.swift, line 444
ERROR: KSCrashReportFixer.c (354): char *kscrf_fixupCrashReport(const char *): Could not decode report: Incomplete data
ERROR: KSCrashC.c (350): char *kscrash_readReport(int64_t): Failed to fixup report ID a0000000
ERROR: KSCrashReportFixer.c (354): char *kscrf_fixupCrashReport(const char *): Could not decode report: Incomplete data
ERROR: KSCrashC.c (350): char *kscrash_readReport(int64_t): Failed to fixup report ID c5800000
ERROR: KSCrashReportFixer.c (354): char *kscrf_fixupCrashReport(const char *): Could not decode report: Incomplete data
ERROR: KSCrashC.c (350): char *kscrash_readReport(int64_t): Failed to fixup report ID f4800000

I got https://github.com/kstenerud/KSCrash/issues/83 .

It's not designed that way, because sending a report would be async-unsafe, and could deadlock the process (your users would get a stuck app that they have to manually kill). This is why it's designed to only store the data on crash, and send on the next app startup.
https://man7.org/linux/man-pages/man7/signal-safety.7.html


[BUG 🐞] The project button on webpage redirects to the Repository list on GitHub

Description
Problem:
The "Project" button on the webpage redirects to the GitHub Repository list.
Solution:
Modify the redirection to direct users to the project section on the website.

I can do this

done can you check the pr?


Simplify vault token read

Description
Read vault token in the Init func instead of reading when sending requests.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #N/A
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs# Not need

@berndverst would appreciate a quick review also from you


Remove Cross Component References

I would appreciate some feedback about the ideas I mention below and some of the solutions the commits tied to this ticket propose.
The App/Controller Idea
Originally the MapView class was called something like DncApp and it's general purpose was to glue and setup things:

setup and bind components being used in DNC, like the map
setup component event listeners such as the FileReader handlers
it was a place for slim applciation logic, but not component specific stuff
it was also the hub where components could reference and talk with each other

When we decided that MapView felt like it was it's own component, things got shuffled around and some glue stuff didn't make sense to have in that class anymore.
I've noticed that some of the glue logic was moved out into L.DNC where it currently lives. My guess is that we can expect that glue to grow in the future. L.DNC really feels like a simple namespace object for things to hang off, but not it's own class. Maybe that's just me.
More importantly, another side effect of the refactor was the propagation of some patterns that I feel like we should avoid:

FileReader now reaches outside of it's scope globally to access other components here.
The TurfOperation also reaches outside of it's scope to add layers here.
Even more confusing, the FileReader component fires an event that it itself listens to here.

Proposal
It feels like we need a thing that does the glueing and setup again. This thing, lets call it a controller, would also hold component references so we don't force components that shouldn't know about each other to tightly reference each other.
What's Changed?

I removed all cross references except one, which I flagged as a possible removal later.
For lack of a better term ( i'm open to anything ), I called the controller AppController. See the class here.

Sorry for the delay on this one, was busy this past weekend! I'm in favor of this layout - though I was in favor of the last one as well so I think my opinion shouldn't hold too much weight here.
Just to keep my head straight, let me present a hypothetical scenario. If I want to add a "fileparsed" publication to a notification system that would subscribe to such events, would I add another line to the _addEventHandlers function with the following:
_addEventHandlers: function(){
    this.dropzone.fileReader.on( "fileparsed", this._createNotification.bind( this ) );
    // ... more handlers ...
} ,

and then add a new private handler function to deal with the notification information/type
// new notification handler that passes options into a create() function
_createNotification: function( e ) {
    this.notifications.create( stuff, anotherThing, etc );
} ,

??

@svmatthews -- yep, that's exactly right

Excellent. I think this is exactly what I was thinking about in my head but wasn't sure how to phrase it all. When we were talking about the pub/sub piece it seemed like there was something missing that ALL publications were sent to and all subscriptions listened to. This seems to properly handle that disconnect.
:+1: from me

More importantly, another side effect of the refactor was the propagation of some patterns that I feel like we should avoid:

FileReader now reaches outside of it's scope globally to access other components here.
The TurfOperation also reaches outside of it's scope to add layers here.
Even more confusing, the FileReader component fires an event that it itself listens to here.

Yeah, most/all of these were my bad.  The interlinking of dependencies felt wrong, I was pretty much shooting from the hip.  :+1: regarding these changes.
To further understand, in the scenario described by @svmatthews, the .on() tooling comes from L.Mixin.Events, correct?

@alukach: yep,  .on() and .off() and all the aliases for them are from L.Mixin.Events.
@alukach and @svmatthews:  when you guys come to a decision about this PR can you merge it in? I'm going to be on a beach for the next week.

Fine merging this. I think my head is tied a little tighter with this PR and will be able to cruise on some functionality after it is merged!

@thebigspoon is this going to be you next week? You ocean man, you.

Pulling the trigger on this one! :gun:


Add slice_along_seq to BatchDict

Codecov Report
Patch coverage is 100.00% of modified lines.

Files Changed
Coverage

src/redcat/batchdict.py
100.00%

:loudspeaker: Thoughts on this report? Let us know!.


Modules and Phasing

Issue #223.
This is not ready to be merged just yet but I’ve been making some good progress on getting proper phasing and module support working and wanted to give people a heads up on what is coming.
The approach I’m taking is heavily modeled after how Racket does it as described in Composable and Compilable Macros. This means:
Explicit Phasing
Import statements declare which phase they want to import into. So:
import { m } from 'm';  // bound for runtime
import { n } from 'n' for syntax;  // bound for compiletime
m;
n; // unbound
syntax s = function (ctx) {
	m; // unbound
	n;
	// ...
}

Multiple Instantiation
There is a tower of phases (a module that is import ... for syntax might have a import ... for syntax which might have a import ... for syntax which might have…) and a module is separately instantiated in each phase. This is implemented via node’s vm.runInContext.
Common Concerns
Unfortunately there are at least four different kinds of modules we need to support:

CommonJs modules (require and exports)
node compiled modules (.node)
ES2015 modules
Sweet modules (ES2015 with syntax definitions)

Obviously Sweet modules are the easiest to handle, just compile and then invoke or visit as appropriate. We can recognize Sweet modules with the #lang pragma and then use the standard pipeline.
Dealing with the other kinds of modules is more tricky.
ES2015 modules are conceptually straightforward (just compile like normal) but knowing that a file is ES2015 is complicated right now because the community hasn't settled on a standard way to do that. There is an ongoing node discussion where it sounds like they are converging on a file extension (sigh which is wrong, I think rollup got it right by using package.json, but whatever). Anyway, it's not settled yet.
The important one is commonjs since at the moment almost everything is commonjs. I think it is straightforward to just plop a commonjs module inside a vm.runInContext with hooks into the exports object but I haven’t tried yet.
I’m pretty sure we can’t do anything about .node compiled modules besides requireing them. This is probably fine?
/cc @elibarzilay @natefaubion

@disnet: One comment I have about this is that it might be good to consider some syntax that would be more uniform.  For example, something like
for_syntax import { n } from "n";

My point here is that it would be nice to avoid a situation where there is later some way to run code at the syntax level (eg, some begin_for_syntax), and then working hard to make sure that
begin_for_syntax import { n } from "n";
import { n } from "n" for syntax;

are both the same.

My point here is that it would be nice to avoid a situation where there is later some way to run code at the syntax level (eg, some begin_for_syntax), and then working hard to make sure that

begin_for_syntax import { n } from "n";
import { n } from "n" for syntax;

are both the same.

I don't think this makes sense. imports should always be at the top level of a module, not scoped under any hypothetical begin_for_syntax.
:+1: On the proposed syntax in the PR
I don't have much to add wrt to importing ES modules vs CommonJS. I think in old discussions we landed on package.json as well, but if that's not where the puck is going, then... shrug

@natefaubion (1) Yeah, Racket started with that assumption too, which is how it ended with the salad it has now.  (2) a begin_for_syntax is hypothetical of course (and the begin part makes no sense in JS), but the functionality is very much not so (it's essentially the RHS of a syntax definition).

So more to be done with modules and phasing but I think this PR is good enough for a checkpoint merge to build on top of. What I have now is not fully general; only modules that have a #lang pragma can be imported for syntax.
Left to do are integration with non-sweet ES2015 modules and legacy CommonJS modules.


Move jQuery to composer

Info here http://stackoverflow.com/questions/11663559/how-to-install-jquery-with-composer

ещё
https://packagist.org/packages/frameworks/jquery


Tests

Pretty minimal as these things go. Its been a while..  What do you think.

I think test-bindings.js needs to be renamed to something like test-core-bluetooth-bindings.js or moved to a mac folder, so other binding tests can be added later.
Other than that looks good.

Agreed. Id actually like to figure out a way to abstract these tests out for all bindings layers and make them a requirement somehow. I asked @phated for a good example of this and he mentioned LevelUp/LevelDown's abstract https://github.com/Level/abstract-leveldown

Theres really 2 sets of tests going on in here, one is testing the bindings interface to make sure that startScanning emits scanStart, etc. Another test is testing the native specific layer, so that if the native layer emits a peripheralDiscover event its properly transformed into a discover event. Maybe these should be pulled apart and the bindings interface shared

I still havent though of how exactly to implement the tests into the abstraction. In all the tests Id ideally like the bindings author to not even have control or access to the test or at least the final assertion. They should simply set up some internal state, and stub any functions they need to to make the proper hardcoded assertion fall out..

https://github.com/Level/memdown/blob/master/test.js#L8-L30

Yeah they dont do any stubbing or anything though. Feel free to show me
On Tue, Jul 19, 2016 at 4:08 PM, Blaine Bublitz<EMAIL_ADDRESS>wrote:

https://github.com/Level/memdown/blob/master/test.js#L8-L30
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sandeepmistry/noble/pull/431#issuecomment-233793450,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb0dJyoAEDCtNUomPbopJbbnjubjMB0ks5qXVjbgaJpZM4JOK2F
.

Aight Converted test-bindings-central  Not so sure about it yet.

I've started some tests for the HCI socket binding in the more-test branch based on the infrastructure @jacobrosenthal has created in the this PR for those that are interested.

converted the rest of the tests and brought them into react-native-ble. So far pattern seems solid.
Ive asked @monteslu to report any problems he finds with web ble. @sandeepmistry wanna keep going and see if anything else comes up with hci?

Please forward change to downstream fork:
#923


fix: the reaction codec crash

Fixes https://github.com/xmtp/xmtp-react-native/issues/107

Sorry, I never made a PR to update the docker-compose.yml for this repo. Would be something a lot like https://github.com/xmtp/xmtp-ios/pull/154


[Draft] feat: transaction search by events

Description
The following PR adds search functionality based on the event list.

Closed according to the discussion, the feature is not needed anymore


Create a separate deferredValidators property

This attribute should only run the validators after some fixed amount of time after the last target value change. The validators should not be run again until they've all resolved.

v2.4.0


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.hue

[ ] [E104] No common.title found in io-package.json

Thanks,
your automatic adapter checker.

Thanks, that all bugs have been fixed.


Introduce NAMED_ARGUMENT_OPERATOR_TYPE

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (10bdf19) to head (02987ce).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##                main      #302   +/-   ##
===========================================
  Coverage     100.00%   100.00%
- Complexity       733       737    +4
===========================================
  Files             64        64
  Lines           2286      2295    +9
===========================================
+ Hits            2286      2295    +9

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Cost API "too many requests"

While using the TRE, it will occasionally / frequently output a message banner at the top of the screen advising too many requests have been issues to the cost API service.

It happens during just normal use of the TRE and can be quite annoying.
Navigating back to the TRE home page, putting your mouse in the address bar and hitting enter normally resolves the issue for a while but it will always come back

Also frequently see this message!

me too. It makes no sense that we're being throttled like this, surely the TRE can't be making calls that often?
It would also be nice if the red 'X' were active, so I could close the error message and get rid of it.

@tim-allen-ck can we get this temp fix merged? I'm seeing lots of requests to costs, think is an issue with the UI somewhere refreshing the data too frequently.


python312Packages.pynetbox: 7.3.4 -> 7.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.pynetbox is: API client library for Netbox
meta.homepage for python312Packages.pynetbox is: https://github.com/netbox-community/pynetbox
meta.changelog for python312Packages.pynetbox is: https://github.com/netbox-community/pynetbox/releases/tag/v7.4.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 7.4.0 with grep in /nix/store/zb80w5ialqvxr2d1ihk0s5116rhcrgi4-python3.12-pynetbox-7.4.0
found 7.4.0 in filename of file in /nix/store/zb80w5ialqvxr2d1ihk0s5116rhcrgi4-python3.12-pynetbox-7.4.0

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

peering-manager
python311Packages.pynetbox
python312Packages.pynetbox

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zb80w5ialqvxr2d1ihk0s5116rhcrgi4-python3.12-pynetbox-7.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.pynetbox https://github.com/r-ryantm/nixpkgs/archive/9059a37d41fb5ffb2a0b7b1e01025a4761a175ef.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9059a37d41fb5ffb2a0b7b1e01025a4761a175ef#python312Packages.pynetbox

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zb80w5ialqvxr2d1ihk0s5116rhcrgi4-python3.12-pynetbox-7.4.0
ls -la /nix/store/zb80w5ialqvxr2d1ihk0s5116rhcrgi4-python3.12-pynetbox-7.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

5 packages built:

peering-manager
python311Packages.pynetbox
python311Packages.pynetbox.dist
python312Packages.pynetbox
python312Packages.pynetbox.dist

Maintainer pings
cc @mweinelt for testing.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 333250 at f5417608 run on aarch64-darwin 1

2 packages built successfully:

python311Packages.pynetbox
python312Packages.pynetbox


Update 'Contributing to Frontity' section

I've suggested some improvements and changes so that this page it's consistent with the other 'How to contribute' page of the docs.

Approved and merged!
Thanks @rmartinezduque


Set up GHA to perform builds

For now, this requires a custom version of XRootD from my branch/fork. I've opened a PR to merge these changes into Alja's fork/branch.
I'm inclined to say we should at least wait until Alja can review/merge my changes, then we should set up an action that pulls her branch for making sure everything builds.

Closed by #9


Warped biome For Enderman hunting

This is the code that will find a warped biome for enderman hunting. This is just the code for getting the biome. You will have to implement it in BeatMinecraft2 on your own.
I don't keep it loaded son, you'll have to find ammo as you go.

We already did this by looking for Nylium, thanks for helping out though

No worries. I pushed this right around the same time that you pushed yours. Figured it would help to have a different version to look at in case of any bugs. Glad we got this feature in :)
I would add a setting in settings though for how altoclef will get pearls. It should choose between trading and hunting in warped biome. @adrisj7


Custom port (libraqm): DLLs have no exports

I added a new port for libraqm here:
https://github.com/Microsoft/vcpkg/compare/master...tobbi:add_libraqm
It compiles and copies the files to the proper directories, however, when I try to install it, I keep getting these errors:
Import libs were not present in C:\Users\User\vcpkg\packages\libraqm_x64-windows\debug\lib
If this is intended, add the following line in the portfile:
    SET(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
Import libs were not present in C:\Users\User\vcpkg\packages\libraqm_x64-windows\lib
If this is intended, add the following line in the portfile:
    SET(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
The following DLLs have no exports:

    C:/Users/User/vcpkg/packages/libraqm_x64-windows/debug/bin/raqm.dll
    C:/Users/User/vcpkg/packages/libraqm_x64-windows/bin/raqm.dll

DLLs without any exports are likely a bug in the build script.
Found 3 error(s). Please correct the portfile:
    C:\Users\User\vcpkg\ports\libraqm\portfile.cmake
-- Performing post-build validation done
Error: Building package libraqm:x64-windows failed with: POST_BUILD_CHECKS_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: libraqm:x64-windows
  Vcpkg version: 2018.10.20-nohash

Additionally, attach any relevant sections from the log files above.

The source code of the library can be found here:
https://github.com/HOST-Oman/libraqm/tree/v0.5.0
This library depends on fribidi:
https://github.com/Microsoft/vcpkg/pull/4627
Any idea?

This probably means the library was not designed to be used as DLLs. Assuming that's the case, you can add
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

right below the include(common) line, which should fix this issue :)

Thanks! It seems like it built properly. One more thing that makes me wonder: Installing works fine now, but my custom FindRAQM.cmake script can't find the include paths:
Could NOT find RAQM (missing: RAQM_INCLUDE_DIRS)
This is the cmake module responsible for finding the include dirs: https://github.com/SuperTux/supertux/blob/master/mk/cmake/FindRAQM.cmake (is there anything wrong with that?)

Anyway, i'm gonna close this since the original issue is resolved. Thanks again :)


Enable switching to S3 blobstore

We would like to run kubecf with an external blobstore (S3). This patch enables this feature on demand.
It was necessary to use different images for eirini-staging, because the standard images don't trust the standard CA. We opened a PR for this.
Description

We used the standard ops file provided from cf-deployment to provide this feature.
Motivation and Context

Using the singleton-blobstore is not meant for production.
How Has This Been Tested?

We installed it manually with cf-operator and tested cf push dora
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code has security implications.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@mook-as Could you have a second look? I think @kramerul addressed the issues you found. Or is still something missing?

It's upstream + https://github.com/cloudfoundry-incubator/eirini-staging/pull/9
How would that be added to kubecf CI/CD?

@c0d1ngm0nk3y @loewenstein
sorry this didn't get merged after approval - can you rebase please? I can merge right after, and we can move on to #240

@viovanov
I think we are currently waiting for the Eirini team to work on https://www.pivotaltracker.com/story/show/169707308
The change @phil9909 proposed with https://github.com/cloudfoundry-incubator/eirini-staging/pull/9 would currently not merge with the work @alex-slynko and @georgethebeatle did in https://github.com/cloudfoundry-incubator/eirini-staging/commit/4c298819d2a4529b3fd9169d245e2069c1f954a7

Hi!
It looks like https://github.com/cloudfoundry-incubator/eirini-staging/pull/9 has been merged in the mean time; I guess all we need here is to rebase (to catch up to current master), and change the image back to the upstream one? I'm assuming there's an appropriate image since.
/cc @kramerul

Had a chat with @JulzDiverse on Slack.
The Eirini Team maintains a list of image shas, rather than tagging images (since after 0.3.0 apparently) as part of the Eirini Helm Chart. For versiom 1.2.0 the sha can be found here.
I am not sure how we verify the content, but I suppose kubecf should consume the images from Eirini 1.0, 1.1 or 1.2 (which is the currently used version?)

@qu1queee, this PR is quite old. Perhaps, it's better to use our fixes branch, which includes also this PR.
This branch is only 5 commits away from master. But I'm not really sure, if we are also enabling S3.

Included in #608


fix orderBy arguments

@jkempff, this should fix the orderBy arguments. Take a look at it! ;)
fixes #77

The code itself looks good, and it's working :)

Great, thanks! :) I will fix the tests and merge it today.

Very nice! And thank you for the fast responses!

@jkempff released: 5.0.3 ;)


Update Test-preview-for-monetized-apps.md

updated link

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/deploy-and-publish/appsource/prepare/Test-preview-for-monetized-apps.md
97
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Determine how to link dc:creator, dc:publisher into DBPedia

Example transformation: "William Burroughs" -> "http://dbpedia.org/resource/William_S._Burroughs"
Do this through lookup table? Dynamic query of some endpoint? Manual editing?


all: Update base images

flynn/busybox:trusty-20160217 was released after merging https://github.com/flynn/docker-busybox/pull/1.
I have not changed the slugrunner / slugbuilder base image references because they are built after cedarish, so will always use the latest cedarish as part of the build.

LGTM


record.getBoolean(columnName) fails while record.hasValue(columnName) succeeds in GenericRecord (version 0.7.0)

Description
I am encountering an issue with the GenericRecord interface from the com.clickhouse.client.api.query package in version 0.7.0. The method record.hasValue(columnName) returns true, indicating that the column has a value, but when I call record.getBoolean(columnName), it does not return the expected boolean value.
Steps to Reproduce

Execute the following generic query to retrieve a record from ClickHouse:SELECT EXISTS (
    SELECT *
    FROM {table_name}
    WHERE column_name = '{value_placeholder}'
);

if (record.hasValue(columnName)) {
boolean value = record.getBoolean(columnName); // This is where the issue occurs
}

Expected Behavior
record.getBoolean(columnName) should return the correct boolean value when record.hasValue(columnName) returns true.
Environment

ClickHouse Client version: 0.7.0
Java version: 17

Thank you for reporting, @dikshajoshi44 !
Will look into it.

Good day, @dikshajoshi44!
Is record.getBoolean() returns null or throws an exception? If exception - do you have a stack trace for that?
Thanks!

Good day, @dikshajoshi44 !
I have not reproduced the issue on latest version 0.7.1-patch1
I think, this is duplicate of https://github.com/ClickHouse/clickhouse-java/issues/1908
I'm closing the issue.


Page crashes when using multiple em tags

found out that the following text makes an infinte loop inside the package, which crashes the page:
n the Apple macOS operating system,.DS_Store is a file that stores custom attributes of its containing... the file desktop.ini in Microsoft Windows.... , on Mac OS X 10.4 "Tiger" and later, the ".DS_Store" files contain the Spotlight comments of the folder's... The complaints of many users prompted Apple to publish means to disable the creation of these files... upon reaching a (duplicate) .DS_Store file, forcing the user to restart the copy operation from the

tested here:
https://probablyup.com/markdown-to-jsx/

Running into this issue as well when generating some custom markdown with overrides, it seems to be getting hung up on us when running into an _ in a string and attempting to find a closing _. Our work involves having email addresses in the string being sent so the _ that is often used in an email was causing it to hang indefinitely.
There seems to be some recursive problem with the regex for the TEXT_EMPHASIZED_R expression. Would love to see this resolved, but in the meantime going to find a bit of a hacky way to escape our _'s with adding \\ in front of them (possibly) 😬 only adding that here in case it helps!

Similar issue to #396 and #433

Running into this issue as well when generating some custom markdown with overrides, it seems to be getting hung up on us when running into an _ in a string and attempting to find a closing _. Our work involves having email addresses in the string being sent so the _ that is often used in an email was causing it to hang indefinitely.
There seems to be some recursive problem with the regex for the TEXT_EMPHASIZED_R expression. Would love to see this resolved, but in the meantime going to find a bit of a hacky way to escape our _'s with adding \\ in front of them (possibly) 😬 only adding that here in case it helps!

I'm facing the same problem with this URL: https://produto.mercadolivre.com.br/MLB-3070230194-sensor-fase-comando-escape-gm-cruze-18-16v-11-15-original-_JM?matt_tool=63797002&matt_word=&matt_source=google&matt_campaign_id=14303357438&matt_ad_group_id=128472473000&matt_match_type=&matt_network=g&matt_device=c&matt_creative=539354515638&matt_keyword=&matt_ad_position=&matt_ad_type=pla&matt_merchant_id=505061605&matt_product_id=MLB3070230194&matt_product_partition_id=2267620816522&matt_target_id=pla-2267620816522&cq_src=google_ads&cq_cmp=14303357438&cq_net=g&cq_plt=gp&cq_med=pla&gad_source=1&gclid=CjwKCAjwps-zBhAiEiwALwsVYYaxWPLKA2SmMgd7QZBxmvK6y-BSKxPB6ZdW0NW-KSDrC-A4cqVpQhoCWJIQAvD_BwE
Replacing all underscores (_) by anything else solves the issue, but replacing is not a good option since the URL will not be the same anymore.


v3.5.3 ItemReorder does not work on Desktop firefox 54.0.1

Ionic version:
[x ] 3.5.3
I'm submitting a:
[x ] bug report
Current behavior:
When clicking and dragging an ion-item the item goes dark but does not move.
Expected behavior:
That you can click and drag an ion-item like you can in other browser. (click and drag via the hamburger)
Related code:
<ion-list  reorder="true" (ionItemReorder)="reorderPages($event)">
<ion-item-sliding *ngFor="let page of template.pages; let index = index">
   <button ion-item>
test
</button>
    <ion-item-options side="right">
        <button ion-button color="danger">
                            <ion-icon name="trash"></ion-icon>
                            Delete
         </button>
      </ion-item-options>
</ion-item-sliding>
<ion-item-sliding *ngFor="let page of template.pages; let index = index">
   <button ion-item>
test1
</button>
    <ion-item-options side="right">
        <button ion-button color="danger">
                            <ion-icon name="trash"></ion-icon>
                            Delete
         </button>
      </ion-item-options>
</ion-item-sliding>
</ion-list>

Ionic info:
global packages:

    @ionic/cli-utils : 1.5.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.5.0

local packages:

    @ionic/app-scripts              : 2.0.2
    @ionic/cli-plugin-cordova       : 1.4.1
    @ionic/cli-plugin-ionic-angular : 1.3.2
    Cordova Platforms               : android 5.2.2 browser 4.1.0 ios 4.2.1
    Ionic Framework                 : ionic-angular 3.5.3

System:

    Node       : v6.9.1
    OS         : Windows 10
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed
    npm        : 5.0.4

Hello! Thanks for using Ionic! Unfortunately i cannot reproduce this issue on my surface book running the latest version of firefox for windows. Can you try https://ionicframework.com/docs/api/components/item/ItemReorder/ and see if that works for you?

Hello, thanks for using Ionic. Because i cannot seem to reproduce this issue either in firefox for windows or Firefox for Android I am going to close this issue for now. Thanks for using Ionic!

The sample code from @jasekiw  doesn't work in Firefox 57.0.1 (Quantum) either.
While https://ionicframework.com/docs/api/components/item/ItemReorder/  does indeed work, it's not the same as the sample code from @jasekiw . It doesn't leverage an ion-item-sliding component, and ion-list reorder="true" is triggered by a button.


Set-PSReadLineKeyHandler -Key Ctrl+U not working

This stopped working when I upgraded from PowerShell 5.1 to PowerShell 7 (which consequently upgraded PSReadLine from 1.2 to 2.0.0)
Steps to reproduce
Set-PSReadLineKeyHandler -Key Ctrl+U -Function RevertLine

Expected behavior
ctrl+u reverts the line
Actual behavior
ctrl+u results in ^U
Environment data
Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

@gfody Please report the issue to PSReadline repo.


reuse the latest Error.prepareStackTrace instead of the original one

In our app, we change the Error.prepareStackTrace to suit our needs.
Once we started using Bristol, which is awesome by the way, we started to have erratic stack traces. Our debugging revealed that Bristol was replacing our method with the original one, leaving us with vanilla stack traces.
So, in order to use Bristol, we had to make that change. We'd be more than happy to keep using your version instead of our fork, if you make us the honour to include that change in the npm version.

Lovely addition! Thanks!


[Request] Improve distributed training performance

PyTorch minimizes throughput degradation by overlapping communication and computation in distributed training.
However, Betty currently performs computation first and then manually perform gradient synchronization, not using the computation-communication overlapping technique.
This is mainly due to the fact that hypergradient calculation oftentimes requires second-order gradient computation as well as multiple forward-backward propagations.
To improve distributed training performance we can:

make the use of PyTorch's native communication-computation overlap by replacing torch.autograd.grad with torch.autograd.backward
keep most computations in hypergradient calculation local, and perform gradient synchronization at the end once.

Done

Done


podman run not displaying output from commands

/kind bug
Description
When doing a podman run command that has a command at the end of it, the output from the container is not displayed on the calling terminal.  These commands were run as root.
Steps to reproduce the issue:

image=$(podman pull fedora)

podman run $image ls -alF /etc

Describe the results you received:
A slight pause and then a return to the command line prompt.
Describe the results you expected:
A listing of the container's /etc directory.
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
# podman version
Version:       0.8.3
Go Version:    go1.10.3
OS/Arch:       linux/amd64

Output of podman info:
# podman info
host:
  Conmon:
    package: podman-0.8.3-1.git9d09a4d.fc28.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 1.12.0-dev, commit: c72f69ce3f3fd7e46dced78dd99b67ab5441441e-dirty'
  MemFree:<PHONE_NUMBER>
  MemTotal:<PHONE_NUMBER>
  OCIRuntime:
    package: runc-1.0.0-46.dev.gitb4e2ecb.fc28.x86_64
    path: /usr/bin/runc
    version: 'runc version spec: 1.0.0'
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 1
  hostname: localhost.localdomain
  kernel: 4.17.14-202.fc28.x86_64
  os: linux
  uptime: 37m 46.07s
insecure registries:
  registries: []
registries:
  registries:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ContainerStore:
    number: 2
  GraphDriverName: overlay
  GraphOptions:
  - overlay.mountopt=nodev
  - overlay.override_kernel_check=true
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
  ImageStore:
    number: 1
  RunRoot: /var/run/containers/storage

Additional environment details (AWS, VirtualBox, physical, etc.):
Run as root on a VM running a fully updated Fedora 28 machine as of 8/20/18

From journalctl:
Aug 20 14:12:42 localhost.localdomain audit: NETFILTER_CFG table=filter family=2 entries=82
Aug 20 14:12:42 localhost.localdomain systemd[1]: Started libpod-conmon-f505ba4fcb8c9bc6b065708ab0a0e9cef65bf39992a9f20ccb0157fb69439d5e.scope.
Aug 20 14:12:42 localhost.localdomain systemd[1]: libcontainer-3629-systemd-test-default-dependencies.scope: Scope has no PIDs. Refusing.
Aug 20 14:12:42 localhost.localdomain systemd[1]: libcontainer-3629-systemd-test-default-dependencies.scope: Scope has no PIDs. Refusing.
Aug 20 14:12:42 localhost.localdomain systemd[1]: Created slice libcontainer_3629_systemd_test_default.slice.
Aug 20 14:12:42 localhost.localdomain systemd[1]: Removed slice libcontainer_3629_systemd_test_default.slice.
Aug 20 14:12:42 localhost.localdomain systemd[1]: Started libcontainer container f505ba4fcb8c9bc6b065708ab0a0e9cef65bf39992a9f20ccb0157fb69439d5e.
Aug 20 14:12:42 localhost.localdomain kernel: SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)
Aug 20 14:12:42 localhost.localdomain audit[3640]: AVC avc:  denied  { read write } for  pid=3640 comm="ls" path="/dev/null" dev="tmpfs" ino=68254 scontext=system_u:system_r:container_t:s0:c341,c746 tcontext=system_u:object_r:container_file_t:s0:c341,c746 tclass=chr_file permissive=0
Aug 20 14:12:42 localhost.localdomain audit[3640]: AVC avc:  denied  { map } for  pid=3640 comm="ls" path="/usr/bin/coreutils" dev="dm-0" ino=16963562 scontext=system_u:system_r:container_t:s0:c341,c746 tcontext=unconfined_u:object_r:var_lib_t:s0 tclass=file permissive=0
Aug 20 14:12:42 localhost.localdomain audit[3640]: ANOM_ABEND auid=0 uid=0 gid=0 ses=1 subj=system_u:system_r:container_t:s0:c341,c746 pid=3640 comm="ls" exe="/usr/bin/coreutils" sig=11 res=1
Aug 20 14:12:42 localhost.localdomain systemd[1]: libpod-f505ba4fcb8c9bc6b065708ab0a0e9cef65bf39992a9f20ccb0157fb69439d5e.scope: Consumed 26ms CPU time

Can't reproduce locally (fully-updated F28, Podman built from master), but those AVCs look suspicious. @rhatdan PTAL

with setenforce 0, works fine.  Wasn't reproducible on F27.

This is the container-selinux package did not install properly issue,
yum -y update container-selinux
or
yum -y reinstall container-selinux
restorcon -R -v /var/lib/containers
And you should be good to go.

FWIW,
dnf is telling me I'm up to date when I do dnf -y update container-selinux
# rpm -q container-selinux
container-selinux-2.69-1.git452b90d.fc28.noarch

After doing the dnf -y reinstall:
# rpm -q container-selinux
container-selinux-2.69-1.git452b90d.fc28.noarch

Which looks to be the same, I did the restorecon -R -v /var/lib/containers after the update command and still had issues.  However after doing the reinstall command then the restorecon a second time, it worked.
After doing all that, then the baseline tests worked too.
Is there anything we can do kit wise to keep this from happening?

Did this happen on a fresh system?

It happened on two clones and then to triple check I installed F28 from ico, installed docker, did a 'dnf -y update' then dnf -y install podman*.rpm.  It happened there as well.  That's what has me the most concerned is it seems to be happening on a newly installed machine.

so whats the result here? no longer a bug?

It is fixed in an update container-selinux package.


fix(federation): Add technical preview banner to subpages

Issue
https://gravitee.atlassian.net/browse/APIM-5251
Description

Additional context

📚  View the storybook of this branch here

The banner is temporary? If not we can maybe apply DRY

The banner is temporary? If not we can maybe apply DRY

yes, its temporary, to be removed.


[Basic] Fix the lifetime problems of utilities for creating temporary files and directories.

Replacing the TemporaryFile/TemporaryDirectory classes with withTemporaryFile/withTemporaryDirectory functions.
Using classes+deinit for resource management is problematic because the lifetime of classes is not guaranteed to be the lexical scope. Compiler optimizations may shrink the lifetime to the last use. One way to fix this is would be to make sure that the TemporaryFile class instances are referenced as long as the managed resource (= the file or directory) is in use. That could be done e.g. with stdlib's withExtendedLifetime function. But that would be cumbersome.
The better way to fix this is to change the ABI to a closure based approach (there are several examples for this in the swift stdlib, e.g. withExtendedLifetime). It does not only fix the lifetime problem, but also makes the lifetime it immediately visible in the source code. Also, it avoids the memory allocation for allocating the class instance.
This change is triggered by a new compiler optimization: https://github.com/apple/swift/pull/26803. With this optimization the temporary file in the ManifestLoader.parse() function would break.
Although it would be easy to workaround the problem just in ManifestLoader.parse(), I decided to do the right fix, which is more future prove.
Implementation note: I kept the TemporaryFile as a struct, because it contains several useful fields. It's passed as argument to the closure. In case of withTemporaryDirectory, only the directory path is relevant, which is now directly passed to the closure. So no need of a TemporaryDirectory struct.

@swift-ci please smoke test


chore: willboosterify this repo

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


Documentation

Some form of documentation would be helpful.
The usual methods from the PCLStorage library do not work in this.

I stand corrected, I have worked it out:
            var filesystem = new FileSystem();
            var rootFolder = filesystem.LocalStorage;
            var folder = rootFolder.CreateDirectoryAsync("myfolder", CollisionOption.OpenIfExists);

We currently do not actively maintain this project. I added the help wanted label, if you want to provide a PR with some documentation, we are happy to take a look.


Custom step

Extracted from https://github.com/iterative/dvclive/pull/142#pullrequestreview-738942719.

What is the intended use case for a custom step?
Should it overwrite existing values for the same step (it doesn't)?
Should results be ordered by write time or step (they are ordered by write time)?
Why set custom steps at the metric level with dvclive.log(step=n) since the step value should probably apply to all metrics?
If I log one metric and then set a different step for a second metric, which step number should be used for the first metric (it will have a different step in the tsv and the summary json)?

What is the intended use case for a custom step?

Intended use case was for situation when we log every n-steps, though I have to admit that providing it in log is unfortunate. We should have something that could scope whole step.

Maybe allowing to set the custom step at the next_step level would make more sense.

I wouldn't go this way, because it will make users introduce logic calculating the next step value in the current loop iteration, which might be error prone (eg user changes range args, but forgets to update next_step part).
The simplest way would be to create dvclive.set_step.
Another way to do that could be to create some kind of wrapper for generators (related #68), but in that case we could have problems determining what step actually is (eg wrapping range(10) is easy, but what about enumerate(range(10)).

In which scenario would a user want to call dvclive.log twice with the same custom step?

I can only think of an interactive scenario where I wrote the wrong step value and later want to correct it. Not a major concern.

The only scenario I can think of where time/step order differs would be if the user calls dvclive.log() with a step value lower than the previously used. Not sure if we should even allow that.

Good points. Again, not a major concern.

The simplest way would be to create dvclive.set_step.

Seems simple and effective. Probably better to go this way and give users control (the Python way) rather than figure out "correct" behavior for every scenario.


Second cut off sync icon on mobile

Below the regular sync icon, I can see another cut-off one. Is this intentional or a bug?

Hey, @hsiktas thanks for catching! This has been fixed in the latest release of the theme. Cheers!


how to  capture the event with jquery?

how to  capture the event with jquery?

I haven't used jQuery in a while, but I think one way that you could do it would be:
 $(window).on('fileUploadWithPreview:imagesAdded', function (e) {
      console.log(e.detail)
 });

The above would capture the Event.IMAGE_ADDED event. You can look at src/constants/events.ts to see the other available event strings.
If you search around a bit you should find some further methods around this - one improvement to the above code would be to attach the .on() handler to a parent div rather than the actual window.


Naïve Bayes Classifier implementation in C++ & Python

Is your feature request related to a problem? Please describe.

Naïve Bayes Classifier is a supervised learning algorithm based on Bayes theorem and used for solving classification problems.
It is called Naïve because it assumes that the occurrence of a certain feature is independent of the occurrence of other features.

Describe the solution you'd like
Implementation of Naïve Bayes Classifier in C++ & Python.

Assigned!
@Paritosh-J : C++ & Python

@Kumar-laxmi  Please Assign me this issue . I will do it in C++ and python


Coffee Bushes wont generate

I've looked through my world for a while now, and on the 1.20 version of this mod coffee bushes wont generate.

Are you sure you're searching in the right place? Coffee shrubs are only found in jungle biomes - not just any biome! I've checked myself and I was able to find coffee shrubs. Are you able to find coffee shrubs in jungle biomes?

Here's the seed I used: -3703175589083716388

alright, thank you. i was able to find some, theyre rather rare. ill have to see if this functiions with my modpack.


publish releases

Whenever you do get set up on sonatype, please publish a release of picture-show there so we can just use it like a normal conscript without having to build and publish-local. (picture-show is useful and pretty stable!)

It's about time too. This was one of the first scala projects I've ever worked on!


Potential improvement through avoiding DGL TensorDispatcher error

I encountered this error when running Equibind.
/opt/dgl/src/runtime/tensordispatch.cc:43: TensorDispatcher: dlopen failed: libtorch_cuda.so: cannot open shared object file: No such file or directory
According to this https://discuss.dgl.ai/t/error-tensordispatcher/2468 the error impacts performance but does not impact usage.  Equibind appears to run in spite of this error.  I thought you might want to take a look.
Ubuntu 18.04.6 LTS
Installed according to the readme with conda env create -f environment.yml

Thanks!
We are investigating this and will keep you updated in this issue.

I was able to reproduce it on one machine. With the error being thrown the training time was the same as without. I am pretty sure that this does not impact runtime here.
I am closing this issue but am happy about additional insights from anyone else!


encoding and decoding data, but not from a file?

Hi,
I'm wanting to use abracad with Apache Kafka, but it's not clear to me how to encode and decode in a way that isn't to a file.
I'd like to encode to and decode from the exact format that is produced by writing to a file with data-file-writer (i.e. binary encoded records with the schema included), but I'm not having any luck doing so.
It's also important to be able to specify a different schema on the reader side if necessary, to allow for schema evolution.
I did see #4, but encoding that way doesn't include the schema. Am I missing something here, or do I need to drop down into the Java implementation directly to do what I want?
thanks!

It depends!  At base Avro is a just collection of rules for data structures plus ways of encoding those structures.  The standard binary encoding is a compact encoding which assumes the decoder will have a copy of the schema available. Making the schema actually available is up to the application author. The standard "Avro data file" format is just a container format (itself actually a Avro record format!) which encapsulates both a schema (as JSON text) and structures encoded with that schema (in binary encoded format) with some details designed to make it easy to use with Hadoop MapReduce etc.
You have three basic options:

Use Avro data files as containers.  You can read/write data files against anything you adapt to the Avro  SeekableInput interface, including in-memory buffers.  The downside is that including the full schema as uncompressed text with each "message" if you aren't batching lots of Avro values together.  If you are so-batching then this is probably the easiest way to go.
Negotiate schemas out-of-band.  If your Avro values are going over some sort of communication channel which supports channel-level metadata, then you can just attach the writer schema to the channel.  This is the moral equivalent to what data files do for you under the hood.
Create your own compact per-value container.  This has come up a few times on the Avro ML etc, but has never seemed to produce anything official.  The basic idea is that you have some sort of schema repository, then you encode values as the pair of the (schema ID, actual value).  The "schema repository" could be as simple as in-code application-specific mapping, or an organization-wide network repository.  At Damballa we implemented something in-between we used to encode all HBase-stored Avro values, for which purpose I think it worked quite well.

I hope that helps!   But since I think your needs are out-of-scope for Abracad, I am closing this issue :-).  Feel free to re-open if I've misunderstood and there is something e.g. Java Avro does to solve your problem but Abracad does not expose from Clojure.

@llasram Thanks for getting back to me so fast!
I figured it out - I am new to Clojure and was not aware that slurp was assuming text, and there is no direct way to get it to read a file as binary without dipping into Java (AFAIK).
In case someone else runs into the same issue sometime, here's what I did:
I took this StackOverflow answer and used that instead:
(defn- slurp-bytes
  "Slurp the bytes from a slurpable thing"
  [x]
  (with-open [out (java.io.ByteArrayOutputStream.)]
    (clojure.java.io/copy (clojure.java.io/input-stream x) out)
    (.toByteArray out)))

(defn read-employee-str
  [employee-str]
  (let [schema (parse-schema-filepath "schema/mpd-simple.avsc")]
    (with-open [adf (avro/data-file-reader schema employee-str)]
      (doall (seq adf)))))

(read-employee-str (slurp-bytes "mpd.out"))


Support for activity parties while creating new activity type entities like email, appointment etc....

While creaing new appointment , the DRB Editor doesn't allow selection of appointment_activity_parties
Web API supports one to many relationship activity parties entities included in the web API call
see the example here
https://xrmdynamicscrm.wordpress.com/2020/06/18/dynamics-crm-365-web-api-add-required-peopleactivity-party-to-an-appointment/
{
	"scheduledstart": "2017-05-18T09:00:00Z",
	"scheduledend": "2017-05-18T09:30:00Z",
	"subject": "subject title",

	"appointment_activity_parties": [
		{
			"participationtypemask": 5,
<EMAIL_ADDRESS>"/contacts(xxxxxxx)"
		},
		{
			"participationtypemask": 5,
<EMAIL_ADDRESS>"/systemusers(xxxxx)"
		}
	]
}

similarly while creating new email activity the editor should allow the selection of activity parties like
https://community.dynamics.com/blogs/post/?postid=f324587f-6069-425c-85b9-df5f487a010b
https://www.cloudfronts.com/blog/d365-enterprise/d365-general/creating-an-email-activity-in-ms-crm-through-webapi/
{
    "description" : "Email Created",  ///Email Body
<EMAIL_ADDRESS>: "/accounts(69C38067-EDB7-E811-A961-000D3A363C81)",
    "subject" : "Test Email Creation",
    "email_activity_parties" : [
        {
<EMAIL_ADDRESS>: "/systemusers(CED2E02D-188E-4AA8-B6E2-D746E9B370C1)",
            "participationtypemask" : 1  ///From Email
        },
        {
<EMAIL_ADDRESS>: "/accounts(69C38067-EDB7-E811-A961-000D3A363C81)",
            "participationtypemask" : 2  ///To Email
        }]
}

Reference may be helpful
https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/reference/activityparty?view=dataverse-latest
https://learn.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/activityparty-entity?view=op-9-1

Hi @jatinnchhatbar,
the code you posted is to create 1:N relationship records when creating a new record, it applies to all relationships and not only activity parties (for example the same syntax can be applied when creating account and contacts together.
Adding this feature is not planned


What is the proper term to use for "IUPAC" codes?

Hi,
We are using using the IUPAC nucleotide codes in our database (eg. R, W, Y etc). What is the equivalent or correct term to use? Should it be "IUPAC_nucleotide_code" or something else?
Thanks,
Jeff

Hi Jeff,
Thank you for the suggestion. I understand why you are wondering what you should use here. Unfortunately, I do not know the best way to add something that is only a single base. If it is 'a', I can give the term the name of 'adenine'. However, if it is something like 'R' then I don't know what I should use. I do not want to use a single letter as the term name, but adding a term 'a_or_g' seems a bit odd.
If these are added, then I suggest we add them as children of SO:0001236 (base). The IUPAC documentation does not discriminate between RNA and DNA bases, so they do not need to be split up.
My biggest concern is choosing an appropriate name. I am going to close this issue request because it is over 2 years old and some of our submitters have little concern about the term after that amount of time. However, I think this is a valid concept to put in the SO so I will forward this idea to others in our group. If you are still working on these concepts, please feel free to reopen the issue.
Thanks,
Dave