Refactor operation tracker ctor and introduce custom percentiles

refactor ctor of both simple and adaptive operation tracker by
passing the router config and operation class. This allows operation
tracker itself to populate its parameters based on type of operation
class.
introduce custom percentiles of latency Histogram in adaptive
operation tracker. The percentiles are configurable and on-demand. User
can define arbitrary quantile like 91th percentile to better eveluate
the latency distribution.

Codecov Report

Merging #1159 into master will decrease coverage by 0.02%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #1159      +/-   ##
============================================
- Coverage     69.81%   69.79%   -0.03%
- Complexity     5312     5316       +4
============================================
  Files           420      420
  Lines         32547    32573      +26
  Branches       4139     4142       +3
============================================
+ Hits          22722    22733      +11
- Misses         8698     8707       +9
- Partials       1127     1133       +6

Impacted Files
Coverage Δ
Complexity Δ

.../java/com.github.ambry.router/DeleteOperation.java
92.19% <100%> (-1.42%)
47 <0> (-1)

...va/com.github.ambry.router/TtlUpdateOperation.java
87.67% <100%> (ø)
50 <0> (ø)
:arrow_down:

....github.ambry.router/AdaptiveOperationTracker.java
96.07% <100%> (+0.16%)
7 <0> (+1)
:arrow_up:

...om.github.ambry.router/SimpleOperationTracker.java
89.81% <100%> (-0.08%)
32 <18> (+3)

....github.ambry.router/NonBlockingRouterMetrics.java
93.39% <100%> (+0.5%)
40 <4> (+2)
:arrow_up:

...ain/java/com.github.ambry.router/GetOperation.java
97.05% <100%> (ø)
27 <0> (ø)
:arrow_down:

.../com.github.ambry.router/GetBlobInfoOperation.java
84.65% <100%> (ø)
40 <0> (ø)
:arrow_down:

...java/com.github.ambry.router/GetBlobOperation.java
91.65% <100%> (+0.01%)
38 <0> (ø)
:arrow_down:

...ain/java/com.github.ambry/config/RouterConfig.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

...ain/java/com.github.ambry.router/PutOperation.java
91.56% <100%> (+0.52%)
109 <0> (+2)
:arrow_up:

... and 9 more

Continue to review full report at Codecov.

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

./gradlew build && ./gradlew test succeeded. Reminder to review, thanks.

@zzmao or @cgtz Can one of you merge this?

Good to merge? @cgtz


Documentation follow up from HOSTEDCP-325

Contains additional documentation from HOSTEDCP-325 which were not been in https://github.com/openshift/hypershift/pull/1863.
Signed-off-by: Juan Manuel Parrilla Madrid<EMAIL_ADDRESS>What this PR does / why we need it:
Complements #HOSTEDCP-325
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[x] This change includes docs.
[ ] This change includes unit tests.

As I'm reading through this, I see several references to HyperShift. I believe the official name is hosted control planes. Is there a guideline about when "HyperShift" is correct and when "hosted control planes" is correct?

Hey @lahinson lets continue the conversation we had on https://github.com/openshift/hypershift/pull/1863#discussion_r1025472653

Hi @jparrill - I'm happy to review this from to ensure that it aligns with docs standards. Generally, I don't start to review content until any feedback from technical reviewers has been incorporated. Is it safe for me to start to take a look, or do you expect more reviews from other stakeholders?

Hi @jparrill - I'm happy to review this from to ensure that it aligns with docs standards. Generally, I don't start to review content until any feedback from technical reviewers has been incorporated. Is it safe for me to start to take a look, or do you expect more reviews from other stakeholders?

Hey Laura, I don't think that it's ready yet, so I will let you know when it's ready :). The first comment it was mostly as a reference to the work done in the other PR will not be lost.

Move the disaster recovery script from inline doc to an external script, and place it into the repo.


StartListeningAsync Method ignoring deferral properties

Version Number of Plugin: 4.2.0
Device Tested On: iPhone X
Simulator Tested On: iPhone X, 8, 7
Version of VS: VS 2017 for Mac
Version of Xamarin: <IP_ADDRESS>020
Steps to reproduce the Behavior
Implemented example code for StartListeningAsync method and added deferral details. Then ran on device and it works yet appears to ignore the deferral details as it hit my "PositionChanged" method about 500 times in 10 seconds
Expected Behavior
The deferral would occur to details provided. I don't care about the location change I just want it to get the location every 5-10 seconds and hit my "PositionChanged" method. I have also tried with the exact deferral details in the sample and it still appears to behave the same.
Actual Behavior
Hits "PositionChanged" method way more frequently than it should if deferral worked.
Code snippet
protected async Task StartListening()
        {
            if (CrossGeolocator.Current.IsListening)
                return;

            await CrossGeolocator.Current.StartListeningAsync(TimeSpan.FromSeconds(5), 10, true, new Plugin.Geolocator.Abstractions.ListenerSettings
            {
                ActivityType = ActivityType.AutomotiveNavigation,
                AllowBackgroundUpdates = true,
                PauseLocationUpdatesAutomatically = false,
                DeferLocationUpdates = true,
                DeferralDistanceMeters = 1,
                DeferralTime = TimeSpan.FromSeconds(10),
            });

            CrossGeolocator.Current.PositionChanged += Current_PositionChanged;
        }

I have same problem, please fix this.

Also having this problem. Without paying attention to minTime and minDistance in the declaration, iOS should use DeferLocationUpdates, which it ignores. This results in the PositionChanged event to fire almost constantly even with the most minor nudge of the phone. This is bogging down the thread and causing the app to eventually crash. This is a major bug that I'm hoping can be addressed soon. Thanks.

i have the same issue after investigating i found out that it can be a bug on apple (http://www.openradar.me/34994712). I set this manually to true, only the minDistance working. minTime has no effect.

Is there any news for fixing this bug ?

Looks like i do set it here:
manager.AllowDeferredLocationUpdatesUntil(listenerSettings.DeferralDistanceMeters == null ? CLLocationDistance.MaxDistance : listenerSettings.DeferralDistanceMeters.GetValueOrDefault(),
listenerSettings.DeferralTime == null ? CLLocationManager.MaxTimeInterval : listenerSettings.DeferralTime.GetValueOrDefault().TotalSeconds);
#endif

Unfortunately still happening, is there a work around? As of right now i just created a variable LastGpsPollTime and evaluate if 40 seconds has passed from that time, if it hasn't, return, if it has just set LastGpsPollTime to DateTime.Now and execute code.


Initial set of pretty badges

Signed-off-by: Chris Butler<EMAIL_ADDRESS>Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

This fixes an undiscovered issue where gen-oscal was not correctly updating off of the OSCAL repo. Due to some changes in the OSCAL repo structure there was some additional refactoring that was required.
Also: adds badges to the readme.

Happy to add more. I basically copy and pasted a few across.

Re-requested review as more substantial fixes were run.


.NET 7 support

May you migrate this project to .NET 7, please?
Thanks

Hello @novakv541,
thanks for the issue. May I ask you to add the information asked in the template? I know it seems boring, but the provided information would help us decide how to approach the issue.
The template is following:
### Motivation

Why is this feature required? What problems does it solve?

### Proposed solution

An ideal solution for the above problems.

### Additional context

Add any other context, screenshots, or reference links about the feature request here.

Linking related issues:

https://github.com/kontent-ai/model-generator-net/issues/174
https://github.com/kontent-ai/management-sdk-net/issues/230

Motivation
.NET 6 is missing functionalities that .NET 7 has (caching) that we want to use for our .NET based Kotnent.ai project.
Proposed solution
Upgrade to .NET 7.
Additional context
https://www.honlsoft.com/blog/2022-09-24-output-caching-in-asp-net-core

@Simply007 May I ask about your prioritization, please? We need to start developing ASAP.
Thanks

Motivation
.NET 6 is missing functionalities that .NET 7 has (caching) that we want to use for our .NET based Kotnent.ai project.
Proposed solution
Upgrade to .NET 7.
Additional context
https://www.honlsoft.com/blog/2022-09-24-output-caching-in-asp-net-core

Correct me if I am wrong, but you can create .NET 7 application and use .NET 6 targetted libraries.
I have just tested out .NET 7 MVC application using Delivery SDK as well as registering 2 first routes from the Caching article.  Everything is working just fine.
The compatibility should be OK by the official breaking change statement my MS.

Hi,
We've tested it also and confirmed that it's working.
Thanks


Replies to certain tweets

Hello, first of all thank you for this unique tool that solves the issues with twarc, tweepy. I was just wondering if anyone knows how to get replies to tweets with the given id. (Any ideas/Libraries I can turn to to implement that inside GetOldTweets3 would be really appreciated!)
Thank you in advance.
Edit: I realize that the person who raised an issue before me asked for a similar feature (But mine is concerned with getting replies to a tweet rather than a username)

Hi, @AbdullaRifai! Did you discover how to do this? Also, can you add the question label to this issue? Maybe that way it'll get more attention.
@Mottl could you help with this?

@Mottl appreciate if you could help with how to get replies to tweets with the given id, thanks


Actually use provided HTTP client when using Azure OpenAI

Description
There was a bug before that lead to a custom http_client (parameter in class AzureOpenAIEmbedding and AzureOpenAI) being ignored when using Azure OpenAI. By not passing on the provided http_client to the base class, its actual value was ignored and None was used instead (from the default paramaters).
The problem can be easily verified by the added unit tests (they fail without the included change to the source files, the http_client parameter is then missing in the call to openai).
This fixes the bug both for AzureOpenAIEmbedding as well as for AzureOpenAI.
Type of Change

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

How Has This Been Tested?

[x] Added new unit/integration tests
[x] I stared at the code and made sure it makes sense

@ChrisDelClea The updated version including the change should  already be available on PyPI:
[1] https://github.com/run-llama/llama_index/blob/main/CHANGELOG.md#0925---2024-01-03
[2] https://pypi.org/project/llama-index/0.9.25/


Sync not working - Windows

I can't get Google Sync to work on neither the AVX M101.0.4918.0 or the AVX2 M101.0.4921.0 Windows build.
After clicking the "Turn On Sync" button and entering my Google account details,
my account gets logged in into Google, but not the browser where it still says "Not Signed In"

@petar-staynov Even though this repo hosts the source code, you should put windows bugs in the windows repo or bugs on the avx2 build in that repo, not here.
Sync works for me, I'm using M101.0.4921.0.
Make sure to enable it by going into the settings and setting up sync, not after signing in on gmail or something.
If it still doesn't work, it is possible that I used my personal API Keys in this build by mistake, rather than the public ones I set up for Thorium. In this case, use another release, or make sure you are subscribed to this google group https://groups.google.com/u/1/a/chromium.org/g/google-browser-signin-testaccounts as per https://www.chromium.org/developers/how-tos/api-keys/
If, after this, Sync still doesn't work, then I dont know.

I made sure to try and set up sync from Settings, not from logging in any google site.
I tried 9th Release - M100.0.4888.0 and setting up Sync works correctly there.
Surprisingly after updating to 10th Release, Sync was still working.
I then updated to 2nd Release - M101.0.4921.0 - AVX2 and Sync still works.
It seems installing the 9th release and setting up sync there fixes the issue in the later builds.

@petar-staynov That is strange. Glad it worked for you. Can you try the portable M101.0.4921.0 .zip and run the thorium.bat in there and try sync in that with the fresh profile. Report if it doesn't work on that. You can just delete the folder after.

Sync works there too.
Maybe the issue I had was due to leftover files from previous Chromium installs.

@petar-staynov Ok closing this issue


Add status quo story about Alan trying to debug an app hang

I believe this captures the essence of #76 and may also touch on #75 a bit as some of that info could have been useful to Alan when trying to debug what's going on.

Looks great to me. Great jobs on all those nits you caught, @ibraheemdev !

@nikomatsakis Yeah, I think I have a few ideas. Working on it now 🛠

Thanks @Stupremee! I've updated the formatting to match.

This looks great. Thanks @wesleywiser


Implement transaction epilogue script

Transaction epilogue is a program which is executed at the end of a transaction (after note scripts and tx script are executed). The epilogue needs to accomplish the following tasks:

Compute hash of the final account state and put it on the stack.
a. If the initial and final account states are different, we also need to make sure that account nonce has been incremented by one.
Compute a sequential hash of script roots of all consumed notes and put the result onto the stack.
Compute a sequential hash of all created notes and put the result onto the stack.
Build a unified vault of all outputs (i.e., the final account state and created notes) and make sure it is equal to the unified input vault.
Ensure that the stack depth has been truncated to 16 elements.

Thus, by the end of the epilogue, stack state of the VM would look like this:

Computing account hash
Computing account hash should be fairly straightforward. The layout of account data in root context's memory is described in #14 - so, I won't go into in much detail here.
Computing consumed note script hash
Computing a sequential hash of script roots of all consumed notes should also be pretty straightforward. Consumed notes are laid out as described in #14, and we just need to read MAST roots for each consumed note (located at memory offset $n + 2$), and then absorb them into a hasher state.
The reason why we need to do this is to bind the sequence of executed note scripts with the appropriate note inputs/assets. Basically, to prevent the prover from executing a note script of one note against inputs/assets of another note.
Computing created note hash
To compute hash of all created notes, we first need to compute hashes of all individual notes, and then sequentially hash all the individual note hashes together.
As described in #14, the overall layout of root context's memory would look something like this:

Thus, created note data section would start at memory offset $r$. And data of individual notes could be laid out one after another in $1024$ address increments. Thus, data for note0 would start at $r$, data for note1 would start at $r + 1024$ etc. (the choice of $1024$ is somewhat arbitrary here). Note that we don't store the total number of created notes here because it is already stored in the bookkeeping section at address $2$ as described in #14.
Assuming $n$ is the memory offset of the $n$-th note, the layout of the note detail section could look as follows:

Memory address
Variable
Description

$n$
recipient
Note's recipient computed by hashing, the note's serial number, script hash, and input hash.

$n + 1$
num_assets
Number of assets contained in this note's vault.

$n + 2$
assets
A list of all note assets laid out one after another.

Here, each asset occupies 1 word, and thus the first asset in the note will be at address $n+2$, the second asset will be at address $n+3$  etc.
To compute a note's hash, we first need to compute the hash of the note's vault, and then compute hash(recipient, vault_hash). Then, once we have all individual note hashes, we can hash them sequentially to get a single commitment to all created notes. It also may be possible to interleave computation of note hashes and the overall commitment - but I'm not sure if this is going to be more efficient than doing it in stages.
Building a unified vault
This should be pretty simple: we can take the vault of the final account state and add all note assets to it one-by-one. This can be interleaved with computing vault hashes for the created notes as when we compute these hashes we need to place assets onto the stack anyway.

Transaction epilogue is a program which is executed at the end of a transaction (after note scripts and tx script are executed). The epilogue needs to accomplish the following tasks:

Compute hash of the final account state and put it on the stack.
a. If the initial and final account states are different, we also need to make sure that account nonce has been incremented by one.

Given recent conversations regarding nonce rules to allow for async transaction execution do we want to release this condition and instead ensure that is has increased but not necessarily by one?

Compute a sequential hash of script roots of all consumed notes and put the result onto the stack.

Computing consumed note script hash
Computing a sequential hash of script roots of all consumed notes should also be pretty straightforward. Consumed notes are laid out as described in #14, and we just need to read MAST roots for each consumed note (located at memory offset n+2), and then absorb them into a hasher state.

As part of the prologue we compute a sequential hash of all (nullifier, script root) pairs (which is also provided as a global input).  Do we need this as well?

The reason why we need to do this is to bind the sequence of executed note scripts with the appropriate note inputs/assets. Basically, to prevent the prover from executing a note script of one note against inputs/assets of another note.

I believe the assertions are already provided via the prologue / note setup script?
Do we need to make any modifications to support created note metadata?

Given recent conversations regarding nonce rules to allow for async transaction execution do we want to loosen this condition and instead ensure that is has increased but not necessarily by one?

Yes - let's do that.

As part of the prologue we compute a sequential hash of all (nullifier, script root) pairs (which is also provided as a global input). Do we need this as well?

No - this is no longer needed.

I believe the assertions are already provided via the prologue / note setup script?

Yes - no need to do this here again.

Do we need to make any modifications to support created note metadata?

Yes, stack state after epilogue is executed should look like this:
[final_acct_hash, created_notes_hash, ...]

Where created_notes_hash is a sequential hash of all (note_hash, note_meta) tuples of created notes.
I don't remember if we already have it, but note metadata would be populated by the prologue at the time when we verify that a note is in the note DB.
Overall, I'm imagining the data structure to look like this:

So, note hash and note metadata would be siblings in the note DB.

To confirm, am I correct in thinking that the created note vault hash is a sequential hash of the associated assets?  Is there a reason why this isn't computed at the time of note creation and is instead deferred to the epilogue?

Compute hash of the final account state and put it on the stack.
a. If the initial and final account states are different, we also need to make sure that account nonce has been incremented by one.

In what transaction scenarios would you expect the account hash to stay the same?
As we parse the consumed note commitment as a public input I don't think we will need to leave it on the stack at the end of execution?

In what transaction scenarios would you expect the account hash to stay the same?

One scenario I was thinking about was "relay" accounts which could be used to further hide the transaction graph. These accounts could consume and the produce the same exact note (minus transaction fees) - but the account state would not change. This way, the re-issued note would look like it came from the "relay" account rather than the original account.

As we parse the consumed note commitment as a public input I don't think we will need to leave it on the stack at the end of execution?

Correct - for consumed notes, the hash is provided via stack inputs. For created notes, the hash would be returned via stack outputs.

One scenario I was thinking about was "relay" accounts which could be used to further hide the transaction graph. These accounts could consume and the produce the same exact note (minus transaction fees) - but the account state would not change. This way, the re-issued note would look like it came from the "relay" account rather than the original account.

I'm guessing this would be useful if a user wants to consume a note via a network transaction whilst hiding the connection with the initial account that produced the note?
What is the benefit of not incrementing the nonce in this scenario? I guess it would allow for more asynchronicity.  One question is whether we should enshrine nonce rules into the kerenel / protocol or if they should be applied at the account / wallet level.

I'm guessing this would be useful if a user wants to consume a note via a network transaction whilst hiding the connection with the initial account that produced the note?

Could be useful for both network and local transactions as it basically hides sender from the recipient.
What is the benefit of not incrementing the nonce in this scenario?
If the state doesn't change, many users can execute transactions agains the same account concurrently. This means that, for example, there needs to be just a single "relay" account and everyone can use it. If we do increment a nonce, there are going to be synchronization issues - i.e., if you and I try to use the same account at the same time, our transactions would conflict with each other (as we may try to increment the nonce to the same value).

Closed by #65


Python prelude module

Closes #711
This PR addresses comments left in the issue.
The conventional library import would be:
import opendp.prelude as dp

I'm not placing these imports in the __init__.py because adding a new module...

gives more flexibility to preserve module structure but shorten names

I think we should keep module distinctions for transformations, measurements and combinators
The prelude makes these available under t, m, c respectively: dp.t.make_clamp(...)

doesn't pollute the opendp namespace

smartnoise and the higher-level api both want entries in the opendp namespace

The name of the new module is prelude because...

"prelude" is already a common name for when you want to shorten imports
It implies that imports under this path are aliases, not a separate copy of the code

For example, naming it core or base might give the wrong impression

Current dependencies on/for this PR:

main

PR #730   👈

This comment was auto-generated by Graphite.


Use of AWS_SHARED_CREDENTIALS_FILE environment variable for AWS.Share…

Use of AWS_SHARED_CREDENTIALS_FILE environment variable for AWS.SharedIniFileCredentials
Setting the filename to use when loading credentials: use of AWS_SHARED_CREDENTIALS_FILE environment variable (see also 'The Shared Credentials File' http://docs.aws.amazon.com/cli/latest/topic/config-vars.html)

Thanks!


Allow syncing of assets between environments

The idea is that a new job in the env-sync-and-backup repo will SSH onto a production machine and use the aws s3 sync command line tool to perform a nightly sync of the production assets S3 bucket to the staging & integration assets S3 buckets.

Adds a new IAM user to the Asset Manager project in the production environment with minimal read access to the production assets S3 bucket and minimal write access to the staging & integration assets S3 buckets.

Adds a bucket policy to the staging & integration assets S3 buckets to allow minimal write access to the new production IAM user mentioned above.

Note that, because each Terraform environment has its own separate AWS account, we need to pass in the AWS account ID as a Terraform variable, production_aws_account_id, in order to be able to construct the bucket policy mentioned above.

Note also that we will need to generate credentials for the new IAM user (govuk-assets-production-env-sync-user) and make them available in the secret hieradata as:

govuk::apps::asset_env_sync::aws_access_key_id
govuk::apps::asset_env_sync::aws_secret_access_key

See alphagov/asset-manager#145 for more details.
I tested this as follows:

Use the asset-manager project in this repo to apply the integration environment state from the master branch to AWS account 1 from scratch
Use the asset-manager project in this repo to apply the changes in the integration environment state from the allow-syncing-of-assets-between-environments branch to AWS account 1
Use the asset-manager project in this repo to apply the production environment state from the master branch to AWS account 2 from scratch
Use the asset-manager project in this repo to apply the changes in the production environment state from the allow-syncing-of-assets-between-environments branch to AWS account 2
Add credentials to the new IAM user, govuk-assets-production-env-sync-user
Use those credentials to run the following AWS CLI command aws s3 sync --delete s3://<production-bucket-name> s3://<integration-bucket-name>
Check that objects added/renamed/removed to/in/from the production bucket are added/renamed/removed to/in/from the integration bucket when the sync command is run

Note that the S3 object data is transferred directly between the buckets - it is not downloaded to the host where the sync command is run and then uploaded to the other bucket.
See alphagov/govuk-puppet#6763 for the related changes to the Puppet configuration.
See alphagov/env-sync-and-backup#34 for the related changes to the environment syncing repo.
/cc @danielroseman, @stephenharker

Does this need to happen under the env-sync-and-backup tool? This is something we're looking to remove in the future as soon as we can. Ideally sync tasks should run independently and not rely on Jenkins (in my opinion).
What is the requirement to have a user SSH to the machines to run this task? It would be preferable to set up an automated task, such as a cron job.
Equally if there is a way to move the logic outside of the instances themselves, such as syncing objects between buckets on demand using lambda, that would also be preferable.
Where possible, we're trying to move away logic from running on instances and onto native provided services (where sensible).

@surminus:
Thanks for your feedback.
We added this to the env-sync-and-backup repo, because that seems to be where all the existing similar jobs are defined. We think that putting it somewhere else would, in the short-term, make the system more complicated and would involve making a bunch of decisions about what patterns to adopt. This would hold up our work on migrating all assets to Asset Manager and S3.
Our preference would be to make these changes as a first step; we'd be more than happy to help move this job somewhere else when the other ones are moved. Similarly the reason to SSH onto the machines and to use the AWS CLI tool (vs AWS Lambda, etc) is to keep the job as similar as possible to the other jobs.
We're definitely sympathetic to wanting to move to cloud-native solutions - this is why we chose to use S3 cross-region replication for the "off-site" backup of assets. But in this case, there didn't seem to be an obvious candidate solution and we wanted to keep our focus on our main objectives of moving all asset management to the Asset Manager and all assets onto S3.

Fair enough, do not let my comments stop you merging changes in all repositories where this is added. I understand you've had previous guidance on this which I was not aware of.

@surminus: Thanks 👍

Here's an attempt at explaining how to apply these changes:
Integration

[ ] Plan & apply the asset-manager project in integration supplying the production_aws_account_id  Terraform variable (either as an env var or when prompted).
[ ] Confirm that a policy is added to the govuk-assets-integration S3 bucket to allow "write" access by the govuk-assets-production-user IAM user which exists in the production AWS account.

Staging

[ ] Plan & apply the asset-manager project in staging supplying the production_aws_account_id  Terraform variable (either as an env var or when prompted).
[ ] Confirm that a policy is added to the govuk-assets-staging S3 bucket to allow "write" access by the govuk-assets-production-user IAM user which exists in the production AWS account.

Production

[ ] Plan & apply the asset-manager project in production supplying the production_aws_account_id  Terraform variable (either as an env var or when prompted).
[ ] Confirm that a new IAM user govuk-assets-production-env-sync-user is created.
[ ] Confirm that a policy is added to this user to allow "read" access to the govuk-assets-production S3 bucket and "write" access to the govuk-assets-integration & govuk-assets-staging S3 buckets.
[ ] Create credentials for the new IAM user govuk-assets-production-env-sync-user and set them in the secrets repo:

govuk::apps::asset_env_sync::aws_access_key_id
govuk::apps::asset_env_sync::aws_secret_access_key

I've just opened https://github.com/alphagov/govuk-puppet/pull/6774 which updates the "Deploy_Terraform_Project" Jenkins job to supply the new production_aws_account_id Terraform variable as an environment variable, TF_VAR_production_aws_account_id. I'm going to update the instructions in my previous comment accordingly.

https://github.com/alphagov/govuk-puppet/pull/6774 has now been merged, although the automatic deployment to integration seems to have failed for some unknown reason.

https://github.com/alphagov/govuk-puppet/pull/6763 has now been deployed & applied in integration, staging & production.


Errors in rest.go

I suspect this repo hasn't been updated for awhile...
~ go build
# _/home/u/localhost/var/www/lxd
./rest.go:175: not enough arguments in call to lxdDaemon.Init
./rest.go:458: not enough arguments in call to shared.ReaderToChannel

I've been building it against the stable-2.0 LXD branch mostly which hasn't changed API recently.
But yeah, it should be updated for the current LXD API I guess.


Guard against nil or empty variable values when interpolating.

Such values are essentially always symptoms of a bug, and will lead to bogus request paths.

This change is

hubkit.js line 551 at r1 (raw file):
Previously, snoack (Sebastian Noack) wrote…
That's a good example where the path segment may be empty. If it's not at the end I suppose the URL would look odd, but maybe it's safest to just leave empty string values alone.

I think if it's not at the end it would produce an invalid URL at best, or one that may be misinterpreted at worst if GitHub just collapses consecutive slashes.

hubkit.js line 551 at r1 (raw file):
Previously, pkaminski (Piotr Kaminski) wrote…
I think if it's not at the end it would produce an invalid URL at best, or one that may be misinterpreted at worst if GitHub just collapses consecutive slashes.

Changed to specifically look for double slashes and try to produce the most helpful error possible -- PTAL.

hubkit.js line 551 at r1 (raw file):
Previously, snoack (Sebastian Noack) wrote…
Having two consecutive slashes in a URL doesn't make it invalid. I'd expect that GitHub would treat an empty string here (if not allowed) similar to any other unexpected value. Personally, I would just leave it to GitHub to respond with the corresponding error.

Yeah, OK -- this is getting too fiddly.  Reverted, PTAL.


Is there a way to re-render Column header?

hello!
I have a fixed data table, and am trying to add column sorting when a user clicks on a column header. I am using the headerRenderer property of Column to pass in a custom header rendering function. Within this function, I have an onClick handler on my header virtual element that tries to setState to re-render the view. However, the  methods I passed into headerRenderer are not re-triggering.
Is there anyway for me to get the Column headers to re-render after a call to setState?
Thanks!

@rovolution I created this example yesterday which shows how you can implement sorting which should help http://jsbin.com/temufa/10/edit?html,js,output
After not seeing to much detail my guess as to your problem is that the data your updating via setState is not being returned from the headerDataGetter and so the headerRenderer doesn't see the data has changed and doesn't update.

thank you for the example @pieterv! I see that you are using the label property to get the arrow icon, which makes sense.

Yes it was just simpler that way for this example but you can also pass more complex data via headerDataGetter, just remember if you want the cell to render the data returned needs to change :)

cool yea just figured out how headerDataGetter works and that addressed my issue. thanks!

@rovolution  Could you please provide an example how you solved the issue?
I implemented custom headerDataGetter which return plain object. No matter what, header cell is not re-rendered, until one special case:
// Not re-rendered
colProps.headerRenderer = this.renderHeaderSortingControls;

// Re-rendered
colProps.headerRenderer = () => {
    return this.renderHeaderSortingControls.apply(this, arguments);
};

But there are cases I would like to simply add a class to the header cell instead of content. Any suggestions for this use case?

You can specify cellClassName property on Column.
var columns = [
  // ...
  {
    label: 'Buy',
    cellClassName: 'buy-column',
    // ....
  },
  // ...
];

Then, you can query this cell in header with simple selector, in this case with .public_fixedDataTable_header .buy-column

We can render any data on header of table simply by the headerRenderer props of Column like as below:
headerRenderer={(value) => This is your text.....}


Issues with Amazon.de and<EMAIL_ADDRESS>

Hi,
Integrations works, but it finds not exactly everythink from the german market.
Hassio finds the "Amazon - Delivery Mail" after I added  in cost.py:
AMAZON_DELIVERED_SUBJECT = ["Delivered: Your", "Consegna effettuata:", "Geliefert:"]
On was delivered today. Thats correct.

There are a lot of more packets on the way right now. They are not found.

The DHL Mail is not found.

I also added the Email Subject in cost.py with no succes.
Thanks for your great work!!! :)
Kind regards!

That's because for DHL we're looking for "paket kommt heute" did DHL send you that version of the email?

No.
"Paket kommt heute" means "package will come today".
That Mail where I take a screenshot from means "Estimated delivery" with an estimated delivery date in it.

We're not looking for estimated delivery only that it's coming "today".

Oh ok, how you deal with Amazon.de
Same as DHL?

All shippers are only counted for the "today" count. Amazon's a little different since they use multiple shippers.

Whats about that Issue:
Hassio finds the "Amazon - Delivery Mail" after I added  in cost.py:
AMAZON_DELIVERED_SUBJECT = ["Delivered: Your", "Consegna effettuata:", "Geliefert:"]
On was delivered today. Thats correct.

There are a lot of more packets on the way right now. They are not found.

We don't parse date ranges. The delivered email we can parse, I'll make a PR to add that.

0.3.4-b22 should resolve or mitigate this.


Spacing html code

Jodit Version:  3.4.xxxxx
Browser: Chrome/FF
OS: Windows
Is React App: False
is there a chance to set the editor not to change the position of the html code as in the pictures I use it for ebay auctions and after changing the position of the code it breaks the ebay editor.
When i copy html into editor it looks like this

but when try to go back to html its making the code like this

@kobra117 https://xdsoft.net/jodit/doc/options/beautifyHTML/ disable this otptions

@kobra117 https://xdsoft.net/jodit/doc/options/beautifyHTML/ disable this otptions

how do i disable it ?

how do i disable it ?

After a few attempts and failures, I was able to fix it, thank you very much for your help and for such a great tool.

After a few attempts and failures, I was able to fix it, thank you very much for your help and for such a great tool.


Error in Log, Blank Screen

2020-10-06 12:34:48 ERROR (MainThread) [frontend.js.latest.202009182] http://<IP_ADDRESS>:8123/local/zwavegraph3.js:6:1 Uncaught SyntaxError: Unexpected token '<'
Looking at zwavegraph3.js in "File editor" shows  error.

duplicate  sub, closing.


Failing to call via remote/Electron

Calling this from renderer code:
var db = window.remote.require('linvodb3');
var medea = window.remote.require("medeadown");
var path = window.remote.require('path');
var User = new db('users', {}, { filename: path.join(__dirname, "data") + 'users.db', store: { db: medea }});
Error thrown:
Uncaught Error: db.open is not a function
TypeError: db.open is not a function
at LevelUP.open (/Volumes/Seagate/development/techops-clock/node_modules/linvodb3/node_modules/levelup/lib/levelup.js:116:6)
at new LevelUP (/Volumes/Seagate/development/techops-clock/node_modules/linvodb3/node_modules/levelup/lib/levelup.js:86:8)
at LevelUP (/Volumes/Seagate/development/techops-clock/node_modules/linvodb3/node_modules/levelup/lib/levelup.js:46:12)
at Function.Model.initStore (/Volumes/Seagate/development/techops-clock/node_modules/linvodb3/lib/model.js:79:100)
at new Model (/Volumes/Seagate/development/techops-clock/node_modules/linvodb3/lib/model.js:52:35)
at EventEmitter. (/Volumes/Seagate/development/techops-clock/node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/atom.asar/browser/lib/rpc-server.js:181:13)
at emitThree (events.js:97:13)
at EventEmitter.emit (events.js:175:7)
at EventEmitter. (/Volumes/Seagate/development/techops-clock/node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/atom.asar/browser/api/lib/web-contents.js:64:23)
at emitTwo (events.js:87:13)

I doubt this can possibly work - unless the objects are really simple, they have to be adapted for the electron IPC.
Is it 100% required by your use case to include linvodb through remote - you don't have to - you can directly include it in your BrowserWindow.
If you have to include it through remote, e.g. one db for several browser processes, I would suggest initializing it in the main process and then exposing it by creating an additional script called "initdb", doing the init of all models there, and exposing them through module.exports.
Then, use remote.require("./initdb") in your BrowserWindow(s).

Closed since it's not intended to work through Electron IPC


Fix email link in header

mailto: links don't have the normal // after the colon.

Thanks!  Good catch


Setting custom date in explorer can never be changed

When you set a custom date in the explorer, the dropdown can never be reopened.

this is also happening on dashboards.


Add mechanism to more easily download a build artifact

Summary of the new feature / enhancement
As a tester, I want to download an already built version of PowerShell from a PR instead of having to rebuild it locally, to save time in testing a feature that hasn't yet been merged into main and therefore not in a daily build (when they are working again)
Proposed technical implementation details (optional)
A new feed of sorts where build artifacts can be published to and easily identifyable using the following naming convention
PowerShell---
Example being PowerShell-win-x64-msi-24065-2-OS which should then give the 2nd build of #24065 and give you the Windows x64 MSI
However we may just want to publish zip's instead similar to how the daily build is done.

This already exists. If you open one of the PRs on GitHub and scroll down to the workflow runs you will see that there's a build task for each platform, Windows for example has the name PowerShell-CI-windows (Build for Windows Windows Build) if you click on details -> View more details on Azure Pipelines you will be sent to a summary page that looks like this:
 if you click on the "3 artifacts" link you will get to a page like this:

where you just click on the 3 dots and select download artifacts.

I know this way already exists and have used it in multiple other projects for over 5 years now. That said, it is both too many steps and hidden away for many, and also in my multiple attempts today failed, to download the artifact, whereas if it was a feed that could be subscribed to then it's much more accessible, saves time and is much easier to automate, further saving valuable time and effort.
It's a suggestion, of something that I would myself work on the process to publish, along with a clean up process that only keeps x Amount of builds for x days and is on merge of the PR schedules a removal after x days too, to minimize cost and maintainance overhead of this if it were by the team & community thought would be of use & is used in other projects already often with bot notification of here's a download link for the build artifcat.

Okay. It wasn't clear if you knew about this feature or not, since you talked about having to build things locally. I agree that the UX kinda sucks so if you think you can make it better then I have no problem with that.

I could have added about that method, and perhaps should have but also was in a rush to get it raised, though it's also good that you've pointed that out for others too, incase they didn't know. I mentioned about building locally as this can also be useful if there is a push to help get a PR that's stuck though via methods like pair or mob programming especially if it's on things like adding tests, which seems to be where many PR authors can find thier PR's being stuck or going stale for months at a time.

This doesn't need committee to review.  As noted, there is a way to do it navigating through the AzDevOps GUI.  I would think there's also a way to find the download link via a REST API.  If someone can figure out that, then we need a way to automatically attach that link to the PR.

After lots of searching and trial and error & eventually finding the right GH API's to return the correct info that then allows for querying the AzDO API's, I managed to get a working function the end of last week. Will update by end of the week & have assigned this to me for now.

I would like to demo what I have working for this at the next community call.

Committed to demo this at the October Community Call


Viewer instructions?

Thank you for sharing this script! I'm wondering if there are instructions to view the downloaded matterport in a way similar to the matterport viewer? I see the Panini or three.js links, but neither seems to have instructions to work out of the box with the files downloaded via your script.
A separate question: how is viewing them via one of the above different from using matterport-dl (which sadly isn't maintained any more)? I did notice that your script downloads far less than matterport-dl, and was wondering why that might be so?
Thanks much again!

This script only downloads panos 360 photos, matterport (and matterport-dl) has more data like 3d dollhouse view, measure tools and so on.
If you have problems with those viewers, you can try with Pannellum https://github.com/mpetroff/pannellum (it supports skybox and equirectangular 360 images).
But keep in mind: it's just to view the panoramic 360 pics, matterport have more options that this script doesnt use.
This script downloads each panorama in skybox cubemap format (6 pics per panorama). If you want to use something more easy you can try https://github.com/fdd4s/matterport-dl-equi and use the Ricoh Theta viewer (just one file equirectangular per pano).

Thanks much for the explanation and the pointers, that makes sense. I'll check out Pannellum.

Pannellum was simple to use and works great for matterport.
For anyone else needing this: the ordering of matterport skybox files that's needed for Pannellum is: 1 2 3 4 0 5


Add several sites to the file

@4skinSkywalker

Hi! I made a new pull request with a bunch of new sites (#109). Is it OK for you if I add your sites into my PR too? Therefore your PR could be closed and the merging process will be simpler for @4skinSkywalker

Hi guys sorry for being late to this, how do we continue this?


Refactor KeycloakServiceImpl - convert to spring bean

TODO - List
1 - Add Spring caching to getVariantIdsFromClient
2 - Replace ejb async with spring.
3 - Support remove client API.

issue moved to jira https://aerobase.atlassian.net/browse/ARB-3


go.mod: github.com/opencontainers/image-spec v1.0.2

Bring mediaType out of reserved status
specs-go: adding mediaType to the index and manifest structures

full diff: https://github.com/opencontainers/image-spec/compare/v1.0.1...v1.0.2

Codecov Report

Merging #3534 (6fbba6a) into main (6248a88) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #3534   +/-   ##
=======================================
  Coverage   56.42%   56.42%
=======================================
  Files         101      101
  Lines        7282     7282
=======================================
  Hits         4109     4109
  Misses       2523     2523
  Partials      650      650

Continue to review full report at Codecov.

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


.textlintrc support rulesdir

textlint already support --rulesdir command line option.
May .textlintrc support rulesdir or rulesDirectory?
We are careful to introduce new feature to .textlintrc.
Because, complex configuration is bad.
But, supporting rulesdir is reasonable feature, I think.
Use case
A project use textlint and some textlint rules.
{
  "rules": {
    "no-todo": true,
    "very-nice-rule": true,
  }
}

We add specific* rule to the project.
e.g.) Not use I think
We can create a rule like textlint-rule-no-i-think, but may resistant to publish the rule to npm.
If rulesdir option, adding the specific rule file to the project.
{
  "rulesdir": ["./rules"],
  "rules": {
    "no-todo": true,
    "very-nice-rule": true,
  }
}

Related issue: https://github.com/eslint/eslint/issues/2715

Agreed. This blocks my being able to use this on NixOS without a global NPM installation.
For reference, I run textilnt like this:
textlint --config ~/.textlintrc --rulesdir /nix/store/qrd01jqgkxh681h5w98a4hz7jxi0kzhm-node-textlint-rule-write-good-1.6.2/lib/node_modules/textlint-rule-write-good/lib file.txt

Now, npm,yarn,pnpm support workspaces as native.
Today, --rulesdir is not good idea.
We will not support rulesdir by config.


How to remove default margin?

I want to remove the margin between my elements in the screenshot below. They are the white spaces between the text field and then the horizontal margin between the first row and the button element.

My idea would be to override the css element with: margin: 0px

Hmmm, before it was like this.

Then I added, margin: 0px as you said.
div.ui.stackable.two.column.grid{
    margin: 0px;
}

It became like this.

What I want is that all elements to be exactly 0 pixel to each other for every right, left, up, and down.

Hm, maybe set padding to 0?
Can you create a quick fiddle?

I am not sure how to fiddle. I hope I make no mistake here, https://jsfiddle.net/ep7aehr4/.

Works.
So I added the classes test and test2

   <input name="user-name" placeholder="User Name" type="text">

  <input name="user-password" placeholder="Password" type="password">

.test {
  padding-right: 0px !important;
}

.test2 {
  padding-left: 0px !important;
}

Seems like there is still a pixel red between them, ...

When the browser is half of my screen resolution it is like this.
![https://postimg.org/image/vpcyjmmv5/][img]https://s32.postimg.org/vpcyjmmv5/Image_001.png](https://postimg.org/image/vpcyjmmv5/][img]https://s32.postimg.org/vpcyjmmv5/Image_001.png)
But when the browser is full of my screen resolution it is like this.

I added this in my fiddle.
button, input{
    margin-bottom: 0px !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
    margin-top: 0px !important;
    margin: 0px;
    padding-bottom: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    padding: 0px;
}

Hm, try add !important to margin: 0px and padding: 0px
Tipp:
padding includes bottom, left, right, up. Same for margin.

Thanks for your info.
However, it does not change anything since my last screenshot.

Hey @NoTalentGeek,
I appreciate you taking the time to describe your problem.
However, the Github Issue Tracker is not the right place to ask usage questions. Hence, if you haven't already fixed the problem yourself, please feel free to ask for help on the Semantic UI forum.


Getting lag with use_libuv_file_watcher = true

https://gyazo.com/01916d52f16e0577554743685f055a64 (the cursor flashes and goes to the last previous position when doing the flash and my neovim feels a bit slower)
maybe it's because I'm on Windows but I'm not sure, also when I exit from neovim with the tree opened, I get this
[neo-tree.nvim] [ERROR 18:04:17] ...packerstart^@eo-tree.nvim/lua/neo-tree/events/queue.lua:144: Error in event handler for event git_status_changed[filesystem.git_status_changed]: ...tasitepackpackerstart^@ui.nvim/lua/nui/tree/init.lua:365: Vim:E322: line number out of range: 1 past the end

Maybe it shouldn't be turned on by default after all. That is the behavior I see in a .git directory which is why I explicitly turn it off in those dirs, but I don't see why it should happen in that dir. It could be that it just isn't usable on Windows.
For now I think I'll just revert the default value to false.

Any way to fix this apart from disabling the option?

@lucasyarza  Not that I know of. I don't develop on Windows so I can't really investigate the issue. Someone else would have to work on the issue for it to get fixed.

I think this is a libuv problem that is not working on Windows but I'm not sure

@lucasyarza I tried now and I haven't lag, so I guess it was a neo-tree problem, but as I said, now I'm not getting lag and works fine

@lopi-py The issue before was that libuv was throwing file changed events constantly. It's possible we've just sped up neo-tree enough that it can handle constant refreshes without slowing things down. I would check the logs and Task Manager just to be sure that it's really fixed.

@lopi-py The issue before was that libuv was throwing file changed events constantly. It's possible we've just sped up neo-tree enough that it can handle constant refreshes without slowing things down. I would check the logs and Task Manager just to be sure that it's really fixed.

The cpu usage goes to 3% but when I refresh manually it goes to 2.5% so I think it's ok, also the logs seems all fine

[...] It's possible we've just sped up neo-tree enough that it can handle constant refreshes [...]

@cseickel: Does this mean that I can turn it off since this option was to speed up neo-tree while now it's fast enough without it? (if I'm using macOS.)

@lopi-py: The cpu usage goes to 3% [...]

FYI: I use CPU usage as the most important criteria to decide whether I should keep a plugin or not. So must keep it low. it's one of the biggest advantages of NeoVim against modern IDE.

@nyngwang

Does this mean that I can turn it off since this option was to speed up neo-tree while now it's fast enough without it? (if I'm using macOS.)

That's kind of backwards. This thread was about the use_libuv_file_watcher causing performance issues. I don't think having it on was ever meant as a way to improve performance. At best it would have no impact, but if there is an impact it would be most likely be negative rather than a performance boot.
The purpose of using the watcher is avoid having to manually refresh when files are changing outside of neovim buffers. I also think it's less buggy than vim events because other plugins can introduce complications with that system. The issue for some people is that it slowed everything down because it was throwing too many "file changed" events for some reason.
If you had problems with having the use_libuv_file_watcher option turned on before, it sounds like you can give it another try and see if it works better for you now. If you did not have any issues before, I would leave it on.

@cseickel: I'm still keeping this option on :) OK, but there is a problem I have experienced for two months(or more?) I'm using a plugin I made for myself to change the current working directory. It seems that the tree would not update when this option is on and the current directory did change. Maybe I should open an issue of it though.

@nyngwang The cwd issue is not related to the file watcher at all. I'll create a new issue for that.


Is this project still supported?

I've not seen any activity on issues / PRs? The reason I am asking is because I have created a similar project here:
https://d3fc.io/api/label-layout-api.html
All due respect to the creator of D3-Labeler, which helped me in my own implementation.

@ColinEberhardt how does your implementation differ from this one?

@gabrielflorit it doesn't differ all that much. As mentioned about D3-Labeler looks pretty good, but is inactive.
Probably the biggest difference is that d3fc-label-layout allows you to plug in different strategies.

good to know, thanks @ColinEberhardt

@ColinEberhardt @gabrielflorit One way it differs is d3fc-label-layout doesn't avoid label-anchor overlaps! Sometimes fc.layoutAnnealing() doesn't even seem to avoid label-label overlaps. Not what it says on the tin.
I found d3fc-label-layout easier to adapt for laying out labels for places on a GeoJSON map, but I'll try to get D3-Labeler working and see if I get better results, since the demo never produces overlaps.

Updated link to D3FC implementation: https://github.com/d3fc/d3fc/blob/master/packages/d3fc-label-layout/README.md


Use Library to encode messag

What

Import Crypto++ into build using CMake

Crypto++ has not had offical CMake support in years so use a open source project aimed to maintain CMake for the library current up to latest release

Begin settup of the decoder class

Mostly framework and boilerplate code
If time permits these two could share a common abstract class

Import boost interprocess with the idea to pass ciphertext between programs via shared memory

Why

I chose this library and was committed to proving it could work it also fills out the needs of my goals
Decoder work needed to be started
Encoding using the provided goals I set out for myself was required
Interprocess seems like a good alternative to traditional file I/O for sharing between projects

Crypto++ may have been more of a timesink than needed but it does seem to fit in quite nicely the main timeloss being forcing it into the CMake build. I considered forking the repo and attempting to add a CMakeList.txt myself and building  as an external project but this seems like it requires even more time due to a ton of architectural flags the library compiles against.
Boost may turn into the same thing with shared memory being more trouble than it's worth if this is the case for the sake of time we can fall back to file I/O but I'd prefer to not.
Another should time allow consideration is an abstract class (something like cipher-base) and have encoder and decoder inherit from it


(*redisClient).Scan() method giving different results in different environments

Hey,
I was trying to get all keys which match "cb_*", and was using the (*redisClient).Scan() function(redis.v4)
It is working properly on my local machine(MAC OSX 10.10.5)
But the same code, when run on a linux machine with same redis server installed(3.0.7) is giving empty result
the code used for testing was
package main

import (
    "fmt"
    redis "gopkg.in/redis.v4"
)

func main() {
    redisClient := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379",
        Password: "",               // no password set
        DB:       0, // use default DB
    })
    redisErr := redisClient.Ping().Err()
    if redisErr != nil {
        fmt.Println(redisErr)
    }

    var cursor uint64
    keys, cursor, err := redisClient.Scan(cursor, "cb_*",1000).Result()
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(keys)
}

can you verify if there is anything wrong with this code and if so, can you please point it out.
else, can you please suggest the alternate approach to this problem.

@vmihailenco @dim Can you guys take a look whenever you have a little time ?

@liteonly to consume all keys, you must continue calling SCAN until the cursor value reaches 0, but you may encounter empty results along the way. This has nothing to do with the client but is by design and documented in http://redis.io/commands/scan. But, you can use the built-in Iterator() function which makes scan commands much more accessible.

@dim Thanks for the quick response. I ended up using the keys() method instead, which served the purpose.
keys, err := redisClient.Keys("cb_*").Result()
Thanks again!

No worries, but please make sure you read the big warning in the docs http://redis.io/commands/KEYS


Cannot assign accessibility properties to any elements

Hi,
I'm trying to assign accessibility properties such as accessibilityLabel and testID to both components of this library and custom components within the table component but they are not assigned.
How could I solve this problem? I'm not able to test my table.

Same issue.


IG Fragment & Template Options

Hi
For now the FHIR documentation your tool generates includes (http://standardhealthrecord.org/fhir/StructureDefinition-shr-encounter-Encounter.html) :

text summary
differential table
snapshot table
all

Apparently the IG publishing tool allows to add a bunch of Fragment Codes in the produced documentation.
I d'like by EG to produce an UML box as the official FHIR does to describe the resources. (https://www.hl7.org/fhir/observation.html#tabs-uml)
Have you any idea the way to add them in your code ?   the documentation is not that clear ( http://wiki.hl7.org/index.php?title=IG_Publisher_Documentation#Fragment_.26_Template_Options )

I got it. The ig tool generates all the fragment by default. They have to be then referenced by the html templates.
The uml box fragment cannot be generated by design, because of impossibility of rendering slices.

I'm closing this, at it seems you were able to answer your question.  Please let us know if there is anything we need to look into ourselves.


clean up mco related resource when uninstall mco cr

fixed https://github.com/open-cluster-management/backlog/issues/15798
Signed-off-by: Song Song Li<EMAIL_ADDRESS>

/test test-e2e

/unhold


Updated jackson, slf4j, and LP build

This LP update includes a recent PR that fixes a common memory leak when handling initial requests when RequestFilter/ResponseFilter or javascript filters are present.


News Credit Card Num Pattern

Hey, guys!
I detected that in the card number pattern list, there is still a need to adjust:

The Hipercard pattern are only the initial numbers 38 and 60;
ELO just add these patterns: 4011, 4576 and 5067.

Thanks!

@fhariano: Please check our new release and let us know if you still face issue.

Closing this for now, feel free to reopen this if this issue still persist in latest release.


[FLAVA] Move masked prediction head to flava_for_pretraining

Stack from ghstack (oldest at bottom):

-> #195
#132
#131
#106
#105

Codecov Report

Merging #195 (b0c94da) into gh/ankitade/11/base (29b7ee4) will increase coverage by 0.06%.
The diff coverage is 98.03%.

@@                   Coverage Diff                   @@
##           gh/ankitade/11/base     #195      +/-   ##
=======================================================
+ Coverage                93.01%   93.08%   +0.06%
=======================================================
  Files                       47       47
  Lines                     2849     2862      +13
=======================================================
+ Hits                      2650     2664      +14
+ Misses                     199      198       -1

Impacted Files
Coverage Δ

torchmultimodal/models/flava/flava_model.py
95.78% <97.61%> (+0.31%)
:arrow_up:

torchmultimodal/modules/losses/flava.py
94.33% <100.00%> (+0.19%)
:arrow_up:

Continue to review full report at Codecov.

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

@ankitade has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.


Option for remote file to be opened in new tab

Hi! The package is very good! Congrats for that!
This is a feature request.
It would be nice for some cases to have the option to open the files in new tab with it custom name.
Right now if I open local/file.php and then remote/file.php, the second file is open over the first one. Even if I close the second one and I re-open the first one, I see the remote content and not the actual one (the local). Hope not been too confusing.
My idea is to be able to have two tabs: local file and remote file. In that way I could, for example, run some diff functions.
Not always I want modify only the remote file as I'm forced right now.
Thanks in advance

When you open a remote file, it is downloaded to your local project directory and overwrites the local one. A side-by-side view (local vs remote) is currently not possible. Feel free to submit a PR :)


testing(parametric): update start span parametric endpoint

Description

Moves http_header extraction from /trace/span/start/ to a new trace/span/extract_headers endpoint. This ensures the /trace/span/start parametric endpoint aligns with the following specification.
Renames the active_spans_ variable to spans_. This map will no longer just contain active spans, it will also store spans extracted from distributed tracing headers.
Ensures /trace/span/finish does NOT clear the span list. Spans should only be removed from spans_ (previously active_spans_) if the trace/spans/flush is called.

Motivation

Follow up to: https://github.com/DataDog/system-tests/pull/3300/commits/890bccdc369a20b6057546d2fff6ae6d6fd64652
After this PR is merged we can revert the changes in manifest/cpp.yaml that were introduced in https://github.com/DataDog/system-tests/pull/3300

Additional Notes
Jira ticket: [PROJ-IDENT]

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.91%. Comparing base (3a8bcba) to head (55ec27d).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #170   +/-   ##
=======================================
  Coverage   93.91%   93.91%
=======================================
  Files          73       73
  Lines        4176     4176
=======================================
  Hits         3922     3922
  Misses        254      254

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


Wave export

This is my resolution for #16 - it adds the following methods to the export:

exportWave - immediately download a wave representation of the morsify audio
getWaveUrl - gets an object url for the wave blob (e.g. for sending to an audio player - see example below)
getWaveBlob - gets the underlying wave blob

A demo of these functions can be found here: https://chris--jones.github.io/morsify/
@ozdemirburak - Some things to note:
Rather than duplicate all the nodes for both the offline and regular audio context I was able to render via the offline context and store the buffer as an AudioBufferSourceNode which can then be played via the audio context.
This approach keeps the audio data in memory so that multiple export operations can be applied (e.g. you can download multiple times from the same morsify.audio() instance, but you still cannot play multiple times because I do not re-instantiate the AudioBufferSourceNode (I believe this behaviour is unchanged).
I did move the context variables into the audio function - I wasn't sure why they should exist beyond the lifetime of the audio function, but it was causing issues for the offline rendering; I think enforcing the recreation of context / buffer source for play operations should also allow for multiple play operations against the same morsify.audio() instance if desirable.
I also split out processing the gain values as this also provides the total duration time required for the offline audio context.

This looks perfect @chris--jones. Definitely, one of the best pull requests I've ever received or reviewed.
Can you also add your references that inspired you (if exists) to the functions as comments?
// https://github.com/mattdiamond/Recorderjs/blob/master/src/recorder.js
const encodeWAV = (sampleRate, samples) => {

Thanks again.

This looks perfect @chris--jones. Definitely, one of the best pull requests I've ever received or reviewed.
Can you also add your references that inspired you (if exists) to the functions as comments?
// https://github.com/mattdiamond/Recorderjs/blob/master/src/recorder.js
const encodeWAV = (sampleRate, samples) => {

Thanks again.

Yep, good callout - I do want to credit those who's articles and code samples helped greatly.

Perfect, thanks again @chris--jones.

Perfect, thanks again @chris--jones.

No worries, this was the most fun coding I've done in a while 😄


Support workspace trust

Hello :wave: I'm from the VS Code team.
Recently, we have been exploring a security feature we refer to as Workspace Trust. This feature is intended to centralize and unify a security conscious decision required by a variety of VS Code features. With workspace trust, the user will be able to declare whether or not they trust the folder that is opened in VS Code before these features are executed.
Why you should care
We want to make sure that those users have a delightful experience with workspace trust and that includes extension authors deciding how much of their extension is supported in an untrusted workspace. Custom editors are special in that if they cannot at least render in an untrusted state then they will be replaced by a lightweight message telling the user to enable trust. This means that users of your extension will not be able to see their editors and there may even be cases of data loss.

Workspace Trust experience
You can enable the feature with the following setting security.workspace.trust.enabled. Once enabled, you will see the following dialog when opening folders in VS Code.

This dialog is important for allowing the user to make a decision early and understand the impact of their decision. Once you understand the feature, you may want to customize when to display the dialog using the setting security.workspace.trust.startupPrompt.
You can follow the development of Workspace Trust and provide feedback in issue #106488.
Workspace trust API
First off, all of what I am about to say can be found in issue #120251. That issue will include discussion of the feature and any updates to the feature.
The Workspace Trust extension API is now in stable. This allowed us to release the first cut of our guide for onboarding your extension to Workspace Trust. The API is small, so here is a quick look.
You can declare your extension to provide complete, partial or no support in untrusted workspaces using the untrustedWorkspaces capability in package.json.
The following example declares that the extension is supported completely in untrusted workspaces. In this case, the extension is enabled in untrusted workspaces.
"capabilities": {
  "untrustedWorkspaces": {
    "supported": true
  }
}

The next example declares that the extension is not supported in untrusted workspaces. In this case, the extension is disabled in untrusted workspaces.
"capabilities": {
  "untrustedWorkspaces": {
    "supported": false
  }
}

The third option is to declared limited support. There are three tools provided to you when you select the limited option.
First, if you have a setting that can be configured in the workspace but requires the workspace to be trusted in order to apply the workspace value, then you can include the setting using restrictedConfigurations array property in untrustedWorkspaces object. Doing so, VS Code will ignore the workspace value of these restricted settings when your extension reads these settings values using the VS Code Workspace Configuration API.
The following example declares the settings that are restricted in untrusted workspaces.
"capabilities": {
  "untrustedWorkspaces": {
    "supported": "limited",
    "restrictedConfigurations": [
      "markdown.styles"
    ]
  }
}

Next, you can also check and listen if the current workspace is trusted or not programmatically using the following API:
export namespace workspace {
  /**
   * When true, the user has explicitly trusted the contents of the workspace.
   */
  export const isTrusted: boolean;
  /**
   * Event that fires when the current workspace has been trusted.
   */
  export const onDidGrantWorkspaceTrust: Event<void>;
}

Lastly, you can hide commands or views declaratively with the isWorkspaceTrusted context key in your when clauses.
A far more detailed guide on how to onboard which will be updated as we receive feedback can be found in issue #120251.
Rollout plan
We are planning on enabling this by default in the near future (most likely next release). To prepare for that day, we want to work with you to allow your editor to work seamlessly alongside the trusted workspace experience
Our Asks
The main features that should work for custom editors in an untrusted folder is rendering, viewing, and saving (if applicable). After reviewing your codebase, I believe that your extension does certain things that can be dangerous if the folder contents are malicious (i.e. executing user files as code) therefore I believe that limited is the best option. This involves listening to the trust state changes and disabling certain features in the untrusted state.
Please let me know if you have any question or would like to meet up via voice chat as I would be happy to assist you in getting your extension ready for workspace trust!

Thank you for the message. We added the following to the package:
"capabilities": {
"untrustedWorkspaces": {
"supported": true
}
},


Add Font Awesome icons

In Zulip web we use Font Awesome for many of the icons in the UI. We should pull in an appropriate dependency so we can start using the same icons in zulip-flutter. (This is a sort of followup to #200.)
This package seems appropriate and popular:
https://pub.dev/packages/font_awesome_flutter
One concrete place we could use such an icon is in the title of the "All messages" narrow:
https://github.com/zulip/zulip-flutter/pull/219#discussion_r1267326238

I don't suggest to adopt any font awesome icons at all

Cool, thanks. In that case I guess we can close this issue. It'll always be here as a reference in case we later decide for some reason we do want some such icons after all.


About render LaTeX expression

Is there any way to avoid rendering markdown syntax in Latex expressions?
For example:
$p_{u}^Tq_{v}$

will be rendered as:
p<em>{u}^Tq</em>v

'cause the _xxx_ syntax in markdown. But what I want is a formula like
Thank you.

You’ll want to use a code block for it and the provide an override “code”
component that applies whatever latex compiler you want
On Wed, Apr 8, 2020 at 12:59 AM 王熠弘<EMAIL_ADDRESS>wrote:

Is there any way to avoid rendering markdown syntax in Latex expressions?
For example:
$p_{u}^Tq_{v}$
will be rendered as:
p{u}^Tqv
'cause the xxx syntax in markdown. But what I want is a formula like [image:
image]
https://user-images.githubusercontent.com/21234945/78746031-6255c700-7998-11ea-8fc3-ccb5c5c9b421.png
Thank you.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/probablyup/markdown-to-jsx/issues/298, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAELFVR7FLRP5K2FJT5H7B3RLQAEBANCNFSM4MDUIIZA
.

@probablyup
thank you.


Supervisor goes into crashloopbackoff if kapp using --into-ns flag for Pinniped 0.20+

What happened?
When deploying 0.20+ into a cluster using kapp controller, the deployment succeeds when the target namespace is NOT overridden, but when the --into-ns flag is used during kapp deploy the supervisor pods fail to start. Version 0.19 and prior are not affected.

Please be specific and include screenshots and logs!

What did you expect to happen?
Expect the kapp deployment to complete regardless of the target namespace.
What is the simplest way to reproduce this behavior?
This works:
kapp deploy -y --app pinniped-supervisor --file https://get.pinniped.dev/v0.22.0/install-pinniped-supervisor.yaml

This does not:
kubectl create ns pinniped-sup
kapp deploy -y --app pinniped-supervisor --into-ns pinniped-sup --file https://get.pinniped.dev/v0.22.0/install-pinniped-supervisor.yaml

Logs from failing pods show:
{"level":"info","timestamp":"2023-03-17T11:44:48.663922Z","caller":"go.pinniped.dev/internal/supervisor/server/server.go:678$server.main","message":"Running supervisor","user-agent":"pinniped-supervisor/v0.0.0 (linux/amd64) kubernetes/e6a1897","version":{"major":"0","minor":"0","gitVersion":"v0.0.0","gitCommit":"e6a18978d1fcb2f4615a71cd066e8e3c1e1aa65d","gitTreeState":"clean","buildDate":"2023-01-19T23:53:56Z","goVersion":"go1.19.5","compiler":"gc","platform":"linux/amd64"},"arguments":["pinniped-supervisor","/etc/podinfo","/etc/config/pinniped.yaml"]}
{"level":"error","timestamp":"2023-03-17T11:44:48.669590Z","caller":"go.pinniped.dev/internal/supervisor/server/server.go:703$server.Main","message":"unrecoverable error encountered","error":"cannot create API service ref: cannot get api service v1alpha1.clientsecret.supervisor.pinniped.dev: apiservices.apiregistration.k8s.io \"v1alpha1.clientsecret.supervisor.pinniped.dev\" is forbidden: User \"system:serviceaccount:pinniped-sup:pinniped-supervisor\" cannot get resource \"apiservices\" in API group \"apiregistration.k8s.io\" at the cluster scope"}

In what environment did you see this bug?

Pinniped server version: 0.20 and 0.22
Pinniped client version: n/a
Pinniped container image (if using a public container image): using projects.registry.vmware.com/pinniped/pinniped-server:v0.22.0@sha256:481b94f4468425542f111143ebb69cd2057b0003e7bee75047892638cf88e135 provided by https://get.pinniped.dev/v0.22.0/install-pinniped-supervisor.yaml
Pinniped configuration (what IDP(s) are you using? what downstream credential minting mechanisms are you using?): n/a
Kubernetes version (use kubectl version): Using Kind v1.24.7
Kubernetes installer & version (e.g., kubeadm version):Kind
Cloud provider or hardware configuration: Kind
OS (e.g: cat /etc/os-release): Kind on Ubuntu 22.04
Kernel (e.g. uname -a): 5.15.0-67-generic
Others:

What else is there to know about this bug?

Thanks for reporting this issue. I'll try to reproduce this now with v0.32.0.

workaround provided


Allow globs for schema/queries to be optional, if at least one file is found

Is your feature request related to a problem? Please describe.
When running generation, and any glob in the config does not match any files, an error is returned and generation fails.
In our particular case, we have current SQL-based files inside dirs in lib/models, and we'd like to put graphql operations in files in those directories. Thus:
operations:
- "lib/models/*/*.graqhql"

However, we do have some nested models (e.g. lib/models/foo/bar), but if we add
- "lib/models/*/*/*.graqhql"

then the generation will exit unless actual files exist.
Describe the solution you'd like
Ideally, this should allow some globs to fail but warn instead. This would allow us to add/remove the query files as needed, without having to also update the genqlient config.
Describe alternatives you've considered
We could add/remove the directory lines as we add/remove the files. Just a bit of extra work.
Additional context

previous issue about nested dirs: #167
previous issue that introduced current behavior: #146

As I commented on #328 -- let's do #167 instead.


[Browser build] Asynchronous Module Definition

Hi @mmalecki @pksunkara
Can we make builds that comply with the Asynchronous Module Definition?
Something like:
  if (typeof define === 'function' && define.amd) {
    define(function() { return App; });
  } else {
    exports.App = App;
  }

Should be an easy fix.. right?

A lot has changed in v1.0.0, so I'm going to close this. Also: hi @jvduf :smile:


vLLM Compatibility

Hello, I was curious whether it was possible to run models locally via vLLM. The README mentions HF TGI for running local models. Looking through the experimental dspy branch it seems that HF TGI is chosen for the model if an OpenAI model is not provided. Should I modify the experimental branch to add vLLM support or is there another way to run local models on vLLM?

Ideally DSPy handles all of this, and IReRa just uses whatever LLM you supply. To run with vLLM for now, it is indeed best to change how the models are created in the irera branch on DSPy. I'd need to think of a more scalable way of taking care of model providers long-term.


Detector Suggestion: Emit signal when item is being used for autocrafting

I just had a simple feature request: There is a detector option labelled "Emit signal when item is being autocrafted". I'm currently automating Sulfur crafting with RS by having a detector only pump soul sand out of the network via interface when Sulfur is being crafted. Because sulfur only has a chance of being dropped, this was the best method I could come up with. But now, if I craft something else that requires sulfur, the system blocks because it will only emit a redstone signal when sulfur is being autocrafted. It would be great if there was an option so that it would only emit a signal when the item is next in the autocrafting queue.

#1371


Tibber: use energy instead of total as base if charges or taxes are d…

…efined
Fix https://github.com/evcc-io/evcc/issues/8963

Minor issue for when there is nothing better to do:
For grid tariff, there is a use case where one might want to add net provider charges, but equally wants the internal tibber api tax to be included (that sum varies, and only tibber knows it). For example, could evcc tariff charges: be defined as the tax field from tibber’s API, while leaving space for adding net charges? The problem is that tibber’s api tax includes both simple state VAT added onto spot rate AND Tibber’s proprietary cost of doing energy trading.
See the tax at T00-T02, for example, which is 0.1061 even as energy price is 0 (meaning also that VAT is 0):
[tibber] TRACE 2023/07/17 21:26:42 {"query":"{viewer{homes{id,timeZone,address{address1,postalCode,city,country},meteringPointData{gridCompany},currentSubscription{id,status,priceInfo{current{currency,startsAt,total,energy,tax},today{currency,startsAt,total,energy,tax},tomorrow{currency,startsAt,total,energy,tax}}}}}}"}
--
{"data":{"viewer":{"homes":[{"id":"***","timeZone":"Europe/Stockholm","address":{"address1":"***","postalCode":"***","city":"***","country":"SE"},"meteringPointData":{"gridCompany":"***"},"currentSubscription":{"id":"***","status":"running","priceInfo":{"current":{"currency":"SEK","startsAt":"2023-07-17T21:00:00.000+02:00","total":0.3403,"energy":0.1873,"tax":0.153},"today":[{"currency":"SEK","startsAt":"2023-07-17T00:00:00.000+02:00","total":0.1061,"energy":0,"tax":0.1061},{"currency":"SEK","startsAt":"2023-07-17T01:00:00.000+02:00","total":0.1061,"energy":0,"tax":0.1061},{"currency":"SEK","startsAt":"2023-07-17T02:00:00.000+02:00","total":0.1061,"energy":0,"tax":0.1061}, {"currency":"SEK","startsAt":"2023-07-17T03:00:00.000+02:00","total":0.1063,"energy":0.0001,"tax":0.1062},{"currency":"SEK","startsAt":"2023-07-17T04:00:00.000+02:00","total":0.1204,"energy":0.0114,"tax":0.109},{"currency":"SEK","startsAt":"2023-07-17T05:00:00.000+02:00","total":0.152,"energy":0.0367,"tax":0.1153},{"currency":"SEK","startsAt":"2023-07-17T06:00:00.000+02:00","total":0.172,"energy":0.0527,"tax":0.1193},{"currency":"SEK","startsAt":"2023-07-17T07:00:00.000+02:00","total":0.1924,"energy":0.069,"tax":0.1234},
…

That's a difficult one. Lets look at that when the need really arises.


execute query while no response

I tried this demo on CDH cluster with no authorization, code like this
func main() {
host := "cloudera.demo"
port := 21050
opts := impalathing.DefaultOptions

con, err := impalathing.Connect(host, port, &opts)
if err != nil {
	log.Fatal(err)
}

query, err := con.Query(context.Background(), "select 1")

startTime := time.Now()
results := query.FetchAll(context.Background())
log.Printf("Fetch %d rows(s) in %.2fs", len(results), time.Duration(time.Since(startTime)).Seconds())

}
while the query is hunging in the step "con.Query"，no response

Can you try running your code at port 21000?

thank you for your response, the port is exactly 21000
(ps:port 21050 is for jdbc)

Cool. Please let us know if you encounter any issues.


TypeError: Cannot read property 'href' of null

The new pagePerSection config in React Styleguidist 6.5 disables isolated mode. This means scraping fails as it uses the isolated mode buttons to get the component URL.
Looking into a fix now.
Looks like the URLs are used to load each preview in isolated mode before taking the screenshot. Why can't it just take screenshots on the main page?

Ah, it was because I wanted the element to be inside the viewport when I'm taking the screenshot, because projects like https://microsoft.github.io/YamUI/ wait until the element is inside the viewport to render it, in order to reduce page load time.


Community of Big Heart Logo

Created 2 versions of Community of Big Heart Logo.
Please @ me on Discord if you require different versions of colour.

Can you attach the issue number to this PR?


Generate unique IDs safely

To generate random Object IDs,  proper method should be used, like:
https://github.com/GoogleChromeLabs/chromium-bidi/blob/7f4df198a1a92ca8418230e11da7dd3ca4591b7e/src/bidiMapper/scripts/eval.es#L109

probably deprecated after implementation of #66

Not an issue, as serialization moved to CDP