valueset for rapid antigen test

Hi
here at this link:
https://covid-19-diagnostics.jrc.ec.europa.eu/devices/2?manufacturer=&text_name=&marking=&rapid_diag=&format=&target_type=&field-1=HSC common list (RAT)&value-1=1&search_method=AND#form_content
there are the rapid antigen test EU approved.
I am wondering how we are going to manage the updates of this list vs the valuesets in test-manf.json file.
As for now there are 66 tests in the approved list compared to the 26 entry in the test-manf.json file.

Hi!
I'm trying to develop an API for reporting test results. In the API we need to specify which codes that should be used, for example for describing which test that was used.
I would need the following things:

a unique identifier, preferably in the form of an URI, for the namespace (code system or naming system) of the EU test identifiers. I suppose that we can decide on "https://covid-19-diagnostics.jrc.ec.europa.eu/devices"?
a description of how the connecting systems can get a list of approved tests. Are all systems supposed to fetch them themselves from https://covid-19-diagnostics.jrc.ec.europa.eu/devices manually, or is somebody going to provide the list somewhere in a more machine readable format? If yes, how often will this list be updated?

Thanks!

The machine-readable format can be found eg. here: https://covid-19-diagnostics.jrc.ec.europa.eu/devices/hsc-common-recognition-rat

The intention is that the list is re-generated at least one every 24-hour period from the EU JRC sources and made available for download from a known location, which at least to my thinking would fit with either the Digital Covid Certificate Gateway or an official EU DCC hosted area. The request for an official EU-hosted location was already (re-)raised a couple of weeks back. Whichever physical hosting solution is eventually provided, the same principle applies of a known location where Verifier (and Issuer) apps can download the machine-readable valuesets. By the way, this is valid for all value sets in the schema, not just vacc

In essence, the valuesets here: https://github.com/ehn-digital-green-development/ehn-dgc-schema/tree/main/valuesets
The schema was so designed as to allow the valuesets to be referenced without being embedded directly in the software. Thus you should be able to download the valuesets on whatever frequency of update you decide is appropriate whilst not having to change the software.
BTW, I will also be added a valueset for recovery tests in the near future

It sounds really good that you are intending to make a solution that allows software to download the valuesets whenever they want!
Next question:
Could you please add unique identifiers for all valuesets? Preferably in the form av URIs (or OIDs or UUIDs if that suits you better)? For example (just making this up) "http://covid-19.eu/ValueSet/vaccine-medicinal-products"
Then when we build APIs using these valuesets, the identifier can always be used to make sure that you have got the correct valueset, even if it is moved between different locations (from GitHub to some other site, or republished somewhere else).
That would be a really big help!

From what I know the verifier app verifies the JSON schema, so the valueset versioning should be carefully managed

It is fairly good practice to use schemas intensely on the sending side - when you create them (be strict on what you sent). But cut the world more slack on the receiving side - doing a best effort. Also as your app or environment can ‘get behind’ the rest of the world.

Hi again guys! So, the API I need to provide is for reporting test results to an application that will make the digital certificate. This API will be used by several organizations and different systems.
So my use case is reporting data that will be the basis for making certificates. Therefore it is important that it is clear for everyone which data they need to send in;  the correct codes for test type, the test that was used and test result. Otherwise there will be a risk that the certificate will be faulty and that the traveler won't be let in when trying to pass the border.
Therefore in the API we need to point out these ValueSets in an unambigous manner, even if they are moved for GitHub, or if somebody somewhere decides to publish them on a code server or whatever. You will still know that it's the correct ValueSet referenced as you have the unique identifier of the specific ValueSet.
In our APIwe can reference the unique identifier and in the documentation point out where to find that specific ValueSet.

@emmeligross yes, indeed, that would be a good approach - which is why the value sets are defined as they are in the schema via a loose reference from the "main" schema, same model in fact as you are describing here for your API

test - am looking to update the valueset for test even as we speak, also: https://lfpublichealth.slack.com/archives/C01V8GX69K5/p1622107214036600
recovery - based only on NAAT, am working on an update release for today on this one. Also from recent discussions I have had: implicitly any NAAT is therefore an approved test and it is thus not foreseen that there will be a separate valueset of known good tests for recovery.

I'll keep you posted on progress.

https://github.com/ehn-digital-green-development/ehn-dgc-schema/releases/tag/1.2.0

So I assume the schema validation by the verifier app should be based on multiple schema version according to the one stated in the current QR scanned.. am I right?

Yes, that should always be the case - but like I mention above, I do try for non-breaking changes where possible so you could still use schema 1.2.0 to validate e.g. JSON written againg schema v1.1.0.

thanks @gabywh
I am no expert of JSON schema validation.. I assumed a missing field on the schema could result in validation error if the field is present on JSON data
thank you also for the tip about next update!

next update:
https://github.com/ehn-digital-green-development/ehn-dgc-schema/releases/tag/1.2.1
... and yes fully appreciate that changing file names is sth of a PITA, but I hope to have at least minimized the pain by doing it asap up-front

Hello all,
I (Luxembourg) am struggling to understand exactly how this value sets for the test name and test manufacturer will be managed, and for me, this is worrying, as DCCs from other EU Member States may be showed "red" (in LU, we use a red/orange/green code), thus rejected.
If I understand properly, for NAAT, both info are optional, for RAT, both info are mandatory.
In the JSON schema, for NAAT, the field "nm" is filled with the Test name and is optional. For RAT, the field "ma" is filled with the "id_device" which points to the Test name and Manufacturer name. The field is optional, which I don't understand why, as according to the regulation, it is mandatory.
When I talk about id_device, I am referring to https://covid-19-diagnostics.jrc.ec.europa.eu/devices/hsc-common-recognition-rat.
Currently, in LU, we use only this database. We edited it, in order to have something such as:
{
"valueSetId": "test-rat",
"valueSetValues": {
"additionalProperties": {
"1341": {
"country": "China",
"name": "Qingdao Hightop Biotech Co., Ltd",
"commercial_name": "SARS-CoV-2 Antigen Rapid Test (Immunochromatography)"
},
"1263": {
"country": "South Korea",
"name": "Humasis",
"commercial_name": "Humasis COVID-19 Ag Test"
},
"1180": {
"country": "Germany",
"name": "MEDsan GmbH",
"commercial_name": "MEDsan SARS-CoV-2 Antigen Rapid Test"
},
"1215": {
"country": "China",
"name": "Hangzhou Laihe Biotech Co., Ltd",
"commercial_name": "LYHER Novel Coronavirus (COVID-19) Antigen Test Kit(Colloidal Gold)"
},..........................
and so on and so forth.
We do the same with NAAT test.
We really need to be aligned with the EU on this. Our solution would be suitable.

update of table just pending 1 reviewer approval

Thanks.
And about this point.
"For RAT, the field "ma" is filled with the "id_device" which points to the Test name and Manufacturer name. The field is optional, which I don't understand why, as according to the regulation, it is mandatory."
Is this normal?

Thanks.
And about this point.
"For RAT, the field "ma" is filled with the "id_device" which points to the Test name and Manufacturer name. The field is optional, which I don't understand why, as according to the regulation, it is mandatory."

The JSON schema is about structure - a static thing. The field is optional for NAAT -> thus mandatory for non-NAAT. However, this is a data-driven thing and not easily modelled in a JSON Schema. Data-dependent validation needs to be handled by the business rules software. Since it is optional in NAAT, we have to leave it as optional in the JSON Schema and require the business rules to then enforce mandatory (or not) based on data of test type

Valueset updated in github for now; however an up-to-date version should be distributed by the DCCG in future.


Tests: Revert the Btrfs refresh exception

The refresh got fixed in https://github.com/canonical/lxd/pull/13133.

I'll leave it in draft state as long as https://github.com/canonical/lxd/pull/13133 is open.


Rule::in validation error handling bug in REST API

Laravel Version: 5.6.23
PHP Version: 7.2.x
Database Driver & Version: mysql 8

Description:
Field under validation returns Laravel welcome page instead of actual validation error bag or error message.
Steps To Reproduce:

Create an api endpoint [POST]
Try to validate an enum field with acceptable values [e.g., red, green,blue]
In my case, it looked like

   use Illuminate\Validation\Rule;
    public function rules()
    {
        return [
            'make' => 'required',
            'color' => [
                'required',
                Rule::in(['red', 'green']),
            ],
        ];
    }

When you try to send request with an invalid color (e.g., pink) it should send you the proper validation message that the color is not valid, instead - it sends you back the Laravel default home page (the view)

Just to add, I updated Laravel to 5.6.24 (current latest stable), and the bug is still there. For every other validation I used, it works perfectly.

Hello, sorry, I forgot something.
I had to set header
Accept: "application/json"
Didn't do that. For anyone facing the same issue, there's the catch.
Thanks!
(Closing the issue)


feat(live-preview-vue): Official Vue Hook for Live Preview

Description

This PR creates an implementation of the React useLivePreview hook for Vue applications, so that Live Preview can be easily implemented into any Vue 3 or Nuxt 3 project.
It also adds the documentation with a minimal example on how to use the hook inside a Vue 3 app.
Ideally, this would be distributed as it's own NPM package @payloadcms/live-preview-vue.
Closes #4970

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist:

[ ] I have added tests that prove my fix is effective or that my feature works
[x] Existing test suite passes locally with my changes
[x] I have made corresponding changes to the documentation

@DanRibbens I saw you removed the duplicate banner. I understand why you did it. However, could it be moved to a more general place in the page? Vue users might never see the banner because it's in the React section and it is relevant for both.

Hey @ChrisGV04 Revisting old PRs, are you able to make a new PR for this to the beta branch? If we can fix both the conflict and update the docs, then this can be merged. Ideally we can do both beta and this one at the same time so we can keep up with feature parity.
Regarding https://github.com/payloadcms/payload/pull/4987#issuecomment-1930046897, I don't have strong feelings about it. Feel free to move the depth info banner up to the top area before the React or Vue specific sections.
Thanks for the contribution. I forgot we never merged this PR as I was looking for this while replying to https://github.com/payloadcms/payload/discussions/5915 and wondered where it went.
Thanks!

Hi @DanRibbens I also forgot about it since I was using my own plugin waiting for this one to be released hehe.
Sure. I will try to get it done by today.

@DanRibbens Is it okay if I open a new PR for this?
I'm getting merge conflicts when trying to pull from the main branch to continue development.

I'm closing this PR in favor of #5925 which is up-to-date with the current main branch and should also be compatible with the beta branch.


Pattern: Left Nav tool chest pattern (search result page)

Wonil-Suh1 created the following on Jul 22:
As a user of highly interactive page such as the search result page, I need a way to control / manipulate the content on the page.
This is to design / provide design support to the search result page being designed by the Product Discovery team.
Original issue: https://github.ibm.com/webstandards/digital-design/issues/1275

Can be closed.  There is a component already available.


Checkboxes STILL not getting updated in Live Preview

Not sure why issue #166 was closed as checkboxes still do not seem to work in callout boxes.
Was closing the other issue based on previous testing with callout boxes (implying that I may be doing something wrong here) or was this never tested at all?

I am not going to compete with callouts. Code blocks will continue to exist for backward compatibility, but I am not going to spend dev time on them.
if checkboxes do not work in callouts in live preview you need to open a bug report on the forum


Live Range Analysis Not Sharing Multipliers (bc of the way we handle par blocks)

Consider the following code, where mult1 and mult2 are multipliers:
* mult1 and mult2 are live here *
par{
    seq{write_mult1; read_mult1;}
    seq{write_mult2; read_mult2;}
}

Currently Calyx marks mult1 and mult2 as live on the output of the par block (i.e., above the par block).
The reason why is that it looks at the reads of mult1 and mult2 and adds these cells to the gens of each seq block. Then, it takes: (U(alive) - U(kills) + U(gens))  as the live set on the output of the par block, meaning that mult1 and mult2 are live. The problem is that, while it is true that  mult1 and mult2 are indeed read from, and therefore part of gens, in the par block, they are also guaranteed to be killed before we get to the output (i.e. beginning) of the par block. Currently Calyx does not consider the relative ordering of gens and kills in par
A very easy workaround I came up with (in #1181) is to do this. We keep the same equation -- (U(alive) - U(kills) + U(gens)) -- except we only count the gens that are alive on the output of at least one thread in the par block. Notice that this would solve the problem presented above, as both mult1 and mult2 are not alive on the output of their respective seq blocks.

I think this passes the smell test. However, I would like to visualize this a little better before committing to this–dataflow equations are nefariously complicated. Can you contrast this to the behavior in if blocks and maybe draw some diagrams to explain what's going on here?

So the main issue I'm concerned with is the gen and kill of par blocks. First, here is my understanding of what gen and kill mean. gen(A) is any cell that is read from at any point in the control node A, while kill(A) is any cell written to at any point in point in the control node A.
I've attached a drawing of the current implementation.
current-par-liveness.pdf
This is fine since it conservatively overestimates the live ranges. But my idea was that we can do better than this.
Specifically, we can relax constraint b) from my drawing. It's not that the cell can never be read from in any of the children/threads fo the par block. It's that, if the cell is read from, we have to be sure that the read of the cell is dominated by a write to the cell that is within the same thread.
So, how do we know that each read of a given cell must be dominated by a write within the same thread?
For each cell in U gen(children), we can just check if that cell is alive on the output of any child. If it isn't then we know every read of that cell must have been dominated by a write within the same thread (otherwise it would have been alive at the output of that thread). There may be other ways to answer this question, though.
I should also note that even though I say "every read of that cell must have been dominated by a write within the same thread", we know this will only be the case when the cell is read from in a single thread. If a cell is read from in multiple different threads, then it is impossible for both threads to include a write that dominates the reads, since we are dealing with par blocks, and therefore, we must conclude that the cell is live on the output of the par block.

Ok, here is a summary of the current ideas we have about par liveness (This is really long, but I wanted to get a comprehensive wrap-up + summary about what we talked about in the Calyx meeting yesterday).
*Terminology I am using
First, since CFGs are "backwards", to clear up terminology, when I say the input/output of a par block, I am thinking in terms of CFG. So the "input" of the par block occurs at the end of the par block (in terms of regular control flow) and the "output" of a par block is really the beginning of the par block. In other words, I say "input/output" to refer to my thinking about CFGs and "beginning/end " to refer to my thinking about regular control flow.

Explanation
[Most of this was discussed in the Calyx meeting yesterday]
Current Problem (Discussed in Calyx Meeting)
Currently, the Calyx documentation explains why simply taking U alive(children) or ∩ alive(children) will not work.   Notice that this calculation of gens and kills is  not sensitive to the ordering in any way. This can lead to an overestimation of the live range. Consider the following example.

Here, x would be in gen(B) and therefore alive on the output of the par block, even though we can clearly see that it is not, since the write to x in B must have killed x.
My Solution (discussed in Calyx Meeting)
Therefore, I proposed a new idea. This rethinks the way we calculate gen to be more order-sensitive. I'll refer to it as newgen.
For any group enable or invoke G:
newgen: output(G) = (input(G) - writes(G)) + reads(G)  instead of
gen: output(G) = input(G) + reads(G)
To be clear, if I say cell x \in newgens(C) for some control node C, I mean it is part of the set newgens on the output of C.
Notice that undert this equation, x would not be a not part of newgen on the output of B.
At first, this seems weird: isn't newgen calculated in the exact same way as alive is? The key difference is that, whenever we come across a par block and do dataflow analysis, gen and kill are initialized to be empty at the input of each child of the par block. This is very important. Consider the following 2 examples.

The live ranges on the output of each child are identical in both situations. However, the newgen(A) is different.
In the the first example, since newgen starts out empty on the input to each child, x is never added to newgen and therefore not in newgen(A).  Therefore when we do alive(par) = (U alive(children)  -  U kill(children)) + U newgen(children), x is not added as live on the output of the par block, which is the behavior we want.
In the second example,  x is added to newgen(A) then it is read from in A.  Therefore when we do alive(par) = (U alive(children)  -  U kill(children)) + U newgen(children), x  is added as live on the output of the par block, which is the behavior we want.
As you can see, newgen allows us to ask which cells are alive on the output of a given thread because of some read that occurred within that thread  (versus already being alive on the input to the thread).
Thinking about my solution more closely and addressing possible concerns (not discussed in Calyx meeting)
There are a couple other concerns you might have as well (please feel free to respond if you think there is another concern I am not addressing here).

Does this newgen calculation work with if blocks?

We calulcate newgen(output) = newgen(A) + newgen(B) + (any reads that occur in the if conditional). Therefore, the only time newgen differs from gen (the old calculation) is the following situation: when both A and B kill some cell x and that cell is not read from later on in the CFG. Notice that it is safe to exclude x from newgen in this situation, since it is guaranteed to be killed, no matter which branch we choose. If x were only killed in B for example, but was read from (without a kill) in A, then newgen would include x on the output of A and therefore on the output of the if statement when we take the union. Here is a sketch:

Don't kills have to be order sensitive too in this case? Shouldn't we have something like newkills: output(G) = inpupt(G) + writes(G) - reads(G)?

This isn't necessary, because any gens always take precedence when determining liveness over kills. The only time it changes the composition of kills is when some cell x is removed from kills since it was read from in some group/invoke. Then x will also be added to newgens. If x remains in newgens throughout the rest of the CFG, then even though we take away x when we do -  U kill(children) we are going to add it back when we do + U newgen(children), so either way x will end up as live on the output of the par block. If x is removed from newgen at any time throughout the rest of the CFG, that means that it must have be added back to kill at that time, meaning it was fine for us to keep x in kills. So you can see how using the proposed equation doesn't lead to any difference in the calculation of any live ranges.

What about while loops? Consider the following diagram.

We can see that, even within the while loop, it is safe to eliminate as x as part of the newgens on the output of the par block. However, because of the conditional, the body of the while loop that occurs (in terms of control flow) after the end of the par block, cannot share x.

Okay, thanks for clarifying it! I think the idea makes sense and it seems a stricter live-range computation than before which means olders programs should continue working


Set privilege for falsy class names

See https://github.com/emberjs/ember.js/pull/13401#discussion-diff-61283668 for the use case.


[FLINK-15578][connectors/jdbc] implement exactly once JDBC sink

What is the purpose of the change
Implement JDBC sink with exactly-once semantics.
ExistingTwoPhaseCommitFunction is not currently used.
Verifying this change
This change added tests and can be verified as follows:

Added end-to-end test for happy flow (derby db)
Added integration tests for varous failure scenarios (derby, h2)
Added unit tests

Does this pull request potentially affect one of the following parts:

Dependencies: add h2, flink-core, javax.transaction, change scope of flink-streaming-java for flink-connector-jdbc
The public API: yes
The serializers: yes (XID)
The runtime per-record code paths (performance sensitive): yes (for records going through the sink)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? docs, JavaDocs

@flinkbot run azure

I found this class JdbcXaSinkFunction extends AbstractRichFunction implements CheckpointedFunction, CheckpointListener
why don't extends TwoPhaseCommitSinkFunction direct

@BrantZheng,
TwoPhaseCommitSinkFunction currently doesn't support:

retrying commits (in case of transient failures)
retrying rollbacks
distinguishing between transactions started during this run and restored from the state; ignore commit failures (with reason “unknown”) for the latter; this is a consequence of a lack of timeouts
when committing a group of transactions: an option to stop commits as soon as one failed; otherwise consistency can be violated (if the failure was transient then failed commit and all the further commits will be retried later)
in JDBC, transaction timeouts aren’t used to ignore commit failures, as most DBs don’t support them

There was an effort to unify these two functions (FLIP-94). But later it was superseeded by the New Sink API.
So we decided to merge this PR as it is and then migrate to the new API.

Thanks for the review @wuchong !
I've addressed your feedback and answered the questions, PTAL.

Thanks for the review @wuchong !
I've addressed your feedback and answered the questions, PTAL.

@rkhachatryan
Do you think I can add this code to my uber-jar and deploy on top of Flink 1.12 ?

@rkhachatryan
Do you think I can add this code to my uber-jar and deploy on top of Flink 1.12 ?

@maver1ck
I think you'll need to rename conflicting classes to avoid conflicts (JdbcSink and maybe some others).
Please let me know if you encounter any issues.

@maver1ck
I think you'll need to rename conflicting classes to avoid conflicts (JdbcSink and maybe some others).
Please let me know if you encounter any issues.

I also created FLINK-21002 to expose this feature in Table API/SQL.

I also created FLINK-21002 to expose this feature in Table API/SQL.

Thanks a lot for reviewing and opening FLINK-21002 @wuchong !

Thanks a lot for reviewing and opening FLINK-21002 @wuchong !

Azure failure is unrelated and long time ago fixed issue. Thanks for the useful contribution and the reviewing effort! Merging

Azure failure is unrelated and long time ago fixed issue. Thanks for the useful contribution and the reviewing effort! Merging

Sure! Rebased and squashed.

Sure! Rebased and squashed.

@Override
public void snapshotState(FunctionSnapshotContext context) throws Exception {
LOG.debug("snapshot state, checkpointId={}", context.getCheckpointId());
rollbackPreparedFromCheckpoint(context.getCheckpointId());
prepareCurrentTx(context.getCheckpointId());
beginTx(context.getCheckpointId() + 1);
stateHandler.store(of(preparedXids, hangingXids));
}
When calling beginTx(), it will start a new transaction with a new XID, which will cause an Exception below
XAER_RMFAIL: The command cannot be executed when global transaction is in the  PREPARED state, right?

The current transaction must be in PREPARED state by the time of beginTx() call, so XAER_RMFAIL shouldn't be thrown.
Do you observe this behavior? If so, would you mind opening a ticket at https://issues.apache.org/jira/projects/FLINK/summary ?

@rkhachatryan Please have a look at https://issues.apache.org/jira/browse/FLINK-21743, thanks.


Error: encryptionSecret needs to be 32 characters, but was 36 characters.

Bug Report
Current Behavior
When testing Quirrel locally, the encryption secret from quirrel.dev contains dashes amd causes an error. Removing the dashes works.
Input Code

Create Project & environment
Note the token beneath text This is your token. It'll only be displayed in this session, so take note of it:
Set token as local env value QUIRREL_ENCRYPTION_SECRET
Attempt to dispatch to a queue

queue.enqueue(...)

Expected behavior/code
expected Proper enqueue of job
actual Error: encryptionSecret needs to be 32 characters, but was 36 characters.
Environment

Quirrel version: 1.7.4
Node/npm version: Node @ v14.8.0, npm @ 7.15.1, yarn @ 3.0.2

Possible Solution
Either the token shouldn't have dashes, or on dispatch the dashes need to be stripped from the token (I'm guessing this is a side effect of node's crypto functions). Honestly, it's probably much cleaner if the UI never presents a dash-separated token in the first place.
Additional context/Screenshots
(can't provide since it's got a token)

Hi! The token that quirrel.dev gives to you is an access token and should be written into the QUIRREL_TOKEN env var. QUIRREL_ENCRYPTION_SECRET should 32 characters long, and it should be generated by you, as explained here: https://docs.quirrel.dev/deploying

That's on me. I thought the deploying section was for DIY deployments.


Changes disableEveryone to disableMentions, updated in v12

Changes disableEveryone: true to disableMentions: "everyone", updated in v12, disables @everyone ping.

everyone is a person in github xD

man

when are you gonna merge this

failure @FlaringPhoenix did that in his failed attempt to fix the ping exploit.

LMAO


[PE-D] Import does not open a new window

No window opened after i typed in import, also hangs the application

Labels: type.FeatureFlaw severity.High
original: putaojuice/ped#12

Hello, we changed our file chooser to one that works for non-Windows systems. Thanks for the catch!


Project owners/members are not able to view cluster notifies

Steps to reproduce:
As admin:

create a cluster
create a notifier in the cluster
create a project in the cluster
create a user
assign the user you created to the project you created
log out as admin; log in as the user
as the user, in the project, attempt to configure an alert.

Expected:
User should be able to see the notifier in the dropdown when configuring the project alert
Actual:
Notifier dropdown is empty

current workaround in 2.0.0

Create a role that has just: Get, List, and Watch for the Notifiers resource.
Edit the Cluster
Assign the user or group to JUST the new notifier role.


Added French locale

I've added french translations and fix path syntax
Spoiler: thanks for all you're work it's really insane !

Thank you for your kind words and contribution! May i ask why did you moved the translations into another sub directory and what does it fix?

Just to have the project more organize ^^
Doesn't fix anything

Ah great. If you need a player you can checkout my jellfin-vue fork.

The stack is now available as docker compose file


Translation to/from Microsoft Word

Following from #49, once we have settled the contract format/templating approach for the next iteration of the prototype, let's try to figure out a good approach to dealing with the conversion to/from Microsoft Word format, while preserving all the relevant contract source elements in that conversion.

Labeled as priority as it satisfies the following major workflows:

Export to a word document in the event legal is involved and is required to view the comments.
Import legal doc changes easily from a word document or edit the existing template with diff and comments.

In the interest of getting to the next internal release sooner, I think we can deprioritize this. Obviously this is super important for making the tool work fully, but for now we can say the tool will only be used for cases where we don't need external input (from a lawyer) and thus don't need this.
Once we have the tool working again for contracts that don't require such external review, then we can re-prioritize this.


null value for optional presence strings

for example, some type like this, without a nullValue given, what is the default nullValue in SBE for it?

The SBE standard does not have support for optional value strings. Best to ask the question here.
https://github.com/FIXTradingCommunity/fix-simple-binary-encoding


TChannel Integration and a Tigress Improvment

TChannel:  If one passes an integration parameter in the calfile, it now defaults to use the integration in during the GetEnergy call.
TTigress:  A TVector3 was being created on every default GetDoppler call, changed this to use a default const static fBeamDirection set to (0,0,1) stored in the TGRSIDetectorHIt base.

Please do not pull this request.  I have found a number of error in tigress today.  From Detector/Segment/Crystal id issues, to segments being built as cores to tig-10 timestamp bugs.  I have no idea where or when this appeared but my guess any tigress data sorted with the code that was on the master branch has some strange gamma behavior.  I have fixed all the issues I have found so far on my local branch, however I still appear to be having an issue with the core copy and possibly dropping segments(?).  It might also be because it is late.  I will revisit this in the morning and push all the issue solutions.

If you're talking about this #663, the timestamp bugs seem to be originating from a dodgy card in the DAQ. Possibly the master card itself.

Possible, they were timestamp duplicates, but good data otherwise (and what
looks like a good timestamp).  The version on my local master seems to be
pulling this data from the midasbank to the fragment OK now.
To be clear, there where a series of other problems as well.  Mostly id
crises that seemed to goes the building to go haywire.
On Mar 14, 2016 11:01 PM, "jhenderson88"<EMAIL_ADDRESS>wrote:

If you're talking about this #663
https://github.com/GRIFFINCollaboration/GRSISort/issues/663, the
timestamp bugs seem to be originating from a dodgy card in the DAQ.
Possibly the master card itself.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/GRIFFINCollaboration/GRSISort/pull/669#issuecomment-196629739

Sure. Everything else about the data looked fine when I noticed this. It was just that (good) timestamps were being weirdly duplicated.

ok, I have finished going over everything.  I stand by the fact that the current master branch of tigress is very broken; I am not sure when/how these errors came into the code.  But this pull fixes everything I found.
The quickest summary I can give:
PreFix

from left to right, the columns in the picture are (all members are from tigresshit):
row:instance: Address: MNEMONIC: Det. Number: xtal-Number: CoreCharge: CoreEnergy: Num Seg associate with the core.
The first noticeable feature, the detector number/crystal number change depending on the order of reading; I fix this by moving the detector/segment/crystal number for all grsidetectorhits out of the hit and into the channel.  This accomplishes the goal of minimum string parsing (once per detector now, instead of once per hit).  Also the detector number/crystal number seem to have no clear correspondence to the mnemonic, I did not investigate why as moving to the channel fixed it.  (For the griffin people, this change effect you too (in a good way :) ), but I am interested in knowing if you say a similar effect with crazy det numbers and crystal numbers when using the current master.
Next big problem.  Segments where being built as corehits.  The only saving grace to this one is, most people do not have energy coeff set for the segments.  Thus, I believe GetEnergy() will give a somewhat sensible spectrum, at least in the useful range. However the total number of counts in such a spectrum would just be bonkers.  Additionally, not have the proper detector/crystal/segment numbers along with the segments being added as cores, can do nothing good for the Doppler shift energy.
I had to do quite a few things to get everything working again, as one can see from the commit history on this pull request.  Below is the same scan run on the exact same data post-fix and rebuilding the tigress branch in the analysis tree.
PostFix

I am satisfied that this is now working correctly.  Additionally this pull request has the fix for the funky timestamp issue mentioned by @jhenderson88 earlier, however this fix had nothing to do with the bogus tigress building.

This code is currently available on my master for those that want it now;  I am going to leave this open for a bit before merging it into the current master simply so this thread can get so views.  Once I merge, I believe this thread becomes more hidden.

The problem is in Tigress::AddFragment. You cannot Get or Set detector, energy, etc and then write to disk without then setting the kIsSet flags to 1 which causes bad things to happen. I may force the streamer to write these bits as 0.

On Mar 15, 2016, at 1:20 PM, pcbend<EMAIL_ADDRESS>wrote:
This code is currently available on my master for those that want it now; I am going to leave this open for a bit before merging it into the current master simply so this thread can get so views. Once I merge, I believe this thread becomes more hidden.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub https://github.com/GRIFFINCollaboration/GRSISort/pull/669#issuecomment-196932721

Perhaps I missed something, but these things should not be written to the
file?  Regardless the method of detector/segment/crystal number storage
proposed here is faster.
On Tue, Mar 15, 2016 at 1:31 PM, Ryan Dunlop<EMAIL_ADDRESS>wrote:

The problem is in Tigress::AddFragment. You cannot Get or Set detector,
energy, etc and then write to disk without then setting the kIsSet flags to
1 which causes bad things to happen. I may force the streamer to write
these bits as 0.

On Mar 15, 2016, at 1:20 PM, pcbend<EMAIL_ADDRESS>wrote:
This code is currently available on my master for those that want it
now; I am going to leave this open for a bit before merging it into the
current master simply so this thread can get so views. Once I merge, I
believe this thread becomes more hidden.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub <
https://github.com/GRIFFINCollaboration/GRSISort/pull/669#issuecomment-196932721

—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/GRIFFINCollaboration/GRSISort/pull/669#issuecomment-196938070

Would you be opposed to me creating a new branch and then making this PR point towards that branch instead of master? It's easier/cleaner for me to work on that branch if I don't have to go setting remotes towards your master.

Considering how broken tigress is on the master; my feeling is this should
be incorporated there.  I haven't merged it in yet to griffin repo because
I still need to check the addback. Hopefully I will find a bit of free time
this afternoon to see how it is acting than I will just push this init the
main repo.
On Thu, Mar 17, 2016 at 9:29 AM, Ryan Dunlop<EMAIL_ADDRESS>wrote:

Would you be opposed to me creating a new branch and then making this PR
point towards that branch instead of master? It's easier/cleaner for me to
work on that branch if I don't have to go setting remotes towards your
master.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/GRIFFINCollaboration/GRSISort/pull/669#issuecomment-197879487

No. I'm just not going to do the proposed changes until then.

On Mar 17, 2016, at 2:49 PM, pcbend<EMAIL_ADDRESS>wrote:
Considering how broken tigress is on the master; my feeling is this should
be incorporated there. I haven't merged it in yet to griffin repo because
I still need to check the addback. Hopefully I will find a bit of free time
this afternoon to see how it is acting than I will just push this init the
main repo.
On Thu, Mar 17, 2016 at 9:29 AM, Ryan Dunlop<EMAIL_ADDRESS>wrote:

Would you be opposed to me creating a new branch and then making this PR
point towards that branch instead of master? It's easier/cleaner for me to
work on that branch if I don't have to go setting remotes towards your
master.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/GRIFFINCollaboration/GRSISort/pull/669#issuecomment-197879487

—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

last major change:  TGRSIRunInfo::AddbackWindow() now returns the default value if the value is less than 1.0.
Merging the branch in the collaboration master.


Change Jetty dependency to 9.4.12.RC2 or higher to avoid bug with setting maximum message buffer size

Hi,
I have found one more issue: setting the default maximum binary message size is not working in current major release numbers of Jetty. There is a bug: https://github.com/eclipse/jetty.project/issues/2767
Please update all Jetty dependencies to 9.4.12.RC2 or higher.
thanks,
Tobias

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

ID: d9a1e7ee-0ac1-8041-5924-97209ce90634
Version Independent ID: 57c3fe42-7748-8318-92a5-c0b5f35cfe5f
Content: Java Quickstart for Azure Cognitive Services, Microsoft Translator Speech API
Content Source: articles/cognitive-services/translator-speech/quickstarts/java.md
Service: cognitive-services
GitHub Login: @v-jaswel
Microsoft Alias: v-jaswel

@polarapfel Hi! Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@v-jaswel Hi Jason, this is a document related bug here, can you please check it and update the document as necessary? Thanks a lot!

This service has been deprecated. Please see the new Speech Service (https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/).
#please-close


Issue in VSCode Karavan Plugin

I am trying to create a sample integration using the vscode plugin but the deigner view / pallete is not getting loaded
I have installed JBang & Camel JBang. I am trying this in Windows 11

I figured the problem. I havent seleted the folder to create the integration. Silly me :)


Merges Master to Live. See commits for details.

Docs Build status updates of commit ab0f1dc:
:clock10: Full build: the average full build time is 14 min(s) 10 sec(s), this is based on the last 337 build(s) for this repository.

Docs Build status updates of commit ab0f1dc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Enable-SPOCommSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOHubSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

skype/skype-ps/skype/Invoke-CsComputerFailOver.md
:white_check_mark:Succeeded
View (skype-ps)

teams/teams-ps/teams/Add-TeamUser.md
:white_check_mark:Succeeded
View (teams-ps)

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

Docs Build status updates of commit 7e8cf72:
:clock10: Full build: the average full build time is 14 min(s) 10 sec(s), this is based on the last 338 build(s) for this repository.

Docs Build status updates of commit 7e8cf72:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Enable-SPOCommSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOHubSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

skype/skype-ps/skype/Get-CsOnlineApplicationEndpoint.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Invoke-CsComputerFailOver.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOnlineApplicationEndpoint.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Remove-CsOnlineApplicationEndpoint.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineApplicationEndpoint.md
:white_check_mark:Succeeded
View (skype-ps)

teams/teams-ps/teams/Add-TeamUser.md
:white_check_mark:Succeeded
View (teams-ps)

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

  Invalid base branch - PR blocked
The target (base) branch - live - you're trying to merge this pull request into only accepts pull requests from the main branch.
If you're trying to publish changes you've made to the live site, you must first merge this pull request into the main branch. After this pull request is merged into the main branch, your changes will be published live at the next scheduled publish time. For information about the Marvel publishing process, see Marvel PubOps publishing process.
To change the target branch from live to main, use the following steps:

Select the Edit button next to the pull request title.

Select base:live.

In the list that appears, select main.

Select Change base.

NOTE Clicking Change base is safe. The message is specific to more complex branching methods that aren't typically used in Marvel repos. Even with those methods, this message only applies to how commits are tracked in the repo's history. There is no risk of data loss.


Feature Request: Allow DynDNS API to update TXT records

I'd like to suggest the following feature:
Extend the DynDNS API to TXT records so that they can be easily set and removed by API clients.
A particular use case for this feature would LetsEncrypt domain validation via dns-01. In this case an LE plugin would simply call https://<endpoint>/dyn?hostname=_acme-challenge.<mydomain>&txt=<txt-challenge>. Likewise cleaning up could be done by https://<endpoint>/dyn?hostname=_acme-challenge.<mydomain>&txt= (mark the empty txt param).
I built an example implementation for the API here: https://github.com/BastiG/dyndns2-pdns/
The client (for acme.sh) is here: https://github.com/BastiG/acme-sh-dyndns2/
The server part is a quick and dirty PoC based on PHP, not meant for production in any case - I'd rather see this feature become part of the real solution here.
Side note: the original DynDNS protocol was not designed for updating anything but A/AAAA records. Yet, if you're looking at existing dns-01 plugins for LetsEncrypt certbot or acme.sh, you can see that some of the original DynDNS providers also added support for TXT records one way or the other. Also, extending the DynDNS implementation in PDA in this way should not break compatibility with any DynDNS clients out there since the original API does not change.

This would also like to see implemented along with #789

Been looking for a feature like this to allow letsencrypt wildcard certificates that need acme_challenge.

Hello,
This request is stale for too long. Regarding our policy to cleanup this project, we are closing it. As this is a Feature Request, it will be listed in #1178
Regards
PowerDNS Admin Team
See #1153 for the policy


Poetry remove causes package update

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: GNU/Linux 4.18.7-1-default, openSUSE Tumbleweed
Poetry version: Poetry 0.11.5
Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/rominf/e7e43bcec17b442127a449757bf41b1d

Issue

I had dacite package as a dependency in pyproject.toml. I ran poetry remove dactie but instead of deleting I got package update:
poetry remove dacite
Skipping virtualenv creation, as specified in config file.
Updating dependencies
Resolving dependencies... (0.5s)

Package operations: 0 install, 1 update, 0 removals

Writing lock file

  - Updating dacite (0.0.16 -> 0.0.17)

Are there other packages that depend on it?

I am closing this issue.
If the problem still occurs feel free to reopen it.


Evaluating estimators

I have been using kaplan meier estomators and wrote a small function to evaluate the estimator at any timepoint. I have used this to generate statistics or diagnostic plots.
function evaluate(km_fit::KaplanMeier, t::Real)
    time_points = km_fit.events.time
    survival = km_fit.survival
    if t <= time_points[1]
        return 1
    else
        id = findlast(x -> x <= t, time_points)
        return survival[id]
    end
end

@ararslan if you think this is a usefull feature i can create pull request. I have not looked at the Nelson Aalen estimator but maybe something similar can be done / in general for the nonparametric estimator type.

Nice idea! The functionality seems worthwhile to have but I wonder if it would make sense to define it as a method of getindex or even of the object itself. So with km = KaplanMeier(...) and a time t, that would be km[t] or km(t), respectively. What are your thoughts on that?

Yes that would look nice, as in https://docs.julialang.org/en/v1/manual/methods/#Function-like-objects


Add ESC Environment Resource to the Pulumi Cloud Provider

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

I have a Pulumi program with AWS Resources; in this same program, I'd like to create a new ESC Environment. I can do so using axios and this REST API, but it's messy.
Affected area/feature

Pulumi Service

Related to https://github.com/pulumi/pulumi-pulumiservice/issues/179 and https://github.com/pulumi/pulumi-pulumiservice/issues/63.


Fribidi won't compile anymore

Fribidi won't compile anymore. Package can't be downloaded. Changed the url to:
https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz
and modified the parameters, but then it complains that it can't find configure.

ah !
instead of http://fribidi.org/download/fribidi-${FRIBIDI_VERSION}.tar.bz2
I see, thanks. Will update, not sure why travis build passed though.

yeah ouch :
curl -I fribidi.org
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Keep-Alive: timeout=15
Date: Wed, 15 Nov 2017 22:29:15 GMT
Server: Apache
Location: https://github.com/fribidi/fribidi/

closing as we pushed #75 which fixed it.


Add dumping frames

Optionally return a frame on each vsync.
Interlacing artifacts occur on screen. Unsure why that may be, the returned image does not have them anyways.
Resolves #7

Oh yeah, I have no CI yet.


please update the version in bower.json for 1.4.3 and 1.5.0

The version # in these two releases still says 1.4.2, which can cause certain build resolution processes to fail.

Cool, fixed now - i'm pretty sure bower uses tags in preference to versions in bower.json though.


Installation on Windows 10

All goes well (after install VS2017 SDKs), except for "pip install ffcv".  Both versions are tested and yields:
(ffcv) C:\Users\Nico Stuurman>pip install ffcv
Collecting ffcv
  Using cached ffcv-0.0.2.tar.gz (53 kB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\miniconda3\envs\ffcv\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Nico Stuurman\\AppData\\Local\\Temp\\pip-install-6g53gzac\\ffcv_bec63284499b4f4eaef3c59145fdfa37\\setup.py'"'"'; __file__='"'"'C:\\Users\\Nico Stuurman\\AppData\\Local\\Temp\\pip-install-6g53gzac\\ffcv_bec63284499b4f4eaef3c59145fdfa37\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Nico Stuurman\AppData\Local\Temp\pip-pip-egg-info-2f42xkgr'
       cwd: C:\Users\Nico Stuurman\AppData\Local\Temp\pip-install-6g53gzac\ffcv_bec63284499b4f4eaef3c59145fdfa37\
  Complete output (7 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\Nico Stuurman\AppData\Local\Temp\pip-install-6g53gzac\ffcv_bec63284499b4f4eaef3c59145fdfa37\setup.py", line 30, in <module>
      extension_kwargs = pkgconfig('opencv4', extension_kwargs)
    File "C:\Users\Nico Stuurman\AppData\Local\Temp\pip-install-6g53gzac\ffcv_bec63284499b4f4eaef3c59145fdfa37\setup.py", line 18, in pkgconfig
      raise Exception()
  Exception

Not sure where the logs are, but surely would expect 'pkgconfig' to be absent on Windows.
Any ideas?

Hello,
Unfortunately none of us own a windows machine so it will be hard for us to help troubleshoot this. We did not intend to support Windows in the first place.
We use pkg-config to find the paths to the libturbojpeg and opencv libraries. You could craft your own setup.py with the correct paths to these libraries.
Hope it helps :/

I built ffcv successfully with my Windows 10 PC
This is the installation process I did.
Install opencv (https://opencv.org/releases/)
After install opencv, move to C:/opencv
Install libjpeg-turbo (https://sourceforge.net/projects/libjpeg-turbo/)
download libjpeg-turbo-x.x.x-vc64.exe, not gcc64
Install pthread (https://www.sourceware.org/pthreads-win32/)
I downloaded pthreads-w32-2-9-1-release.zip
After unzip, rename Pre-build.2 folder to pthread and move to C:/pthread
We need to configure .pc file of above packages to find them with pkg-config.
pkg-config .pc files path: C:/msys64/mingw64/lib/pkgconfig
create and paste below files to pkg-config path
# opencv4.pc

prefix=c:/opencv/build
exec_prefix=c:/opencv/build
libdir=c:/opencv/build/x64/vc15/lib
includedir=c:/opencv/build/include

Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.5.5
Libs: -Lc:/opencv/build/x64/vc15/lib -lopencv_world455
Cflags: -Ic:/opencv/build/include

# libturbojpeg.pc

prefix=c:/libjpeg-turbo64
exec_prefix=c:/libjpeg-turbo64
libdir=c:/libjpeg-turbo64/lib
includedir=c:/libjpeg-turbo64/include

Name: libturbojpeg
Description: A SIMD-accelerated JPEG codec that provides the TurboJPEG API
Version: 2.1.2
Libs: -Lc:/libjpeg-turbo64/lib -lturbojpeg
Cflags: -Ic:/libjpeg-turbo64/include

# pthread.pc

Name: Pthread
Description: Open Source Computer Vision Library
Version: VC3
Libs: -LC:/pthread/lib/x64 -lpthreadVC2
Cflags: -IC:/pthread/include

Now pkg-config can recognize opencv4, libturbojpeg, pthread.
In setup.py, add extension_kwargs = pkgconfig('pthread', extension_kwargs)
and mute extension_kwargs['libraries'].extend(['pthread']), like below.
# setup.py
...
extension_kwargs = pkgconfig('opencv4', extension_kwargs)
extension_kwargs = pkgconfig('libturbojpeg', extension_kwargs)
extension_kwargs = pkgconfig('pthread', extension_kwargs)  # add this line.

# extension_kwargs['libraries'].extend(['pthread'])  # mute this line.
...

In libffcv/libffcv.cpp remove dunder from dunder uint in imdecode
# libffcv/libffcv.cpp
    int imdecode(unsigned char *input_buffer, uint64_t input_size,
                 uint32_t source_height, uint32_t source_width,
                 unsigned char *output_buffer,
                 uint32_t crop_height, uint32_t crop_width,
                 uint32_t offset_x, uint32_t offset_y,
                 uint32_t scale_num, uint32_t scale_denom,
                 bool enable_crop,
                 bool hflip)

Finally, we can build ffcv py following command without error.
python setup.py bdist_wheel

That's amazing. Feel tree to make a pull request if you are fine making this available to other users. In the meantime I will close this issue.


Map constantly re renders

I plugged in your wonderful MapView in place of one where I was using MapView from react-native-maps and it stopped using my current location on initial load. We were able to fix that by updating the onUserLocationChange callback and everything seemed fine on the iOS simulator and the Android emulator. BUT on a physical Android phone, the map continually re-renders and the onUserLocationChange constantly fires off with slightly different coordinates each time. Any idea what might be causing it to re-render continually and shift the coordinates every so slightly?
Here's the props that we pass into the MapView:
children: (50) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
clusterColor: "#022b6e"
clusterTextColor: "#FCBA00"
initialRegion: {
    latitude: 39.6515089
    latitudeDelta: 0.5
    longitude: -79.9480251
    longitudeDelta: 0.5
}
key: "{"latitude":39.6515089,"longitude":-79.9480251,"latitudeDelta":0.5,"longitudeDelta":0.5}"
minZoomLevel: 7
onRegionChangeComplete: ƒ (region)
onUserLocationChange: ƒ ()
provider: "google"
radius: 100
ref: {current: null}
showsMyLocationButton: true
showsUserLocation: true
style: {flex: 1, minHeight:<PHONE_NUMBER>1428567}

Not sure if this is related so I'll mention it just in case - I see a warning in the console as well that comes from ClusteredMapView:
ExceptionsManager.js:82 Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
    in ClusteredMapView
    in ClusteredMapView (at Map/index.js:41)
    in Map
    in Map (at UserMap/index.js:41)

I think I am also experiencing this. I have about 2.5k markers and map gets slower and slower until crashes on memory.

I think I am also experiencing this. I have about 2.5k markers and map gets slower and slower until crashes on memory.

try tracksViewChanges={false} for your markers

problem is tracksViewChanges is not being explicitly passed down to the  component internally in the library.
You need to do yourself for now. You can either fork it or just edit the package in node_modules directly (I did the latter).
Just go to ClusteredMapView.js and ClusteredMarker.js and find the  component and add tracksViewChanges={false}

@nashashibi Thank you! This solves the issue! Would you be so kind to submit a PR?

@rezasazesh I was planning to do this soon but apparently there's an open PR for this fix already.

@nashashibi I saw it, its amazing!!

Fixed in module version 3.2.0
Thank you for your contribution ❤

problem is tracksViewChanges is not being explicitly passed down to the <Marker /> component internally in the library.
You need to do yourself for now. You can either fork it or just edit the package in node_modules directly (I did the latter).
Just go to ClusteredMapView.js and ClusteredMarker.js and find the <Marker> component and add tracksViewChanges={false}

OMG, 4 years after this actually saved my butt today!


Change Skill.ParentSkillId to allow null

With out ParentSkillId being nullable you are unable to add the first record.

I'll get this done with #124

It's also a part of PR130 https://github.com/HTBox/allReady/pull/130

Sounds good. #124 got merged anyway.

This can be closed.

I missed hand closing this. (Note to all: Explicitly marking a PR with "Fixes" and the issue # means it will close on the merge. (I'll keep looking when we forget.)


🍒 Cherry pick PR #21148 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/21148 to staging 🍒

🚀 Cherry-picked to staging by https://github.com/OSBotify in version: 1.3.29-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.29-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Command line wrapper problem when launching mutattion tests

Hello,
Firstly thank you for this nice plugins.
I installed the last version of it in the IntelliJ 2022.2 Community Edition.
When launching mutation tests, I got this error :
`CommandLineWrapper` is ill-suited for launching apps on Java 9+.
If the run configuration uses "classpath file", please change it to "@argfile".
Otherwise, please contact support.

Here is the command launched before the error by the plugin :
xx/tools/jdk-11.0.2/bin/java -Dvisualvm.id=8229697675761917 -javaagent:/usr/local/lib/idea/lib/idea_rt.jar=35859:/usr/local/lib/idea/bin -Dfile.encoding=UTF-8 -classpath /usr/local/lib/idea/lib/idea_rt.jar com.intellij.rt.execution.CommandLineWrapper /tmp/idea_classpath606302401 org.pitest.mutationtest.commandline.MutationCoverageReport --targetClasses fr.targetclass.* --targetTests fr.targetclass.* --reportDir xx/result/2023-02-10-16-35-48 --mutators DEFAULTS --timeoutConst 4000 --outputFormats HTML --excludedClasses *Test* --timeoutFactor 1.25 --maxMutationsPerClass 0 --testPlugin junit --timestampedReports=false --includeLaunchClasspath=true --verbose=false --failWhenNoMutations=true

And here are the pom elements :
<dependency>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-junit5-plugin</artifactId>
    <version>1.1.2</version>
</dependency>

  <plugin>
      <groupId>org.pitest</groupId>
      <artifactId>pitest-maven</artifactId>
      <version>1.11.0</version>
      <dependencies>
          <dependency>
              <groupId>org.pitest</groupId>
              <artifactId>pitest-junit5-plugin</artifactId>
              <version>1.1.2</version>
          </dependency>
      </dependencies>
  </plugin>

Thank you in advance for you help :)

Hi there,
I am aware of the error, thank you for the issue. I know the reason for it was a fix i tried to create for the windows users. As a temporary fix i recommend use an older version from the release section in this github repo. A Fix will be comming at the end of the month.

Thanks for the workaroud !

I'm still having the same problem with version 1.2 from December, so I understand the new version didn't see the light


undefined is not an object (evaluating 'RNBackgroundGeolocation.configure')

Plugin version: 0.2.0-alpha.5"
Platform: iOS
OS version: 10.0 (14A345)
Device manufacturer and model: Simulator iPhone 6
React Native version: 0.34.0

Here's the code snippet:
BackgroundGeolocation.configure({
  desiredAccuracy: 10,
  stationaryRadius: 1,
  distanceFilter: 1,
  interval: 5000,
  fastestInterval: 5000,
  saveBatteryOnBackground: false,
  activityType: 'Fitness',
  url: apiUrl,
  stopOnStillActivity: false,
})
BackgroundGeolocation.start()

Expected Behavior
Getting the location to work
Actual Behavior
Nothing worked, log message shows undefined is not an object (evaluating 'RNBackgroundGeolocation.configure')
Steps to Reproduce

Install the library
Run the code snippet

Fixed by removing all references and reinstalling the library

@nodegin  Could you elaborate on your fix please? I'm on Version: 0.2.0-alpha.7. I've tried reinstalling the library and it's still giving me this:

@DanielCarns You need remove all references in XCode, however I forgot the details

@nodegin Okay, thanks for the speedy reply.

@DanielCarns Did you figure this one out? I'm facing the same issue right now

@michael-gillett Yeah, so I found out I was missing the libsqlite3.tbd file under Build Phases -> Link Binary with Libraries. If you aren't missing that then I suggest deleting the Xcode project and restarting and following this process:
1.) In XCode, in the project navigator, right click Libraries ➜ Add Files to [your project's name]
2.) add ./node_modules/react-native-mauron85-background-geolocation/ios/RCTBackgroundGeolocation.xcodeproj
3.) In the XCode project navigator, select your project, select the Build Phases tab and in the Link Binary With Libraries section add libRCTBackgroundGeolocation.a
4.) add UIBackgroundModes location to Info.plist
5.) add NSLocationAlwaysUsageDescription App requires background tracking to Info.plist
For more information check https://github.com/mauron85/react-native-background-geolocation

@DanielCarns Thanks a bunch, I didn't have the libsqlite3 file linked

I have this same issue and libsqlite3 is linked.

I'm having the same issue. libsqlite3 is linked. for me too.

I'm having the same issue after auto link.how to solve it?


fix: expand scope of skip-on-error flag

Provides a workaround for #54.
skip-on-error flag covers all errors thrown while looping through assets, posts, and pages.
I couldn't think of a way to easily add unit test cases, so here's a manual test with some example hardcoded errors, using a modified build (these are not committed in this PR):

@mb534 Thank you.
Issue #54 has been addressed by providing a new flag.
This PR may be merged in the future if necessary.


added sorting visualizer in js-projects directory

Title And Issue Number
Sorting Visualizer #662
Close #662
CheckList:

[x] I have mentioned the issue number in my Pull Request.
[x]  I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

Sorting Visualizer Web App
Tech Stack

Used Vanilla JS for building all the sorting algorithms' logic
HTML5 for the UI of the app

Features

Generate an array of 20 random integers any number of times
Choose between 5 sorting algorithms to see how they perform in terms of speed to sort the given array
If you think the sorting is taking too long, you can adjust the speed manually with 6 different speeds

Screenshots
Initially:

Finally (Using Insertion Sort):

Thanks & Regards

@pranjay-poddar
Can you review this PR?
Thanks & Regards!

follow the PR template

follow the PR template

Hi, can you tell where can I find the PR template?
Thanks!

Hi @pranjay-poddar ,
Is this repo excluded from hacktoberfest? I submitted a PR in this repo, it was under the review stage. Now it's showing excluded. Can you help me with this?
Thanks in Advance.


tilt fails to deploy PodDisruptionBudget

Reported in the #tilt slack channel.
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: infra-kafka-zookeeper
  labels:
    app: zookeeper
spec:
  selector:
    matchLabels:
      app: zookeeper
      release: infra-kafka
      component: server
  maxUnavailable: 1

Tilt will fail with an error:
ERROR: kubectl apply:
       stderr: error: error validating "STDIN": error validating data: ValidationError(PodDisruptionBudget.status): missing required field "disruptedPods" in
       io.k8s.api.policy.v1beta1.PodDisruptionBudgetStatus; if you choose to ignore these errors, turn validation off with --validate=false
       : exit status 1

I think I have a fix for this but it requires some custom serializers that I need to polish a bit more


User Profile - Make user icon and name clickable anywhere in the app

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in to e.cash
Try clicking on another's user's icon or name around the app.

Expected Result:
Clicking on the user icon or name should always open the user's profile/
Platform:
Where is this issue occurring?
Web ✔
iOS ✔
Android ✔
Desktop App✔
Mobile Web✔
Version Number: 1.0.74-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
View all open jobs on Upwork

From @muttmuure https://expensify.slack.com/archives/C01GTK53T8Q/p1624891338163400

Anyone else think we should bring up a user’s profile by clicking on their icon or name anywhere in app?

Triggered auto assignment to @cead22 (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Can we also make the names in the chat/group header bring up the profile?

I wanna take this task, just need to wrap the elements around Pressable and navigate to the participant.

Can we also make the names in the chat/group header bring up the profile?

This should just bring up the group info as a sideDocked modal, and then from here you should be able to click on individual names.

This should just bring up the group info as a sideDocked modal, and then from here you should be able to click on individual names.

Thanks good call out

PR https://github.com/Expensify/App/pull/3912 deployed to production. Closing this issue.


feat: expose getRouteRulesForPath from nitro runtime

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This exposes getRouteRulesForPath from #internal nitro. We could use it in Nuxt (context) to avoid duplicating this logic or importing deeply from the runtime directory.
Not sure if there was a reason it was explicitly not exposed previously.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

We need to make (type) read-only before exposing util.

Should be good to go 👍


feat(examples): function selectors

Description
Searching for transactions with function selector obtained from ABI smart contract wrapper or manually from function signature.

Solution

Current dependencies on/for this PR:

master

PR #4

PR #2

PR #5

PR #6

PR #7

PR #8   👈

PR #3

This stack of pull requests is managed by Graphite.


IPMI password is returned when getting poller data

A GET to /api/1.1/pollers/:id/data, /api/1.1/pollers/:id/data/current, /api/2.0/pollers/:id/data, and /api/2.0/pollers/:id/data/current return the OBM username/password information in the clear.
curl http://localhost:8080/api/1.1/pollers/5717bdaa2fde0d3558187ee4/data/current | python -mjson.tool
[
    ... data clipped ...
    {
        "host": "<IP_ADDRESS>",
        "node": "5717bd63e89936175898dafb",
        "password": "admin",
        "timestamp": "Thu May 05 2016 19:38:26 GMT+0000 (UTC)",
        "user": "admin"
    }
]

Tracking story: https://www.pivotaltracker.com/projects/1492890/stories/119029575

The current design is to change the password to [REDACT] to hide those sensitive info, see obm (https://github.com/RackHD/on-http/blob/master/lib%2Fserializables%2Fv1%2Fobm.js) and ssh (https://github.com/RackHD/on-http/blob/master/lib%2Fserializables%2Fv1%2Fssh.js)

Closing issue, resolved in https://github.com/RackHD/on-tasks/pull/195


OpenShift image + support

The Dockerfile.UBI file will be pulled by the Red Hat build service. We just have to include it in our repo. Alternatively, the image can be built locally and pushed to the Red Hat partner registry.
In the driver itself we need changes to support the scheduler extensions on OpenShift 4.6 and 4.7.
Fixes: #652

@avalluri: can you perhaps review?
I may have to take out the ipmctl commit before merging, depending on when we get the necessary paperwork done.

I may have to take out the ipmctl commit before merging, depending on when we get the necessary paperwork done.

I pulled out that one commit and moved it into https://github.com/intel/pmem-csi/pull/1026/

avalluri approved these changes

I've pushed an update. @avalluri: please take another look at 0211dfc, the updated commit for the region alignment fallback.
I rebased on top of https://github.com/intel/pmem-csi/pull/1028, therefore the overall diff (https://github.com/intel/pmem-csi/compare/076196ab4b15db467ca2340b1b5573e849902d6f..1070c89f97e36c48a739a9e3a6c3f6094639f280) is a bit larger.


k4a_record_create() shouldn't never return

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

Yes. It is a bug with k4a_record_create(). When I gave it a bad filename like "try.mkv" instead of "C:/Users/Me/Desktop/try.mkv" it never returned from running. It blocked up or something and I couldn't see any output for what went wrong. It took trial and error to figure out my file name was bad.
Describe the solution you'd like

If the file path is bad, and error or something useful should be displayed or returned, not forever loop kind of block which lead me to just guess what was happening.
Describe alternatives you've considered

Not Applicable.
Additional context

A filename input of "try.mkv" should create a recording file in the current directory, and should be valid.
There is no loop or retry logic inside of k4a_record_create(), so it should always return success/failure.
Are you able to break into a debugger to see where the function is hanging?

@xthexder I broke into a debugger on this line. I tried "step into" but it couldn't find the file with path: d:\a\1\s\extern\azure-kinect-sensor-sdk\src\record\sdk\record.cpp
So it seems as though I don't have access to that file. Its using it for sure though, I just don't know where it is and the debugger couldn't find it either.
So I stepped over instead of into, about 3 times, and I got these errors, but it didn't return out or let me proceed to my next lines (which was a print for failure or success of k4a_record_create()).

Also side question. Would you suggest I create an array of captures first all at once, and then write them to a record all at once? Meaning I get all the captures I need for the recording before writing any of them to a file, and then I write all of them to the file. Or... should I get a capture and save it to a file in one step, and do that over and over again for as many captures as I want?

Interesting. I didn't realize the captures retrieved would remain in some queue handled by the camera, and that a copy of the capture was created for my capture object. I kept getting this error:

And because I set the wait time to infinite it never stopped/returned, just kept showing this error.
So putting the captures in array and then writing them to a file doesn't seem to work. I needed to get a capture and save it to the record file in one breadth.

@benjamminhansen the file record.cpp is part of this repo. So you do have access. The best way to use a debugger would be to build this SDK yourself and use your built binaries with the debugger.
Our design is for you quickly perform work based on the image (if you need to) and then hand it to the recorder as quickly as possible. The error message about releasing a capture early due to a full queue is because captures are not ready fast enough prevent the queue from filling up. So you do not need the array.

I'll need more info than just record\sdk\record.cpp, since the whole k4a_record_create() function is within that file, and I haven't been able to reproduce this locally.
Ideally you can provide the line number within record.cpp, and the call stack for where the function is hanging.
The official releases contain symbols, so the debugger should be able to load those without building from source.
If you clone the SDK at the same version as you have installed, then you can point the debugger at it to view source, though I don't think this is required to get line numbers.
As for the dropped captures, you may want to take a look at the existing recording tool to see how it handles them:
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/develop/tools/k4arecorder/recorder.cpp#L141
Depending on what you're trying to do, you may be able to just use k4arecorder directly.

Well it worked this time with a filename of "try.mkv". I don't know why, but it didn't hang.

Thank you for your help. This was very helpful!!


Enable GPU computation with numba

Some calculations with Numba can easily be done on a GPU without much implementation effort.
The @guvectorize decorator has a target option that can be set to cuda. One could at a new attribute config.cuda=False to the Config class that is either False or True corresponding to the target option to either parallel or cuda.

Unfortunately, it's not as simple as I thought. Using the 'cuda' argument in the @guvectorize decorator results in the following error message for all steering vector formulations:
Traceback (most recent call last):
  File "/workspace/cuda_test.py", line 2, in <module>
    from acoular import __file__ as bpath, MicGeom, WNoiseGenerator, PointSource,\
  File "/usr/local/lib/python3.8/site-packages/acoular-20.10-py3.8.egg/acoular/__init__.py", line 74, in <module>
    from .tbeamform import IntegratorSectorTime, \
  File "/usr/local/lib/python3.8/site-packages/acoular-20.10-py3.8.egg/acoular/tbeamform.py", line 38, in <module>
    from .fbeamform import SteeringVector, L_p
  File "/usr/local/lib/python3.8/site-packages/acoular-20.10-py3.8.egg/acoular/fbeamform.py", line 55, in <module>
    from .fastFuncs import beamformerFreq, calcTransfer, calcPointSpreadFunction, \
  File "/usr/local/lib/python3.8/site-packages/acoular-20.10-py3.8.egg/acoular/fastFuncs.py", line 206, in <module>
    def _freqBeamformer_Formulation1AkaClassic_FullCSM(csm, distGridToArrayCenter, distGridToAllMics, waveNumber, signalLossNormalization, result, normalizeSteer):
  File "/usr/local/src/acoular/.eggs/numba-0.51.2-py3.8-linux-x86_64.egg/numba/np/ufunc/decorators.py", line 177, in wrap
    guvec = GUVectorize(func, signature, **kws)
  File "/usr/local/src/acoular/.eggs/numba-0.51.2-py3.8-linux-x86_64.egg/numba/np/ufunc/decorators.py", line 49, in __new__
    return imp(func, signature, identity=identity, cache=cache,
  File "/usr/local/src/acoular/.eggs/numba-0.51.2-py3.8-linux-x86_64.egg/numba/np/ufunc/deviceufunc.py", line 449, in __init__
    assert len(self.outputsig) == 1, "only support 1 output"
AssertionError: only support 1 output

The error is due to the signature '(m,m),(),(m),(),()->(),()' in fastFuncs.py . Numbas CUDA implementation does not allow to have more than one output here.


Color/temp based on time and GPS coords

I got a demo of the color adjusting of the Lutron Ketra lights, and one of the features they had was adjusting the color/temp based on (I believe) GPS and time so your lights matched what the color temp was outside. I know there's an Issue for adjusting the color/temp based on a sensor, but this would be cool as well.
I'm not sure what it does when it's dark out because my demo was at like 3pm, but guessing it's just a (quadratic?) curve to a value :time?

the use case is that it adjusts it automatically based on GPS as opposed to fiddling with 10 parameters to get it "right". My wife constantly thinks I have the parameters wrong.
I assume it's just math to figure out what the values are; no external API needed.

I'm not opposed to the control, I just don't seem to know how to set the settings in a way that doesn't cause a lot of objecting. If you think what is there is "good enough", then I'd propose documentation that suggests how to get a setting that aren't so severe as the default settings.

I hear you but what I don't understand is how you're noticing the small discrepancies between your time zone, and the actual GPS position?
Let's say adaptive lighting is set up an hour off from my time zone. The brightness/color temp would only be a few percents difference. I wouldn't even notice that, despite a whole time zone difference being significantly larger than the GPS difference.

I was just trying to do something easy from the end user's perspective. if there already is a time zone setting, I probably didn't see it. I'll look now.

Look at the sunrise_time and sunset_time options. You can set them to the exact minute for your purpose during the creation, and change_switch_settings if you want to change them later


Did the API stop working? 404 "Unfortunately, this is no longer available."

Starting yesterday I started getting this response, am I the only one?

    "error_code": 404,
    "error_type": "record_not_found",
    "error_message": "Unfortunately, this is no longer available.",
    "error_id": "02325c724e1b48ea5b2d870bd9908085"
}```

If you have an existing token it still works.

@pbvillaflores I'm a little bit confused, why api_key is hardcoded in src/config.js?

Oh, it's related to this #3

And it uses the same token when I do it in the browser

That api key has been working well so I think that's not a concern.
I also get the same key value as you have shown in your screenshot.
The auth token is a different value. It is a substitute for your login credentials. You get one by calling airbnb.newAccessToken() function but this does not seem to work anymore.

I managed to get search results by quering https://www.airbnb.com/api/v2/explore_tabs instead of search_results, but it has really confusing structure

Also not getting any results...

You can get search results if you query this for example:
https://www.airbnb.com/api/v2/explore_tabs?api_key=d306zoyjsyarp7ifhu67rjxn52tv0t20&location=Paris
But in the response, json structure is rather difficult to parse. So I'm not sure it's viable

Here's a hint to parse the response
yourArrayResults.explore_tabs[0].sections[*].listings
*= 0 to 2 depending on the type of listing

I can't get search_results to work either. I also managed to parse the explore_tabs data, but it only returns 4 listings and when I change the section_offset it does nothing. Thoughts?


replaced pnpx with pnpm dlx in README

I think pnpx got replaced by pnpm dlx since version 7?

Thank you, I didn't know this.


Updating Forked Repo

Description
Adding changes from trunk main to forked main.
Linked Items:
N/A
Added

Adding changes from trunk main to forked main.

Checklist:

[x] I updated project documentation to reflect my changes.
[x] My changes generate no new warnings.
[x] I updated new and existing unit tests to account for my changes.
[x] I linked the associated item(s) to be closed.
[x] I bumped the version.
[x] I added the labels corresponding to my changes.

@bunchw @cvchaparro @crazynewidea
Can one of you review and approve so we have a fully up to date pre-api change instance, please?
This is merging in the changes from the end of the last iteration.


raftstore: set wait_merge_state to none after resuming pending state

Signed-off-by: Liqi Geng<EMAIL_ADDRESS>What have you changed?
cherry-pick https://github.com/tikv/tikv/pull/6615 to release-3.1
What is the type of the changes?

Bugfix (a change which fixes an issue)

How is the PR tested?

Integration test

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No.
Does this PR affect tidb-ansible?
No.

/run-all-tests

/run-all-tests


Clearing HttpClient Default User Agent Headers before adding the User Agent Headers

Otherwise, as/if HttpClient is reused, the header size grows until Salesforce throwing 413 error responses, which then the Force Client does not know how to handle.

Thanks @maxshao96! We'll get this resolved.

Merged. I'll get this published soon!


Update create-a-cognito-identity-pool.md

are the additional // not superfluous? Apologies if not, I notice in the screenshot they aren't there & other guides they also aren't there.
Thx so much for this lovely resource <3

/*/* that is


License

Closes #7

@sudara you did seem to indicate in issues that you did intend to add a license. Fair enough if this is not the license you wanted, but it would be really appreciated if you add one. Cheers! :)

Ha! I Must have hit close instead of merge. 🤦🏼


[added] Fast touch clicks

Added functionality that allows Link components to respond to the TouchEnd event, and not also fire the resulting click event.

[DONT MERGE]
Because tests are done in Firefox, I can't simulate touch events in order to test this. Did you have a recommendation?

Just passing by, I'm using React-tappable and it works great.
I've not tested yet but I think it can be used this way:
<Tappable component={Link} to="route" onTap={...}>

So it should be pretty easy to build a "TappableLink" abstraction


Tick frequency?

I notice that increasingly we end up having to implement algorithms for a sequence and then the same algorithm for a time step. In theory a time series is something that is based on time, not on indexing (like a sequence is), but we seem to be using both more or less interchangeably.
Maybe if we added a Frequency, say TickFrequency, that represents indexing rather than a notion of time, we could unify each version of each algorithm (lagging, differencing, etc.) into one, thus simplifying the API?

Would you mind clarifying what you mean by time step and sequence?  Are there cases where it's not possible to resample a time series, so that these line up?

A sequence is an ordered list of values. The differences() currently implemented in TimeSeries, for example, is a difference on sequences. It doesn't care about time.
A time series is when each observation is associated to a timestamp. In this case, we may want to difference every hour, for example. If the time series is irregular (and yes, if the time series is uniform, the time notion can be dropped and it can be treated as a sequence), then lagging or differencing by an hour can mean a different index delta for each observation.
It's always (I think) possible to resample and interpolate an irregular times series to turn it into a uniform one -- but to me the right way to handle this is to treat the "tick" frequency (i.e. sequence indexes) as just another time frequency.
I used to think that irregular time series are fundamentally useless and bound to be transformed into uniform eventually in order to do something with them -- but I'm less and less convinced of that. In fact, I now tend to keep my irregular time series irregular (thus I wouldn't want a library that forces us to transform it to uniform in order to perform simple lag/difference operations). Not to mention possible performance and memory consumption inefficiencies from doing this kind of two-step approach.

But I'm not sure what specific point you take issue with: you're saying we should only have sequence-based operations and have the user transform their time series to a uniform one all the time (and then calculate how many index positions correspond to the time period he's interested in)?

Apologies, but I think I'm having trouble understanding how this would concretely play out in the API.  What would be the semantics of the TickFrequency implementation of Frequency's advance and difference methods?  Would the signature of TimeSeries.differences change?

Yes, the signature of differences would change, and would now take in a frequency in addition to the "lag" parameter. If the provided frequency is the tick frequency, then the semantic of the difference function would be the same as the current one (although the implementation would be more generic to support other frequencies).
The semantic of the TickFrequency's advance and difference methods would be trivial: advance adds one to the index, and difference subtracts the two provided indices.
The behaviour of differences for non-tick frequencies would probably be along the lines of taking the difference between each time t and the last value at or before time t - lag. The result would be an irregular index if the input was irregular (i.e. no interpolation or "uniformisation").
The advantage from a standpoint of code maintenance, redundancy elimination and API simplicity is that we would now have only 1 function to do differences (and 1 function to do lags, etc.)

The semantic of the TickFrequency's advance and difference methods would be trivial: advance adds one to the index, and difference subtracts the two provided indices.

Frequency.advance accepts and returns a ZonedDateTime, so what would be the meaning of "adding one"?
Similarly, Frequency.difference accepts two ZonedDateTimes, so what would be the meaning of "subtracting" them?

Well I didn't express myself correctly. What I mean is that Frequency.advance(dt, n) will add n "ticks" (i.e. index positions) to dt. So essentially the implementation would be to look up the index at dt, add n, and reverse lookup the corresponding datetime.
Similarly for Frequency.difference, it looks up the two indices of the two provided datetimes, and returns the number of index positions between. It's equivalent to asking "How many trades between 8:05 and 8:35" for a financial context, for example.
What this means for an algorithm such as differences(n), is that we could have something along the following lines (to "pseudo-code" it, and ignoring some implementation details):
differences(n: Int, freq: Frequency):
{
startLoc = locAtOrAfterDateTime(freq.advance(index.start(), n))
difference vectors = map(
for each entry from startLoc to the end of the time series
{
previous index = locAtOrBeforeDateTime(freq.advance(datetimeAtLoc(currentLoc), -n))
difference at current index = current value - previous value
}
)
new index = index.islice(startLoc, index.size)
new TimeSeries(difference vectors, new index)
}
and voila, we have a single algorithm and function that works for both index-based and time-based "arithmetic". I'm sure we can come up with something equivalent for irregular lags.
This behavior preserves the irregular index, rather than "uniformizing" it.
Also, it's a bit sub-optimal in terms of performance for the tick case (as is often the case for more generic solutions), because it adds extra array lookups per entry. If we care, we can add an if statement that checks if it's a TickFrequency and avoids extra lookups (we still get 1 coherent API function for both cases, although more cyclomatically complex -- it's a matter of which tradeoff we want).
Does that make more sense?

I see.
So the way I think that resampling would address this would be by resampling to .1 granularity, with "fill with next".  So after resampling you'd end up with:
0.1, 3.5
0.2, 3.6
0.3, 3.6
0.4, 3.7
0.5, 3.7
0.6, 3.7
0.7, 3.7
0.8, 3.7
0.9, 3.7
1.0, 3.7
1.1, 3.8
1.2, 3.9
1.3, 3.9
1.4, 3.9
1.5, 3.9
etc.
And then one could call lag(10).
Would that work? Is your concern that the greatest common factor of the numbers could be too small, so it would blow up the time series?  If that's the issue, I wonder if we could introduce a new uniform DateTimeIndex implementation that represents the above time series in a sparse way.  I.e. it would wrap an IrregularDateTimeIndex, but provide values at uniform intervals.  If asked for the value at time 0.2, if it didn't contain a value for 0.2, it would find the next date-time that did have a value and retrn that.

I see.
So the way I think that resampling would address this would be by resampling to .1 granularity, with "fill with next".  So after resampling you'd end up with:
0.1, 3.5
0.2, 3.6
0.3, 3.6
0.4, 3.7
0.5, 3.7
0.6, 3.7
0.7, 3.7
0.8, 3.7
0.9, 3.7
1.0, 3.7
1.1, 3.8
1.2, 3.9
1.3, 3.9
1.4, 3.9
1.5, 3.9
etc.
And then one could call lag(10).
Would that work? Is your concern that the greatest common factor of the numbers could be too small, so it would blow up the time series?  If that's the issue, I wonder if we could introduce a new uniform DateTimeIndex implementation that represents the above time series in a sparse way.  I.e. it would wrap an IrregularDateTimeIndex, but provide values at uniform intervals.  If asked for the value at time 0.2, if it didn't contain a value for 0.2, it would find the next date-time that did have a value and retrn that.

My biggest concern is with downsampling -- due to the information loss it causes (for my use case).
In the case you propose, i.e. upsampling, I'm definitely a bit concerned with blowing up the time series. Initially that's what I was doing, but then I hit cases where the time series' precision was microsecond, and realized that if I upsampled it entirely to the microsecond it would produce an enormous time series to analyze. Bottom line, it potentially because a huge performance problem.
And, by the way, there is extra trickiness to zero-order hold upsampling like that: it only makes sense if the time series is I(1). If it's an I(0) time series, you must fill it in 0, not with the last value. For example: stock prices versus returns. You upsample prices by keeping the last value, but if you upsample returns by keeping the last value, it takes a whole different meaning (i.e. that the stock price keeps rising).
I'm really convinced that we need an algorithm that works in irregular indices and preserves them, rather than manipulating the data itself (which is always perilous). I have local versions that are simply extra functions, timeDifferences() and irregularLag(), but I didn't find that very elegant (due to 2 different versions of each functionality). The TickFrequency thing was my failed attempt at providing a more coherent and uniform API.
Regarding what you propose (the wrapped IrregularDateTimeIndex), I'm not sure yet. I need to think about it.

In the case you propose, i.e. upsampling, I'm definitely a bit concerned with blowing up the time series...

Yeah, I agree this is definitely a concern that I hadn't considered earlier.

I'm really convinced that we need an algorithm that works in irregular indices and preserves them, rather than manipulating the data itself (which is always perilous).

One of the main reasons I'm arguing for the resampling approach is that I think the alternative requires each algorithm to accept a ballooning amount of information.  For example, consider your point about how we should impute missing values for an I(0) time series differently than for an I(1) time series.  It's not difficult to imagine a similar example to the one you provided a couple days ago where one would want to impute 0s instead of the next present value in the irregular series.  If we wanted to support both imputation strategies, we'd need to add an extra argument to the lag function, as well as to all the other functions that you were suggesting should accept a TickFrequency.  Adding the imputation strategy instead to a resample function makes things more composable .


Cython 3.0a5 fails to cythonize on msvc(x64:LLP64 model)

since cython-447445a3f4c651c2881bc5b50b8d3a1b3fc6b7a6
(Patch title: Speed up Machines.py by compiling it.)
On cythoning with Python3.9b1(win64), Machines.pyd and Transitions.pyd
raise "OverflowError: Python int too large to convert to C long".
To avoid this error and warning, it seems good to replace
'long' in the following 5 files with 'Py_ssize_t'.  And it works fine for me.
Cython/Plex/Machines.py
Cython/Plex/Machines.pxd
Cython/Plex/Scanners.pxd
Cython/Plex/Transitions.pxd
Cython/Compiler/Scanning.pxd
But I'm not sure this is correct because a compiler warning below remains
and PyUnicode_FromOrdinal() requires 'int' argument.
Cython/Plex/Machines.py:167 (cython-3ee066283d503d9ed494f90793ee89e6973904f8)
165:            elif code1 != maxint:
166:                while code0 < code1:
167:                    state[unichr(code0)] = new_state  # <<<<<<<<<<<<<<
168:                    code0 += 1
Machines.c
6897:   __pyx_t_4 = PyUnicode_FromOrdinal(__pyx_v_code0);
warning C4244: 'function': conversion from 'Py_ssize_t' to 'int', possible loss of data

Thanks for the report. It's rather an incorrect value being passed here than an incorrect type being declared.


add R151555 file

This pull request adds the R151555 file _posts folder

merge conflict

close the file

it showing error


Action Types

[Enter feedback here]
When I look at the new Compliance Manager filters, I see new action types for : Technical, Procedural, Documentation, Operational, Contractual, Management and Privacy. I don't see any discussion about these types and their recommended usage. Please update the documentation to provide us some guidance on how MS envisions their use. The categories seem to overlap and its not clear to me how this many categories will provide value.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 491e66c0-bfe6-58fa-4a1e-d79ee4ac0e2b
Version Independent ID: 676dbe71-1ed1-e5db-2f16-f7c12c7565f7
Content: Compliance score calculation - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/compliance-score-calculation.md
Service: o365-seccomp
GitHub Login: @chvukosw
Microsoft Alias: chvukosw

Hello - engineering is looking into filtering types that were impacted in the most recent deployment. We'll get back to you soon with an update, thanks.

Hi there - the only action types are operational, documentation, and technical, as listed in the documentation. If you are seeing other filter types, you may need to accept the latest versioning updates for improvement actions - thanks.

@chvukosw I have accepted all of the updates that I have seen but I'm still seeing the action types that are not listed in the documentation. Should I open a support ticket?


Add view scaling activities

Description of the Change
FIXME: please add at least one sentence explaining why changes here are being made.

Pagination has been removed which I think is possibly good.  I don't know how pagination would be implemented with a postgres backend, although I'm sure it's possible.  I'm also not sure how many results Spinnaker might want, or possibly if they would like an API providing the last N results or something?

Pagination has been removed which I think is possibly good. I don't know how pagination would be implemented with a postgres backend, although I'm sure it's possible. I'm also not sure how many results Spinnaker might want, or possibly if they would like an API providing the last N results or something?

I was going to limit the number of records to a specific number, given this is going to be in the UI I dont think unlimited number of records is useful

will leave as draft till we finalize.

Pagination has been removed which I think is possibly good. I don't know how pagination would be implemented with a postgres backend, although I'm sure it's possible. I'm also not sure how many results Spinnaker might want, or possibly if they would like an API providing the last N results or something?

I was going to limit the number of records to a specific number, given this is going to be in the UI I dont think unlimited number of records is useful

I don't know what the limitations are of clients of the API.  I'm not sure we should design the API with a baked in assumption that it's only client is the Spinnaker UI.  As a client of this API I would expect to be able to get all events if I asked for them.  Since the typical use case anticipated is that of the Spinnaker UI, it would be good to know what their current API supports.   Is it an unlimited length API etc?


Add support for log rotate on Windows

I refactored the https://github.com/sensu/sensu-chef/pull/581 PR. (that one can be closed).
Description
[Windows|Linux] Updated installation to 1.2.0 (havent tested with 1.3.x yet)
If needed I can make a PR just for installing a newer version first, then another PR to support logrotate. DEfaulting to 1.2.0 as 1.0.0 is out since mid 2017.
[Windows] Repo url same as sensu-puppet.
[Windows] In recipe created if statement to check whether you have a 32/64 bit OS.
[Windows] Updated client xml to support log rotating the in the sensu log folder.
["sensu"]["log_directory"] Log folder can be any folder as logn as the file name is sensu-client.out
Motivation and Context
Log file on Windows was not being rotated. This caused disk to fill up.
https://github.com/sensu/sensu-chef/issues/580
How Has This Been Tested?
Tested this on Windows 2016  & CentOS 7, Chef client 12.19.36
Run Chef-client, see if it installs the newer version, check if the client.xml is being changed.
See if the log file is being rotated (tested with 10kb else I would have to wait for a much longer time)
Screenshots (if appropriate):

Please note that the rotate was set to 10kb but after running Chef it was changed to 10 MB, therefor the sensu-client.out is larger than the rotated files.
Types of changes

[X] New feature
[X] Newer version installation

Checklist:

[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document, but I do not have Kitchen etc installed.

I reached out and it looks like node['kernel']['os_info']['name'] might be the way to go rather than the kernel version. I will review this later but just wanted to get that out to you.

I rebased your fork to fix conflicts.