WIP: Promql langserver api

This adds the PromQL langserver HTTP API to to a new /langserver endpoint of Prometheus. For an extensive discussion, see #6160 .
Things that need to be done before this can be merged (incomplete list):

[ ] There should be a tagged langserver release including the new API, that Prometheus can depend upon.
[ ] The logging output of the langserver should use the same logging solution as Prometheus, not plain stderr.
[ ] There needs to be more agreement, whether we want this and if yes, where the new API endpoint should be located.

cc @juliusv @boyskila @squat

cc @juliusv @boyskila @squat

cc @juliusv @boyskila @squat

cc @juliusv @boyskila @squat

Sorry for the duplicate comments (deleted now).
GitHub reported the comment could not be sent. Later all retries were added to the PR as separate comments.

There needs to be more agreement, whether we want this and if yes, where the new API endpoint should be located.

Probably somewhere under /api (since it's for machines, though we have /federate at the root as well, but that's similar enough to /metrics), but maybe under a completely separate hierarchy like /api/langserver. IMO the most important thing is that we mark it clearly experimental at the beginning so we can experiment with it and still decide on another path later.

If this is a pure internal API that's never going to be used by others, then where it is is fine and we should explicitly document it as such in the stability guarantees.

In my understanding this is meant to be used by Grafana and other UIs that want to integrate better autocompletion and other language server features (while not requiring the normal stateful language server protocol).

Then we need to fully specify it under v1.

Since there is still some work required on the language server side, I've created the REST API label in the language server issues.
Help with those issues is appreciated, especially since today is my last day of my Red Hat internship, which means that I'm no longer working full time on Prometheus and language server related stuff.

today is my last day of my Red Hat internship, which means that I'm no longer working full time on Prometheus and language server related stuff.

Thanks for all your work!

I'm somewhat confused about the logging part. The web package currently seems to use go-kit/logger while according to @SuperQ on IRC there seems to be an effort to switch to go-common/promlog. So which kind object should the langserverHandler use?

Those are the same thing, pass around go-kit loggers.

There needs to be more agreement, whether we want this and if yes, where the new API endpoint should be located.

Probably somewhere under /api (since it's for machines, though we have /federate at the root as well, but that's similar enough to /metrics), but maybe under a completely separate hierarchy like /api/langserver. IMO the most important thing is that we mark it clearly experimental at the beginning so we can experiment with it and still decide on another path later.

I'd prefer the API to be marked experimental (with full specs) until we've gathered some experience with it, too. It can still be stabilized later.
So maybe /api/langserver would be a good place.

Also @Nexucis is going to continue working on this PR, since I currently don't have the necessary time.
Thanks for helping with this!

Hello everyone,
I restarted a bit the PR and as you can see I introduced a new object webkit. I use it to put in common the code used by the api/v1 and the code for the light prometheus client needed by the langserver.
I'm feeling this webkit could be improved a bit more in order to rationalized the code that is in the api.
The business logic would be in this object webkit and the logic of checking all HTTP parameter remains to the API.
Like that each logic are splitted and dedicated to a single different object.
I hope you will like it :).
Also I finally put the langServer in the api/v1 after coding the light prometheus client + the webkit, I think it makes more sense to have it as well in the same package since langServer is using all object from the api/v1

The name webkit is a bit confusing since there is already a well known HTML engine with that name.

@Nexucis There should be documentation about the new API in docs/querying/api.md.
That documentation can to some extend be taken from https://pkg.go.dev/github.com/prometheus-community/promql-langserver@v0.5.1/rest?tab=doc .

I'm not really againts to change the name webkit if it's really confusing. I named it like that because mainly I like the name ^^ and also I didn't know this HTML engine.
You can propose something to change it's name if you have something already in mind it's not a problem
For the documentation I will do my best to have something nice

Looking at it! Just a bit swamped, but in the next days :)

Why does this seem to be duplicating many of the existing v1 APIs?

Why does this seem to be duplicating many of the existing v1 APIs?

The language server basically wants the same information as the v1 API provides, but in a non-networked way.
But instead of duplicating everything this PR creates an abstraction named webkit which is then used both by the v1 API and by the implementation of the interface provided by the language server.
Also see https://github.com/prometheus/prometheus/pull/6872#issuecomment-636517796 .

I'm not following. If it wants to talk to the TSDB without using the network it can do do directly without adding HTTP endpoints.

We're not adding endpoints (except those provided by the language server).
The language server instance providing the langserver API talks to an implementation of this interface:
https://github.com/prometheus-community/promql-langserver/blob/3992a10afc80d38a7949b9d719e2d30db4ff222c/prometheus/client.go#L87-L104
In a standalone langserver, the implementation talks to the prometheus v1 API.
In case of the langserver providing the langserver API in Prometheus, the implementation of that interface resides in web/api/v1/langserver.go.
Since the data that is retrieved from TSDB here is pretty much the same as in the v1 API implementation, some the TSDB access Code of the v1 API has been moved into an object called webkit which is implemented in web/api/v1/webkit.go.
Both the v1 API and the interface implementation used by the langserver then talk to a webkit instance instead of talking to TSDB directly.

Surely we can do this without having to add indirection to how the API works?

Could we not do something along the lines of using the existing http router?

For the TSDB access or for something else?

Another way to handle this would be to call the respective methods of the v1 api object in the interface that delivers data for the langserver.
Like this one:
https://github.com/prometheus/prometheus/blob/4284dd1f1b8ec701673d65e4d12db1df59851061/web/api/v1/api.go#L484-L505
That would mean assembling a http request including the right parameters, passing it to the method, and forwarding the result to the language server.

On my point of view it was a good enhancement to split the business logic and the checking of the api parameter.
And at least that's a quite simple approach to let the langserver used prometheus without any network thinguy since the client interface has been mostly désigned based on what the API was returning.
I thought the initial idea was to avoid to build an HTTP request. And introducing the webkit doesn't increase the complexity of the code. I think that's quite the opposite actually. But it's just my opinion

That would mean assembling a http request including the right parameters, passing it to the method, and forwarding the result to the language server.

To be clear, this seems fine to me.

For me doing that is comparable to using a non typed language such as Javascript.
Basically what you are ok for is more or less the same thing than saying:
"I'll compress all my parameter in a single string and then I will pass this string to my method hoping that this method will parse correctly the parameters I passed."
Instead of using some typed parameter which can be checked at compilation level.
Furthermore, what I proposed here is not really something new. That's usually the way to design an HTTP API :

First layer is the HTTP endpoint which is in charge of extracting and checking that the HTTP parameters are statically correct (correct type, correct range of value ...etc.). Once all parameters are ok, it passed them to the 2nd layer which won't have to verify anymore that the type of the parameter are not ok.
Second layer is the business layer which is in charge of checking that the parameters are ok in dynamic way (like the resources wanted already existed in the database or not). It's also contains all the business logic and once everything is ok it asked to the third layer to perform some actions.
Third layer can be the database or a proxy to the database

And finally, you can see the webkit as a way to enter in prometheus without considering the HTTP protocol. It could be used by other protocol for example.

Adding a single new HTTP API should not require moving the code around for existing HTTP APIs, this change is proposing things beyond what it needs to actually work. If you want to propose a rearchitecture of how our APIs work that should be done as a separate proposal, not bundled in with a different feature.

Adding a single new HTTP API should not require moving the code around for existing HTTP API

I think it makes sense to factor out common model access code. I am with @Nexucis on the argument that it would be worse to funnel everything through a layer of string serialization+deserialization that is not needed and introduces lack of type safety.

Another issue with this PR that needs to be considered is the circular module dependency introduced here:
prometheus/web/api/v1  -----> promql-langserver/rest -----> promql-langserver/langserver -----> prometheus/promql/parser.
As long as there are no sufficiently breaking changes to the prometheus/promql/parser package this surprisingly works fine, but if someone wants to introduce such changes, it gets messy.

So normally I addressed all changes requested. I just hope I didn't forget anything.
The build is failing for the moment because  after the upgrade of the golang_client, the promTool is not up to date anymore.
The build should be fixed through the PR #7504

So, the main thing still missing is documenting the new API, right?

normally yes. But maybe after a 2nd review there will be other things to change.

here we go, I added the documentation for the different endpoints concerned.
So finally, now everything has been fixed and so I'm ready for a second review if you are ok to do it again @juliusv @brian-brazil.
Thanks by advance for your time.

@juliusv @slrtbtfs @Nexucis Hi folks, we were looking at this pr in the bug scrub and were wondering what the status of it is. Would be great to have the langserver support in Prometheus!

As far as I know, the PR should be mostly complete, except rebasing and doing a final review.
To clear up some possible confusion: For a while @Nexucis has worked on completing this, so despite having opened the PR I've acted more as a reviewer than as the author of the PR.

So I've been talking with @Nexucis about this, and we're both more and more unsure whether it's worth adding this to Prometheus itself at the moment. The reason is that in our explorations around PromQL editing features in https://github.com/prometheus-community/codemirror-promql (the non-LSP modes), it was a clear benefit for autocompletion features and linting to work either completely or partially client-side, for both snappiness as well as complete offline support (no server present).
And we now have a client-side implementation of most of those features. The offline linter in https://github.com/prometheus-community/codemirror-promql is not 100% on par yet with the LSP one, but close. The offline autocomplete works really well by now, and since it can cache e.g. metric names and label names/values locally and make decisions around them, it's super fast, and data-independent autocompletion continues to work without a Prometheus server present. And for syntax highlighting, you want it to be client-side anyway, so we had to build a lezer grammar for that (https://github.com/promlabs/lezer-promql), and that helped build the other features as well.
So I still think LSP is great, but it's a much better fit for local editors than web apps. The REST wrapper around LSP helps, but it still doesn't take away the inherent drawback of having to do client-server roundtrips for everything, which https://github.com/prometheus-community/codemirror-promql avoids.

I mostly agree with what @juliusv wrote above, so I'd propose to close this PR if everyone is fine with that.
Additionally codemirror-promql is currently being worked on way more actively than the language server.
Still, it was really nice to work on this and possibly useful for exploration. Thanks to anyone who worked on this and provided reviews!

@slrtbtfs Yes, thanks for the exploration and sorry for taking so long with this! Maybe it will make sense at a later point, but for now let's close it then. I still think LSP for desktop editors is a good thing to have, but that's separate.


Move bob forward in the config.json

bob is considerably harder than leap, but is before it in the config.json, meaning people fetch it earlier.

That place works for me. Thanks!


[ModuleInterfaces] Don't diagnose @NSManaged properties with accessors

Normally, we diagnose @NSManaged properties that have getters and
setters because they are actually supposed to be stored properties with
special synthesized accessors. Since we print those accessors in module
interfaces, just don't error when we see them.
Fixes rdar://56111556

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - bcd6b0f2021f1634787977c1f6057afa4404c3ba

Build failed
Swift Test Linux Platform
Git Sha - bcd6b0f2021f1634787977c1f6057afa4404c3ba

@swift-ci please test


How to use self hosted web3signer instead of docker

So what we planning on doing is to run multiple nodes across multiple machines but they need to use our own web3signer instance so they can use the slashing protection feature. I was wondering since there's a EL_NODE, CL_NODE and MEV_NODE there might be something similar for web3signer.

Interesting. Would it not make sense to set this up in the "usual way" for larger installations, that is, multiple CL:EL and then web3signer and VCs in k8s? We have published charts for this (not terribly well documented tbh).

Our charts are at https://github.com/CryptoManufaktur-io/eth-staking-charts . I'll be closing this, it's a non-trivial amount of work and someone who runs Web3signer in k8s can also run the VC there, then point that to CL:EL in Eth Docker.
EthStaker Discord is the place to discuss the helm charts.

@yorickdowne can we please reopen this proposal ??, I find it super interesting, I was looking at the code and the websigner is hard programmed (websigner:9001), maybe we can put the URL in the .env ?
In my almost I want to have the Keys in a separate VM to simplify my backups without having to include all the CL and EL in the backup, for the moment I have it like this:
VM1 : WebSigner, CL
VM2: EL
I want to change to
VM1: WebSigner
VM2: EL + CL
Thanks
https://github.com/eth-educators/eth-docker/blob/167abde391f22b7438465624b8d9ac79a78907a1/nimbus/docker-entrypoint.sh#L104


How do i compile it?

How do i compile this project kindly help me out sir. I am learning android since june and i love this project of yours. I would like to compile on self testing purpose.

Hi @sunmughan I appreciate your feedback about this project, I forgot do merge, now if you want try again can build process with success, Thank you for your notice.
You need clone the project in android studio and after do a build.
Best regards!


Subsecond timestamps written as fractions

Describe the bug
I get weird timestamp lines in the log, seems like the sub-seconds part of the timestamps gets printed as a fraction, like in the following:
2021-07-19 12:56:20 +0200 [warn]: #0 failed to flush the buffer. retry_time=9 next_retry_seconds=2021-07-19 13:00:22<PHONE_NUMBER>9507749129/34359738368000000000 +0200 chunk="5c777a670a11ecf6fe7fe48328099911
this line is produced from fluentd-1.12.3/lib/fluent/plugin/output.rb:1238
To Reproduce
happens all the time when failing to flush buffers
Expected behavior
A sane timestamp, like next_retry_seconds=2021-07-19 12:52:09.802562942 +0200
Your Environment
- Fluentd version: 1.12.3 (b6e76c09d60ee866de6470f2bdd2551e7c8591d3
- TD Agent version: 4.1.1
- Operating system: Ubuntu 20.04.2 LTS
- Kernel version: 5.4.0-73-generic #82-Ubuntu

Your Configuration
<match **>
  @type forward
  <server>
    host some-host.example.com
  </server>
  <buffer>
    @type file
    path /srv/fluentd/sensor-queue-1.buffer
    chunk_limit_size 128k
    total_limit_size 1M
  </buffer>
</match>

Your Error Log
2021-07-19 12:56:20 +0200 [warn]: #0 failed to flush the buffer. retry_time=9 next_retry_seconds=2021-07-19 13:00:22<PHONE_NUMBER>9507749129/34359738368000000000 +0200 chunk="5c777a670a11ecf6fe7fe48328099911

Additional context
Nothing more

I'm not sure, but #calc_next_time, #recalc_next_time may cause similar situation, too.
require_relative "lib/fluent/plugin_helper/retry_state"
include Fluent::PluginHelper::RetryState
> @retry = retry_state_create("hoge", :exponential_backoff, 30, 100)
><EMAIL_ADDRESS> => 2021-08-16 13:52:15<PHONE_NUMBER>0790742099/137438953472000000000 +0900
> a.class
 => Time

Hmm, it's Time class's behaviour:
irb(main):012:0> a = Time.now
=> 2021-09-06 14:40:51.187185555 +0900
irb(main):013:0> a + 1
=> 2021-09-06 14:40:52.187185555 +0900
irb(main):014:0> a + 1.1
=> 2021-09-06 14:40:52<PHONE_NUMBER>41443258669/879609302220800000000 +0900

need round or floor or ceil is needed:
irb(main):016:0> (a + 1.1).round(3)
=> 2021-09-06 14:40:52.287 +0900
irb(main):018:0> (a + 1.1).floor(3)
=> 2021-09-06 14:40:52.287 +0900
irb(main):019:0> (a + 1.1).ceil(3)
=> 2021-09-06 14:40:52.288 +0900


Add inner loop test app project file and manifest

Description

Added separate project file and package manifest to enable installation of the InnerLoop and normal test app side by side
Motivation and Context

How Has This Been Tested?

Fixes #1821
Screenshots (if appropriate):

/azp run

I don't really know why the tests didn't execute. 😅

@teap @kmahone I've noticed this test failing on a few of our recent PRs https://dev.azure.com/ms/microsoft-ui-xaml/_build/results?buildId=63541&view=ms.vss-test-web.build-test-results-tab&runId=2115554&resultId=100750&paneView=debug seems unrelated, should we disable?

/azp run

/azp run


"Translation" project can not be compiled

I cloned the project from git. I opened the project with IntelliJ Idea Community Edition 2020.2.3  It started "Gradle Daemon" and all the dependencies are installed.
Still there are bugs in TranslationFacade class inside the package  org.opencypher.gremlin.translation. I also tried to use "Translation" project as described in its documentation
I added the dependency
<dependency>
    <groupId>org.opencypher.gremlin</groupId>
    <artifactId>translation</artifactId>
    <version>1.0.4</version>
</dependency>

Still, I can not use TranslationFacade class. I always see error

Cannot resolve symbol 'CypherAst'

I see that CypherAst is defined inside CypherAst.scala file. How could java source code read scala files?
My operating system is Windows 10.

I think there was a temporary issue or somehow I couldn't loaded the dependencies. Now works fine.


 Breaks drag and drop

When adding <!DOCTYPE html> to as the first line in demo/index.html drag and drop interaction will break. Child elements will not reposition to parent and connectors will be offset.
To reproduce:

Add <!DOCTYPE html> to  first line of demo/index.html
Drag element to canvas, add second element to canvas connected to first
Click hold and drag first element then release

Just fixed it.

Thanks!


[NLU-4509]Updated Chinese to recognise next next week

The following are the improvements from the Microsoft side:
[ZH DateTimeV2] - Adding support for DateTimePeriod patterns like "下下周"

Jenkins run: https://jenkins.ininica.com/view/Dialog Engine/job/NLU/job/Recognizers-Text/499/

Jenkins run: https://jenkins.ininica.com/view/Dialog Engine/job/NLU/job/Recognizers-Text/501/


log_backup: implement checkpoint v2

Signed-off-by: Yu Juncen<EMAIL_ADDRESS>
What is changed and how it works?

Issue Number: ref #12715
What's Changed:
This added a basic support for region checkpoints.
For now, the APIs in MetadataClient would provide operations over region level checkpoints:

upload_region_checkpoint
clear_region_checkpoint
get_region_checkpoint
Some methods has been renamed too, for better semantics.

This PR also make slash_etc supports multi-version, which allow us write richer test cases.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test

Side effects

Breaking backward compatibility (We should update the BR site so br log status can work.)

Release note
None

close in favor of https://github.com/tikv/tikv/pull/12976


SLLI, SRAI and SRLI instructions missing from RV32I

According to https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf the SLLI, SRAI and SRLI instructions are part of RV32I. Here they are only included in RV64I.
I can make a PR for this (if needed, the change it pretty trivial)

It will be great if you can create a PR.


Command-line fixes

Fixes #1029, #1030
I've left configure as is, but if we want to make it a form similar to other (verb-noun) they should have been insert-config/reset-config/set-config, which I'm not sure are good. Anyway, current configure is good for discoverability.

Right, sorry. Also, i've just noticed:
  -P, --postgres-dsn TEXT         DSN of a remote Postgres cluster, if using
  -I, --bind-address TEXT         IP address to listen on
  -P, --port INTEGER              port to listen on

(not sure why click doesn't check for that!)
Which -P is right here? I would probably drop short alias for --postgres-dsn at all, I don't see a reason for it to be short (so we keep symmetry in client and server, an also both -I and -P are upper case).

Updated docs and also dropped -P alias for --postgres-dsn. Let me know if you think it's needed.

I would probably drop short alias for --postgres-dsn

+1. We should only use one letter aliases for commonly used parameters anyways.

(not sure why click doesn't check for that!)

That's quite scary actually.


Explicit encode role names

This commit explicitly encodes role names.
Also, a slight change in the RepositorySimulator will align
with the tests.
This commit partially covers issue #1634
Signed-off-by: Kairo de Araujo<EMAIL_ADDRESS>
[X] The code follows the Code Style Guidelines
[X] Tests have been added for the bug fix or new feature
[ ] Docs have been added for the bug fix or new feature

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0004%) to 97.737%

Totals

Change from base Build<PHONE_NUMBER>:
0.0004%

Covered Lines:
4093

Relevant Lines:
4172

💛  - Coveralls

Thanks looks good. I'm approving this but would not mind a better docstring and/or name for the test if you can improve them: it now tests that rolenames are correctly encoded in both filenames and URLs.

I will improve it. Please wait before merging it.


New console test to ensure cleaned/shortened name doesn't start or en…

…d with invalid char #1601

@grs last jenkins build was failing due to "null" value, (obviously brokered space had no concept of a pooled-queue) so I changed each test to use default address plan, all tested locally and passing.
Can I ask for review one more time? sorry about that.

@RH-sdavey no problem

Hi @grs, the travis builds are passing fine now, so Im happy to say the previous failures were 'one-offs', the jenkins builds are failing for completely unrelated tests ( different tests are failing each build ) so Id liek to go ahead and merge this if possible. Can I ask for your approval again? I will squash and merge it. Thanks


Privacy policy

Feature Request
Desired behaviour
Will probably have to get in-house legal to look through this, but we might need a privacy policy ala
https://github.com/common-workflow-language/cwlviewer/pull/194
Policy is slightly different since we do allow users to login to discussion forums and we retrieve some info like their avatar images to display when showing who has starred a tool/workflow..

https://portal.firecloud.org/#policy might be useful too

To register with Smart API, a termsofservice is required. Looks like, although I'm not a lawyer, that terms and conditions includes the privacy page. See the GA4GH for an example.

Another example https://codecov.io/site/gdpr

Created a rough draft https://gist.github.com/denis-yuen/53d4811e5963ac0c15bbc8556e1f7c7b
Currently winding its way through legal (they're also considering other oicr sites at the same time)

Still pending, add link to Swagger as per #1200 when we get a final draft

Received a terms of service.
Need to upload and link to UI

Dockstore Terms of Service.pdf


"HTML" should be separated from "Markup"

(I am not good at English so please pardon)
Recently I wanted to highlight some XAML codes, but unfortunately there were some

I think that it will solve my problem.


Add vm.buffer.hash and util.buffer.hash ops

This adds support for computing the SipHash24 of a byte range of a buffer, with the goal of using this as a primitive for building a hash table out of VM IR.

Minor style nits and such,
It'd be nice to know how we could make this incremental (an optional state buffer, etc) but that can come with some larger crypto module that does more stuff than what this is intended for (basic hashing of simple bytes spans). Keeping it simple here means we can optimize it pretty tightly/port it pretty easily!

I found this investigation of a few different choices for incremental hash functions so maybe we can import learnings from there: https://github.com/rust-lang/rust/issues/41215


Godot crashes in Debug when C# exception is thrown (VS Code and Rider, using dotnet 8.0.204)

Tested versions

Reproducible in all 4.2 and 4.3 version (including 2e5d2333b782a2439c4d2cb32cf9fa69d1f6d5e5) I have tested (self-built from this repo and downloadable releases).

System information
Linux my-laptop 6.5.0-25-generic #25~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 20 16:09:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Issue description
Not every, but some exceptions I throw cannot be caught and the corresponding catch block is not executed. This is only reproducible in direct or indirect executed code of a C# _Ready() method and only when it is executed as a follow of the node being added from a dynamically loaded PackedScene and won't happen in non-Debug mode:
public partial class Root : Node {
  private static readonly StringName AddThrowingNodeAction = new("add_throwing_node");
  private static readonly PackedScene ThrowingNodeScene = GD.Load<PackedScene>("res://src/ThrowingNode.tscn");

  public override void _Input(InputEvent @event) {
    if (@event.IsAction(AddThrowingNodeAction) && @event.IsPressed()) {
      AddThrowingNode();
    }
  }

  private void AddThrowingNode() {
    ThrowingNode node = ThrowingNodeScene.Instantiate<ThrowingNode>();
    AddChild(node);
  }
}

using System;
using Godot;

namespace Game;

public partial class ThrowingNode : Control {
  public override void _Ready() {
    // Round #1
    try {
      throw new ArithmeticException("foobar");
    }
    catch (ArithmeticException) {
      Console.WriteLine("Caught Round #1"); // Won't land here if using dotnet of a version before 8.0.204
    }

    // Round #2
    try {
      Convert.ToDouble("");
    }
    catch (Exception) {
      Console.WriteLine("Caught Round #2"); // Won't land here if using dotnet of a version starting 8.0.204
    }
  }
}

[gd_scene load_steps=2 format=3 uid="uid://b8q5m24wqvqq3"]

[ext_resource type="Script" path="res://src/ThrowingNode.cs" id="1_0tdku"]

[node name="ThrowingNode" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_0tdku")

This issue hurts a lot: I cannot Debug anything any more, because the Godot app closes (crashes?) every single time on Debug when throwing the exception.
Jetbrains Rider will directly exit Godot and won't even stop before throwing the exception (Details).
VS Code, will get its started Debug Godot runtime frozen.
Convert.ToDouble("") should throw a FormatException and in other error cases an OverflowException. Interestingly, throwing those directly won't trigger the crash: They get caught. Only when causing Convert.ToDouble(...) to fail, it crashes and, like before, the debugger won't stop at all at exception. This happens with 8.0.204.
Console output:
RD-241.14494.225, JRE 17.0.10+8-b1207.12x64 JetBrains s.r.o., OS Linux(amd64) v6.5.0-25-generic, screens 1920.0x1080.0
.NET Core v8.0.1 x64 (Server GC)
Logs: https://dotnet-ea.services.jetbrains.com/files/small/968660d4-ca36-4f3f-9f93-541647b824d0/rider-logs-attachment.tar.xz
Affected versions: 2024.1 RC 1 (241.14494.225)

Dotnet:
$ dotnet --version
8.0.204

$ dotnet sdk check
.NET SDKs:
Version      Status
------------------------
8.0.204      Up to date.

Try out the newest .NET SDK features with .NET 9.0.100-preview.2.24157.14.

.NET Runtimes:
Name                          Version      Status
------------------------------------------------------
Microsoft.AspNetCore.App      8.0.4        Up to date.
Microsoft.NETCore.App         8.0.4        Up to date.

The latest versions of .NET can be installed from https://aka.ms/dotnet-core-download. For more information about .NET lifecycles, see https://aka.ms/dotnet-core-support.

Issue is reproducible with any Net version (6.0, 7.0, 8.0):
<TargetFramework>net8.0</TargetFramework>

Steps to reproduce

Download the attached project
Run the project in DEBUG
Press O (the letter) key
Notice crash/freeze (or if not reproducible in your environment Caught Round #1 and Caught Round #2 in the console output)

Minimal reproduction project (MRP)
throwing-demo2.zip

I'm unable to reproduce this with 4.2.1.stable.mono.official.b09f793f5 on Linux using the 🕹 Debug Game configuration in VSCode.

Try launching Godot with the --verbose flag to see if you get more details on crashing. If you are able to build Godot, build it with dev_build=yes and debug_symbols=yes.


sql: SHOW CREATE TABLE warns on partitioned tables without zone configs

PR: https://github.com/cockroachdb/cockroach/pull/40475
From release notes:

SHOW CREATE TABLE now warns users if they have a partitioned table that does not contain zone configurations [#40475][#40475] {% comment %}doc{% endcomment %}

@jseldess Does this need to be documented?

I think so, yes. This is a way to find out if any partitions do not yet have zone configs. Let’s talk about this in person and figure out the right place to document it.


Sentry v8 support

Just set this package up in my project and noticed a compilation error when I tried adding the v8 version of nodeProfilingIntegration() to my integrations array. Looks like bumping the @sentry/node version from v7 to v8 should resolve the issue with the incompatible types.

Hey @jonahsnider! 👋🏻
Yes it is planned, but first I need to ensure Sentry v8 works well.
Last time I checked they had multiple error and weird behavior when using Node.js loaders. So I forced the version to v7 at the moment.

hey @RomainLanz 👋 Sentry v8 appears to be pretty stable now - bumping the question from @jonahsnider 🙂

@RomainLanz awesome, sounds good! Happy to try the beta out and report back once available!

Hey! May you try with @rlanz/sentry@next?

@RomainLanz I can confirm that @sentry/profiling-node@8 works when using @rlanz/sentry@next 🚀
Sentry profiling

Project dependencies:

Other functionalities (like captureMessage, for example) seem to work a-okay as well!

Appreciate the update! ❤

Great! Are you able to see database queries too?

@RomainLanz yup, I can see all the queries, waterfalls, etc 👍


Implement chunks

Right now if I have a slice I can do:
slice.par_chunks(500)....

but if I have an iterator I can't chunk it:
(0..100000).par_chunks(500)... // Error
(0..100000).into_par_iter().chunks(500).... // Error

So I end up needing to work around this as:
let indices: Vec<_> = (0..100000).collect(); // :(
indices.par_chunks(500)... // Works

which is horrible.

Standard iterators don't have chunks either. How do you imagine this should work?

Chunks is part of itertools .
On Fri 29. Dec 2017 at 20:12, Josh Stone<EMAIL_ADDRESS>wrote:

Standard iterators don't have chunks either. How do you imagine this
should work?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rayon-rs/rayon/issues/501#issuecomment-354488201, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA3NpnMcSO2lzBwbfZLaZE__zvPv2iLuks5tFTmRgaJpZM4RPSAJ
.

Ah, ok... for reference: https://docs.rs/itertools/0.7.4/itertools/trait.Itertools.html#method.chunks


Add autoformatting to yaml files

AC:
YAML should autoformat when a rule is saved

I went through multiple rules in the editor in production but noticed that the first part is not collapsed for any one of them, also I indented in one rule all of the content below the authorities property to 4 indents, then tried saving the rule but it did not return the content back to 2 indents. (the rule had some mismatch with schema, does the indent functionality depends upon full conformance with the schema?)
Steps to Reproduce:

goto rule editor in production
open any rule and check if first part is collapsed

Folding - as per the PR review, I changed folding to only occur when selected in the right click context menu (Fold Level 1)
Formatting - I believe it does not format if there are yaml syntax errors (red, not yellow). if it can't parse the yaml, it can't format it

The AC is fulfilled, the editor auto formats the rule yaml on save. I have added a rule with id test,SD1084, all validations were performed using that rule. The issue is clear from QA validations


Resnet Batch 16 perf test hangs/wrong event id with tracing

Only seen in resnet perf test for batch 16. Batch 20 passes without issue.
There is also the single forward pass tests for the full resnet model. This currently passes for all cases that the original test had (including batch 16)

This was due to #8062, with the fix for that issue Resnet batch 16 trace perf test passes


Revert "Add in CUDA 10.2 manually"

This reverts commit 5a63f72c2dddbae4ba96d37a9d4a978e0af03fca.
CUDA 10.2 support is now included in conda-forge by default thanks to PR ( https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/377 ). So this can be dropped.

Checklist

[ ] Used a 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.

@conda-forge-admin, please re-render.

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.

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

@jaimergp, could you please take a look when you have a chance? 🙂

Thanks!


Track ReactiveCocoa releases

Is there a policy on tracking dependency releases?
RC is on beta 8 while adding Moya required my project to go back to beta 6 (using Carthage).

To my knowledge, no-one has stepped up to keep the Carthage/RAC branch in sync, we'd welcome a PR making sure it supports the latest from you.

Yeah, to be honest I'm not entirely sure how dependency resolution with Carthage works. If it were CocoaPods, I'd fork the Moya repo and point to my fork in the Podfile.
@neonichu: you added Carthage support – any ideas?

Yes you can definitely just fork Moya, change the ReactiveCocoa branch in the Cartfile and you are good to go.
To add more context: The problem here is that the ReactiveCocoa beta is referenced using its specific github branch.
I think we should simply add a version requirement to the major version of ReactiveCocoa, so that Carthage has a bit more room to decide which version of ReactiveCocoa to use.
github "ReactiveCocoa/ReactiveCocoa" ~> 3.0

@aschuch sounds good, do you want to make a PR for that?

Cool, thanks @aschuch ! I wasn't sure how the ~> 3.0 signifier works in Carthage.


Error loading custom layouts: Cannot transcode invalid UTF-8 JSON text to UTF-16 string.

Environment
Windows build number: [run "ver" at a command prompt]
PowerToys version:
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce

Expected behavior

Actual behavior

Screenshots

<!--

believe #1555 fixes this, @stefansjfw  / @enricogior, correct?

Yes, it's now fixed.

Fixed from #1555 bug and the fix will be released shortly with 0.16

The fix is now available in 0.16 https://github.com/microsoft/PowerToys/releases


JavaScript: Add new query UnvalidatedDynamicMethodCall.

This complements the Unsafe dynamic method access query to flag cases of method name injection that can result in a crash (as opposed to code injection). Such cases are less problematic (hence the new query has severity "warning"), but still worth flagging.
I've further restricted the "Remote property injection" query to no longer flag any dynamic method calls, so there should be no overlap in results.
Running on our default benchmarks yields good results (internal link); query runtimes look reasonable for a security query.
As discussed with @pavgust, I am making this a hotfix since it is customer-motivated and fixes what to an end-user would look like a regression from 1.18, where remote property injection results were shown by default.

Ping @mc-semmle for doc review. I'd like to get this merged today if at all possible so it is ready for LGTM testing day. If you don't have time today I can put up a separate doc review PR later.

GOOD/BAD annotations added.


[sdg] Updated boundaries from UN

Data generated from https://github.com/datacommonsorg/data/pull/901
Comparisons:

Updated the screenshot in the PR description based on the new geojson's


Update naming convention to match other CNCF Working groups

I was looking through the repo and found "comms" and "TAG ENV Working Group Communications Charter " miss matching with "Communications Working Group Charter" used on the website, which match the general use of working group names in the CNCF.
I also fixed a "broken link" that pointed to the google doc of the draft and not the repo.

I trust Quality Checks / run-quality-checks (pull_request)  fail as it is part of the fix in this PR.


Allow to filter the categories in the category browser

Allow to filter the categories in the category browser.
Currently you need to scroll and find the right category: it should be possible to type the first letters of the category to filter the list

Working on it

Working on it too

Fixed by @l-o-b-s-t-e-r in https://github.com/openfoodfacts/openfoodfacts-androidapp/pull/1467 , and merged


Inclusion in contributor list

Adding my name "Bahaa Zaid" to the contributor list.
I have contributed the pg-replication-slot component.
https://github.com/apache/camel/pull/3005
Thanks.

Thanks!


Add shuf tests

Closes #1859

wahou
 codecov/project Successful in 1s — 64.09% (+0.32%) compared to 6d4f70c

bravo!


Failed to Verify some or all of the following files

Hey there, sorry if I missed something
Alexander was once forced close during an update check and I've had this error prompt since. I've followed the uninstall guide here ( https://github.com/Soreepeong/XivAlexander/wiki/Installation-and-Load-Once ) and I continue to still have this error message upon loading:

I'm not quite sure what I'm missing. Roaming appdata file was deleted. Local appdata file was deleted. and I don't see the d3d11.ddl, d3d9.dll, dxgi.dll or dinput8.dll in my FINAL FANTASY XIV - A Realm Reborn\game folder. In addition to running the uninstall option from the installer.
Please let me know if there's anything else here I need to do.

Delete %LOCALAPPDATA%\XivAlexander
Delete %APPDATA%\XivAlexander
Delete d3d11.dll and d3d9.dll in (game installation directory)\game

These 3 are all about uninstalling, so it looks like you've done that.
When do you see that error? On running XivAlexanderLoader32/64.exe, or on clicking any button in the main window?

Upon launching Alexander. Tried the 'Check for Update' after launch too.
I forgot to detail, hopefully this helps, this force close happened quite a while ago now if any directories were changed.

Do you mean that you've clicked on "Load Once", by "Upon launching"?

This seems to cause an issue with Triggernometry at some level as well. Choosing not to load Alexander will allow my triggers to function where as they're otherwise broken.


Docs for common use cases

Hey, I find this extension really useful 🙏
I am not sure about how some of the use cases should be approached with such a table.
Getting the history of a particular row
If I I want to get the history of a particular row from the primary table, should I query on the primary key inside of JSONB record?
Getting the most recent version of a particular row
I think that if I can get the history then the row with the latest ts is the most recent. So no question here 😄
Getting the previous record from the most recent record
It got a little bit confusing here. I thought that record_id would be unique for every record (we could hash record contents and ts to achieve uniqueness). With that in mind we could find the previous record by looking at old_record_id of the record (a linked list essentially).
But that is not how it works 🤔 The old_record_id and record_id are always the same, because they're based on the primary keys which don't change for the tracked record. I am not sure I understand the purpose of having to identical ids for each record... And I have hard time understanding the purpose of record_id itself – I don't know record_id beforehand to select based on its value. I have to query JSONB for the primary key that I know, and while at that I can just select all rows that match (and they will all have the same record_id).
I think I'm missing something that prevents me from using this extension correctly, so I would really appreciate your answer!

I am not sure about how some of the use cases should be approached with such a table.

Good point. Yeah, the README is pretty lacking for how to query the data.
I'll answer your specific Qs here and have made a note to update the README once I have a chance to bring in a couple of helper utilities to make it easier to query.

Getting the history of a particular row

Given a setup like
  create table public.members(
      id int primary key,
      name text not null
  );

  select audit.enable_tracking('public.members');

  insert into public.members(id, name)
  values (1, 'foo');

  update public.members
      set name = 'bar'
      where id = 1;

you could query for the history of public.members for the row with id=1 using
  select
      rv.*
  from
      public.members mem
      join audit.record_version rv
          on audit.to_record_id(
              'public.members'::regclass,
              audit.primary_key_columns('public.members'::regclass),
              to_json(mem)::jsonb
          ) = rv.record_id
  where
      mem.id = 1;
  order by
      rv.ts asc

returns
 id |              record_id               |            old_record_id             |   op   |                 ts                 | table_oid | table_schema | table_name |          record          |        old_record
----+--------------------------------------+--------------------------------------+--------+------------------------------------+-----------+--------------+------------+--------------------------+--------------------------
  2 | 2f3ff181-f226-5566-8edc-fb11e907c122 |                                      | INSERT | Thu Mar 10 21:41:48.88712 2022 PST |     16525 | public       | members    | {"id": 1, "name": "foo"} |
  3 | 2f3ff181-f226-5566-8edc-fb11e907c122 | 2f3ff181-f226-5566-8edc-fb11e907c122 | UPDATE | Thu Mar 10 21:41:48.88712 2022 PST |     16525 | public       | members    | {"id": 1, "name": "bar"} | {"id": 1, "name": "foo"}
(2 rows)

I thought that record_id would be unique for every record

record_id is unique for each combination of "table" and "table-pkey"

old_record_id and record_id are always the same

Almost always 😄. Theres nothing that stops a user from updating a records primary key. In that situation, they would differ.

With that in mind we could find the previous record by looking at old_record_id of the record (a linked list essentially).

Good analogy. You could do that, but queries would be slower and more difficult to write (recursive CTE)

Thanks for the examples, it's a lot more clear now 🙏
I use Postgres in pretty vanilla apps, so I haven't even thought about changing primary keys 🤯 So my point about being able to trace a changing record through its primary key inside of JSONB becomes invalid at this point and that's when old_record_id comes in.
As for your example query – do I understand correctly that it will return a portion of the history only with the same primary key? And from there I can get the rest by following old_record_id?
And regarding "getting the previous record from the most recent record" the answer is to just use ts and get the first older record with the same record_id?
It's great that you have some querying helpers in mind – looking forward to the updates!

do I understand correctly that it will return a portion of the history only with the same primary key? And from there I can get the rest by following old_record_id?

yes, that's right

And regarding "getting the previous record from the most recent record" the answer is to just use ts and get the first older record with the same record_id?

yep. the ts is the timestamp of the commit so it will be linear unless the same record is edited multiple times in a single transaction

I also want to let you know about the case when the row is deleted. After that the query you suggested:
  select
      rv.*
  from
      public.members mem
      join audit.record_version rv
          on audit.to_record_id(
              'public.members'::regclass,
              audit.primary_key_columns('public.members'::regclass),
              to_json(mem)::jsonb
          ) = rv.record_id
  where
      mem.id = 1;
  order by
      rv.ts asc

no longer works, because there is row members table to join against and to pass to  to_json(...)::jsonb to evaluate audit.to_record_id. That's very logical, of course, but at this point the only way to find a specific audit row is to query the record contents.
This can be left as is or maybe it makes sense create indexes into record primary keys within enable_tracking – I'm not sure.

thanks,  if you need that right away, you can do it like this
  select
      rv.*
  from
      audit.record_version rv
  where
      rv.record_id = audit.to_record_id(
          'public.members'::regclass,
          '["id"]'::jsonb,
          '{"id": 1}'::jsonb
      )
  order by
      rv.ts asc

yes, would be great to add some of this kind of knowledge to the docs

select
rv.*
from
audit.record_version rv
where
rv.record_id = audit.to_record_id(
'public.members'::regclass,
('{"id"}'),
'{"id": 1}'::jsonb
)
order by
rv.ts asc
or

select
rv.*
from
audit.record_version rv
where
rv.record_id = audit.to_record_id(
'public.members'::regclass,
audit.primary_key_columns('public.members'::regclass),
'{"id": 1}'::jsonb
)
order by
rv.ts asc
This work in my PostgreSQL 14

None of the above queries would show DELETE. The script below will show DELETE, INSERT, UPDATE.
select
rv.*
from
audit.record_version rv
where
rv.old_record_id = audit.to_record_id(
'public.account'::regclass,
('{"id"}'),
'{"id": 1}'::jsonb
)
or
rv.record_id = audit.to_record_id(
'public.account'::regclass,
('{"id"}'),
'{"id": 1}'::jsonb
)
order by
rv.ts asc


Cleanup

This draft PR is for performing a general cleanup of the code (closes #5).
To begin with, I have removed some unnecessary files and updated some of the main files of the repository – please refer to the commit messages for specific details.
@ckjat, I would leave the following tasks for you:

Search for and remove any unnecessary functions.
Remove any commented lines of code that are no longer useful.

Regarding the two scripts in examples/:

The syntax import PowerModels as _PM could be used instead of import PowerModels; const _PM = PwerModels (and similarly for the other packages). Apart from being shorter, it avoids defining both PowerModels and _PM in the namespace.
_PMMCDC.optimizer_with_attributes can be used instead of JuMP.optimizer_with_attributes. Consequently, import JuMP can be avoided. We export some JuMP names just for that.
InfrastructureModels and Memento seem not to be used. Their import statements could be removed.

It seems that there are some unused functions that need to be deleted. I noticed some in the file src/formdcgrid/dcp.jl (those related to TNEP, whose names end with _ne), but there could be others.

The function make_multiconductor_new! could be renamed as make_multiconductor! and the file src/core/new_multi_conductor_function.jl could be renamed to /src/core/multiconductor.jl.

Regarding the two scripts in examples/:

The syntax import PowerModels as _PM could be used instead of import PowerModels; const _PM = PowerModels (and similarly for the other packages). Apart from being shorter, it avoids defining both PowerModels and _PM in the namespace.
_PMMCDC.optimizer_with_attributes can be used instead of JuMP.optimizer_with_attributes. Consequently, import JuMP can be avoided. We export some JuMP names just for that.
InfrastructureModels and Memento seem not to be used. Their import statements could be removed.

Regarding the two scripts in examples/:

The syntax import PowerModels as _PM could be used instead of import PowerModels; const _PM = PowerModels (and similarly for the other packages). Apart from being shorter, it avoids defining both PowerModels and _PM in the namespace.
_PMMCDC.optimizer_with_attributes can be used instead of JuMP.optimizer_with_attributes. Consequently, import JuMP can be avoided. We export some JuMP names just for that.
InfrastructureModels and Memento seem not to be used. Their import statements could be removed.
(Indeed the changes suggested in point 1 and 2 are better for consistency. However it seems like both InfrastructureModels and Memento are being used at some other places.)

It seems that there are some unused functions that need to be deleted. I noticed some in the file src/core/formdcgrid/dcp.jl (those related to TNEP, whose names end with _ne), but there could be others.

I see that there are still many unused functions. Could you check if they can be removed? I have found the following functions so far:

constraint_active_conv_setpoint (2 methods)
constraint_reactive_conv_setpoint (3 methods)
constraint_dc_voltage_magnitude_setpoint (3 methods)
constraint_dc_branch_current (3 methods)
constraint_dc_droop_control (3 methods)
variable_dcbranch_current (1 method)
_calc_branch_power_max_frto (1 method)
variable_conv_transformer_current_sqr (1 method)
variable_conv_reactor_current_sqr (1 method)
variable_converter_filter_voltage_cross_products (1 method)
variable_converter_filter_voltage_magnitude_sqr (1 method)
variable_converter_internal_voltage_cross_products (1 method)
variable_converter_internal_voltage_magnitude_sqr (1 method)
variable_cos_voltage (1 method)

One more comment, this time about grammar. :grin: I have searched in the repository for occurrences of multiconductor and its variants:

multiconductor: 10 occurrences
multi-conductor: 7 occurrences
multi_conductor: 1 occurrence (+ 1 in file name)

I suggest choosing one spelling and sticking to it, to avoid confusion. According to Google Ngrams, multiconductor is the most widespread spelling in books.

It seems that there are some unused functions that need to be deleted. I noticed some in the file src/core/formdcgrid/dcp.jl (those related to TNEP, whose names end with _ne), but there could be others.

I see that there are still many unused functions. @ckjat, could you check if they can be removed? I have found the following functions so far:

constraint_active_conv_setpoint (2 methods)
constraint_reactive_conv_setpoint (3 methods)
constraint_dc_voltage_magnitude_setpoint (3 methods)
constraint_dc_branch_current (3 methods)
constraint_dc_droop_control (3 methods)
variable_dcbranch_current (1 method)
_calc_branch_power_max_frto (1 method)
variable_conv_transformer_current_sqr (1 method)
variable_conv_reactor_current_sqr (1 method)
variable_converter_filter_voltage_cross_products (1 method)
variable_converter_filter_voltage_magnitude_sqr (1 method)
variable_converter_internal_voltage_cross_products (1 method)
variable_converter_internal_voltage_magnitude_sqr (1 method)
variable_cos_voltage (1 method)

Additionally, I believe that the entire directory /src/io/ can be deleted as well. All the functions contained there are unused, and the respective files are not even included in /src/PowerModelsMCDC.jl.


First release

@fraserxu Please commit what you have.
Then @ChopperLee2011 please review his code and help him build the tests.

Can we have some documentation please.. the README is empty!

Done. Thanks. Let me know if you have more questions. Closing for now.


docs: cleaning up Enterprise and fsGroup docs

Cleaned up the Enterprise documenation so it's a bit clearer and aligns with the docs better i.e. documentating Enterprise runners config in the runners section as really it's just a configuration option to the runner kinds. I don't have a GitHub Enterprise Server environment but I think I haven't said anything wrong as I was just editing what was there (but I could have deleted something important maybe). The docs weren't great on this as Actions has had GitHub Enterprise Cloud support since the beginning but they read like the enterprise stuff relates a Enterprise Cloud environment when really it is specifically for the server edition.
The other change I've done is change fsGroup. There isn't a group with the GID 1447 so this doesn't make sense although it does work. The runner user is in the following groups and those groups have GIDs of:
runner@default-runner-deployment-798vd-bx6dz:/$ groups
runner sudo docker

# cut down output
runner@default-runner-deployment-798vd-bx6dz:/$ cat /etc/groups
root:x:0:
sudo:x:27:runner
runner:x:1000:
docker:x:1001:runner

I think the fsGroup should be set to 1000 as a result? I'm making that change to my environment Monday so I can confirm if it all works then but I don't see why it wouldn't.
Please read through @mumoshu when you get a chance to review the PR just to double check I haven't made a typo or mistake with all the changes I was making.

@zetaab I'm just cleaning up the docs for the Enterprise Server support feature.
Does the enterprise attribute the work the same way as the organisation attribute or is there a slight difference? Is it a case of you point a kind e.g. a runner or a runnerdeployment at your enterprise and then use runner groups to manage org wise runners to individual organisations within that organisation or is literally the same as an organisation on github enterprise cloud? The docs aren't super clear and it's a bit abstract to my brain.

Basically yes, with enterprise you can make whole github enterprise server wide runners. I do not have experience about github enterprise cloud.

How does it work for repository level runners? Do you need to specify the enterprise attribute as well as the specific repositories?

Autoscaling does not work for enterprise runners afaik

So as it stands you can just deploy sets of runners with the RunnerDeployment kind which a static amount of runners as defined by the replicas attribute? You can't then couple those RunnerDeployments with a HRA for autoscaling? How can you target individual sets of runnerdeployments, does it suppoer labels? Can you use the runner kind to assign a runner to an individual repository?

Enterprise level runners needs to be approved to repositories in organisation level in github. We use currently runnerdeployment with static amount of replicas. Runnerdeployment supports labels and those works also in enterprise level runners. HRA is not supported.

Cool, last bit is do you have repository specific runners in GitHub Enterprise Server? Does this implementation support them if so or does it work only via regsitering runners against the Enterprise level only and then allocate those runner groups to repositories?

With github enterprise server we can also use normal organisation/repo level runners that people do use in github.com. The only difference is enterprise level runners. There is no such thing like register enterprise level runner and use only in one repo. Instead we should in that case just use repo specified runner (like in github.com)

Ah, so from you've said and reading https://docs.github.com/en/github-ae@latest/admin/user-management am I right in saying Enterprise runners are a layer above your organisations. You are able to have runners avaliable to your enterprise which could mean multiple organisations and whatever set of repositories you allocate the runner groups to?
You can still make use of the other kinds in this project, enterprise runners ar ejust a unique type of runner specific to the server edition of github enterprise?

I can confirm changing the fsGroup to 1000 hasn't broken assume in my environment.
Updated docs to reflect @zetaab 's comments


syft: 0.36.0 -> 0.37.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/syft/versions.
meta.description for syft is: "CLI tool and library for generating a Software Bill of Materials from container images and filesystems"
meta.homepage for syft is: "https://github.com/anchore/syft"
meta.changelog for syft is: "https://github.com/anchore/syft/releases/tag/v0.37.5"
Updates performed

Golang update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/0wwmlya200qhj0dvqqcaa9cvg6ivaq6n-syft-0.37.5/bin/syft had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.37.5 with grep in /nix/store/0wwmlya200qhj0dvqqcaa9cvg6ivaq6n-syft-0.37.5
found 0.37.5 in filename of file in /nix/store/0wwmlya200qhj0dvqqcaa9cvg6ivaq6n-syft-0.37.5

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

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
syft

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0wwmlya200qhj0dvqqcaa9cvg6ivaq6n-syft-0.37.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0wwmlya200qhj0dvqqcaa9cvg6ivaq6n-syft-0.37.5
ls -la /nix/store/0wwmlya200qhj0dvqqcaa9cvg6ivaq6n-syft-0.37.5/bin

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

1 package built:

syft

Maintainer pings
cc @06kellyjac @kalbasit for testing.

I'll build and test but I've also asked why the 0.37.X releases aren't full GH releases but just tags
https://github.com/anchore/syft/issues/799


Optimize rendering path (bugdown/markdown).

Talk to me (showell) or @timabbott if you are interested in working on this.
Our rendering path has a couple possible bottlenecks:

Detecting links, with over 300+ TLDs, is expensive (I've measured this).
We get all the users in the realm to do mentions.

See #6298 for some relevant research.

We just merged #6531, which significantly optimizes the performance of fetching data for things like mentions in the case where the message doesn't actually contain any mentions.

I'm closing this, since it was partially fixed, and it's been long enough that we'd want to re-profile everything anyway.


Golden token not displaying on R.W user page

https://realms.world/user/0x01f447b1d086c66533b481311813a68cde116aacf39fb9611636f18c79502241/beasts

Is this in relation to the beast metadata not showing (406) or the golden token (in the separate tab up the top -accesible at URL https://realms.world/user/0x01f447b1d086c66533b481311813a68cde116aacf39fb9611636f18c79502241)

I realise my mistake....
in the screengrab in the frame for #406 I though it was where my golden ticket would be displayed. I realise not it was a beast that was not displaying.  Apologies for the confusion. I checked now and the beast displays as expected


Feature request: Support creating an automation based on another (cloning, duplication, copy)

To save time when setting up similar automations it would be worthwhile to be able to base on automation on another, i.e. copy + modify an existing automation.

https://github.com/strautomator/web/commit/2ad077a5f3f820ebce74f6cda8f405476ba5595b
Available in beta, should be in production sometime next week.

Wow thanks for addressing this so quickly 👍


[Handbook] Add link to submit a pull request to improve each page

Suggested by @edwardalee.
Each page of the handbook should have a link to the corresponding GitHub page so that readers can suggest improvements to that page in the form of a pull request.
For example, the troubleshooting page has the following text:

If you have suggestions for additions to this page, please submit a pull request.

This could be included in the footer or side bar of each page. For example GitHub docs has this in the footer of every page:

Clicking on the provided link will bring you directly to the edit mode of that page. For example, the homepage link will get you to https://github.com/github/docs/edit/main/content/index.md (note the edit word in the link). GitHub will then guide you through the process to edit this page. If it requires creating a fork, GitHub will guide you through that process all on the web.  This is a nice built-in feature of GitHub that would make it easy to suggest improvements for each handbook page.  For example, here is a direct link to modify the "A First Reactor" page:
https://github.com/lf-lang/website-lingua-franca/edit/main/packages/documentation/copy/en/topics/A First Reactor.md

I'm a bit confused. We have this (screen grab from the troubleshooting page you mention):

Doesn't this do exactly what you describe?

Oh, you're right! Somehow we missed that. Thanks :)


Telegraf plugin doesn't work automatically for VM scalesets

For these directions to work in VM scalesets, the resource ID for the scaleset must be explicitly set in the telegraf.conf file. More info here:
https://github.com/influxdata/telegraf/issues/5819
Once this issue is fixed, these directions will also work for VM scalesets.

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

ID: 9cea95e2-c775-c363-d468-2232c2b51f4a
Version Independent ID: c87ec30c-b0b7-d6e5-403b-a6d9991248b0
Content: Collect custom metrics for a Linux VM with the InfluxData Telegraf agent
Content Source: articles/azure-monitor/platform/collect-custom-metrics-linux-telegraf.md
Service: azure-monitor
Sub-service: metrics
GitHub Login: @anirudhcavale
Microsoft Alias: ancav

@johncrim Thanks for the Comment. We are actively investigating and will get back to you soon.
@anirudhcavale Would it be possible to update the content with John's comment?

@johncrim thanks again for your update. The doc author @anirudhcavale  is currently oof but I've noted this case and will take this offline with Anirud for further review upon his return.
We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.

@johncrim , discussed this internally with the feature team and they would like to connect with you via email to better understand your recommendation. Please send mail to<EMAIL_ADDRESS>include the link to this GitHub thread for context and I will connect you with the feature lead/owner.
Looking fwd to hearing from you.


Setup unit tests routine

We have lots of code which could be tested in some way, e.g. the new filters. Unfortunately, the only tests we have are functional requiring launch of a game client.
This task is about setting up a number of small unit test suites to check at least the filters.

Well, the simplest way possible is to add GoogleTest as submodule and drop all that hand-maderoutine the Blizzard devs wrote. While this will be not real unit-tests (we need a running client for run), we can add basic unit-tests, too.

https://github.com/Nickrader/cpp-sc2/tree/dev_unittest
I started off trying to implement a unit test routine.  I have since moved the goalpost to completing a sample, covering the different test types in the GTest framework.  [it's taking me a long time to translate between Google documentation and our API, since it's my first go at GTest and real-world code].
Think I'm far enough to open it up for feedback.  Figured getting a sample done first would make it more accessible for future contributors.
Currently still a work-in-progress.

First of all, this is definitely a good attempt and nice way to get useful experience.
Regarding the code the original idea is the following:

Link with googletest (seems that we should use FetchContent here as I saw quite a lot of problems with "simple install googletest").
Use the same flag (BUILD_API_TEST) to build all kinds of tests.
Replace custom test routine in the integration tests with google test things.
Add some unit tests (e.g. for unit filters) just to test that it works.
Add unit-tests run into github CI.

I am totally ok if you wish to implement some points from this list as whole list could take a while.

By the way, perhaps you may find Catch2 more convenient to use in tests:
https://github.com/catchorg/Catch2/blob/devel/docs/tutorial.md


New frontend based on gxui

Go now has a (possibly serious) native UI library (in alpha) named gxui.
It isn't backed by Google at the moment, but it has some traction and more potential then previous attemps imo
Considering the backend of limetext is in go, and one of the objective is fast, responsive UI, wouldn't it make sense to build a frontend based off gxui ?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10081168-new-frontend-based-on-gxui?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github).

This project definitely needs a native ui that is going to quick. The qml is decent however I have noticed some rendering glitches. I'll be all for supporting a go native ui front end

+1

If anyone wants to start work on this, please go ahead. It sounds interesting.

I am starting to work on this. gxui has next to no documentation so I'm going to attempt to assist with that while I'm at it

I'm not sure gxui has all the functionality necessary for a nice text editor front-end. For example I took a quick look through the source and I don't think it has the ability to do subpixel font rendering, so text will look way crappier than normal. I'm also not sure it supports retina displays.
QML has had an absurd amount of work put into it and is pretty great, if there are issues with the QML interface that's not QML's fault. I've looked through the code of lime-qml and it does some pretty inefficient things (all text is rich text for example, so goes through an HTML parser and expensive layout). It would probably take much less work to improve the QML front-end to excellence than to write a passable gxui one.

@trishume I agree 100%.
I suggested this out of sheer enthusiasm for the new gxui effort, but it is not on par feature-wise with QML.
This was a false good idea. We should close this unless someone has made significant headway in this direction.

One thing gxui has going for it is BSD license, vs go-QML's LGPL (no troll intended). As far as I understand the LGPL, it does not have much of an impact if the library is linked dynamically, but go-qml being linked statically, what's the license of the resulting binary?
Anyhow, the gxui API is still changing and although implementing a text-editor "widget" for it right now may seem a bit premature, it could help both projects.

Quote from gxui:

Unfortunately due to a shortage of hours in a day, GXUI is no longer maintained.

Closing, since gxui is unmaintained.


README doesn't say if it's URP, HDRP or built-in

I'm guessing the latter because if it wasn't you'd probably say.
However - as the built-in renderer becomes more and more sunsetted, it's going to become more confusing for people when projects don't explicitly state which renderers they are compatible with.

That's a fair statement. That said, this is an extension to MRTK, which defaults to the default renderer, and has an upgrade path to the now deprecated LWRP. If you find that confusing or ambiguous, feel free to file some feedback reports to them.
On it's own, this extension doesn't have a hard dependency on any render pipeline, but the supplied materials are built for the default renderer pipeline. The config file I mention in the readme allows you to replace the materials with your own.

Cheers, I clarified this in the readme. Thanks for taking the time to mention it.


java.lang.IllegalAccessError: Method 'void android.support.v4.content.ContextCompat.()'

I've implemented GCM notifications on my app and it causes the application to crash with the following logcat:
java.lang.IllegalAccessError: Method 'void android.support.v4.content.ContextCompat.()' is inaccessible to class 'com.google.android.gms.iid.zzd' (declaration of 'com.google.android.gms.iid.zzd' appears ....)
Here is my gradle
......compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:support-compat:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.facebook.fresco:fresco:0.9.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
........................................................................................................................................

same here

This issue is covered by multiple stack overflow questions.
This is one:
http://stackoverflow.com/questions/40904466/java-lang-illegalaccesserror-method-void-android-support-v4-content
In short this is the check list:

check that you are using the latest version of Firebase Messaging
check that you are using the same version for all the firebase & google play services libraries
check that other dependencies are not adding libraries with old / wrong versions

to check 3 you can use:  ./gradlew app:dependencies

**jbksd
**

chido men


pass the iron-router contextual this into the title function

This allows you to use things like this.params._id in your title function to lookup data and set the title in a bit more dynamic way.

@ianserlin good idea, thanks

@ianserlin released as v0.1.1


New library

Created a new addition for dht 11 with ESP8266 directly

@ArduinoBot

@ArduinoBot

@ArduinoBot

I see that for some reason a repository with a different name was created with duplicate copy of the library, and that library was submitted. So I will close this as a duplicate of https://github.com/arduino/library-registry/pull/2101


ISSUE#143 Update tests for OverviewScreen and LikedScreen to be compatible with new implementation of those screens

PR #141


Added instructions to start the RabbitMQ container

What does this pull request do? Explain your changes. (required)
I added the instructions to start the RabbitMQ container when starting the /api package locally.
Specific updates (required)
In the package/api/README.md I added a few line to start the RabbitMQ docker image.
-

How did you test each of these updates (required)

Before, I was receiving an error the the RabbitMQ container was not replying when starting the package with yarn dev. Then when I started manually the RabbitMQ container, the error disappeared. The www package also was able to run properly and I was able to register a new user.
Does this pull request close any open issues?
No
Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

Great! 🙌


Test and Promote Habitat builds on Linux

Describe the Enhancement:
In #8731 we created a functional test pipeline for Windows Habitat packages, but we lack functional testing for the Linux Habitat packages. As such, we still currently manually promote the Windows Habitat packages to stable as there wasn't a way to promote the packages for a single platform.
Note that the expected challenge is getting the functional tests to succeed given the nature of how Habitat packages are isolated from the underlying system.
acceptance criteria:

pipelines for Linux to match .expeditor/verify.habitat.pipeline.yml and habitat-test.pipeline.yml
above pipelines run rspec spec/functional successfully
habitat packages are promoted to stable after omnibus packages are
Add: - built_in:promote_habitat_packages
To:    - workload: artifact_published:stable:chef:{{version_constraint}}
In:    .expeditor/config.yml

Current Alternative
manual promotion of packages on https://bldr.habitat.sh/#/pkgs/chef/chef-infra-client/latest

I can take this one.

I'm not sure why https://bldr.habitat.sh/#/pkgs/chef/chef-infra-client/latest has 16.0.257/20200428080931 as the latest stable infra client linux build, when there are newer linux builds like https://bldr.habitat.sh/#/pkgs/chef/chef-infra-client/16.2.44. I presume that something happened with expeditor during the promotion.

https://github.com/habitat-sh/habitat/issues/7135 was fixed, so we should be able to do the linux pipeline now.


Add offline mode to plugins

Fixes #718. Review after #1687.

Can we hold off on this until v1.2.0 is done?

We can leave it for the next release if you want, but this is the last PR for finishing offline mode (until we do docker cache stuff at least).

Eh, I didn't realize the part that is downloading the manifests is already in jib core. Lets just get it in with 1.2.0

Ah yeah, that was this PR https://github.com/GoogleContainerTools/jib/pull/1687


Stuck on "Patching Gaming Files"

Describe the bug
After installing Genshin Impact (on 0.2.6, Yaagl.OS.app.tar.gz), my game stays stuck on "Patching Game Files"
Screenshots

System Information (please complete the following information):

macOS: macOS Sequoia 15.1
Device: Macbook Pro 14 inch, 2021
CPU: Apple M1 Max
RAM: 64GB (yes, 64)

Additional context
I accidentally installed and played the Yaagl.app.tar.gz and was able to get into the game. The text was in Chinese I believe? Logging into the game didn't work. so I deleted those game files and reinstalled the game through Yaagl.OS.app.tar.gz. both were running 0.2.6. I've tried uninstalling (I did a uninstall of the following directories via raycast).
Integrity check passes.
Also, I would like to note that I have tried removing both the Yaagl and Yaagl OS application support folders along with the above image. Directories are ~/Library/Application Support/Yaagl and ~/Library/Application Support/Yaagl OS
It has stayed on Patching Game Files for 1 hour (the longest I've left it on). I've tried multiple times through the method I've described earlier.
Logs (if any)
neutralinojs.log

Probably related to wine not being able to patch, try changing wine to 9.9 DXMT experimental

issue was solved in discord server support chat


.expand() not working with /

Describe The Bug
.expand() not working with /.
To Reproduce
Run code below.
Code Sample
#[test]
fn not_expanded_with_slash() {
    env::set_var("EDITOR", "nvim");

    let options = ExpandOptions {
        expansion_type: Some(ExpansionType::Unix),
        default_to_empty: true,
    };
    let expanded = envmnt::expand("$EDITOR/asdf", Some(options));

    assert_eq!("nvim/asdf", expanded);
}

Error Stack
$ cargo test

running 1 test
test not_expanded_with_slash ... FAILED

failures:

---- not_expanded_with_slash stdout ----
thread 'not_expanded_with_slash' panicked at 'assertion failed: `(left == right)`
  left: `"nvim/asdf"`,
 right: `""`', src/main.rs:15:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Thanks @nix6839 for opening the issue.
I just released a new version with the fix, but in general i think the {} syntax would have worked as a workaround in the meantime.


Move private class statements to outer scope.

Discussed in #155. Currently, decaf with throw an error on this:
class Foo
  bar = -> 'baz'

Because there is no comparable JS thing for private members scoped to a class. I think we should just move the statements to the upper scope, as the linter will catch any duplicate declarations if there are any (which I think is unlikely). So, this:
class Foo
  bar = -> 'baz'
  qux: -> bar()

Becomes:
var bar = function bar() { return 'baz'; }

class Foo {
  qux() { return bar(); }
}

(I am guessing on what exactly the bar = becomes, but whatever happens our transforms should turn it into what we want (a function declaration)).

This could be tricky from a technical perspective.  Might have to mess with scope as a temporary store again.  The point where decaf goes AAAAAAAAAARGH is: https://github.com/Shopify/decaf/blob/master/src/parser.js#L361.


Wrapping multiple menu components in custom components

React/React-dom version: 16.8.5
React-Menu version: 2.3.4
Hi,
Is possible to wrap several menu items (and sub menus) in the way presented below? My context menu component become bloated and I would like to separate views and logic to smaller components. In the documentation I see only a way how to wrap single component: MenuItem/SubMenu/FocusableItem. I need to place several components in wrapper component. Is it posible?
const MyComponent = () => {
return (
Cut
New File
Save
);
};
const MyComponent2 = () => {
return (
Option 1
Option 2
Option 3
);
};
export default function App() {
return (
<Menu menuButton={Open menu}>
{someBoolean ?  : }

);
}

Hi @domipieg , it's fine to render multiple items in wrapper component from React-Menu 3.0.0. In earlier versions, there can be only one MenuItem/SubMenu/FocusableItem rendered in a wrapper component.
However, you might not really need a wrapper component for this case. A function which returns multiple items in an array or React fragment would work from 2.0.1
The following code works from React-Menu 3.0.0
const MenuItems = () => {
  return (
    <>
      <MenuItem>Cut</MenuItem>
      <MenuItem>New File</MenuItem>
      <MenuItem>Save</MenuItem>
    </>
  );
};

<Menu>
  <MenuItems />
</Menu>;

The following code works from React-Menu 2.0.1
const getMenuItems = () => {
  return (
    <>
      <MenuItem>Cut</MenuItem>
      <MenuItem>New File</MenuItem>
      <MenuItem>Save</MenuItem>
    </>
  );
};

const getMenuOptions = (options) =>
  options.map((option) => <MenuItem key={option}>{option}</MenuItem>);

export default function App() {
  return (
    <Menu menuButton={<MenuButton>Open menu</MenuButton>}>
      {getMenuItems()}
      {getMenuOptions(["Option 1", "Option 2", "Option 3"])}
    </Menu>
  );
}

menuClassName function runs in the React render phase so that it should be pure. It cannot update React state and should return the same result every time it's called. This is similar to render props.
It won't run infinitely unless React state is updated in the function.
There is an internal memorisation to ensure the function is executed only when any of its parameter states has changed.
When an inline function (arrow function) is provided to the menuClassName prop, the memorisation will be invalidated which causes the function to re-run whenever the component (App) rendering menu re-renders.
This behaviour is harmless and won't cause problem in most situations. However, if you don't want the function to re-run, you could define the function outside react component scope or create a function using the useCallback hook.
It's not possible to save menu direction (in a React state) currently, but I'm happy to get further understanding of your use case thus I can assess if a new feature is worth or not, for example, you might want to show different menu items when menu directions have changed?

Thank you for your response! I handled this in the possibly simplest way I suppose. I just pass anchorRef instead of anchorPoint. I found it after some time in the documentation.
I wanted menu to not cover anchor element when it is opening sometimes in bottom sometimes in top direction. So anchorRef fulfills my need :)


LIQUTIL-19: RMB 33.2.8, Vertx 4.2.6, jackson-databind <IP_ADDRESS>

Update Vert.x from 4.2.4 to 4.2.6.
Update RMB from 33.2.5 to 33.2.8. This updates jackson-databind from 2.13.1 to <IP_ADDRESS> fixing https://nvd.nist.gov/vuln/detail/CVE-2020-36518

@ Folijet: Please code review this pull reques, and merge it and release folio-liquibase-util v1.4.1. I don't have write permission for this repository.
Thanks!


Print thread name instead of thread id

[Nov 11 21:52:48.020] [ET_NET 0] DEBUG: <HttpSM.cc:1788 (state_http_server_open)> (http_ss) [0] TCP Handshake complete

pthread_get_name_np will be added to FreeBSD 12. On older versions (and platforms that don't have any way to retrieve thread names), it prints thread id instead.

Cherry picked to 8.1.0


PHP-Casdoor-SDK can't create application

class OauthTest extends TestCase
{
private array $config;
private AuthConfig $auth;

#[PostMapping(path: '/api/system/backend/site/casdoor')]
public function __invoke(): void
{
    $this->config = [
        'endpoint' => 'http://localhost:9501',
        'clientId' => '',
        'clientSecret' => '',
        'jwtPublicKey' => '',
        'organizationName' => '',
        'applicationName' => '',
    ];
    $this->auth = new AuthConfig(...$this->config);
    $app = new Application('', '');
    $app->addApplication($app, $this->auth);
}

}
This is my code， and this is error message.
[CRITICAL] Error: Call to undefined function GuzzleHttp\Psr7\get_message_body_summary() in /opt/www/vendor/gb-hyperf/framework/src/Exception/Handler/GuzzleRequestExceptionHandler.php:38
Stack trace:
#0 /opt/www/vendor/hyperf/exception-handler/src/ExceptionHandlerDispatcher.php(43): Gb\Framework\Exception\Handler\GuzzleRequestExceptionHandler->handle()
casdoor/casdoor#1 /opt/www/vendor/hyperf/http-server/src/Server.php(87): Hyperf\ExceptionHandler\ExceptionHandlerDispatcher->dispatch()
casdoor/casdoor#2 /opt/www/vendor/hyperf/utils/src/SafeCaller.php(29): Hyperf\HttpServer\Server->Hyperf\HttpServer{closure}()
casdoor/casdoor#3 /opt/www/vendor/hyperf/http-server/src/Server.php(90): Hyperf\Utils\SafeCaller->call()
casdoor/casdoor#4 [internal function]: Hyperf\HttpServer\Server->onRequest()
casdoor/casdoor#5 {main}

@Linvery

This is really a bug with incomplete code,The code in Figure 1 can add applications, but this is not perfect. It does not add complete fields in the database, and will cause blank rendering of the Castle. This problem needs to be further fixed.

@Yamituki #31 I fixed it. Can you help me test it?

@Yamituki You can use this example
<?php

namespace Casdoor\Tests;

use Casdoor\Auth\Application;

class ApplicationTest
{
    public function initConfig()
    {
        $endpoint = 'http://<IP_ADDRESS>:8000';
        $clientId = '6a4030b5f9fd3d00456f';
        $clientSecret = '5b17bf8c0505d94d5de7615f030bf3f8a9c0d8a0';
        $jwtSecret = file_get_contents(dirname(__FILE__) . '/public_key.pem');
        $organizationName = 'built-in';
        $applicationName = 'testApp';
        Application::initConfig($endpoint, $clientId, $clientSecret, $jwtSecret, $organizationName, $applicationName);
    }

    /**
     * Default applicationConfig parameters
     */
    public function applicationConfig(){
        $app = new Application(User::$authConfig);
        $app->name = "default";
        $app->displayname=$app->name;
        $app->owner = "admin";
        $app->providers=[["name" => "provider_captcha_default", "canSignUp" => false, "canSignIn" => false, "canUnlink" => false, "prompted" => false, "alertType" => "None"]];
        $app->logo = "https://cdn.casbin.org/img/casdoor-logo_1185x256.png";
        $app->organization = "built-in";
        $app->cert = "cert-built-in";
        $app->redirectUris = ["http://localhost:9000/callback"];
        $app->tokenFormat = "JWT";
        $app->expireInHours = 168;
        $app->formOffset = 8;
        $app->signupItems = [
            [
                "name" => "ID",
                "visible" => false,
                "required" => true,
                "rule" => "Random"
            ],
            [
                "name" => "Username",
                "visible" => true,
                "required" => true,
                "rule" => "None"
            ],
            [
                "name" => "Display name",
                "visible" => true,
                "required" => true,
                "rule" => "None"
            ],
            [
                "name" => "Password",
                "visible" => true,
                "required" => true,
                "rule" => "None"
            ],
            [
                "name" => "Confirm password",
                "visible" => true,
                "required" => true,
                "rule" => "None"
            ],
            [
                "name" => "Email",
                "visible" => true,
                "required" => true,
                "rule" => "Normal"
            ],
            [
                "name" => "Phone",
                "visible" => true,
                "required" => true,
                "rule" => "None"
            ],
            [
                "name" => "Agreement",
                "visible" => true,
                "required" => true,
                "rule" => "None"
            ]
        ];
        $app->enablePassword = true;
        $app->enableSignUp = true;
        $app->enableSigninSession = false;
        $app->enableCodeSignin = false;
        $app->enableSamlCompress = false;
        return $app;
    }

    public function addApplication(){
        $this->initConfig();
        $app = $this->applicationConfig();
        $app->name="testApp";   # Modify config parameters
        $app->displayname="testCompanyApp";
        $res = $app->addApplication();
    }

    public function deleteApplication(){
        $this->initConfig();
        $app = $this->applicationConfig();
        $app->name="testApp";   # Modify config parameters
        $res = $app->deleteApplication();
    }
}


Document ra_syntax::ast API

I wish we had some docs on ast node types, at least an example source code that shows to which kind of symbols the node referes to.
E.g. the difference between Name and NameRef is not very evident, does ParenType pertain to unnamed tuples or tuple structs too and all these kinds of questions arise...
I suppose the ast api is quite stable already so we might want to better document it.
See the reference from matlkad

As the ast is generated, the docs should actually go to https://github.com/rust-analyzer/rust-analyzer/blob/master/xtask/src/ast_src.rs


[integration tests] flaky metatransaction tests

Issue Type

[x ] bug report
[ ] feature request

Current Behavior
107 passing (11m)
  2 failing

  1) Boba API Tests
       Meta Transaction API Tests
         Mainnet and Rinkeby
           should swap BOBA for ETH:

      AssertionError: expected 400 to equal 201
      + expected - actual

      -400
      +201

      at Context.<anonymous> (test/boba-api.spec.ts:116:40)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

  2) Boba API Tests
       Meta Transaction API Tests
         Mainnet and Rinkeby
           should return reverted reason from API if Boba_GasPriceOracle has insufficient ETH:
     TypeError: Cannot read properties of undefined (reading 'error')
      at Context.<anonymous> (test/boba-api.spec.ts:293:59)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)

Expected Behavior
These tests should be hardened
Steps to Reproduce

Flaky integration tests
Order of tests:

../integration-tests/test/stress-tests.spec.ts
../integration-tests/test/pool_dao_actions.spec.ts
../integration-tests/test/bridged-tokens.spec.ts
../integration-tests/test/routed_exit_fee.spec.ts
../integration-tests/test/replica.spec.ts
../integration-tests/test/erc20bridge.spec.ts
../integration-tests/test/boba-fee-payment.spec.ts
../integration-tests/test/queue-ingestion.spec.ts
../integration-tests/test/xBoba.spec.ts
../integration-tests/test/boba-api.spec.ts
../integration-tests/test/basic_nft.spec.ts
../integration-tests/test/hardfork.spec.ts
../integration-tests/test/contracts.spec.ts
../integration-tests/test/selfdestruct.spec.ts
../integration-tests/test/whitelist.spec.ts

Suggested Fix
/

closed #534


chore: add test:compat to CI tests

Fixes #3632
Adds test:compat to CI. Should fail the CI test if api-extractor generates a diff.
Notes

Most of the ...api.md file diffs seem fine, but might be worth a closer look as there's a small number of public methods/interfaces that show diffs.
This only runs on node 10.x runs. This is roughly load-balanced since each node version in CI now runs two version-specific tasks.

For developers who stumbled here after your CI tests failed

Fix errors
yarn build
Re-run yarn test:compat
Find the new api.md in libraries/<failing lib>/temp and copy it to libraries/<failing lib>/etc, then commit the changes.

Hooray! The last build failed, just like it should.

Pull Request Test Coverage Report for Build 843798825

2 of 4 (50.0%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 85.439%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botbuilder-dialogs-declarative/src/resources/resourceExplorer.ts
0
1
0.0%

libraries/botbuilder-dialogs-declarative/src/resources/resourceProvider.ts
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build 843088104:
-0.002%

Covered Lines:
19217

Relevant Lines:
21396

💛  - Coveralls


add config injection with inheritance test

Codecov Report

Merging #1039 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1039      +/-   ##
============================================
+ Coverage     48.71%   48.73%   +0.01%
  Complexity     1681     1681
============================================
  Files           365      365
  Lines         10166    10166
  Branches       1028     1028
============================================
+ Hits           4952     4954       +2
+ Misses         4853     4851       -2
  Partials        361      361

Impacted Files
Coverage Δ
Complexity Δ

.../apollo/internals/RemoteConfigLongPollService.java
77.3% <0%> (-0.62%)
27% <0%> (-1%)

...ervice/service/ReleaseMessageServiceWithCache.java
86.9% <0%> (+1.19%)
25% <0%> (+1%)
:arrow_up:

...lo/configservice/util/InstanceConfigAuditUtil.java
77.19% <0%> (+1.75%)
15% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Coverage increased (+0.02%) to 52.282% when pulling 360abba2197ef7edc658311f75494eb089921f77 on nobodyiam:config-injection-inheritance into 86a5a651291e8d12560cdaeb811e019e3189dfa7 on ctripcorp:master.


Expression property is not evaluated

Hello!
I have the following form type:
formlyConfigProvider.setType([
  {
    name: 'button',
    templateUrl: 'templates/form/types/button.html',
    defaultOptions: {
      templateOptions: {
        type: 'button',
        disabled: false
      },
      expressionProperties: {
        'templateOptions.disabled': 'form.$invalid || !form.modified'
      }
    }
  }
]);

However, when I use it in my application the template option is not updated when the value of form.modified property changes.
This property is added to the form controller by the angular-input-modified module.
If I replace the expression with the function, I can see that it's not called when the form.modified property changes.
Do you know what could cause this and how can I make it work? Thank you!

Update.
I've added model: 'form' property to the specific field and it helped.
It looks like expressions properties are updated when model changes and in my case I don't have a model, cause it's just a button. So when I passed form controller instead of the model it began to see the changes.
Is there a way to fix this on a global level, i.e. in entire library or at least in form type? Thanks!

Could you please reproduce your issue using issue.angular-formly.com? It will help us determine what exactly the problem is that you're describing and how it could be fixed. Thanks!

Hey @slavafomin, check out this thread to get the idea how to get around your issue https://github.com/formly-js/angular-formly/issues/672
You can define custom watcher on a form that will evaluate expressionProperties or if you dont have model, then even better just set watchAllExpressions on form options to true and be done with it :)

Hello @kwypchlo , thank you for the suggestion. I will try it in the future, if I will stumble upon this issue again.


Remove unnecessary pytestmark

Motivation
Remove unnecessary pytestmarks and reduce warnings in the Tests
Description of the changes
Remove unnecessary pytestmarks.

@not522 Could you review this PR, please?


Create a JSON Secret Store

Describe the proposal
The idea is to create JSON secret store so developers can save secrets in a JSON file anywhere on their boxes and then use those secrets both in components and code.
This will:

Simplify the experience for those who want to start using secrets or the secrets API without having to deploy a solution such an Azure Key Vault.
Devs will have a full Dapr secrets API experience out of the box.
Preparing demos will be much simpler.

The idea is inspired in what the [.NET Secret Manager](Secret Manager) enables in terms of dev experience.
Features:
Given the following JSON:
   {
        "ConnectionStrings": {
            "MySQL": "super secret connection string"
        }
   }

Since no one wants such a store enabled in production environments the store must be enabled explicitly setting an environment variable: (i.e. DAPR_ENABLE_JSON_SECRET_STORE = "1")
JSON must be flattened into a map of key and values resulting in

key: "ConnectionStrings:MySQL"
value: "super secret connection string"

Note that in the previous sample a colon (':') was used as a separator for the JSON properties. That will be the default behavior unless a nestedSeparator param is set in the component metadata.

@cmendible Thanks for sharing the proposal and PR, this will definitely be helpful in dev environments. As I understand user will have to set the env var DAPR_ENABLE_JSON_SECRET_STORE before running Dapr, do you think it would be good if cli can set this up?

A switch for dapr run so any child process can access the env var? Once we add the component we can add an issue in the Dapr repo to discuss this feature right?

Yes, this env is used by this component in dapr process to enable this json secret store, so cli can just set the env var before launching Dapr.

Yes, this env is used by this component in dapr process to enable this json secret store, so cli can just set the env var before launching Dapr.

@amanbha I just opened https://github.com/dapr/dapr/issues/1589 to track this.

Thanks @cmendible I have moved it to dapr cli


Add some details about the data processing workflow

Hi @sokole and @stephparker ,
The reviewer asked us to add some details about the data processing process, like what we have in the data_tick and other groups. (https://daijiang.github.io/neonDivData/reference/data_tick.html)
Can either of you help with this? You can add them after Line 4 here: https://github.com/daijiang/neonDivData/blob/155b179182ec38c15ab9e22d985e1b9bc971da59/R/data_macroinvertebrate.R#L1-L4
Thank you!!

https://github.com/daijiang/neonDivData/commit/5617d57ed34a4b7a0ea94f10fae7744b6136eb76


Lambda code , And add ShadingSphereThreadFactory.

Pull Request Test Coverage Report for Build 10498

3 of 3 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 58.093%

Totals

Change from base Build 10493:
-0.02%

Covered Lines:
11876

Relevant Lines:
20443

💛  - Coveralls


Target_new_resume_from_class_function_v1_17

Moved all the logic that retrieves user's data from COmanage to a separate function named retrieveCOPersonData
The callback resumes the state on the retrieveCOPersonData

SSP 1.17 compatible change

Done