Deprecation notice for get_ende_bleu.sh

This script is harmful because it propagates a non-standard way to compute BLEU that is not reflective of the WMT 2014 task.  Entirely too many papers are submitted with BLEU scores computed in undocumented ways.  It's not even reasonable to allow people to run this script to compare against prior work, because most prior work does not document which script it used.  And there are multiple of these running around.
https://www.aclweb.org/anthology/W18-6319/

Yes, I fully agree.
It is even worse because using get_ende_bleu.sh is not enough to replicate the "Attention Is All You Need" scores.  As I found out with a great and much appreciated help of @lukaszkaiser in April 2018 (and as documented at Gitter https://gitter.im/tensor2tensor/Lobby?at=5acfe16c7c3a01610dd81b46 and several previous posts of mine):
wmt13 wmt14
26.25 27.52 sacrebleu
26.59 28.33 sacrebleu -tok intl
27.10 28.85 sacrebleu -tok intl -lc
????? 29.02 get_ende_bleu.sh (with google-colab reference newstest2014.tok.de)

If anyone is trying to reproduce the Attention Is All You Need paper BLEU scores, note that you must manually tweak the newstest2014.de reference file (in addition to all the hacks in get_ende_bleu.sh): convert all unicode quotes including „ to ", which will be converted to " by tokenizer.perl (but make sure not to run tokenizer.perl twice to prevent double escaping). There is no such script in mosesdecoder which does this tweak. (replace-unicode-punctuation.perl ignores lower quotes, normalize-punctuation.perl -l de changes the order of comma-quote to quote-comma, which is not what we want). As you can see above, the difference between the official BLEU (sacreBLEU) and Google-tweaked BLEU can be e.g. 1.5 BLEU.

Now, what is an even better practice in MT evaluation than using SacreBLEU (well, I mean in addition to using SacreBLEU)? To publish your translations of your dev and especially test sets (which should be some standard sets for a given language pair, e.g. WMT newstests). However,

http://matrix.statmt.org is now deprecated (and probably was not meant for submitting submissions several years after deadline)
https://ocelot.mteval.org (by @cfedermann et al.) does not accept submissions for arbitrary WMT newstests yet.
https://paperswithcode.com/task/machine-translation seems to only copy the BLEU reported in the paper without recomputing it and storing the translations.
So my recommendation is to upload the translations anywhere else (e.g. to GitHub repo of your paper).
This last paragraph is not really related to this PR, but I consider it quite important.

OCELoT will accept arbitrary WMT submissions soon.


[1785] Copy Allocations data into recruitment cycle 3

Context
https://trello.com/c/sJvRcyC6/1785-copy-allocations-data-into-recruitment-cycle-3
Changes proposed in this pull request

Rake task allocations:copy_allocations_data_to_cycle_year to copy allocations from previous allocation year to current allocation year

Guidance to review
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 Copy Allocations data into recruitment cycle 3


[It-5] Begin working on index page

It will be determined how index page will look like and implemented a few simple things.

Simple index page developed...


Header case in hooks

Not exactly a bug but due to Go's header case normalisation, request headers in a hook's JSON body can have different case to the original request.
While HTTP(1.1) headers are case insensitive, JSON is not.
This can be confusing and tricky to debug.
Unfortunately there's no consensus in the Go world on how to solve this.
Perhaps tusd could lowercase all header keys in the JSON body so that they are at least always consistent and easy to find accurately in hook receivers?
However this would be a breaking change so understandable if you do not want to implement.
At least this issue should come up if anyone runs into similar issues!

Thank you very much for bringing this to our attention! I wasn't aware for that normalization. I agree with you that lowercasing all header names would be a breaking change that I would like to avoid. However, it sounds like a good candidate to be added to the documentation. Would you be willing to open a PR for that?


Rate-limiting: make the local threshold scale with the number of nodes

When using a local policy to set a rate limit, it should ideally scale with the number of nodes in the Kong cluster.
Such that if you set 100 request/second, and you have 5 nodes, it has 20 per node. If it then drops to 4 nodes, it should become 25 per node.
This should probably have a percent based offset to prevent false-negatives.

+1!

I think this is a different concept than the one desired with the current implementation The idea behind the current local policy is to have a consistent hashing load balancing in front of your Kong cluster, so that each client is processed by the same Kong node (which stores the current rate limiting data in memory), hence resulting in the highest consistency, lowest latency combo.
With such an implementation, the rate limiting becomes quite significantly less consistent depending on the load balancing policy implemented in front of Kong. It also prevents one from implementing such a policy as described above ^

Thibaultcha, I'm confused as to how you can scale a Kong cluster using that logic. What if we make it an option?

@BrianHutchison If the consistent hashing LB makes sure the same user always ends up on the same Kong node, then there is no need to scale. One can just set the same thresholds as used with the cluster or redis policies.

@Tieske Okay, thanks. Based on my reading AWS ELBs do not provide that mechanism. The only options are browser cookie-based stickiness - nothing IP based.
I am sure "local" works for other though -- its a good point, just doesn't help me where I'm at.

I'm a bit new to all those infrastructure concept, but I'm concerned by few points that I maybe misunderstood:

What if the load per client is really uneven, that some clients do many more requests than others? The load will end up being distributed in a totally unbalanced fashion, right?
If we make the choice of performance, we choose the local policy. If the node dies, all rate information about that client died with kong. That could be really damaging for the weekly / monthly / yearly rate limits.
If that's something that we can't tolerate, we can choose to use redis or cluster, but they want to ensure strong consistency and for that, do many many incrementation requests (at every incoming request? Not sure about what ngx_timer_at does) to the external database. No middle ground.
If a node dies, one minute will pass before Serf notifies its death and removes it from the list of alive instances. Then, a bit more time will pass before the LB checks Serf to refresh its list of alive members. That's a total denial of service for all the clients mapped on this node.

That's why I'm proposing #2116 .

A classic round robin load balancer will ensure an even load on all instances.
If a node dies, little info is lost.
It's a good middle ground between performance and consistency. Though, and that may be a major drawback depending on the app, if one node has its local requests limit reached and the others do not, we will tell the client that their rate limit is exceeded but answer positively to the very next request that will be routed to another instance. Also, the X-Rate-Limiting-Remaining header (or whatever its name is) will return non monotonically decreasing numbers. I guess telling the clients that this number is only reliable as an estimation is good enough, and if the clients do enough requests to see the false negative, they just have wrongly sized their requests estimation (and must take a bigger plan, or cache the info themselves), and the fault's on them.
If a node dies, only (1/N)th of the requests won't be served for that client (statistically) before the LB acknowledges the death of that node.

What are your thoughts?

I'm a bit new to all those infrastructure concept, but I'm concerned by few points that I maybe misunderstood:

What if the load per client is really uneven, that some clients do many more requests than others? The load will end up being distributed in a totally unbalanced fashion, right?

I don't get this part. The rate limiting will still be applied per consumer/ip, as with the other policies.

If we make the choice of performance, we choose the local policy. If the node dies, all rate information about that client died with kong. That could be really damaging for the weekly / monthly / yearly rate limits.

Those long running limits are only useful when precise metrics are required, and then local never suffices. For general DOS prevention you'd only use short lived metrics. So in theory you're right, but I don't see the practical use case, or am I missing something?

If that's something that we can't tolerate, we can choose to use redis or cluster, but they want to ensure strong consistency and for that, do many many incrementation requests (at every incoming request? Not sure about what ngx_timer_at does) to the external database. No middle ground.

By design they must do one read and one write per request, nothing you can do about it. Not sure what you mean by the ngx_timer_at remark? But maybe from the update code of the plugin. Without looking at it: a common usecase for the timers is to run code timed at 0 seconds. This means that nginx/openresty will first finish processing the request, and only then finds time to execute the timer. Effect: the write to the database will happen after the last byte of the response was sent, and hence will not delay the request at hand.

If a node dies, one minute will pass before Serf notifies its death and removes it from the list of alive instances. Then, a bit more time will pass before the LB checks Serf to refresh its list of alive members. That's a total denial of service for all the clients mapped on this node.

Kong will not route traffic to its own nodes. So the LB in front of Kong should have its own healthchecks on the Kong nodes to see where it can route traffic. This all happens outside the scope of the Serf instance used by Kong itself. So I do not see the issue here?

I don't get this part. The rate limiting will still be applied per consumer/ip, as with the other policies.

Sure. Let's say you have 4 Kong instances, and 4 clients (for simplicity). The LB does a nice job (and you're a bit lucky) and does a 1-to-1 mapping between your clients and your instances. Say client0 is doing a lot of requests, and client3 really really few. Then, your kong0 will be much more used than kong3 that will mostly idle. No rate-limiting issue here. It's more related to resources management, and wanting our instances to have roughly the same amount of work.
That's why in some setups (few clients with very different usage profiles), a round robin balancer might be a better scenario, but has the problems I mentioned earlier.

Those long running limits are only useful when precise metrics are required, and then local never suffices. For general DOS prevention you'd only use short lived metrics. So in theory you're right, but I don't see the practical use case, or am I missing something?

In the company I'm working in, some services have very heavy operations. We want to make sure clients do not abuse them, and use the rate limiting on those long periods. Say this Kong instance is serving both such a service, and a more usual service with really quick response time which we want to prevent from DoS.
Here, unless there's something I didn't get, we face a dilemma:

If we choose a cluster or redis policy, the the small service will have its performance largely impacted by the synchronous db call in get_usage.
If we choose the local policy and an instance dies, we loose the usage count for the heavy service.

By design they must do one read and one write per request, nothing you can do about it.

Unless we choose the tradeoff accuracy for speed, and accept to bulk the increments. There may be other options I haven't thought of.

Not sure what you mean by the ngx_timer_at remark? But maybe from the update code of the plugin. Without looking at it: a common usecase for the timers is to run code timed at 0 seconds. This means that nginx/openresty will first finish processing the request, and only then finds time to execute the timer. Effect: the write to the database will happen after the last byte of the response was sent, and hence will not delay the request at hand.

Alright. I did not know if those requests were made after or during the request validation, and if they were packed or not.

Kong will not route traffic to its own nodes. So the LB in front of Kong should have its own healthchecks on the Kong nodes to see where it can route traffic. This all happens outside the scope of the Serf instance used by Kong itself. So I do not see the issue here?

I was more or less assuming that the LB would fetch the IPs of the kong instances from Serf. That may be a totally wrong assumption. As I said, I'm new to all those infrastructure concepts :)

In the company I'm working in, some services have very heavy operations. We want to make sure clients do not abuse them, and use the rate limiting on those long periods. Say this Kong instance is serving both such a service, and a more usual service with really quick response time which we want to prevent from DoS.

Our use cases are fairly similar, as I suspect are others. Part of the role of rate-limiting is sure, to prevent incoming calls from overloading upstream services without enough preparation by the upstream service owners. This would be roughly DOS protection.
The other role for us is that some upstream services have essentially a cost, and that you want to prevent calling it excessively without some sort of balance in remuneration that benefits the business. This cost isn't just allocated infrastructure cost, but those count too. We want to balance and control these calls somewhat between consumers. So, for us, absolute precision is never critical and yet its not just about DOS either.
All of this is just to say, there is plenty of room for requirements that aren't just DOS or accounting level precision.

@Vermeille I see your point.
Not sure how to implement this though. Afaik the current dao abstraction won't let you update multiple counters at once. But applying individual transactions later won't save anything 😕 . Maybe per counter (increment 1x2 instead of 2x1) can be done and might save something.

Well, what we're doing right now, is that we save locally all the increments done for a 30s time period, and every 30s, we increment the counters in the database by the total increments since last push to db / get the usage from the database to resync.
So, well, yeah, every 30s (and we'll make that a parameter, ofc), we make calls to the db that are a bit bigger (and really not that much actually) to resync local estimation with what has been really committed to the database.
Should I try a PR for the code we have so far (which is certainly perfect by no means, but still reasonable) so that you guys can have something concrete to think about it?

+1

@Vermeille please do!

https://github.com/Mashape/kong/pull/2169 Here is the associated PR, open for review and criticism :)

closing this in favour of #2169


7z not usable format

Is it possible to get Win-RTSP-Player in a standard .zip format? .7z requires PepperZip, which seems to have been removed from all distribution sites available to me. The web is full of advice on how to uninstall PepperZip, but nothing on how to install it.  Apparently it's been declared a menace by somebody.
Any advice?
Thanks!

While I agree that it would be more beneficial for the zip format to be used instead, there isn't a reason to use something such as PepperZip. The 7z format can be opened by many other pieces of software, including 7zip itself: https://www.7-zip.org/ I would use that instead


Cow: Watch qr-payment-rust.vercel

Cow requests the watch of the watch_keyword qr-payment-rust\.vercel. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

qr-payment-rust\.vercel has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Dragonrage in Charcoal HQ


Remove ansible pip package from requirements

Now that we have specified all collections this role requires in the requirements.yml file, we can remove this legacy package.

@nre-ableton Please add ansible-core to the dependencies, so we can run ansible-galaxy in the Jenkinsfile.

@ala-ableton See https://github.com/Ableton/ansible-role-jenkins-swarm-client/pull/91


search API: fieldList parameter has no effect? (Want to be able to return synonyms)

Currently it does not seem to be possible to change the fields that are returned for each item in the search results with the fieldList, e.g. there is no difference between:

https://www.ebi.ac.uk/ols4/api/search?q=cow&ontology=ncbitaxon&queryFields=label,synonym
https://www.ebi.ac.uk/ols4/api/search?q=cow&ontology=ncbitaxon&queryFields=label,synonym&fieldList=iri,obo_id

My main use case for this is I sometimes need to return the synonym field in search results. In the past I've also made use of the ability to return arbitrary annotations with fieldList=has_exact_synonym_annotation, is that functionality going to be preserved?

Thanks, the fieldList option now controls the fields that come back in search results. Will returning synonyms (by including "synonym" in the fieldList) be possible in the search API? If not I will have to rewrite some code for API calls I'm doing.

Good day Marius, sadly we don't support including synonyms. We have the folllowing fields supported though:

iri
ontology_name
label
description
short_form
obo_id
is_defining_ontology
type

Yes, synonym was supported in the fieldList option for searches in OLS3 (although maybe not documented that well) - I am currently just trying to adapt existing code that uses OLS3 and get all the API calls working in OLS4.

Implemented support for "synonym" in fieldList of select and search endpoints. We'll just have to wait for the next code deployment for the changes to reflect.


x-vector: add transpose for vectors

This adds the Data.List.transpose function, but over vectors.
The main downside is that we pessimistically allocate the largest possible number of columns for each row and then trim it with unsafeSlice once we know how many columns that row will have. Not sure if there is a fast way we could determine the final layout up front, but this will only be sub-optimal in the case of jagged (non-rectangular) vectors.
/cc @amosr

I'd like to see the performance improvement of this over "Vector.fromList . List.transpose . Vector.toList" :savage:

yes, would be great to see a rough performance comparison. this will be very useful. ‼ ❗

The main downside is that we pessimistically allocate the largest possible number of columns for each row and then trim it with unsafeSlice once we know how many columns that row will have.

This seems pretty fine to me, can't think of a way to avoid the allocation without making the whole thing slower.
Nice :cat:

So I did some benchmarks, and embarrassingly, this was slower than Data.List.transpose (although faster than going from toList -> transpose -> fromList).
I've made some improvements and now it's much much faster.
See the benchmarks here. The Data.List.transpose/vector numbers are for doing toList -> transpose -> fromList.


AutoScalingBackend / Implementation Coverage quirk

I was curious as to why the implementation details page wasn't reporting on methods that I knew existed, so I took a look.
For each module, the implementation script is looking up the Backend object in the services models.py file (e.g. for the auto scaling service the backend is called AutoScalingBackend), getting a list of methods, and comparing directly to the boto3 client. It seems that for moto itself to register that the method has been mocked (i.e. when moto is used in a test), the method contained in the responses.py file needs to match the boto3 client.
It seems that both the method in responses.py and the method it calls in models.py need to be named the same? Just so the mocked method works, and the implementation script picks it up.

This is great, @captainkerk! I never would have caught this. Thanks for lining this up.

Coverage decreased (-0.3%) to 92.079% when pulling 64adbe5852da2423bf070c3954fb1b9894b4bde3 on captainkerk:rename-autoscaling-internal-methods-to-match-boto into 068417b1f2b39672ccc0ec8d43cd751c2c88c00d on spulec:master.

Coverage decreased (-0.3%) to 92.079% when pulling 64adbe5852da2423bf070c3954fb1b9894b4bde3 on captainkerk:rename-autoscaling-internal-methods-to-match-boto into 068417b1f2b39672ccc0ec8d43cd751c2c88c00d on spulec:master.

FWIW - I think theres a slight issue with RDS as well: https://github.com/spulec/moto/blob/master/IMPLEMENTATION_COVERAGE.md#rds---0-implemented


Cannot clear prompt at end of program if there's nothing to write

As I understand it, the way to erase the readline prompt at the end of a program is to call rl.flush(); however, this only clears the prompt if there are lines written to the SharedWriter that have yet to be output.  If a program chooses to, say, just end immediately when the user enters "quit" without printing anything else, the prompt will be left behind on the screen, prepended to the user's shell prompt, which does not look good.
Possible ways to address this:

Make rl.flush() always clear the input line even if no lines were output.
Make Readline clear the input line on Drop
Give Readline a public method for clearing the input line.

As a temporary fix, is it possible to print a newline before rl.flush() so that it looks nicer?

@zyansheep You mean, just stick writeln!(shared_writer) before the call to rf.flush()?  That gets rid of the prompt, but then there's a superfluous blank line between the output and the shell prompt.

Hmm, this seems like an easy fix, but I'm not using this project atm (and probably won't spend much time maintaining / improving it) but if you want, I can give you commit access if you want to implement stuff yourself :)

I appreciate the offer, but I'd rather stick to an "I create PR → You approve & merge" workflow, as I don't want to be unilaterally making any changes that might go against your wishes.  (Also, your involvement would still be needed to make crates.io releases.)
Here's a PR that takes approach number 1: #22.

I'd rather stick to an "I create PR → You approve & merge" workflow, as I don't want to be unilaterally making any changes that might go against your wishes.

I don't mind people making changes that might go against my wishes... If I really don't like it, I will just revert the change :)
Mainly I'm suggesting this because I don't have the motivation to properly review PRs (pull, test for bugs, merge, push a new major version), and I've heard wonderful things about what happens when you give away commit rights, so I'm going to try and do that if I can :)
Do you think It'd be a good idea to move rustyline-async to a separate org?

Do you think It'd be a good idea to move rustyline-async to a separate org?

You can do that if you want, but personally I'd only recommend it if you planned to give multiple people (more than you & me) write permission.


[Event Request] Report 99001015 "Calculate Subcontracts"

Can the Event OnAfterSetVendorItemNo added to the function SetVendorItemNo in the report 99001015 "Calculate Subcontracts"?
Function
    local procedure SetVendorItemNo()
    var
        ItemVendor: Record "Item Vendor";
    begin
        if ReqLine."No." = '' then
            exit;

        if Item."No." <> ReqLine."No." then begin
            Item.SetLoadFields("No.");
            Item.Get(ReqLine."No.");
        end;

        ItemVendor.Init();
        ItemVendor."Vendor No." := ReqLine."Vendor No.";
        ItemVendor."Variant Code" := ReqLine."Variant Code";
        Item.FindItemVend(ItemVendor, ReqLine."Location Code");
        ReqLine.Validate("Vendor Item No.", ItemVendor."Vendor Item No.");
        // -New Event
         OnAfterSetVendorItemNo(ReqLine,ItemVendor,Item);
        // +New Event
    end;

Event
    [IntegrationEvent(false, false)]
    local procedure OnAfterSetVendorItemNo(var RequisitionLine: Record "Requisition Line"; ItemVendor: Record "Item Vendor"; Item: Record Item)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 13199.


glide to dep conversion

This change is

you know what they say . . third time is the charm ;)
I'll squash all these commits too . .


Finish creating ammending EZIDs to handle incoming suffixes

Suffix Passthrough on EZID system needs a hack to recognize identifiers that do not have an explicit location set.  Thus, for all Sources that have been created for PPO pipeline system need to append the following to location:
?suffix=
All NPN suffixes have been fixed, need to apply the same for PEP and NEON:
To see this behaviour in action, see:  http://n2t.net/ark:/21547/Amf212345

closing for now as i'll be reloading repo


Bug: unwrap error on datafusion example

Bug Report
In the datafusion example, unwrap occurs when non-nullable attributes are projected. The reason is that when pushing to the builder, unwrap is used directly without considering the field projection.

after this issue is resolved, exmple should be added to ci


Pointer support - Event model

The event model for pointers doesn't follow the event flow setup that mimics the browser for handling key events.
The event model for the keyboard / remote controls maps well to the model of the browser, supporting both the capturing phase and the bubbling phase.
if (!this.stage.application.focusTopDownEvent(["_captureKey"], obj)) {
    this.stage.application.focusBottomUpEvent(["_handleKey"], obj);
}

The implementation for the click handling allows for much less control, supporting only finding the deepest element with a handler, and having no method of even opting-out of handling the click at a parent component. Requiring the user to fire an event or signal to have a parent element handle clicks.
Ideally, the same model would be applied to the pointer events, as is applied to the keyboard events, mapping to the browser style of the capturing and bubbling phases of event propagation.
if (clientX <= this.stage.w && clientY <= this.stage.h) {
    this.stage.application.fireBottomUpClickHandler(obj);
}

Meaning that the bottom most handler is the only one with the current model that ever has the chance to opt to handle the event.
fireBottomUpClickHandler(obj) {
    const {clientX, clientY} = obj;
    const target = this._getTargetChild(clientX, clientY);
    let child = target;

    // Search tree bottom up for a handler
    while (child !== null) {
        if (child && child["_handleClick"]) {
            child._handleClick(target);
            break;
        }
        child = child.parent;
    }
}

there is a feature branch available with bubbling support: https://github.com/rdkcentral/Lightning/tree/feature/bubble-pointer-event
Explicitly returning false in the event handler will make the event bubble up


Added Launched podcast to partners and grabbed 2 apps to promote

Awesome, thanks for helping out, @charliemchapman! 🎉


Force sign out before sign in

Hello,
In a React application, I have a form that allows me to check if an email is already taken. When taken, I ask the user to log in with the email. I use this :
<button
        className="action-btn"
        onClick={() => {
          auth.signinRedirect({
            redirect_uri:
              window.location.origin + `/path`),
            login_hint: email,
          });
        }}
      >
        Me connecter
</button>

But sometimes, the user may already be logged in to the app with an account that does not match the email being checked. If the user is logged in, the login form is invisible and the redirection takes place directly. I would like to be able to disconnect it and send it directly back to the login with the pre-populated email, all invisibly.
Is it possible ?

const auth = useAuth(); provides all you need. You can check for auth.isAuthenticated and sign-out if required. You can check if the new email matches the existing auth.user.email == "..."


Update ext-scalatags to support multiple styles

Simple change based on the way scalatags implements their implicit to include scalatags.Cls in tags.
See ClsModifier in the following:
https://github.com/lihaoyi/scalatags/blob/ee7d3b8e352923f0a166814d6fdfbcccf5b6a44e/scalatags/shared/src/main/scala/scalatags/Text.scala
https://github.com/lihaoyi/scalatags/blob/ee7d3b8e352923f0a166814d6fdfbcccf5b6a44e/scalatags/js/src/main/scala/scalatags/JsDom.scala

Will resubmit with unit test.


When having more registries than the file has, say the number of empty documents

Solved in commit 6149a96583a3c972389b6735b8be4592d43d0dcf


When machine stops public ip changes

It should be accesible through DNS

Tried to discover that in AWS the fqdn changes with the ip.
The only way to fix this would be use elastic IPs

Does the public IP change for the same machine once and if it has been restarted?
How are our machines/runners affected by this issue?

Does the public IP change for the same machine once and if it has been restarted?

yes unless you use an elastic ip

If we choose not to implement https://github.com/iterative/terraform-provider-iterative/issues/122, would this issue matter at all?

To be reopened along with #122 if we choose to implement that feature


[Go][FlightRPC] Implement session management

Describe the enhancement requested
The session management primitives from https://github.com/apache/arrow/issues/34865 aren't yet supported in Go.
Component(s)
FlightRPC, Go

I can work on this

Thanks!
FWIW, if you comment just "take" on an issue, a bot should assign it to you

I've just opened a PR for this: #40284

Issue resolved by pull request 40284
https://github.com/apache/arrow/pull/40284


2.2.0 Add ability to override stroke-width by css var

In many cases, the very light line weight of the PX-Icons makes it hard to see on medium-color backgrounds (though they display as expected on white or dark backgrounds). This PR adds a css var (--px-icon-stroke-width) for overriding the stroke-width of any icon, of course defaulting to 1.
This will allow the user to override the stroke width of any icon in their own application css.
Updated to semver 2.2.0 as this is introducing new functionality.

cla-bot check

@cla-bot check


Add better location to valid-expect

Summary
Second part of #3082. Again I'm bested by a Flow error... Ideas for the ignore?

Test plan
N/A

Codecov Report

Merging #3317 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3317      +/-   ##
==========================================
+ Coverage   65.02%   65.08%   +0.05%
==========================================
  Files         178      178
  Lines        6531     6545      +14
  Branches        4        4
==========================================
+ Hits         4247     4260      +13
- Misses       2283     2284       +1
  Partials        1        1

Impacted Files
Coverage Δ

...kages/eslint-plugin-jest/src/rules/valid-expect.js
100% <100%> (ø)
:arrow_up:

...ackages/jest-cli/src/reporters/getConsoleOutput.js
17.64% <0%> (-1.11%)
:arrow_down:

packages/jest-config/src/normalize.js
89.54% <0%> (ø)
:arrow_up:

packages/jest-config/src/loadFromPackage.js
100% <0%> (ø)
:arrow_up:

packages/jest-util/src/formatTestResults.js
0% <0%> (ø)
:arrow_up:

packages/jest-runtime/src/index.js
75% <0%> (ø)
:arrow_up:

packages/jest-haste-map/src/crawlers/watchman.js
91.22% <0%> (ø)
:arrow_up:

packages/jest-cli/src/runTest.js
15.55% <0%> (ø)
:arrow_up:

packages/jest-haste-map/src/index.js
95.47% <0%> (ø)
:arrow_up:

packages/jest-cli/src/TestSequencer.js
100% <0%> (ø)
:arrow_up:

... and 42 more

Continue to review full report at Codecov.

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

We should probably try to import flow AST types from somewhere else and use those to fix the flow issue. Thanks again @SimenB.

I tried using https://www.npmjs.com/package/ast-types-flow actually, but it doesn't seem to have all the nodes needed for eslint, so I couldn't get it to work


Simplify reading parameter files

Directly write content of parameter file to STDOUT while making the first copy
(without comments) to first scratch file. Previously, content was also written to
second scratch file just to be read again for reporting to STDOUT.
This is overhaul simpler and more efficient.
What changes does this PR introduce?
Simpler and more efficient way to prepare for reading parameter files.
What is the current behaviour?
see above.
What is the new behaviour
see above.
Does this PR introduce a breaking change?
no
Other information:
Suggested addition to tag-index
o eesupp/src:

simplify reading parameter file, using single scratch file (instead of 2)

@jm-c this seems to work for me. Makes sense - lets merge!!!

OK, I added the _READONLY_ACTION just in open_copy_data_file.F (was not updated within PR #596).
Will probably merge this PR soon unless someone has more comments to add.


Auto generate INDEX_NAME

In order to remove indexes would be useful that SqlDelight automatically generates each index_name created in the sq file.
Similarly as for VIEWS:
some_index:
CREATE INDEX index_1 ON some_table(some_column);

Would additionally generate:
String INDEX_1_INDEX_NAME = "index_1";
I could try to come up with a PR if this change makes sense.

No need for that
"All indices and triggers associated with the table are also deleted."
https://sqlite.org/lang_droptable.html

Thanks @danielgoncharov


feat(init): move templates from core deps to create-electron-app deps

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[ ] The changes are appropriately documented (if applicable).
[ ] The changes have sufficient test coverage (if applicable).
[ ] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
This moves an array of template dependencies from the core package to create-electron-app package and adds a tool that syncs templates with the array.
This is maybe a breaking change for folks that use the electron-forge init command. So 😓. I think it's better to move the command onto create-electron-app usage since this is already proposed by docs and makes more sense.

This is 100% a breaking change. Any use of electron-forge init will not work - even the default template (i.e., without the --template flag) will not create anything and error out.
It's also unclear when the new tool in this PR needs to be used. It needs to be documented somewhere that's not in a PR summary / comment.

This is 100% a breaking change. Any use of electron-forge init will not work - even the default template (i.e., without the --template flag) will not create anything and error out.

What about is to leave this as a breaking change, and hiding init command from cli? Docs already recommend using npx create-electron-app, and I don't think/see many users using electron-forge init approach.

It's also unclear when the new tool in this PR needs to be used. It needs to be documented somewhere that's not in a PR summary / comment.

Are the docs in template/readme or tools/readme appropriate?


⚠ Mitsubishi has degraded performance

In c4581b0, Mitsubishi (https://mitsubishimotorsid-mobileapp.com/app/login) experienced degraded performance:

HTTP code: 200
Response time: 7483 ms

Resolved: Mitsubishi performance has improved in 3e0523e after .


How to send payload with the retain flag?

It seems there was a set_retain() in the past but not anymore.

@bbigras Not there yet. Would you like to send a pull request which implements retained_publish() method? Just copy paste this part with retain flag true and test it

I was literally just looking at this. What do you think about adding a "retained" flag to the publish parameters?


Send an Event whenever a pipeline is (re)loaded by the PipelineCache.

What problem does this solve or what need does it fill?
With compute shaders, some shaders may require multiple steps (e.g., initialization of textures, then normal update). Hot-reloading shaders can change a pipeline at runtime, but it is non-trivial to react to that (e.g., resetting a RenderGraph node to recompute initial states).
What solution would you like?
Whenever the PipelineCache changes the state of a pipeline, send a PipelineCacheEvent (or queue up an event and send it later).
This allows not only reacting to hot-reloaded pipelines, but also reacting to newly-loaded pipelines! Instead of checking whether pipelines are loaded in the render_graph::Node::update and updating state, users can also change the state of a render_graph::Node from a regular system.
What alternative(s) have you considered?

It is possible to Extract<EventReader<AssetEvent<Shader>>> and track which shader a pipeline is using. This requires a lot of bookkeeping.
It may be possible to add a system between the PipelineCache::extract_shaders system and the PipelineCache::process_pipeline_queue_system system to detect a difference between them. This requires a crazy amount of bookkeeping.

@JMS55 came up with a great workaround here specifically for when a pipeline is reloaded. TL;DR the CachedPipelineId is different from the PipelineId (which is unique between each pipeline, including reloaded pipelines). You can store PipelineId between frames and check whenever it changes to detect a reloaded pipeline.
This does mean there is no event for pipeline loads or pipeline errors, but these can be "simulated" by polling the PipelineCache, which is the current workflow anyway. In addition, when events are flushed could have significant impacts on the behaviour of the events, so it's better to use a less error prone scheme.


Allow developer to define custom 500 page/Error boundary on the client

Discussed in https://github.com/Shopify/hydrogen/discussions/1411

Originally posted by scottdixon June  1, 2022
Caught up with @beppek last week, who was after a custom 500 page:

This is common in pretty much every other framework. Next, Gatsby, Remix, etc. Even on SSR errors (not just the static pages). It’s a must have.

Chatted with @frandiox:

I think there's no way to handle this from the browser if everything fails on the server -- right now we show a default error page. We should allow modifying this.`

Yeah I think an easy win would be either one of those suggestions you mention!

Closed in https://github.com/Shopify/hydrogen/pull/1867


Create custom-xp-drops

This plugin overrides the default OSRS XP Drops, and gives the player more customization options.
Features:

More customizable font options including - Font Name, size, color
Custom move speeds and fade out speed, can turn fade out off
Removal of default XP Tracker, replaced with a Custom XP Tracker dimension, allowing for it to be moved more freely, as well as greater control over the size of the XP Tracker
Addition of custom prefixes to the xp drop

How is this different from customizable-xp-drops


Page preview fails if page is protected

When we compare two page versions, it only works if the page can be viewed as guest.
The reason for this is simple. To avoid having the edit toolbar in the preview pane, we set the current user to -1: https://github.com/concrete5/concrete5/blob/develop/concrete/tools/pages/preview_version.php#L9
That part works, but this line causes this line to return false https://github.com/concrete5/concrete5/blob/develop/concrete/src/Area/Area.php#L869
Is there another way to remove the edit toolbar?

This is highly related to this: #4344

Many years ago we had a method that I believe was named $request->disableEditing() – or maybe it was Page::disableEditing() ? It probably wasn't in the right spot – but we should bring back this functionality that will disable the toolbar and the editable areas in the page without setting the request user to -1. I'd be happy to open up discussion on where that method might live and how it could trickle down through areas, etc...

This is also related to #6428

I didn't find https://github.com/concrete5/concrete5/issues/6428, but yes, it's the exact same problem. I'm going to close this.


Add Quip support

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Waiting for https://github.com/conda-forge/quippy-feedstock/pull/1

pypy and python 3.9 fail because quip is not yet ready https://github.com/conda-forge/quippy-feedstock/pull/2


Establish conventions

Just to capture some conventions that need to be added to the docs:
If there are multiple notebooks in a project then the default command should be:
commands:
  notebooks:
    notebook: .

UNLESS there are also panels, in which case it should be:
commands:
  dashboard:
    unix: panel serve *_panel.ipynb
    supports_http_options: true
  notebooks:
    notebook: .

The dashboard command should be deployed at .pyviz.demo.anaconda.com and the notebooks command at -notebooks.pyviz.demo.anaconda.com

I think this is the same as you propose, but to be sure I understand (and please edit this comment if I don't!):
If a project consists of a single notebook to share as a read-only Jupyter notebook, it should use a command like:
commands:
  notebook:

The notebook should then be deployed at .pyviz.demo.anaconda.com.
If the project contains multiple notebooks or any dashboards, it should be structured like:
commands:
  dashboard:
    unix: panel serve *_panel.ipynb
    supports_http_options: true
  notebooks:
    notebook: .

where the dashboard section is optional.  The dashboard command should be deployed at .pyviz.demo.anaconda.com and the notebooks command at -notebooks.pyviz.demo.anaconda.com

Included in docs after #74


Retrieve user facing messages from JSON file

Using a JSON file to store user facing messages enables the opportunity to add translations, rather the strings being hard-coded.

Oooh, yeah good point about caching. I wasn't planning on actually doing any translations, it just leaves the door open for future changes.
Either way, there are good reasons to do this.👍


(feature request) Automatically print default values for options

From docs it looks like the task of displaying a default value for an option is fully on the shoulders of the deveolper. i.e. one should manually write option("-s") & integer("filesize", size).doc("max size of the file (default: " + to_string(size) + ")").
It would be nice if the library would provide method to easily display defaults in some sort of "standard way" if it's needed, maybe something like option() & integer.doc().print_default()

I have though about this, too. It is however not as straightforward as it might seem.
The interface looks like you could "bind" variables to value parameters. That is however not what happens under the hood. All that ever happens, is that function calls are bound to parameters:
int n = 5;
auto v = value("count", n);

or equivalently:
int n = 5;
auto v = value("count").set(n);

Both of the above will actually do this:
int n = 5;
auto v = value("count").call( detail::set(n) );

where detail::set generates a function object that references n:
int n = 5;
auto v = value("count").call( detail::map_arg_to<int>{n} );

So all parameters can do is call handler functions (or function objects). And the number of handler functions is potentially unlimited. So you can bind several variables, lambdas, function pointers, etc. to your parameter:
bool customCount = false;
int n = 5;
int m = 3;
double x = 2.0;
auto v1 = value("count", n, m, x, customCount, []{ cout << "count was set"; } );

//which is equivalent to:
auto v2 = value("count")
          .set(n)
          .set(m)
          .set(x)
          .set(customCount)
          .call([]{ cout << "count was set"; } );

This approach has several advantages but it also means that a parameter has no idea what the default value of an associated variable might be nor would it be unambiguous.
So the problem boils down to this: Which value should be used for the default (n's, m's, ...) and how should it be accessed?
There might be a solution around it along these lines:
Handler function objects like map_arg_to could provide a doc generation facility that the user could invoke to print the current value of the object it references. Then I had to make sure, that it would not compile if one tries to call this doc generation in combination with other custom functions or if there was more than one handler function.

BTW, you could always implement your own factory function:
template<class Target>
clipp::parameter
documented_value(const std::string& name, Target& tgt, const std::string& docstr) {
    using std::to_string;
    return clipp::parameter{}
            .label(name).target(tgt)
            .required(true).blocking(true).repeatable(false).greedy(false)
            .doc(docstr + "(default: " + to_string(tgt) + ")");
}


Change "Status" to "Output Enable Status" in example code

https://github.com/meerstetter/pyMeCom/blob/36c674ffe32ab98c602bb1a2db8ada7c0e304db8/example.py#L120
Change "Status" to "Output Enable Status"
This is due to the new V6 ID changes

Thanks, the example should be adjusted now, see 524678b.


Discount with more than 12 chars get error "value too long for type character varying(12)\n"

What I'm trying to achieve
Add coupon with more than 12 characters according to the documentation https://docs.saleor.io/docs/3.x/dashboard/discounts/vouchers.
Steps to reproduce the problem

Got o discount into the dashboard
Create a discount with more than 12 characters es. ‘BlackFridayVoucher’ as doc says

Try to use it and check the query result. It will be message: "value too long for type character varying(12)\n"

What I expected to happen
Create a coupon with more than 12 characters.
Screenshots and logs

System information

Saleor version:

[ x] dashboard v3.1.0-dev core vdev

Operating system:

[x ] MacOS

Thanks and regards,
Davide

Looks like the bug is already fixed, I'm testing on Saleor 3.18.0-a.0 and it works correctly.


Add option to disable Hangfire

Just thinking about an option to disable on certain environments, for example local dev, or front end servers in a load balanced environment

Nice one @stevetemple !! I'm on holiday for a few weeks but will have a look when I'm back.

Just did a quick test for my Job Scheduler and it looks like this:
public class JobsComposer : IComposer
{
    private static string GetTiming(string timing, bool disabled)
    {
        return disabled ? Cron.Never() : timing;
    }

    public class HangfireSettings
    {
        public bool? Disabled { get; set; }
    }

    public void Compose(IUmbracoBuilder builder)
    {
        var settings = builder.Config.GetSection("Hangfire").Get<HangfireSettings>();
        var hangfireDisabled = settings.Disabled.GetValueOrDefault(false);

        RecurringJob.AddOrUpdate<ITestService>($"This is a test job", x =>
            x.RunTestJob(null), GetTiming(Cron.Daily(), hangfireDisabled));
    }
}

The most important part is the GetTiming(Cron.Daily(), hangfireDisabled) call when scheduling the job - if Hangfire is disabled in the appSettings.json which looks like so:

If Hangfire is disabled, jobs are still scheduled but will never run, but can be ran manually.
To not schedule any jobs, you could write it differently like this and then GetTiming is not needed.
public void Compose(IUmbracoBuilder builder)
{
    var settings = builder.Config.GetSection("Hangfire").Get<HangfireSettings>();
    var hangfireDisabled = settings.Disabled.GetValueOrDefault(false);

    if (!hangfireDisabled)
    {
        RecurringJob.AddOrUpdate<ITestService>($"This is a test job", x =>
            x.RunTestJob(null), Cron.Daily());
    }
}

I thought you were on holiday 🤨
I'd just tweaked it, realised that it wouldn't let jobs be added, just want the server side of it turned off but all servers could schedule jobs just won't run them.
Meant to open this as a draft as I was just pitching the idea

Running this on a production website, where the front end servers are disabled, but backoffice server enabled, works well
I would probably change the setting name to Hangfire:Server:Disabled as it's the server part that is disabled rather than anything else. The front end servers can still add tasks etc but they'll only be run on the backoffice server

Sorry for the delay @stevetemple
I couldn't contrib back to your branch, but I took your suggestion and made it into:
  "Hangfire": {
    "Server": {
      "Disabled": true
    }
  }

Additionally, you were hiding the dashboard on instances that were not a server, which turned into an infinite spinner, I think it's fine to show the dashboard even if the current machine is not a server.
Merged in https://github.com/nul800sebastiaan/Cultiv.Hangfire/commit/622d88f2ee5ced4f35ccaf6e621afd0f2a8f9144 and will be released in v3.1.0 in a few minutes.


Configurable blur active element

This PR comes to make the behavior introduced in https://github.com/CesiumGS/cesium/pull/8662 configurable via the viewer constructor options.
When the canvas is clicked, it will not blur the active element if false is provided.
The default value is true so the original behavior remains.
It comes to solve issues https://github.com/CesiumGS/cesium/issues/10185 and https://github.com/CesiumGS/cesium/issues/9134.

Thank you so much for the pull request @yonzmeer! I noticed this is your first pull request and I wanted to say welcome to the Cesium community!
The Pull Request Guidelines is a handy reference for making sure your PR gets accepted quickly, so make sure to skim that.

:x: Missing CONTRIBUTORS.md entry.

Please add yourself to the contributors file!

:x: Missing CLA.

Please send in a Contributor License Agreement (CLA) and comment back here to let us know to check this!
Maintainers, here's how to check for a submitted CLA.

:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

Hi @yonzmeer, can you please send in a Contributor License Agreement? That needs to be signed before we can review anything. Thanks!

Thanks @yonzmeer! I used the example from https://github.com/CesiumGS/cesium/issues/9134 to test, and this is working well.


TextStyles and  LayerStyles of the wrong type

Which package has an issue?
@yamada-ui/react
Package Version
1.3.7
Description
TextStyles and  LayerStyles of the wrong type.
Callback functions are not accepted. Only objects should be accepted.
theme.types.ts
-export type LayerStyles = Record<string, UIStyle>
-export type TextStyles = Record<string, UIStyle>
+export type LayerStyles = Record<string, CSSUIObject>
+export type TextStyles = Record<string, CSSUIObject>

Link to Reproduction
No response
Steps to Reproduce

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

Browser
None
Operating System

[ ] macOS
[ ] Windows
[ ] Linux

Do you know how to fix the issue?
None
Are you willing to participate in fixing this issue and create a pull request with the fix?
None
Additional Information
No response

@108yen Hi! Can I work on this issue?

@Yutan0423
Yes, please!
I assign you.


Enable egress tests in prow/istio-pilot-e2e-envoyv2-v1alpha3

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: chxchx
Assign the PR to them by writing /assign @chxchx in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

tests/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @ronenschafferibm. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@ronenschafferibm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
4cd7b50d8347d0d2017616075915499f1c3c4d64
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

wwhat if this starts failing, due to reachability issues?

@rshriram

what if this starts failing, due to reachability issues?

We will handle it case, by case. moving some tests to fortio.istio.io under our control.

/lgtm

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ronenschafferibm, vadimeisenbergibm
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: chxchx
Assign the PR to them by writing /assign @chxchx in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

tests/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/approved

@rshriram could you please merge/add the required labels?

master branch

/retest

@rshriram I have changed the base to be master and rerun the tests.

/retest

@ronenschafferibm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ronenschafferibm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-e2e.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ronenschafferibm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-e2e.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-bookInfo

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ronenschafferibm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-e2e.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-bookInfo

prow/e2e-simpleTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ronenschafferibm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-e2e.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-bookInfo

prow/e2e-simpleTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-simple

prow/e2e-bookInfoTests-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-e2e-envoyv2-v1alpha3

@ronenschafferibm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-bookInfo

prow/e2e-simpleTests.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-simple

prow/e2e-bookInfoTests-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test e2e-bookInfo-envoyv2-v1alpha3

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
1fe57a92ce3973aba192873ccffa13dcc82a1f81
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ronenschafferibm: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

closed as stale. Please reopen after rebasing


fix word error

libary -> library

@Mr-Tim-CN, thank you.
I've found that this entire sentence is proposed to be removed from the readme file with #2798, so we have a merge conflict between these 2 PRs. I'm leaning towards not merging this change in favor of that PR, as that updates a lot more of the document.
Could you please have a look at https://github.com/dogecoin/dogecoin/blob/99a73ab74ac2bcdf1ac21f1c9e3459bffd073a60/README_zh_CN.md and let us know if that's acceptable to you?
Thanks!

@patricklodder You are right. Merging that PR is better. 😄


OIDC fixes

client: Always set Authorization if using OIDC
client: Simplify response check in OIDC

jenkins: test this please


Add use_field_ids= param to Api

This allows implementers to declare use_field_ids=True once, when creating the Api instance, and not have to pass it to each method call thereafter. FYI @jonathanlaniado
Fixes #365

👏👏👏


added contact us content - fixes #93, added help content - fixes #92

+1 after addressing comments

@CloudNiner should I hold off on this merge since the checks failed?

No, this can be merged, don't forget to change that one ampersand.


Quickfix mobile view input #1625

This does quickfix the problem in the chat-view.
The keyboard problem for the other views will be fixed in a seperate pull request.
Part of #1625

As suggested by @quasarchimaere we should avoid uneccessary code and functions in the quick fix -> grid rows static set to 5rem

Fixes the disappearing chat input field, but does not scroll the chat and does not work for need creation yet.


Remove holograms needs steps

[Enter feedback here]
On https://docs.microsoft.com/en-us/hololens/hololens-environment-considerations#environment-management there need to be more detailed steps how to reach the settings, e.g.
Settings > System > Holograms > Remove nearby holograms. Or, if needed, select Remove all holograms.

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

ID: d95b5415-c6bd-d238-e667-17dd314cf7a3
Version Independent ID: 54a2c58a-a9ba-c8ad-0b2c-54c2bc350814
Content: HoloLens environment considerations
Content Source: hololens/hololens-environment-considerations.md
Product: hololens
Technology: windows
GitHub Login: @dorreneb
Microsoft Alias: dobrown

Please per request from @beelia


Update yare to version 2

Also remove unnecessary minor and patch version specification in
manifest files.

Motivation

Future Work

Current dependencies on/for this PR:

main

PR #464   👈

This stack of pull requests is managed by Graphite.


Reimplementing full text search on top of the latest code

This adds an implementation of full text searching on top of the latest Marten code base.  Replacing #945 .

@oskardudycz I'm looking for ways to unit test the new search methods on the QuerySession, do you have any recommendations or examples that I can base the tests off of?

@CodingGorilla Our CI configuration on both Appveyor and TravisCI are running on PostgreSQL 9.5, we have to bump that to use PG10. I will get this sorted for you.

@mysticmind Thanks, but no rush, I'm still working on this and adding unit tests.  At this point, my unit tests don't work locally either; they never seem to actually create the index and I'm trying to figure out why.

@CodingGorilla regarding unit tests, I think that testing QuerySession won't bring much value. For that I would recommend integration tests.
What can be unit tested are public members:

different cases for IndexName generation (so all that ifs in getter),
DDL generation - which you already tested,
Matching Indexes (eg. if Index was already defined for Document)

Btw. regarding my comment from old PR,  about moving logic from getter to setter. I think that it's doable if we set default value for _indexName. Of course I won't be pushing for that if it's the same logic as currently existing for ComputedIndex, but that's something that I noted as potential prace for refactoring.

@oskardudycz I'm not quite sure the best way to check for matching indexes, can you point to any other examples of tests for that?

@CodingGorilla I think that we don't have such sample yet. I'll try to prepare tommorow something for you in separate PR removing also some technical debt around that ;) It seems that PRs are motivating for both sides ;)

It seems like that's not the responsibility of the index itself, wouldn't that be handled by the DocumentMapping since it owns the collection of indexes?

Well, yes and now. In general I believe it's good to have public API tested (in this case public members). Iimho it would be nice to have dedicated unit tests for the FullTextIndex by itself.
But!
If you find it easier through DocumentMapping - I'm fine.
The main logic of comparing table schema is happening in TableDelta. So I'm also fine of placing those test in TableDeltaTests.

@CodingGorilla as I see the Matches contains business logic, so imho it's worth to test it. Especially that as I said, it can be compared to any of the other indexes. Cases that we'd need to imho check at least:

comparing with other full text index - checking if it returns true,
comparing to other index definition that shouldn't match - so checking for false scenario.

Imho this is the good place for unit testing, because they would be easy to write and give business value.
This part is imho really important to test, because we wouldn't like to have scenario, where someone adds full text index and get messy with other indexes that he had already defined.
But as I said above. If you find better way for testing those cases. I'm fine with that.
For sure the most important tests are:

integration tests checking if the full text search queries work,
proper database query definition.

Ok, you want to test the IIndexDefinition.Matches(), that makes sense, I'm just not sure how to construct the bits that are required in order to test that method specifically.
Realistically there should only ever be one full text index per document type, there's never a reason to have more than one that I can think of.  I considered adding some logic checking the DocumentMapping, but the question was: what to do if someone tries to add another?  I didn't like the idea of throwing an exception, and in reality it doesn't hurt to have more than one, it's just a waste.

@CodingGorilla I think that it'd be nice to force someone to keep only one full text index, so Imho throwing some meaningfull exception is nothing bad, although currently this is happening silently, so maybe it's better to keep convention. But that's a valid point that we should reconcider globally for indexes.
What I'm concerned more is that we need to make sure that when user updates config of the existing FullTextIndex then that:

new one won't be added,
index definition will be updated

Would be great to add integration test for that.

@CodingGorilla could you please rebase this PR with Master? PG10 is available in CI env.

@mysticmind I will try to get it done this weekend.

@mysticmind Done.


Application - Make Basic Info step fully functional

Notes:
Check out https://talent.test/en/demo/applications/{applicationId}/basic to test out locally

Oh, and a couple tests are failing because they're still using 'post' instead of 'put' for the route that was changed.


Revert "Remove a fixed upstream warning"

Reverts ImageMarkup/isic#578

Looks like this fix wasn't released yet.


improve(git-changelog): splitting Git data into page-level

Splitting the data in Virtual Module down to the page level so that when a user visits the site, they don't need to download a very large Gitlog file (usually theme.hash.js) first, and therefore have higher performance.
Ref: https://github.com/nolebase/integrations/issues/223 , this was discussed in Discord and I am creating a ticket for this issue to track it, this is probably a long term plan and I don't have much ideas on how to implement it at the moment.
(may be?) In the short term, we could probably try to split the git data out of theme.hash.js so that only when the site content is updated (usually only the git data data is changed in theme.hash.js), the user doesn't have to pay for the unchanged parts of theme.hash.js. ref: rollup config: output.manualChunks.

@northword Possibly related:
https://discord.com/channels/1229292283657195520/1229292844838162474/1243464211669979137
https://discord.com/channels/1229292283657195520/1229292844838162474/1245578360655057029

I've been thinking way long and barely giving up.
I believe one possible and easy way to implement this is to generate separate git-changelog-commits.data.json into dist right under each pages' parent directories, then use client side fetch to dynamically fetch through GET for the actual commits logs since commit logs generally wont be needed for SEO and compatible with MPA.

For notes only:
ref：https://github.com/vuejs/vitepress/issues/3001#issuecomment-1732237283
Not sure if attaching git logs to pages is possible with transformPageData:
  async transformPageData({ relativePath }) {
    return { contributors: await getContributorsAt(relativePath) }
  }


Optimize lit 3.0's size, add a regression test

Fixes #3777
This test may be a bit too aggro, but it also does seem very nice to be able to track with each change how it contributes to some very key top of line numbers.

 I wonder why this is working! Needs.more investigation.
On Sat, Jun 10, 2023, 1:08 AM Justin Fagnani @.***>
wrote:

@.**** commented on this pull request.
In packages/lit-html/src/lit-html.ts
https://github.com/lit/lit/pull/3948#discussion_r1225208913:

@@ -982,13 +982,14 @@ class Template {
// We could set walker.currentNode to another node here to prevent a memory
// leak, but every time we prepare a template, we immediately render it
// and re-use the walker in new TemplateInstance._clone().

debugLogEvent?.({

 kind: 'template prep',

 template: this,

 clonableTemplate: this.el,

 parts: this.parts,

 strings,

});

debugLogEvent &&

Can we file a Terser bug on this? If you can eliminate &&, in null cases
you can eliminate ?.
—
Reply to this email directly, view it on GitHub
https://github.com/lit/lit/pull/3948#pullrequestreview-1473352709, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAM6YWA5EF2IAEKKUF53LXKQTPPANCNFSM6AAAAAAZBI36MI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Sign up with an already registered email returns type cast error

Bug Report
When the response.rawData is null and response.error is not, signUpWithEmail catches a type cast error instead of the actual error from the fetch operation.
In a previous version this was not an issue, because the type casting was done after the response.error evaluation.
To reproduce
Use an email that is already registered.
final client = SupabaseClient('URL', 'KEY');

// Sign up user with email and password
final response = await<EMAIL_ADDRESS>'adsjbda1');

print('response.data: ${response.data}');
print('response.rawData: ${response.rawData}');
print('response.error: ${response.error}');

response.data: null
response.rawData: null
response.error: GotrueError(message: type 'Null' is not a subtype of type 'Map<String, dynamic>' in type cast)

Expected
response.data: null
response.rawData: null
response.error: GotrueError(message: User already registered)

Because the actual response from the fetch operation is:
{
  "code": 400,
  "msg": "User already registered"
}

How I changed the code locally
Modified the signUpWithEmail in gotrue_api.dart.
From:
final data = response.rawData as Map<String, dynamic>;
if (response.error != null) {
  return GotrueSessionResponse(error: response.error);
} else if (data['access_token'] == null) {
...

To:
Map<String, dynamic>? data = response.rawData;
if (response.error != null) {
  return GotrueSessionResponse(error: response.error);
} else if (data != null && data['access_token'] == null) {
...

This isn't actually an issue with the library. If you change
final data = response.rawData as Map<String, dynamic>;

to
final data = response.rawData as Map<String, dynamic>?;

, it should start working. This happens because of Dart's null-safety. If you cast it as Map<String, dynamic> (non-nullable), but the value is null, a type error will be thrown.

This is code from the library, as I mentioned in the "How I changed the code locally" section. Yes, the ? should do it (when casting, as well when using it), but it has to be done in the library.

Ooh! I thought it was yours, sorry! Indeed, this is an issue! Thanks for reporting <3


WPF: fix XAML component naming

Always use x:Name for naming components in XAML code.
This is to most "common" way to name components in XAML/WPF as the XAML compiler will ensure this name will be unique and it cannot be changed later in code behind via SetValue().
This way, any naming conflicts would be avoid.

Thanks @KroMignon! I'll update the WPF Quickstart page too https://scottplot.net/quickstart/wpf/
Additional information:

https://learn.microsoft.com/en-us/dotnet/desktop/xaml-services/xname-directive
https://stackoverflow.com/a/593151
https://stackoverflow.com/a/23936061


Attribute "readonly" not working in afQuickField

This does not work - input field is not readonly:
{{#autoForm ... type="method" meteormethod="Projects.mutate.update"}}
    {{> afQuickField name="title" readonly="readonly"}}
{{/autoForm}}

This does not work - input field is not readonly:
{{#autoForm ... type="readonly"}}
    {{> afQuickField name="title" readonly="readonly"}}
{{/autoForm}}

Boolean props need to be set to boolean, unlike with normal HTML. readonly=true

Works like a charm, thanks!
I did not see this in the doc but maybe I missed it. If it is not there, I suggest replacing:

Any additional attributes are passed along to the generated DOM element, meaning that you can add class, etc. You can also use this feature to set default values for inputs by supplying a value attribute.

by:

Any additional attributes are passed along to the generated DOM element, meaning that you can add class, etc. You can also use this feature to set default values for inputs by supplying a value attribute. When using the readonly attribute, pass it as a boolean (readonly=true or readonly="true").


Add rgb-color as bower runtime dependency

The original RGB color parser can be found at
http://www.phpied.com/rgb-color-parser-in-javascript/.
The github project ariutta/rgb-color is referenced for lack of a
package in the bower registry.

When installing canvg using bower, an RGBColor is undefined exception is thrown at runtime, since the rgb-color is not defined as a dependency.
There doesn't appear to be an official project, but the code is available in ariutta/rgb-color link.


Translate concepts/architecture/master-node communication in Korean

This is a...

[x] Feature Request
[ ] Bug Report

Problem:
No concepts/architecture/master-node communication in Korean
Proposed Solution:
Translate concepts/architecture/master-node communication in Korean
Page to Update:
https://kubernetes.io/docs/concepts/architecture/master-node-communication/
/language ko

Node Korean


[Bug]: The old family Provider and ProviderRevision left when manually installed

Is there an existing issue for this?

[X] I have searched the existing issues

Affected Resource(s)
No resources affected
Resource MRs required to reproduce the bug
No resources needed
Steps to Reproduce
To reproduce the problem:

Install the providers WITHOUT family provider
Once the automatic family provider appears, try to install the family provider manually
Find a way to make the automatic family Provider and ProviderRevision manifests disappear

What happened?
I expect the automatically installed version will disappear when the family provider is installed manually.
Of course, everything works on a clean cluster.
I am looking for a way to switch from automatic to manual family provider without reinstalling Crossplane in a cluster where there are already MRs used in production.
This is a follow-up bug concerning #1088
More details in the Slack discussion: https://crossplane.slack.com/archives/C05E0UE46S2/p1722852504359609
Relevant Error Output Snippet
kubectl get providers.pkg.crossplane.io
NAME                          INSTALLED   HEALTHY   PACKAGE                                                          AGE
provider-aws-cloudwatchlogs   True        True      xpkg.upbound.io/upbound/provider-aws-cloudwatchlogs:v1.6.0       283d
provider-aws-dynamodb         True        True      xpkg.upbound.io/upbound/provider-aws-dynamodb:v1.6.0             109d
provider-aws-ec2              True        True      xpkg.upbound.io/upbound/provider-aws-ec2:v1.6.0                  389d
provider-aws-elasticache      True        True      xpkg.upbound.io/upbound/provider-aws-elasticache:v1.6.0          389d
provider-aws-iam              True        True      xpkg.upbound.io/upbound/provider-aws-iam:v1.6.0                  389d
provider-aws-mq               True        True      xpkg.upbound.io/upbound/provider-aws-mq:v1.6.0                   389d
provider-aws-rds              True        True      xpkg.upbound.io/upbound/provider-aws-rds:v1.6.0                  389d
provider-aws-s3               True        True      xpkg.upbound.io/upbound/provider-aws-s3:v1.6.0                   389d
provider-family-aws           True        True      xpkg.upbound.io/upbound/provider-family-aws:v1.6.0               5d1h
provider-kubernetes           True        True      xpkg.upbound.io/crossplane-contrib/provider-kubernetes:v0.14.0   301d
provider-sql                  True        True      xpkg.upbound.io/crossplane-contrib/provider-sql:v0.9.0           287d
provider-terraform            True        True      xpkg.upbound.io/upbound/provider-terraform:v0.16.0               389d
upbound-provider-family-aws   True        False     xpkg.upbound.io/upbound/provider-family-aws:v1.10.0              3d20h

### Crossplane Version

v1.16.0-up.1

### Provider Version

1.6.0

### Kubernetes Version

v1.27.15

### Kubernetes Distribution

EKS

### Additional Info

This is a follow-up bug concerning #1088

Same problem here.
Tried @haarchri suggestion but the manual provider doesn't come to a HEALTY: True state because it says that the automatic one still exists.
status:
  conditions:
    - lastTransitionTime: '2024-08-09T12:18:03Z'
      message: >-
        cannot resolve package dependencies: cannot initialize dependency graph
        from the packages in the lock: node
        xpkg.upbound.io/upbound/provider-family-aws already exists
      reason: UnknownPackageRevisionHealth
      status: Unknown
      type: Healthy

I need to manually install the provider-family-aws because I realized that I'm running it on version v0.38.0, while the other providers (S3, Route53, etc.) are on version v1.0.0. Honestly, I don't know what happened, but it seems that even if I update the version of the Upbound AWS Providers image, provider-family-aws still remains on the old version and continues to install automatically with that version.

Can you remove you Lock Lock resource remove the finalizer

You're the man. It worked!
So, the steps are the same as https://github.com/crossplane-contrib/provider-upjet-aws/issues/1452#issuecomment-2275922781 but you need to remove the Lock resource after you install the manual-provider-family-aws.
Thanks for your help.

You're the man. It worked!
So, the steps are the same as https://github.com/crossplane-contrib/provider-upjet-aws/issues/1452#issuecomment-2275922781 but you need to remove the Lock resource after you install the manual-provider-family-aws.
Thanks for your help.

The complication here originated from deploying the same provider package twice (one already existing as a dependency and another installed manually). In the PR description, both provider-family-aws and upbound-provider-family-aws try to deploy xpkg.upbound.io/upbound/provider-family-aws under the hood and conflict with each other.
Ideally, if you have the family provider already deployed as a dependency and you want to change something, e.g. configure a DeploymentRuntimeConfig, the path to go should be editing/patching the already existing provider instead of deploying a separate Provider object with a different name. In the scenario here, the provider named upbound-provider-family-aws could be modified with spec.runtimeConfigRef in the first place.

Thanks for your explanation, in fact, another reason why I want to manually install the provider-family-aws is that when it's installed via a Provider dependency (e.g., the S3 provider), it doesn't respect the configured DeploymentRuntimeConfig and instead applies the default one. I need to use my RuntimeConfig because I've set tolerations and other deployment settings there.
I think this comment talk about the same problem: https://github.com/crossplane-contrib/provider-upjet-aws/issues/1088#issuecomment-2211198483

@haarchri, thank you a lot.
I managed to clean the clusters but not with little difficulty because the suggestion was not 100% working.
The complete list of operations needed were:

set the revisionActivationPolicy to Manual in both installed Family Providers
remove the finalizer inside the lock file
delete the Lock (if not already gone after removing the finalizer)
delete the old Provider and ProviderRevision

Often, this was enough. Sometimes, I had to do it twice to clean the cluster.
@turkenh, this is not a complication but a plausible scenario.
If anyone initially installs the AWS Family provider but then realizes, for whatever reason, the need to assign a DeploymentRuntimeConfig to the automatically created provider and finish precisely in this situation.
Manually editing the provider is not a plausible solution in a fully GitOps approach, so a more integrated solution makes profound sense.
Furthermore, users should be able to choose their provider's name without impositions or hard-coded names.
This bug is far from being solved because what we have is just a workaround, not a fix for the problem.

/fresh


create official unshare variant for ARM

While trying to get Docker integration tests running on ARM one major problem is that the current unshare image only works for x86.
Together with @stefanscherer I created a quick'n'dirty variant of the unshare image which can be found here: https://github.com/hypriot/armhf-unshare
As the unshare image is used for the integration tests makes me think that it also should be part of the official docker-library. Same as for the busybox image.
How could we best achieve this? How could I help?

I would say checking out the process in github.com/docker-library/official-images

@jfrazelle Just to make it clear: you agree that the images used in the integrations tests should be part of the docker-library/official-images?

eventually yes, but for now we can use personal repos
On Fri, Oct 30, 2015 at 3:18 AM, Govinda Fichtner<EMAIL_ADDRESS>wrote:

@jfrazelle https://github.com/jfrazelle Just to make it clear: you
agree that the images used in the integrations tests should be part of the
docker-library/official-images?
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/73#issuecomment-152484211
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

I'm still hazy on what makes the unshare image different from the unshare
binary included in the Debian base image itself?

ya so it was supposed to be bad version of unshare iirc pinng @ewindisch
On Fri, Oct 30, 2015 at 10:28 AM, Tianon Gravi<EMAIL_ADDRESS>wrote:

I'm still hazy on what makes the unshare image different from the unshare
binary included in the Debian base image itself?
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/dockerfiles/issues/73#issuecomment-152594450
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

@jfrazelle @tianon The problem is/was that some versions of unshare don't work appropriately on all kernels. The jess/unshare image is of a version that is "mostly compatible" across different kernels. Also, it's really small.
If the version of unshare in the latest debian image works well across kernels, then by all means, use it instead.


Ban a node from whole network

Hi there, and thanks for open sourcing this great tool!
I'd like to submit an idea, although I don't have a clue yet about how to implement it.
Here is the use case: ban a node from the whole network.
Maintaining a synchronized blacklist in each nebula client config file can quickly turn into a nightmare.
Some options I can think about:

As lighthouses typically are "master" nodes in the network, my idea is to add a config option to propagate lighthouses' blacklists to other nodes in the network.
implement an OCSP-like responder in lighthouses
add an optional OCSP client in Nebula talking to a real, independent, OCSP responder. (this probably is the quickest win)

I get the point this breaks the decentralized pattern of Nebula, but I feel large enough networks are bound to need a clean node exclusion process.
What do you think about this?

Of the three, I think the third is the most feasible. It is probably not obvious from the existing (limited) documentation, but the lighthouses are outside of the trust model in a way we would like to retain. A single compromised lighthouse cannot do much to disrupt a nebula network, because they simply return answers to queries, and do not coordinate with each other at all.
As you noticed, we do have blacklisting in the config file, which would allow this to be pushed out via a config management system, and is how we use it ourselves.
The ability for a central authority to blacklist nodes is something we've considered, but that power comes with a downside, which is potential for abuse. I am not opposed to this if there is a good solution, likely involving some kind of signed CA blacklist.

Thanks for the quick reply!
OCSP responses are signed, we could either use Nebula CA or an independent CA for checking OCSP responses.
Let's close this issue for now, I'll get back to you with a pull request in a few month when it is time to implement this feature (if I haven't found a better workaround in the meantime of course 😄)

Hello! Any updates on this feature?
@goireu did you manage to find a workaround?

Our current workaround is a mix of short lived certificates and blacklist, nebula configuration is regularly generated and fetched from a central API.

I see. Thank you!


The story around backups to S3 is unclear

The libsql SDK docs don't mention backups to S3, but it is mentioned in this blog post:
https://turso.tech/blog/fully-open-source-encryption-for-sqlite-b3858225

So after features like native replication, automatic backups to S3 and a serverless mode, we are adding to libSQL yet another feature that is critical to production workloads: encryption at rest.

The article goes on talking about the libsql client.
const db = createClient({
  url: 'file:sqlite-enc.db',
  encryptionKey: process.env.ENCRYPTION_KEY,
});

As far as I can tell, sending encrypted backups to S3 like this is not supported.
I can see there is something called "bottomless" for libsql-server.
https://github.com/tursodatabase/libsql/tree/main/libsql-server
But that doesn't apply if one is using a local file, such as in the blog post, correct?
I'd like something like Litestream, for an encrypted local file libsql database.

This is encryption at rest of embedded replica stored on the client.
Backups to S3 are server feature. They are similar to litestream.

It might be worth making that more clear in your docs and blog post?
Litestream works on a local file SQLite database.


Compliance Over time + Microsoft Defender For Cloud

We are continuously exporting our data from MDfC to LAW.
Can I get KQL query which can return compliance data over time, Also Point in Time Data.
Do we have any query to calculate age of compliance. if no query handy, can u lead me the right way.
ComplianceControlOverTime.txt
In attached one, I have got query from COmpliance over time dashboard in MDfC dashboard. Any way I can use something like this in LAW.

HI @learning-aspect,
You can take the queries from the compliance over time workbook, they are based on LAW (with continuous export) :

For more details about 'Compliance Over Time' workbook see
https://docs.microsoft.com/en-us/azure/defender-for-cloud/custom-dashboards-azure-workbooks#use-the-compliance-over-time-workbook