[CDAP-17289] Implement Pub/Sub receiver with backpressure support

Implemented Pub/Sub receiver using Google's Pub/Sub client library.
Implemented support for backpressure using Spark's Rate Controller mechanism.
This implementation also allows the end user to specify the number of receivers they want to run in parallel, allowing us to scale as long as resources ara available.

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

@albertshau @chtyim I have addressed your comments and questions. Let me know if you'd like additional changes.

@albertshau @chtyim I have addressed your comments and questions. Let me know if you'd like additional changes.

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

@rmstar can you take a look at this PR? I had to include the schema changes into my changes for the new Pub/Sub Receiver implementation

@rmstar can you take a look at this PR? I had to include the schema changes into my changes for the new Pub/Sub Receiver implementation

/gcbrun

/gcbrun

@rmstar @albertshau The number of sources calculation takes into account the number of required executors per receiver. In our case, this value is taken from the Number of Readers value our users specify.
https://github.com/cdapio/cdap/blob/6e073de9df71529b001e8d99ed10aa357b365616/cdap-app-templates/cdap-etl/cdap-data-streams/src/main/java/io/cdap/cdap/datastreams/DataStreamsSparkLauncher.java#L95

@rmstar @albertshau The number of sources calculation takes into account the number of required executors per receiver. In our case, this value is taken from the Number of Readers value our users specify.
https://github.com/cdapio/cdap/blob/6e073de9df71529b001e8d99ed10aa357b365616/cdap-app-templates/cdap-etl/cdap-data-streams/src/main/java/io/cdap/cdap/datastreams/DataStreamsSparkLauncher.java#L95

@rmstar @albertshau The number of sources calculation takes into account the number of required executors per receiver. In our case, this value is taken from the Number of Readers value our users specify.
https://github.com/cdapio/cdap/blob/6e073de9df71529b001e8d99ed10aa357b365616/cdap-app-templates/cdap-etl/cdap-data-streams/src/main/java/io/cdap/cdap/datastreams/DataStreamsSparkLauncher.java#L95

I see, thanks @fernst

@rmstar @albertshau The number of sources calculation takes into account the number of required executors per receiver. In our case, this value is taken from the Number of Readers value our users specify.
https://github.com/cdapio/cdap/blob/6e073de9df71529b001e8d99ed10aa357b365616/cdap-app-templates/cdap-etl/cdap-data-streams/src/main/java/io/cdap/cdap/datastreams/DataStreamsSparkLauncher.java#L95

I see, thanks @fernst


updated models

do not merge

Let's use the new docs instead of this commit.

Looks like this PR is outdated and can be closed.


Enable mega-linter in build

Pull Request Template
What are you trying to address
Mega-Linter is a way to combine all of our current linters into a single toolchain and potentially build add more to ensure the quality of the playbook. Currently the only linters enabled are markdownlint and markdown-link-checker to match the current behavior in main.
One of the advantages of the mega-linter is it easily supports fixing issues that linters have caught, and with the current build rules auto-commits it to the current branch.
Future work could include enabling spell-check.
Description of new changes

Removed package.json since it is no longer required to run markdownlint locally (can be done with mega-linter-runner or VS Code)
Added mega-linter workflow and configuration file

For all pull requests

[ ] Link to the issue you are solving (so it gets closed)
[X] Label the pull request with the appropriate area(s)
[X] Assign potential reviewers (you may also want to contact them on Teams to ensure timely reviews)
[X] Assign the project - Engineering Playbook Backlog
[X] Assign the pull request to yourself

The linter overall takes c4min vs now we are at 2min. Just wanted to raised the increased time taken for the increased functionality/checking.

@fnocera most of that time is with the markdown link check, which looks like it can be pretty variable. Here is another run that took roughly 4 minutes as well. But that is definitely something to monitor! FWIW looks like image pull time times are roughly the same

@omusavi @fnocera @fnocera have we considered just having these things as pre-commit hooks to prevent things that would not pass our GH actions from being committed in the first place?  I don't see a reason why we could not just add that to the repo

@brockneedscoffee this is just my personal opinion but I do not like git commit/push hooks; they slow down the dev inner-loop too much and I prefer to let the CI system handle that. Especially if we do want to add more linters (like spellcheck), then that time would just increase. It also requires that everyone have these tools installed on their dev machine, which I like to always keep as clean as possible

This is great. Please mention how to run it locally (is there a link to some docs we don't have to own?) in the CONTRIBUTING.md, I'm not sure how to run this otherwise.

This PR has been stagnant for a while - do we want to revise and go forward @omusavi @fnocera @zmmille2, or just abandon?

As there was no response to my question regarding whether we should abandon this PR - I will close it for now, but feel free to re-open at a later time if we want to incorporate it @omusavi @fnocera @zmmille2


Issues on creating the picker with minified js file

I tried to import into my ts file the library with the CDN like this:
import { createPicker } from<EMAIL_ADDRESS>And it gives me the following error: Cannot find module<EMAIL_ADDRESS>or its corresponding type declarations
Can anyone help me on that?
Thanks in advance!

You can’t import a module from a URL with typescript.
Browsers support ES Modules where you can do such imports.
However TypeScript has a build/compile step and it doesn’t know how to resolve an import like this.
For a TS project you will need to npm install picmo and then just import from ‘picmo’.

Thank you so much!


Add support to github project feature

Please add support to autoassign dependabot's PRs to a repository "project" (https://help.github.com/en/github/managing-your-work-on-github/about-project-boards), when it is available.
This way the PR can automatically appear in my project board and be classified to be triaged.

this would be a nice feature to have because I currently have to leave them without a project or assign it manually. I have tried using a GitHub action to assign the project but when it comes to dependabot pull requests, it seems they get ignored. The action will finish successfully but no change to the pull request happens.

With the new project beta this would be a great feature to have a project view with all pull request across org repos in one board view 😳🙌

This would be crucial for us, because when a PR is superseded by a new version of the same artifact, it disappears from the project board because the newly created PR (by dependabot) does not keep the project association.
So we had prioritized a dependabot PR in the project board, then a supersede occurs and you don't have it in the board 😢

We would very much benefit from this feature as well.
It's not that we cannot select the project manually.
Nonetheless, the number of pull requests currently created by Dependabot (for which kudos, by the way) is such that it would most definitely save time if Dependabot does this for you.

FYI: https://github.com/actions/add-to-project

Thanks @jetersen, this is nifty, I didn't realize there was an official action for this!
Closing as the action is definitely a better way to go than us building it directly into Dependabot.


Wikipedia's "articles around" request; interchangeable user ID

Two fixes:

Support for Wikipedia's "articles around the given coordinate" API request
User ID may be decided later upon (after the ILGeoNamesLookup has been initialized)

Thank you very much for your contribution. It's really appreciated.
I'll give your contributions a closer look later today when I get near a Mac.
Have you verified the format of the request and response by unit tests or sample code? If so, I will really appreciate if you could include the tests/sample along with the code.
Thank,
Claus

Sample and unit tests added.

Thank you. Much appreciated.


Emails are without markup

Hello! I want to use your package but stuck with problem: my emails are without markup.
My steps:

I've installed your package
composer.json

...
"escuelademusica/laravel-mjml": "^0.1.2",
...

I've installed npm-package
package.json

...
"mjml": "^4.12.0",
...

My Mailable class
app/Mail/ClientBookingMail.php

use EscuelaDeMusica\MJML\Mail\Mailable;
...
    public function build()
    {
        return $this->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
            ->subject('Booking mail')
            ->mjml('mail.bookings.mjml.client', [
                    'booking'               => $this->booking,
                    'responsibilityPerson'  => $this->responsibilityPerson,
                    'mailRecipientType'     => Booking::BOOKING_MAIL_RECIPIENT_CLIENT
                ]
            );
    }

For view I've used very simple mjml-example
resources/views/mail/bookings/mjml/client.blade.php

<mjml>
  <mj-body>
    <mj-section>
      <mj-column>
        <mj-image width="200px" src="https://d1csarkz8obe9u.cloudfront.net/posterpreviews/geometric-black-white-red-logo-design-template-c277787c3b994fb7a3063e13c6848447_screen.jpg"></mj-image>
        <mj-divider border-color="#F45E43"></mj-divider>
        <mj-text font-size="20px" color="#F45E43" font-family="helvetica">Hello World</mj-text>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

Expected result

Real result

My environment:

PHP 8.0.15
Laravel Framework 8.77.1 (BackPack 4.1)

What did I set up wrong?
P.S. Additionally I set the setting in the .env-file but the result is the same
MJML_BINARY_PATH=/var/www/resources/views/mail/bookings/mjml

Yeah, I'm having this excat problem - on laravel 9, so seems it's more widespread. Basically, it doesn't work as it's not executing the mjml binary to convert the markup to html and css. In fact, half the methods in the code are never utilised.

If either of you still needs a "modern" solution, you can simply extend the Blade facade into a custom ServiceProvider like this :
<?php

namespace App\Providers;

use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
use Spatie\Mjml\Mjml;

class MjmlServiceProvider extends ServiceProvider
{
    /**
     * Register services.
     */
    public function register(): void {}

    /**
     * Bootstrap services.
     */
    public function boot(): void
    {
        Blade::extend(function ($view) {
            if (stripos($view, '<mjml>') !== false) {
                return Mjml::new()->convert($view)->html();
            }

            return $view;
        });
    }
}

As this package is not maintained anymore, I used spatie's package.


Pre destroy no scope bug

what is the problem: fix a long-standing memory leak caused by unscoped instances injected via Provider. The situation commonly occurs when a provider is declared for a type that implements AutoCloseable or is annotated with '@PreDestroy'.  At runtime, the injected instances are bound with 'no scope' by Guice, leading to a large number of cleanup actions pointing to potentially the same object.  The memory leak consists of the cleanup actions themselves, rather than the provided instance.
what is the fix: this PR adds specific handling of ProvidedInstanceBindings, to ensure that cleanup actions are not created every time a provider-sourced instance is injected.  It also refactors the PreDestroyMonitor class to hold any cleanup actions for 'unscoped' instances in a WeakHashMap, to ensure that only one cleanup action exists for an unscoped provisioned instance.
The PR also introduces some code to log the number of unscoped instances present at shutdown, and shows where these instances were bound to the injector.

It seems like this is trying to treat objects with no scope as having singleton scope unless they happen to get collected prior to shutdown. If the objects are collected, then they will not get shutdown properly which could result in some sort of resource leak. So generally speaking the user cannot rely on the lifecycle management of objects with no scope. Perhaps it would be less confusing and more consistent overall if Governator never manages the lifecycle of these objects with no scope rather than partially doing it. Is there a known use-case where this partial handling is preferable?

performing cleanup on surviving 'no scope' instances during injector shutdown is a long-standing feature and needs to remain for backward compatibility.
The reasoning at the time the feature was written is that Governator should make an effort to clean up any resources it creates, particularly since:
(1) the default Guice provisioning is 'unscoped' and
(2) our home-built frameworks make heavy use of static internals that enable objects to outlive the injector
(3) we call 'PostConstruct' on unscoped instances. It was deemed 'least astonishing' to also call PreDestroy.


Analytics for AlphaWallet

Apply Firebase analytics to base AlphaWallet.
Duplicate the work done for the Qoin fork on the main repo.
You will need to liase with @hboon to ensure only the features agreed upon for the main branch are implemented.
Specifically:

Events need to be anonymous - no addresses, transaction hashes etc.

@hboon Do we have similar implementation like Qoin in iOS AlphaWallet or we have lower down the events?
Could you please address which events are integrated in iOS app?
Link to the issue and output would be great if we have.

@ChintanRathod we haven’t settled on the list of events yet so the PR I have created doesn’t log any events. I have created some scaffolding for a different (but currently empty) set of events so it’s easier to keep the 2 iOS repos in sync. If we still don’t have a list of events after a while, we can probably just ship it without any events being logged. It still automatically logs sessions etc, which is still useful.

The iOS PR: https://github.com/AlphaWallet/alpha-wallet-ios/pull/1864

@hboon I understand. I will look after your given PR and implement in Android accordingly.

@hboon I checked given PR and it has MixPanel integration and no Firebase (I couldn't find any GoogleService-Info.plist file).
So are we integrating MixPanel for iOS and Firebase in Android?
cc @JamesSmartCell

@ChintanRathod Mixpanel requires Firebase to send remote notifications for Android, but Mixpanel sends them iOS devices directly.
So for Android, you'll want Mixpanel + Firebase. If the Firebase SDK wasn't integrated previously (I thought it was). You'll need to check with James (or figure out yourself) that it doesn't pose a problem for China. It used to be that just including the Firebase (or was it Fabric) SDK would caused the app to crash when connected to China ISPs.

@ChintanRathod I wouldn't worry too much about how iOS implements analytics internally (other than to look for events to log, which we don't have yet). I suppose you'll want to structure or restructure the code as close to what was done for our other Android fork so it's easier to merge and maintain.


New here so help needed on Google Colab

Hi Im hoping someone could help. I am very new to this area and using a Colab. I go through each step and I see the occasional warning but I think Im doing everything right but when it comes to starting the training I dont see anything in the viewer like a set of images or model coming together. I refresh the page like it says in the viewer but still nothing.
Ive attached a screenshot of the steps with the code that comes up
Any help would be great

The Start Training cell should be running when you refresh the viewer. It looks like that cell completed in 15second, this implies that the training must have failed. Is there an error at the end of the cells outputs?

Ahh, this is where colab can be frustrating, it sometimes clips the outputs. Very likely the training is failing, but it is not showing the error. This also make is hard to debug...

Ok, have any suggestions on what to try next or is it likely I just cant use this Colab?

I just tried it, I am running into the same issue. It appears to be a couple of issues.
First there is an issue with the tinycudann installation:

As a workaround, you can run the following code prior to the training cell (note it will take a few minutes),
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
However... there seems to be other issues, the training doesn't appear to start.

The above solution worked for me.

Thanks how would I add that code, could you show me a screen shot of where to add it and what to copy or write
Thanks

I just tried it, I am running into the same issue. It appears to be a couple of issues.
First there is an issue with the tinycudann installation:

As a workaround, you can run the following code prior to the training cell (note it will take a few minutes), pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
However... there seems to be other issues, the training doesn't appear to start.

Hi @tancik thanks for the reply. I'm having the same issue and tried installing tinycudann following this method, but it stuck at Building wheels for collected packages: tinycudann for a long time. Any suggestion what should I do? Thanks :)

@m0o0scar It takes quite a while to build, maybe 10min. That's why we provided a prebuilt wheel (though it seems to have broken). We will update it soon.


Has legacy Android dependency been moved?

We need to publish a build of our app that uses moe.banana.jsonapi:moshi-jsonapi-android:1.0.15.
However, after working fine for months, Gradle is now unable to resolve this dependency.

This is a hotfix release. Our project's develop branch has been migrated up to moshi-jsonapi:3.0.6.

Maybe there's something wrong with bintray. Pick up the version from jitpack.io may help.


Fix data not defined

Fixing the typo causing data not defined error: https://github.com/unstacked/statickit-core/issues/1

Thanks 😅


Add Documentation on Policies and Permissions Needed

In order to get this demo to work I had to make two changes:
1.) set constraints/iam.allowedPolicyMemberDomains to allow all
2.) Give cloudrun service account (by default the default compute service account) discoveryengine.viewer permissions

Hi. Can you specify which demo? It will be great if you can provide a specific notebook that you are referring to. Thanks!

The error was found when running the search-web-app.


Inapropriate error on certificate creation

My system doesnt not need any password for editing /etc/hosts
When I ask origami for creating a cert and a hostname, he seems to try twice to write in /etc/hosts and second time it throws an error:
Do you want to generate a locally-trusted development certificate? (yes/no) [no]:

yes

Which domains does this certificate belong to? [knauf.test]:

[WARNING] Your hosts file do not contain the "<IP_ADDRESS> knauf.test" entry.
Do you want to automatically update it? Your password may be asked by the system, but you can also do it yourself afterwards. (yes/no) [no]:

yes

[ERROR] An environment with the same name already exists.

Can you provide the content of your ~/.origami file?

[{"name":"knauf","location":"\/Users\/louis-cuny\/origami\/knauf","type":"magento2","domains":null,"active":true}]

Hello, and thanks for reporting this. 😉
This behaviour should be fixed by https://github.com/origamiphp/source/pull/390 as we simplified the installation process and the management of self-signed certificates.


After installing v3.13 to fix #394, plugin tells me I am not authenticated to GOG

24-07 17:07:28.884|INFO |SuccessStory#PluginDatabaseObject4:RefreshNoLoader(Tainted Grail: Conquest - bdcd31cf-cfb4-4293-95af-1b8fd6fcff44) 24-07 17:07:29.909|INFO |SuccessStory#PluginDatabaseObject4:Used SuccessStory.Clients.GogAchievements for Tainted Grail: Conquest - bdcd31cf-cfb4-4293-95af-1b8fd6fcff44
24-07 17:07:30.243|WARN |SuccessStory#GogApi:Not find: window.profilesData.currentUser
24-07 17:07:30.261|WARN |SuccessStory#GenericAchievements:GOG user is not authenticated
24-07 17:07:30.272|INFO |SuccessStory#PluginDatabaseObject`4:No achievements find for Tainted Grail: Conquest - bdcd31cf-cfb4-4293-95af-1b8fd6fcff44
I've disconnected and reconnected to GOG and I still get this error.

Check the "Profile enabled" box here: https://www.gog.com/en/account/settings/privacy

Well, don't I feel silly. That fixed it. Thanks!

It's not obvious, the error message should be clearer imo (also it pretty much does nothing with this data, so it's not even needed really, it's just shared code between PlayerActivities and SuccessStory that SuccessStory doesn't need).
Glad you got it working though!


App does not recognise type: webview

A profile with type: webview does not have an eapconfig_endpoint. The app must simply open a web view with the provided webview_endpoint. Currently the app displays an error:

Cannot complete request
Selected profile is missing EAP endpoint.

Do you have an example organisation for this?

For example "The University of Akureyri", there's a lot more if you search in the discovery JSON;
curl --compressed http://discovery.eduroam.app/v2/discovery.json | json_pp | fgrep webview_endpoint | sort | uniq

In any case, the app must verify the type field before it tries to read the other fields. We might add other types later.


Refine bdAccent

Cutoff at Lc 15 may be too low even though it's passable according to APCA — increase cutoff to 20.
Fallback is exceptionally harsh (we immediately reach for lightest/darkest tones) — revise.

Hey team! Please add your planning poker estimate with Zenhub @ichik @jsartisan @KelvinOm


Fix missed annotate() calls in OpenTracing rename

Sorry about that. I should really get some tests on this module :(
:eyeglasses: @pacejackson

🐟


Save Record in cloudkit

Hey @jacksonjude, how can we save a record in cloudkit using this package. The example app only uses fetch operation and I couldn't find this in readme as well. Please let me know how can I save data in cloudkit using this package.

I think the 'records/modify' calls are not yet implemented. So, does this package not support creating/modifying records?

Hey @slice-mohit! In the released 0.1 version of the package, modifying records is not yet supported. However in version 0.2, which is still in development on the 0.2 branch, record modification is one of many new features.
If you would like to use version 0.2 in your own project, simply include the following in your pubspec.yaml file:
dependencies:
  flutter:
    sdk: flutter

  cloudkit_flutter:
    git:
      url: https://github.com/jacksonjude/cloudkit_flutter.git
      ref: 0.2


[BUG] Deleted nodes don't exit the cluster

What did you do?
k3d create cluster
k3d create node k3d-worker --wait -c k3s-default
k3d delete node k3d-k3d-worker-0

kubectl get nodes
NAME                       STATUS   ROLES    AGE   VERSION
k3d-k3s-default-master-0   Ready    master   90s   v1.18.3+k3s1
k3d-k3d-worker-0           Ready    <none>   60s   v1.18.3+k3s1

k3d get nodes
NAME                       ROLE           CLUSTER
k3d-k3s-default-master-0   master         k3s-default
k3d-k3s-default-masterlb   loadbalancer   k3s-default

# if run a bit later
kubectl get nodes
NAME                       STATUS     ROLES    AGE     VERSION
k3d-k3s-default-master-0   Ready      master   2m38s   v1.18.3+k3s1
k3d-k3d-worker-0           NotReady   <none>   2m8s    v1.18.3+k3s1

What did you expect to happen?
I expect the deleted node to exit cluster rather than being in a hanging state that confuses kubernetes.
Screenshots or terminal output
If applicable, add screenshots or terminal output (code block) to help explain your problem.
Which OS & Architecture?

MacOS, amd64

Which version of k3d?
k3d version v3.0.0-rc.1
k3s version v1.18.3-k3s1 (default)

Which version of docker?
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:21:11 2020
 OS/Arch:           darwin/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Hi @chrisseto , thanks for opening this issue! :)
It really takes some time until k3s/Kubernetes recognizes the node as NotReady and I think that's kind of realistic (and nothing that k3d could influence).
However, I think your main concern is having the node there at all after deleting it?
So you would expect something like kubectl delete node k3d-k3d-worker-0 to happen automatically when doing k3d delete node k3d-k3d-worker-0?

Ah, thank you for the explanation!
For context I'm using k3d to run some integration tests and having a node in a NotReady state throws a wrench into things.
In most managed k8s offerings, removing a VM from an ASG or NodePool will handle removing the node. Removed nodes in a NotReady state generally isn't seen by the client.
Given that, I was expecting k3d to work in a similar fashion or at least have an option to do so.
To be honest it hadn't occurred to me that kubectl delete node was a valid command. 😄  For the moment I'll add that in on my side.

Sure thing :)
Is deleting nodes part of your integration tests? :thinking:
Feel free to turn this issue into a feature request to maybe at least add a flag to achieve this behavior.
However, I fear that this will pull in lots of Kubernetes dependencies.. but we'll see :+1:


Find tables in the subquery of CREATE TABLE AS

Problem
Tables in the subselect of CREATE TABLE .. AS statements are not included in the *tables methods.
Example:
PgQuery.parse("CREATE TABLE foo AS SELECT * FROM bar").tables
Expected: ["foo", "bar"]
Actual: ["foo"]

Thanks for the contribution!


Create legendIcon for an icon array.

The legendIcon method will now return a canvas element for an icon array of multiple SVG.
https://github.com/GEOLYTIX/xyz/wiki/Workspace-Configuration#icon
"icon": [
  {
    "svg": "https://geolytix.github.io/MapIcons/pins/mint.svg",
    "scale": 2,
    "legendScale": 0.35,
    "anchor": [0.5, 1]
  },
  {
    "svg": "https://geolytix.github.io/mapp/icons/emblem.svg",
    "scale": 0.03,
    "anchor": [0.5, 1.6]
  }
]

Just thinking on this! What if we have a use case that will create an icon from two different icon templates. In this case 'triangle' and 'circle'. This won't work because if we provide an icon array the icon.legendStyle requires an Icon to have a icon.svg.

is this a desired use case we will ever want?
@dbauszus-glx @simon-leech

The legendIcon method must call the svgSymbols type method to create an icon url prior to rendering the icon to the canvas context.
The template icons plugin must be async to ensure that templates are loaded before the legends are created.
The plugin execution in the default view script must map the plugins array. Promise.all() can be used to await that any async plugin executions are resolved before continuing in the default script execution.

https://github.com/GEOLYTIX/xyz/assets/43169158/862ffb0b-4cf5-4e7d-a785-549c961048e7
@dbauszus-glx
Seeing some interesting behaviour when toggling between two different themes the icons disappear.
You can replicate this with the icon_array/workspace.json workspace on bugs-testing.

This wants to be re-reviewed. The legendIcon now set a pixelRatio of 1 ignoring the window scaling.
Images already loaded will not be loaded again with the same loadEvent being assigned multiple times.
Empties will be filtered out from the icons array.

This is now working for me :)


Not able to upload video.

Latest version of Nova. Images,  files - no problem to upload. Video - mp4 - error is coming : The file failed to upload.
Mp4 video file is small - 3M, so the size is not w problem.
Every time upload goes to 19%, and error is coming.
Any idea what can be wrong?

Are you able to provide some logs of the requests and/or errors that occur within your application?


Compatibility Reports

Since you mentioned in the README that you couldn't test, I thought I should (happily) report:

[x] Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36 [Chromium actually]

Hey @pguth can you elaborate on what compatibility problem you’re seeing?

Ah, none! It works. That was the information I wanted to provide. You wrote in the README:

So, I built this one to reliably do it. (Not tested, yet, on any other configurations.)

And I thought we could collect compatibility data here.

Oh, thanks! :+1:


Issue 1392: Vietnamese dictionaries

https://code.google.com/p/tesseract-ocr/issues/detail?id=1392
What steps will reproduce the problem?

Unpack vie.traineddata downloaded from Tesseract repository
Run dawg2wordlist on vie.freq-dawg & vie.word-dawg to recover original lists
Examine the content

What is the expected output? What do you see instead?
The recovered word lists are found to be incomplete and contain many erroneous entries.
Please use the included dictionaries for training data for Vietnamese language.
Apr 16, 2015
#1 zdenop
can you have a look and review Vietnamese dictionaries in langdata repository?
https://code.google.com/p/tesseract-ocr/source/browse/vie/?repo=langdata&name=master
Apr 19, 2015
2 nguyenq87
vie.wordlist.clean would need to be scrapped totally as it contains so many misspelled Vietnamese and English words, words missing diacritical marks or running on together (Vietnamese words are mostly monosyllables).
The provided vie.words_list is composed of several lists commonly used among Vietnamese-language application developers, including those from http://www.informatik.uni-leipzig.de/~duc/software/misc/wordlist.html.
The fourth column in vie.unicharambigs contains many characters that are not Vietnamese, e.g., üûñËÄ. Those characters should not be used for match target.
http://vietunicode.sourceforge.net/charset/vietalphabet.html
(http://web.archive.org/web/20150413012244/https://code.google.com/p/tesseract-ocr/issues/detail?id=1392)

@nguyenq - does the new Vietnamese language pack fix this issue?

I haven't test the updated vie.trainneddata; however, the vie.wordlist file found in https://github.com/tesseract-ocr/langdata/tree/master/vie is still plagued with errors. Many of the words seem to be corrupted (broken UTF-8 encoding) as evidenced by the block characters ﬆ. Many words contain punctuation marks (.,":?!). Far too many are misspelled.
Why was the provided dictionary word list not accepted?

urdu words


possible bug? tf.math.tanh to replace tf.tanh

Hi,
I am getting the following error with TensorFlow 2.11 and 2.12.
Traceback (most recent call last):
File "/users/vadoriv/ncis/main.py", line 49, in
hist = ncismodel.train(epochs = 2, n_batches_epoch = 10)
File "/users/vadoriv/ncis/cisc.py", line 186, in train
history = self.keras_model.fit(
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 70, in error_handler
raise e.with_traceback(filtered_tb) from None
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/tensorflow/python/eager/execute.py", line 52, in quick_execute
tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
tensorflow.python.framework.errors_impl.UnimplementedError: Graph execution error:
Detected at node 'model_2/activation_66/Tanh' defined at (most recent call last):
File "/users/vadoriv/ncis/main.py", line 49, in
hist = ncismodel.train(epochs = 2, n_batches_epoch = 10)
File "/users/vadoriv/ncis/cisc.py", line 186, in train
history = self.keras_model.fit(
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 65, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 1694, in fit
val_logs = self.evaluate(
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 65, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 2040, in evaluate
tmp_logs = self.test_function(iterator)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 1820, in test_function
return step_function(self, iterator)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 1804, in step_function
outputs = model.distribute_strategy.run(run_step, args=(data,))
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 1792, in run_step
outputs = model.test_step(data)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 1756, in test_step
y_pred = self(x, training=False)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 65, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/training.py", line 561, in call
return super().call(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 65, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/base_layer.py", line 1132, in call
outputs = call_fn(inputs, *args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 96, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/functional.py", line 511, in call
return self._run_internal_graph(inputs, training=training, mask=mask)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/functional.py", line 668, in _run_internal_graph
outputs = node.layer(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 65, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/engine/base_layer.py", line 1132, in call
outputs = call_fn(inputs, *args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 96, in error_handler
return fn(*args, **kwargs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/layers/core/activation.py", line 59, in call
return self.activation(inputs)
File "/users/vadoriv/.conda/envs/ncis_env/lib/python3.9/site-packages/keras/activations.py", line 381, in tanh
return tf.tanh(x)
Node: 'model_2/activation_66/Tanh'
Fusion is not implemented: [FusedBatchNorm,Tanh]
[[{{node model_2/activation_66/Tanh}}]] [Op:__inference_test_function_128272]
2024-02-23 01:14:51.986105: W tensorflow/core/kernels/data/generator_dataset_op.cc:108] Error occurred when finalizing GeneratorDataset iterator: FAILED_PRECONDITION: Python interpreter state is not initialized. The process may be terminated.
[[{{node PyFunc}}]]
Is it possible that the cause is
return tf.tanh(x)
which should be
return tf.math.tanh(x)
in keras/activations.py

Hi @Vadori ,
Since you are using TF2.11 which is quite older and currently Keras3 supports multi backend.Could you please try with latest version of TF and install keras3 using pip install keras -U which will install latest keras package.Please refer README for more details.
With these can you try again and let us know if same problem persists along with reproducible code snippet.
BTW, tf.math.tanh is alias of tf.tanh and both will call same API only.
Thanks!

Hi, @SuryanarayanaY,
Thanks for your prompt response. I am trying to run a network training on a server with NVIDIA-SMI 515.105.01 Driver Version: 515.105.01 CUDA Version: 11.7, and unfortunately, I am quite limited on the version of tensorflow I can install in my conda env. I read that the only compatible versions are 2.8 and 2.9.1. I am actually trying to downgrade from 2.11, rather than updagrading. Do you have any other suggestions, given my constraints? I am using tensorflow keras.

Hi @Vadori ,
Could you please submit reproducble code snippet with Tf2.8 or Tf2.9 version to check the issue?

Hi @SuryanarayanaY,
I managed to solve the issue I had, thanks! :) I managed to make the model run on single node equipped with GPU. Now the next step would be to run the keras model across multiple nodes with tf.distribute.MultiWorkerMirroredStrategy. I checked the documentation but the only tutorial provided by tensorflow/keras is kind of a toy example. No tutorial is provided to run the model on an actual HPC cluster where jobs are submitted via slurm scripts. I have so far made lots of unsuccessful attempts and I think I can’t solve by myself. Do you know where I can find such instructions/tutorial. It would really help!! Thanks! Please let me know if this is not the right place to ask.

Hi @Vadori ,
Since you are not using Keras3 and the issue is with distribution strategy you can ask the question in Tensorflow repo.I hope you have already checked the resources form TF docs here 1 ,2 & 3.
Please feel free to close the issue here and raise a request in TF repo, if you couldn't find the attached resources useful.

Thanks to @SuryanarayanaY for the prompt answers. The issues I had has been solved.


Instrumental lifecycle

Inspiered by React.
if (__DEV__) {
  measureLifeCyclePerf(
    () => store.getState(),
    'getState',
  );
} else {
  store.getState()
}

Instrumental:

Store#getState
Store#receivePayload
Store#shouldStateUpdate
StoreGroup#getState
UseCase#execute

The motivation is that we want to find the bottleneck in the stores.
I think that almin need scalable store #175
Related

https://facebook.github.io/react/docs/perf.html

https://github.com/wwwillchen/react-perf-tool

StoreGroup has two phase

https://github.com/almin/almin/blob/3aeaf6abd75c495402bb93952c51fcdd60177fdd/packages/almin/src/UILayer/StoreGroup.ts#L274-L294

writePhaseInRead

call receivePayload

readPhaseInRead

just call getState()

Node v8.5.0 support Performance Timing API!

Performance Timing API | Node.js v8.5.0 Documentation
Console | Node.js v8.5.0 Documentation


Copy coordinates from List using shortcut Ctrl+C

Current behavior
Select coordinates in the list can be done by clicking on a single coordinate or selecting multiples using Ctrl or Shift key when you click, or Ctrl+A to select all depending on which entries you want to select.
User can right-click on the selected coordinates in the List > Select Copy to copy the selected coordinates
User can paste the coordinates into another application by right-click > Paste or using the shortcut Ctrl+V to paste
Expected behavior
In addition to the right-click, allow user the option to use Ctrl+C to copy the selected coordinates from the List
MT <IP_ADDRESS>
ArcGIS Pro 2.3
ArcMap 10.6.1

I'm seeing an issue where if you select multiple coordinates in the list, then right-click on one of the selected coordinates, click Copy, then paste into a text document, you only get the single coordinate that you actually clicked.
If you make a multiple selection and use Ctrl+C to copy, you get the multiple selection.

Windows standard behavior would be to get the other selected items if one item of the selected group is right-click/copied. For example, I have files A, B, C, D.  I multiple-select B and D, then right-click file D and click Copy.
In a new location, I paste.  Both file B and D are copied to the new location.

Currently it is treating the case of I have B and D selected, and I right-click A and click Copy. In that case, only A should be copied.
Multiple select, right-click, copy/paste retains all of the selected features in the released version of CC, so this is a new issue with the test build I'm using: CTLocalGovTeam-dev\57

@BobBooth  @sap and i were able to reproduce this. The problem with this one is that this behavior was specifically introduced to deal with #569 in which if you had a point highlighted and right-clicked on a different (not highlighted point) it would always return the details for the point that was highlighted. We will need to log this as a future enhancement to figure out how to work around this.

@BobBooth and I discussed this comment for this release we want to leave things as implemented ... when multiple points are selected and you right-click>copy you only get the point you right-clicked on. You can still copy multiple points by selecting multiple points and using ctrl+c. An issue should be logged to address this in the future.

Doc changes visible in What's new, CC, and MT Release page on STG.


[WFLY-14951] public static fields miss final declaration

Fixes https://issues.redhat.com/browse/WFLY-14951

@bstansberry Hello Brian, tests for this PR passed, PR is approved. Could you please check and merge?

Thanks, @boris-unckel :)


chore: use lodash-es to improve bundle size

Codecov Report

Merging #4072 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4072   +/-   ##
=======================================
  Coverage   99.84%   99.84%
=======================================
  Files         183      183
  Lines        3280     3280
=======================================
  Hits         3275     3275
  Misses          5        5

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 26daf99...8fcddf6. Read the comment docs.

Just thought you might want to be aware of lodash/lodash#4879, I don't know what's going on there.

@noinkling good call 🙁 Let's see how it will go, overall I would like to use less Lodash on our components.


"Semester Length" is a poor name choice

This isn't about how long the "semester" is but rather what portion of the semester is used for the course.  I'd like to see us migrate to a different, less confusing name here.
Perhaps just "Course Length" instead?

Low priority (because nothing is "broken"), but likely an easy fix.


Support for infinite values with Nans

I'm trying to understand how the support for missing values is implemented and I came across this weird edge case, I'm not sure if it's a bug or not:
import numpy as np
from lightgbm import LGBMRegressor

# 1 feature, 5 samples
X = np.array([0, 1, np.inf, np.nan, np.nan]).reshape(-1, 1)
# Easy split: all nans go to right child, the rest go to left child
y = np.array([0, 0, 0, 1, 1])

gbdt = LGBMRegressor(n_estimators=1, min_child_samples=1)
print(gbdt.fit(X, y).predict(X))

I'm getting
[0.36 0.36 0.46 0.46 0.46], (+inf sample goes to right node)
while I would have expected
[0.36 0.36 0.36 0.46 0.46] (+inf sample goes to left node)

As far as I understand the code: the threshold for the last non-missing bin is hardcoded to be +inf, and this is the bin where the split happens. Since +inf  thresholds are capped to 1e300, the +inf sample is mapped to the right child because 1e300 < +inf
Changing the +inf sample to another value (e.g. 5): the threhsold for the last non-missing bin is still 1e300, but this time 5 <= 1e300 so it will be mapped to the left node, as expected

I think the root cause is this PR:
https://github.com/microsoft/LightGBM/pull/617
I think a better solution is to let json support these inf/nan, not to change our model format.
Also refer to #2266


Identify beacon press

You know that many beacon tag having a button. In this application I want to know how to identify beacon press listener?

done


Session 5 SegFormer model

Relates to https://github.com/developmentseed/servir-amazonia-2-internal/issues/7

All edits made. Merging now


Update man page for dm.xfs_nospace_max_retries

This option was added through commit 0d03c060c7e6800e60833c4462b917ee9b081440 (https://github.com/docker/docker/pull/26212), but didn't update the man page.

LGTM ping @rhvgoyal

LGTM. Thanks @thaJeztah

Thanks @rhvgoyal


Add 20240803.txt

@8wlgns Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


Modernise a bit.

some updates I needed to make in order to run on newer numpy, packaging, etc.

Hi @kylematoba,
Thank you for submitting a pull request.
However, this pull request seems to be tailored to a special use case of yours, for which I can not find a detailed documentation what these changes should address. Additionally, we want to avoid Pickle files, since they can introduce security risks. Hence, we are using SPC files for saving python objects, which are compressed JSON like structures.
If you want to see a feature in the future, feel free to suggest them in the issue section.
Best,
Philippe


Update autorest version to prerelease 3.0.0-alpha.20240426.7.x

Triggered from pull request: https://github.com/Azure/autorest.csharp/pull/4185

API change check
API changes are not detected in this pull request.

Close in favor of #43872


Network layer soft errors

These don't seem to cause any visible failures, but imply that something is not 100% correct.
Occur when running the smallbank benchmark. There are more of these logged. Only 2 samples are extracted below.
work/connection_handle.cpp:538:CloseSocket] DEBUG - Attempt to close the connection 63
....
/connection_handle.cpp:569:CloseSocket] DEBUG - Already Closed the connection 58

I see this line all the time, I think is is usual behavior. But I have no idea what exactly is happening.

the only piece of code print debug message in connection_handle.cpp
  while (true) {
    int status = close(sock_fd_);
    if (status < 0) {
      // failed close
      if (errno == EINTR) {
        // interrupted, try closing again
        continue;
      }
    }
    LOG_DEBUG("Already Closed the connection %d", sock_fd_);
    return Transition::NONE;
  }

I think retrying on close failure should be removed.

The fd is closed on linux regardless of close function call returns an error or not. No need to worry about leaking fd.
https://stackoverflow.com/questions/33114152/what-to-do-if-a-posix-close-call-fails
http://man7.org/linux/man-pages/man2/close.2.html
As the man page ( Dealing with error returns from close() section) suggests, it is harmful to close again on failure. This may result in closing a reused fd. For example, It may close a file descriptor opened by the smallbank test and cause an hard-to-reproduce test failure.

I'd like to fix this by remove while loop around close.

I agree on correctness of removing the while.
However, if the close fails, it should be logged, something like:
Close failed on connection %d, errno %d
(the current log message is wrong... you don't know it was "already closed", it could be EIO)
If a string description of errno is readily available, use it instead of the number, otherwise the numeric form is ok.
Maybe, if we find that the close failures are legitimate, we can suppress some of the logging later. If there are real failures occurring, this will give us more data to diagnose and fix them.

From: Nov11<EMAIL_ADDRESS>Sent: Saturday, April 7, 2018 9:52 AM
To: cmu-db/peloton
Cc: Pervaze Akhtar; Author
Subject: Re: [cmu-db/peloton] Network layer soft errors (#1269)
the only piece of code print debug message in connection_handle.cpp
while (true) {
int status = close(sock_fd_);
if (status < 0) {
// failed close
if (errno == EINTR) {
// interrupted, try closing again
continue;
}
}
LOG_DEBUG("Already Closed the connection %d", sock_fd_);
return Transition::NONE;
}
I think retrying on close failure should be removed.

The fd is closed on linux regardless of close function call returns an error or not. No need to worry about leaking fd.
https://stackoverflow.com/questions/33114152/what-to-do-if-a-posix-close-call-fails
http://man7.org/linux/man-pages/man2/close.2.html
As the man page ( Dealing with error returns from close() section) suggests, it is harmful to close again on failure. This may result in closing a reused fd. For example, It may close a file descriptor opened by the smallbank test and cause an hard-to-reproduce test failure.

I'd like to fix this by remove while loop around close.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/cmu-db/peloton/issues/1269#issuecomment-379470917, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AhDfwN8f5HztUB7K4fvjtcgdsyRnA4gHks5tmMS6gaJpZM4TKGFL.


gemini stuck during high network latency

gemini command was running in job https://jenkins.scylladb.com/view/master/job/scylla-master/view/master-test/job/gemini-/job/gemini-3h/92/:
gemini -d --duration 10800s --warmup 1800s -c 100 -m mixed -f --non-interactive --cql-features normal --max-mutation-retries 5 --max-mutation-retries-backoff 500ms --async-objects-stabilization-attempts 5 --async-objects-stabilization-backoff 500ms --replication-strategy "{'class': 'SimpleStrategy', 'replication_factor': '3'}" --oracle-replication-strategy "{'class': 'SimpleStrategy', 'replication_factor': '1'}" --test-cluster=<IP_ADDRESS> --outfile /home/centos/gemini_result_479cc503-b34d-48da-88fa-acced65bb1ba.log --seed 8 --oracle-cluster=<IP_ADDRESS>

During this job look was high latency on network. and gemini a bit stuck and instead of 3 hours it was running for 8 hours:
{"L":"INFO","T":"2020-05-07T20:44:44.740Z","N":"generator","M":"starting partition key generation loop"}
{"L":"INFO","T":"2020-05-07T21:14:44.828Z","M":"Warmup done"}
{"L":"INFO","T":"2020-05-07T21:16:16.154Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:17.994Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:20.774Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:27.440Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:28.606Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:28.623Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:30.228Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:30.314Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:30.840Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:31.642Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:31.868Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:31.983Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:33.751Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:35.169Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:35.324Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:36.009Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:36.338Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:38.152Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:38.320Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:38.877Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:38.942Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:16:39.834Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:17:09.080Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:17:53.585Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:17:59.921Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:18:41.093Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:19:53.461Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:19:52.973Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:20:49.058Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:20:52.262Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:20:55.805Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}
{"L":"INFO","T":"2020-05-07T21:21:15.652Z","N":"validation_job","M":"validation failed for possible async operation","trying_again_in":"500ms"}

and then, job  was interrupted by jenkins.

link to gemini output log: gemini_output_log

Did it continue to run queries just slower? Did it stall completely?

Can you verify which signal is being used to kill gemini @aleksbykov ?

@dahankzter if job exceed timeout and jenkins stop the job, then loader instance is terminated where gemini was running.
if out sct code terminate the running of gemini, it uses the signal TERM

Did it continue to run queries just slower? Did it stall completely?

i saw only one time when gemini totally stuck, all other times it continue to run queries with very slow req/s.

I think it should go faster in the 1.6.10 release @aleksbykov

Fixed


Introducing new Group Policy EnableWindowsPackageManagerCommandLineInterfaces for Intune

[Why;]
To allow Intune to be able to set a group policy to block end user installing packages from WinGet Command Line interfaces such as WinGet CLI, PowerShell modules while Intune can still install package by themselves by consuming WinGet APIs directly.
[WHAT:]
Policy Changes:

ADMX/ADML Changes to include EnableWindowsPackageManagerCommandLineInterfaces policy
EnableWindowsPackageManagerCommandLineInterfaces is another simple

EnableValue/DisableValue boolean (1/0) policy.

WinGet CLI Changes:

WinGetCLi command code update to read & validation EnableWindowsPackageManagerCommandLineInterfaces
Group Policy i.e block when disabled.
WinGetCLI End to End tests to validate EnableWindowsPackageManagerCommandLineInterfaces policy in
combination with "EnableAppInstaller" WinGet Policy

How Tested:

Patch Group Policy AMDX/AMDL
Deploy WinGetCLIDev package on a test machine.
Run WinGetDev commands with policy enabled/disabled and verify policy blocks CLI execution when it is disabled.

PowerShell Module related changes:

Shared code to read Group Policies "Microsoft.WinGet.SharedLib" right now limited to read only Toggle Policies
just enough to address the scope of Intune deliverable.
Group policy read and validation logic to block PowerShell modules

Microsoft.WinGet.Client.psd1 PowerShell module
Microsoft.WinGet.Configuration.psd1 PowerShell module
when any of two policies are disabled
"EnableAppInstaller" or "EnableWindowsPackageManagerCommandLineInterfaces"

Pester Tests to validate PowerShell WinGet Client & Configuration cmdlets when Group Policy in effect

How Tested:

Patch Group Policy AMDX/AMDL

Deploy Microsoft.WinGet.Client.psd1 & Microsoft.WinGet.Configuration.psd1 PowerShell modules.

Import Microsoft.WinGet.Client.ps1 powershell module & run cmdlets with policy enabled/disabled and verify policy blocks
PowerShell module execution when it is disabled.

For ex: Get-WinGetSource
wingetdev configure E:\winget\src\AppInstallerCLIE2ETests\TestData\Configuration\PSGallery_NoModule_NoSettings.yml

Import Microsoft.WinGet.Configuration.psd1 PowerShell module & run cmdlets with policy enabled/disabled and verify policy blocks  PowerShell module execution when it is disabled.

For ex:   Get-WinGetConfiguration -File "E:\winget\src\AppInstallerCLIE2ETests\TestData\Configuration\PSGallery_NoModule_NoSettings.yml"

Related to : https://microsoft.visualstudio.com/OS/_workitems/edit/45810849/

[x] I have signed the Contributor License Agreement.
[x] This pull request is related to an issue.

Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run

https://github.com/microsoft/winget-cli/issues/3025

Hello team, I was checking the conversation but I did not understand if this change was completed or what is the current status of this.

This change has been completed. The latest clients have support for the policy and the ADMX/ADML has been updated and published with the release at GitHub.

thank you for the reply Denelon, i was curious if this is only an intune policy or also a windows domain gpo. I am asking because on the Microsoft official documentation I found references only to the CSP policy
https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-desktopappinstaller
and I found this other link but on those admx I was not able to saw the policy on the DesktopInstaller
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/manage-windows-package-manager-with-group-policy/ba-p/2346322

WinGet leverages the second mechanism via ADMX/ADML ingestion.

Understood, and this is working for all versions? I saw on the CSP link that this was only available for insider preview


feat: FW-19 Implement search artist handler

Description
Implements handler to retrieve artists by name. It required implementing a couple of extra classes (i.e. fake repository, encoders) and modifying the repository interface to include the context. By adding the access token in the context, we do not need to couple the repository interface to the specific Spotify bearer authorization.

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

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


Clearing Doctrine cache does not really deleting the keys

When running app/console doctrine:cache:clear-*, it will only increment the value in DoctrineNamespaceCacheKey but not deleting the keys. While the old keys did not have TTL set,  they will remain on Redis server forever.
My current workaround is to create a custom command to deleting the keys with the namespace prefix. Any other suggestions?

@hehachris You could use a dedicated redis instance for the Cache and let Redis manage key eviction by itself.

set a maxmemory limit.
set maxmemory-policy to allkeys-lru.
set maxmemory-samples to 5 (or 10 if you want it to be more accurate but it will cost more CPU too).

When you'll reach the max memory limit, Redis will try to remove the less recently used (LRU) keys first.
With this configuration, you don't need to set any TTL on Doctrine caches.
Using Redis as an LRU cache

Which version of the bundle are you using?

I'm looking for a solution to this also, when running composer update
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache"
does not delete the keys (using bundle version 1.1)

@trousers On 1.1 version, clients aren't defined as tagged service.
You can use a custom CacheClearer:
<?php
namespace AppBundle\Cache;

use Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface;

class RedisClearer implements CacheClearerInterface
{
    private $clients = array();

    /**
     * Constructor
     *
     * @param array<\Predis\Client|\Redis> array of SNC Redis clients
     */
    public function __construct($clients)
    {
        if (false === is_array($clients)) {
            $clients = array($clients);
        }
        $this->clients = $clients;
    }

    /**
     * Clear your cache
     */
    public function clear($cacheDir)
    {
        foreach ($this->clients as $client) {
            if ($client instanceof \Redis || $client instanceof \Predis\ClientInterface) {
                $client->flushDb();
            }
        }
    }
}

And set up the service:
services:
    myapp.redis_clearer:
        class: AppBundle\Cache\RedisClearer
        arguments:
        # Put all the SNC Redis client you want to clear (Example: defaults and dbslc clients)
            - [<EMAIL_ADDRESS><EMAIL_ADDRESS>]
        tags:
            - { name: kernel.cache_clearer }

That works with php app/console cache:clear and Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache.
On the master branch, you can set up a Compiler Pass, list all clients with snc_redis.client.

I've seen this work properly in recent versions of the bundle.


Support for async HTTPX

Hello,
In our project we are already using HTTPX for async http calls. We are also using elasticsearch-py. As I wanted to avoid adding another dependency (aiohttp), I implemented (rather simple) custom node using HTTPX.
Is there a plan to support it directly here in transport? Or would you be open for such contribution?
Thanks,
b4sus

Hello, and sorry for the late reply! I would gladly accept such a contribution. It would make Trio support much easier too.

Is this issue still open, or did PR #137 resolve this?

Good call. This was resolved and released as part of 8.13.0. Thanks!


Surface proper exception when DbContext instance creation fails rather than attempting to create an instance using DI.

Fixes #291
cc @abpiskunov

:shipit


Add coq-dpdgraph to the Coq Platform

Coq-Dpdgraph is a tool for building dependency graphs between Coq objects.
This is a Coq plugin which extracts out dependencies between terms. It can be used to output graphs of term relationships, and to find unused definitions and lemmas. Coq-dpdgraph has had consistent releases for new versions of Coq and is part of Coq's CI.
Since it provides useful and unique functionality to Coq project maintainers, I propose that coq-dpdgraph is included in the Coq Platform.
The maintainer of coq-dpdgraph is @ybertot.

Hi, I just have been noticed about this request by @MSoegtropIMC email.
Since I do not use Coq myself anymore, there is very little chance that coq-dpdgraph evolves anymore, but, with the frequent help of @ybertot, I try to merge all pull request from the kind maintainers as soon as I can to keep it usable on newer Coq versions. I am happy that the Coq users find it useful, and of course agree to see it included in  the Coq Platform.
Do I have to do something on my side?

@Karmaki since I believe @ybertot already handles tagging and opam packages for new Coq releases (and platform maintainers can potentially also help out with that), I don't think anything additional from your side is required (but @MSoegtropIMC can confirm).

@Karmaki Since you are not using Coq anymore and coq-dpdgraph is already collaboratively maintained, would it make sense to transfer the repository to coq-community?

@Zimmi48 : yes, it would be a good idea. How does this? I guess there must be some kind of approval or something?

Yes, the process is:

open an issue on https://github.com/coq-community/manifesto, so that people are informed
Karl or myself will add you to the coq-community members, so that you have the permissions to transfer the repo
you proceed with the transfer
after the transfer, we will add some standard meta-data to the repo and make you and @ybertot administrators.

OK, thanks.
Not sure to have time  to do this right now, but I'll probably (hopefully) do it next week.

I have family obligations this week, but I already started preparing a new version for coq-dpdgraph.  As I understand that Karmaki agrees with it, I will also do the necessary to have the project transferred to coq-community.  It should be done by October 6th.

OK: thanks a lot to handle that @ybertot \o/

@ybertot : the 8.14 release of Coq Platform will likely happen some time in November, so there is time and no need to hurry. What I am interested in is a long term commitment. In Coq Platform we try to provide a stable foundation for Coq developments to users. Users should be able to rely on that packages are maintained.

@Zimmi48 : with "maintainer agreement" I don't mean an author agreement (which is not really needed for open source SW), but an agreement that someone is willing to maintain it according to the spirit of the Coq Platform charter. I would say this is still in discussion, so I added the label back.

I take the "Status" comment:

Status: It is maintained, part of Coq-CI, with a new version produced for each release of Coq, thanks to the kind help of the main Coq developers.

in (https://github.com/coq-community/manifesto/issues/131) as maintainer agreement and will move coq-dpdgraph to the "full" level.

Sorry, I just saw that the version number is still 0.X, so by default it will go into the "extended" level.
In case you want to change this for 2021.09 please provide a justification.
The package will automatically be moved to the "full" level if the version number reaches 1.X in the future.

@ybertot @Karmaki Since there are no plans for feature changes for this package, only baseline maintenance, wouldn't it make sense to move the version to 1.0?

Yes. Good idea. (but I cannot do it right now...)

No need to hurry - the next release is planned for November.

Of course if you are saying you will just label it 1.0 without (substantial) changes, I can include it into "full" right away. This is about the spirit, not about numbers.

Yes, since it has been stable for a while and there are no plan to make new developments, I think the only modification will be to label it 1.0. Do you agree @ybertot ?

I agree that renaming the version to 1.0 is sensible, because this mirrors the stability of the basic functionality we have been maintaining over the recent years.

replying to a comment of @MSoegtropIMC of 3 days ago, I will be happy to commit to maintaining this package.  Still, I would like this to be handed over to other volunteers, as soon as possible.
Yves

@ybertot : thanks for the commitment!
I moved coq-dpdgraph from "extended" to "full" in PR: (https://github.com/coq/platform/pull/147).


Submit deliverables sprint-06

Submit organisationals / homework

[ ]  Feature board @ POs
[ ]  Planning documents @ POs
[ ] Tag sprint release candidate @ Releasemanager
[ ] In addition to the regular tag, tag code with mid-project-release @ Releasemanager
[x] Initialize user documentation @ POs/DEVs tbd
[ ]  Design documentation @ DEVs tbd
[x] build/deploy documentation @ DEVs tbd
[x] Clean-up mid-project release plan @ POs
[x] Create final project release plan @ POs

I have initialized the wiki of the project by setting up a document structure. Also i wrote the chapter about build/deploy documentation. @all: Please have a look and give feedback :)

Looks great. I think we should add sub-pages in the design documentation for every component. So one design overview for cli, one for middleware and one for the backend.

Looks great. I think we should add sub-pages in the design documentation for every component. So one design overview for cli, one for middleware and one for the backend.

Lets do that! @lukas-rotsching

@Noah-Kurz @lukaswolfrum I copied the three files with docs to deliverables folder already. Will be merged to main with PR #71.

@Noah-Kurz @lukaswolfrum Do you do the User Docu? (see GH Wiki) In the tasklist its not clear, who will be responsible for that. We should not forget it :D

Oh, I thought after you started creating the Docs and I haven't heard anything earlier that you created it already. @schlingling
For me it would actually make more sense if one of you DEVs would start creating it and I can review it later and add my comments. Especially as I am still unsure where I can find the current updated code base.

Great user documentation, thanks @lukas-rotsching! Looks all good to me!

@lukaswolfrum @Noah-Kurz I just finished the Backend docu. Now all three parts (User, Design, Deploy) are ready to publish 💯


formrecognizer - Failed to establish a new connection - Temporary failure in name resolution

Package Name:  azure-ai-formrecognizer
Package Version: 3.1.0 and 3.1.2
Operating System: linus Azure vm
Python Version: 3.8.12

Describe the bug
when trying to call begin_recognize_content(), I am getting the following error
ServiceRequestError: <urllib3.connection.HTTPSConnection object at 0x7f799471f340>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution
this was working 2 months ago
To Reproduce
Steps to reproduce the behavior:
from azure.ai.formrecognizer import FormRecognizerClient
from azure.core.credentials import AzureKeyCredential

form_recognizer_client = FormRecognizerClient(
                'azure_endpoint',
                AzureKeyCredential('azure_subscription_key')
            )

form_recognizer_client.begin_recognize_content(
            form, pages=[page_count])

the issue is because I am running the code on Azure VM and there are some network access limitation


Dragging a Group element makes the shape 'jump' after dragging

Hello @lavrton
I am trying to drag a group of shapes  and when I try to drag them, after the drag is done, the shape moves / jumps after dragging. Any ideas on how to resolve this? It seems accessing the x and y values from the shape gives me the wrong values after dragging
Here's a demo of the bug: https://codepen.io/kevgathuku/pen/JrdBMq
I've also set up a repo with the same code here https://github.com/kevgathuku/konva-drag-bug
Try dragging the red square to see the issue
Thanks in advance 😄
Update:
This only happens if the events are attached to the Group. If I attach the events to the Rect, everything seems to be working just fine

You have draggable Group. By default it has x = 0, y = 0. When you are dragging the group its position is changing. On dragend it will have position, for example, x = 50, y = 50.
The absolute position of rect is changed as well.
In onDragEnd you are setting new position for Rect, but old position of group (x=50, y=50) is still there. So a difference of object moving during drag is applied twice, so you see the jump.
Fixed version: https://codepen.io/lavrton/pen/YrXgQz

Thanks for the suggestion. I appreciate the quick response.
However, it only seems to be working when there's only 1 nested object.
With more than 1 nested object, some weird positioning starts happening.
Look at this updated codepen for an example of what I mean: https://codepen.io/kevgathuku/pen/zEGXNY?editors=1010
The nested Group component has the exact same x and y values, yet it gets positioned in a different place.

@kevgathuku because the position of an element is always relative to the parent element.
If a group has pos x = 50, and shape inside this group has position x = 50, the absolute position of the shape will be 100 (50 + 50).

Thanks once again. I'll put that in mind and try to come up with another solution

I Advise:
  dragEnd = e => {
    this.setState({
      x: e.target.x(),
      y: e.target.y()
    })
  }

and
  render() {
    return (
      <Image
        name="rectange-name"
        x={this.state.x}
        y={this.state.y}
        width={50}
        height={50}
        fill="red"
        draggable
        onClick={this.handleClick}
        onDragEnd={this.dragEnd}
        image={this.state.image}
        onTransform={this.handleTransform}
      />
    );
  }


True Modal Dialog Box

Currently in Godot there is a Popup, WindowsDialog, AcceptDialog etc that allow for a pop up box with buttons.  One property that can be set is "exclusive" which is supposed to make the box Modal and so nothing can be clicked on except the box and its children.
The problem is that the _input(event) processes from other nodes underneath the dialogbox are still registering and reading clicks of the user.
Can the "exclusive" setting be made to be truly "modal" where all _input from other nodes are ignored until the Dialog node is exited?

I think you should use this _gui_input(event) instead of _input(event).

Also, part of the Modality would great to have a built in yield() function that can wait for user response before continuing code when a dialogbox is open.

I just tested _gui_input()
This doesn't stop the _input(event) of other nodes from firing.
I created a Sprite node and set the _input(event) function active.
Next, on top I create the AcceptDialog node.  I set the AcceptDialog input function to _gui_input(event)
I also set the AcceptDialog to "exclusive"
I run the program and when I click on the AcceptDialog, it fires the _gui_input() function.  However, it also fires the Sprite's _input() function underneath it.

It's expected. For non-GUI element, you have to use _unhandled_input.

_gui_inputwill only work for GUI (Control nodes), in your case, try this:
On AcceptDialog create this code:
func _unhandled_input(event):
	if visible:
		get_tree().set_input_as_handled()

and for Sprite:
func _unhandled_input(event):
	 # your code here

More info here: http://docs.godotengine.org/en/3.0/classes/class_node.html#class-node-unhandled-input

Let's say instead of a Sprite, like the code above indicates, it is a Button node.
So, you have your normal GUI buttons, and then you have a Dialog open.  The normal GUI buttons are still visible.  Even using a script on the Dialog with _unhandled_input(event) and setting the input as handled, I can still push the GUI buttons.
How do I stop GUI elements from being pressed (like buttons) while the Dialog is open?

How do I stop GUI elements from being pressed (like buttons) while the Dialog is open?

Just set the dialog as exclusive.
See here: TrueModal.zip

using v3.2.1 here. exclusive is not working

Dialogs are sub-windows now, so this was implemented.


It's better if wintabs have go option

if wintabs have something similar to bufferline(https://github.com/mgee/lightline-bufferline#mappings), which can goes to specific tab with a single command, that would be awesome!

It has, please see the help text for WintabsGo. You can make your own mappings like the pre-defined ones here https://github.com/zefei/vim-wintabs/blob/master/plugin/wintabs.vim#L17-L27

Gotcha, thanks for sharing it, pretty awesome. I wondered if it also can have numbers appears together for the buffer in tabline? it's gonna be hard to know which number I jump to if it don't have a number along with the buffer.

@wanchaol currently this cannot be done without breaking some backward compatibility for renderers. You can try this PR to see if it works for you though https://github.com/zefei/vim-wintabs/pull/29/files.


Sort npe1 widget contributions

Description
For npe2 plugins, widget contributions are sorted in the menu bar according to the order in the napari.yaml. For npe1 plugins, however, they are more or less randomly ordered. This PR sorts npe1 widget contributions alphabetically to make them easier to find.
Before:

After:

If the author can control the order, then it seems leaving it up to the author makes the most sense, as long as they realize it. Do the plugin docs say how the author can control the order of the menu?
If the author cannot control the order, then a sorted order is better than random/unpredictable order.

@kne42 I have changed this PR to sort only npe1 plugin contribution.

just to clarify, the plugin manager code that you changed only affects npe1 plugins? I don't really understand the elements of the dict so some comments around it would be nice. But at the same time, if it's only npe1 plugins, I am not very invested in it because we don't intend to keep that around all that much longer...

I have added a comment with an explanation. I think that until we have a tool menu, we should support npe1 plugins.


test style fixes

sieve: sieve_test style fix
twelve-days: twelve_days_test style fix
beer-song: beer_song_test style fix
wordy: wordy_test style fix

Nice work, but would you mind splitting it into 4 separate pull requests (per exercise)?

Sorry about that! Closing this because the code is now split into the following pull requests:
wordy: https://github.com/exercism/xpython/pull/265
twelve-days: https://github.com/exercism/xpython/pull/266
sieve: https://github.com/exercism/xpython/pull/267
beer-song: https://github.com/exercism/xpython/pull/268


Fix: horizontal scroll in module forms

CC @Gnuk following css migration there is an horizontal scroll in the side form on firefox

Ok, I'll make fields ;)


./plugin.bat install file:/D:/ziliao/elasticsearch-jdbc-<IP_ADDRESS>-dist.zip

报错：
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
ERROR: Could not find plugin descriptor 'plugin-descriptor.properties' in plugin zip
请问该怎么解决？

Sorry, I can't do much with this. Also rivers have been deprecated for use with ES, so it's probably a good idea to migrate to some other solution.


[EnhancedSwitch] Support custom label

Currently, when passing a node to the label property the node will be wrapped in a
i.e
<RadioButton label={(Custom)} />

will result in:

    Custom

see:
https://github.com/callemall/material-ui/blob/master/src/internal/EnhancedSwitch.js#L295-L299
This is needed in cases where you need to override the label event handlers and so on...
IMO, a new prop customLabel prop can solve this issue.
Thoughts?

We have been porting the component on the v1-beta branch. We reimplemented it from the ground-up. While we haven't tested it, I think that the issue is most likely fixed on that branch. Hence, I'm closing it.
Still, we will accept PR fixes until v1-beta takes over the master branch.


Ability to manually place autotiles

Godot version: 3.0.2.stable.official
I have an autotiling tileset for a city road that looks kinda like this:

However, when I draw something using it, it ends up looking chaotic sorta like this:

What I want is to be able to create something like this, without having to constantly change probabilities and remove/re-add tiles to get it the exact way I want it:

It would be really useful to be able to switch between autotiling and manually placing tiles from an autotile-set. It would also be useful to be able to set a tile's probability to 0 so that it doesn't get placed when autotiling.

But... isn't this what non-autotiles do? (aka normal tiles?)

Kinda, but autotiles have many quality of life improvements. They're easier to set up (I don't need to create a scene with separate objects for each tile of a tileset), and they're easier to create tilemaps with.
My ideal workflow with autotiles would be to create the general shape of what I want with autotiles, then go through and add specific details that I want later.

They're easier to set up (I don't need to create a scene with separate objects for each tile of a tileset)

Note that this reason isn't really valid, because that's just an issue with the UI not integrating creation of normal tiles in the first place.

Should this be closed? Now that the PR was merged.

Yes, implemented by #19314.


Error: pq: syntax error at or near "." whilst counting Collaborations without existing user

Gitea Version
1.15.6
Git Version
git version 2.20.1
Operating System
Debian 10
How are you running Gitea?
using deb [arch=amd64] https://packaging.gitlab.io/gitea buster stable as APT source
Database
PostgreSQL
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Description
I migrated from Gitea 1.15.2 directly to 1.15.6. If I run the following I get the error.
HOME=/var/lib/gitea GITEA_WORK_DIR=/var/lib/gitea /usr/bin/gitea -c /etc/gitea/app.ini doctor --all --fix
[1] Check paths and basic configuration
 - [I] Configuration File Path:    "/etc/gitea/app.ini"
 - [I] Repository Root Path:       "/var/lib/gitea/repos"
 - [I] Data Root Path:             "data"
 - [I] Custom File Root Path:      "/var/lib/gitea/custom"
 - [I] Work directory:             "/var/lib/gitea"
 - [I] Log Root Path:              "/var/log/gitea"
OK
[2] Check if there is garbage storage files
OK
[3] Check Database Version
OK
[4] Check consistency of database
 - [C] Error: pq: syntax error at or near "." whilst counting Collaborations without existing user
ERROR
[5] Check if user with wrong type exist
OK
[6] Check if OpenSSH authorized_keys file is up-to-date
OK

[... continues normally ...]

Anyway, everthing seems to be working fine. The collaboration table in the database is empty.
Screenshots
No response

Are you sure that this is fixed? I'm still getting the error even though I'm running 1.15.7, which supposedly has the fix.

Is it still the same warning exactly?

https://github.com/go-gitea/gitea/blob/a9ed1c5c7c6c85ae280e6a13ca0d4e665945efb4/modules/doctor/dbconsistency.go#L170
user needs to be backticked here as well...

Yeah, unfortunately there's no specific clarification on the error that lets you see what the specific syntax error is, and it shows up as the same. Maybe worth fixing that as well as the underlying issue.

Could you apply the following patch and attempt again to see if it solves the problem?
diff --git a/modules/doctor/dbconsistency.go b/modules/doctor/dbconsistency.go
index e5f0c5678..cd34994e1 100644
--- a/modules/doctor/dbconsistency.go
+++ b/modules/doctor/dbconsistency.go
@@ -167,13 +167,13 @@ func checkDBConsistency(logger log.Logger, autofix bool) error {
 			"lfs_lock", "repository", "lfs_lock.repo_id=repository.id"),
 		// find collaborations without users
 		genericOrphanCheck("Collaborations without existing user",
-			"collaboration", "user", "collaboration.user_id=user.id"),
+			"collaboration", "user", "collaboration.user_id=`user`.id"),
 		// find collaborations without repository
 		genericOrphanCheck("Collaborations without existing repository",
 			"collaboration", "repository", "collaboration.repo_id=repository.id"),
 		// find access without users
 		genericOrphanCheck("Access entries without existing user",
-			"access", "user", "access.user_id=user.id"),
+			"access", "user", "access.user_id=`user`.id"),
 		// find access without repository
 		genericOrphanCheck("Access entries without existing repository",
 			"access", "repository", "access.repo_id=repository.id"),


in IOptionsSnapshot, T must have a public parameterless contstructor

I would like to be able to log errors in my option/setting file. If I use DI in it, caller says in IOptionsSnapshot<GracePeriodManagerServiceSetting>, GracePeriodManagerServiceSetting must have a public parameterless contstructor how can I make this work?
GracePeriodManagerService.cs
public GracePeriodManagerService(IOptionsSnapshot<GracePeriodManagerServiceSetting> options)
...

GracePeriodManagerServiceSetting.cs
    public class GracePeriodManagerServiceSetting
    {
        private readonly ILogger _logger;
        public GracePeriodManagerServiceSetting(ILogger<GracePeriodManagerServiceSetting> logger)
        {
            _logger = logger;
        }
    ...
    }

appsettings.json
{
  "GracePeriodManagerService": {
    "DelayTime": "1 2 3 4 5 6"
  }
}

I'm in the same boat as you. I guess that the short answer about how to get this work is: You don't. The reasoning probably was, that configuring the options should be a lightweight operation, so that it usually doesn't need services which may use some heavy-weight initialization.

I hear you but I believe it should be developers decision and not "opinionated" view.

Logging from a poco, is kinda code smell no? Why are you logging from your settings object that isn't supposed to have behavior? What does GracePeriodManagerServiceSetting look like?

I don't think so.
Simple scenario would be a background service I would like to run in specific time based on crontab string.  And I use ncrontab where value in appsettings.json will be string but I need to extract next date in options.
Now consider that I want to use that setting in multiple places.  It becomes really ugly to implement it.
appsettings.json
{
  "GracePeriodManagerService": {
    "DelayTime": "1 2 3 4 5"
  }
}

GracePeriodManagerServiceSetting.cs (the one I have right now)
using System;
using NCrontab;

namespace MyProject.Api.Services.GracePeriodManagerService
{
    public class Setting
    {
        public const string ConfigurationSectionName = nameof(GracePeriodManagerService);

        private string _delayTime;
        public string DelayTime
        {
            get
            {
                if (_delayTime == null)
                {
                    return null;
                }

                try
                {
                    CrontabSchedule crontab = CrontabSchedule.Parse(_delayTime, new CrontabSchedule.ParseOptions { IncludingSeconds = true });
                    DateTime nextOccurrence = crontab.GetNextOccurrence(DateTime.Now);
                    return nextOccurrence.ToString("s");
                }
                catch (CrontabException ce)
                {
                    //_logger.LogError(ce, ce.Message);
                    throw;
                }
                catch (Exception e)
                {
                    //_logger.LogError(e, e.Message);
                    throw;
                }
            }
            set => _delayTime = value;
        }
    }
}

To consume services to configure your options, you don't do it in the ctor, you can consume services inside of your IConfigure[Named]Options<T>

A generic implementation of this that we do to make this easier is found here to give you a concrete example of what that would look like: https://github.com/aspnet/Options/blob/maestro/master/src/Microsoft.Extensions.Options/ConfigureNamedOptions.cs#L66

@HaoK would you please elaborate on that and provide a working example please?

@cilerler Could you show exactly what you would like to log and how from your GracePeriodManagerServiceSetting class? I agree with David here that logging from the options POCO is a sign for code smell. You can probably do this better by moving the logging logic elsewhere.
From the example you have given using the configuration manager, it is unclear though what you are actually trying to do (and how that contradicts David’s comments).

Rough idea of the code you need to consume services would be the following, I do agree with the other comments that this seems like a lot of work just to log stuff here
// services.AddTransient<IConfigureOptions<GracePeriodManagerServiceSetting>, MyConfigure>();
public class MyConfigure : IConfigureOptions<GracePeriodManagerServiceSetting> {
    public MyConfigure(ILogger<GracePeriodManagerServiceSetting> logger) => _logger = logger;
   public Configure(GracePeriodManagerServiceSetting s) { // use _logger }
}

@HaoK I’m not sure if this is really about configuring the options (since there is still a mention of an appsettings.json) but rather consuming the options and then parsing it into a higher level object. And that parsing process could fail and these failures should be logged. At least that’s how I am currently interpreting this.

@poke please locate GracePeriodManagerServiceSetting.cs above and look for commented //_logger.LogError(ce, ce.Message); lines.  Well you just posted another message and it is exactly what I'm trying to do.

I was mostly just looking at this issue from the context of the title about  IOptionsSnapshot<T> requiring a public constructor, it sounds like if this issue moving away from options now, maybe its best to open a new issue, or retitle this one.  I was just visiting issues tagged with repo:Options since they basically haven't been looked at in a while

@cilerler Well, if that’s how you want to use the pattern, then you are using it incorrectly. The options object is supposed to be a really simple object without any behavior. Having a complex getter there is already wrong (not to mention the fact that your property does not even follow the invariant that it returns the same value you set).
You should understand the options object as a POCO that directly represents the values in your appsettings.json. Since the value is a string in the JSON, it is also a simple string—without any attached logic—in the options object.
I would recommend you to split up your logic into some helper method that is able to parse the options object and then returns whatever complex result you want from that. That helper could be a service that you register with your dependency injection container, so you can access services like logging. In general though, you should think about which parts of your application have the actual responsibility to log stuff. It’s rare that some parsing utilities would have to log. It’s a lot more common that the parsing fails and then you throw an exception, and then one way to handle that exception would be to log it; but you would do this further up in the application stack.

In-case someone find this out and looking for a solution
old way
https://andrewlock.net/delaying-strongly-typed-options-configuration-using-postconfigure-in-asp-net-core/
new way
https://www.stevejgordon.co.uk/asp-net-core-2-2-options-validation


Lb service and target services stuck in "activating" state when stack was deactivated and activated back.

Server version - v0.46.0-rc4
Steps to reproduce the problem:
Create a stack.
Create service S1.
Create LB service with target as S1.
Start both the services.
Now de-activate the stack .
Wait for all instances to be stopped.
Activate the stack .
Both LB service and the target service are stuck in "activating" state forever.

Tested with lasted build from master:
Create a stack.
Create service S1.
Create LB service with target as S1.
Start both the services.
Now de-activate the stack .
Wait for all instances to be stopped.
Activate the stack .
Both LB service and the target service get to "Active" state as expected with all the instances in "running" state.


DMA support for all chip variants

The PR provides DMA support for all chip variants. DMA support is probably lower on #56's TODO list. However, the DMA implementation is more unique than the other peripherals, since the RAL interface was hand-written. Hand-writing the RAL was necessary for providing a simpler API, since the svd2ral script generated a lot of symbols.
I arrived at this implementation by studying the reference manuals. In summary, the 1011 chip only has 16 DMA channels; chips that are 1015 and higher hav 32 DMA channels. When you have more than 16 DMA channels, you have the option for channel grouping. Today's DMA driver doesn't support channel grouping, so this is only a comment in the code.
The conditional compiles are hidden behind a new chip module, private to the DMA driver. We use the common symbols from the chip module throughout the implementation.
This is a backwards-compatible change. We now export a new constant, DMA_CHANNEL_COUNT, which signals the number of DMA channels supported in the implementation. Crate users should favor that constant instead of hard-coded 32s.

Draft until we figure out

[ ] what DMA_CHANNEL_COUNT should be if there are no feature flags
[ ] what to do when users do something like this in their "generic" code:

let mut dma_channels = peripherals.dma.clock(&mut peripherals.ccm.handle);

let tx_channel = dma_channels[9].take().unwrap();  // OK; 9 < 16
let mut rx_channel = dma_channels[25].take().unwrap(); // Err, 25 > 16, won't work for 1011 generic code

So the above makes me think channel_count_32 should be a feature flag enabled by default, and when enabled you don't have to worry about the None type for a channel. I can disable the default feature for 1011 in the hal


[MOBILE] Switching tabs on the Search page reset search results

Tested on Pixel 5. Android 12
STR:

Enter "testdao" in a search field
Click on See All button
Swith to Proposals tab OR Members tab

ER:
Switching tabs on the Search page reset search results
AR:
Switching tabs on the Search page does not reset search results

Not fixed. Moved in todo

Verified on dev. Fixed


Multipath descriptors

This introduces the possibility to have multiple recovery paths in a Liana wallet. This is particularly helpful for decaying multisigs or a spending policy that involves a third-party co-signer in the recovery (in order to have a later recovery path that gets rid of the co-signer).
We start by introducing the Miniscript policy compiler to create the Liana descriptor from spending policies configuration. As a by-product, we also lift the limits on the number of keys usable per spending path that were in place because we hardcoded the use of multi(). The partial spend analysis and the createrecovery commands are adapted to support multiple recovery paths.
Is there any place i might be missing that needs to be adapted or that would assume single-recovery-path descriptors?
Closes https://github.com/wizardsardine/liana/issues/54.

Opening so you can start having a look, but i still need to write functional tests.

Rebased.

re-ACK 7211b96ca936a449916b0cca3e0a64b09463e813 -- re-applying Edouard's ack after a trivial rebase.


Azure Event Hub history component

Description:
A component to use a Azure Event Hub to send history to, from there can be easily connected to datastores, analytical services, notifiers and visualizations.
Related issue (if applicable): fixes #
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#9462
Example entry for configuration.yaml (if applicable):
azure_event_hub:
  event_hub_namespace: !secret eh_namespace
  event_hub_instance_name:  !secret eh_instance
  event_hub_sas_policy: !secret eh_sas_policy
  event_hub_sas_key: !secret eh_sas_key
  filter:
    include_domains:
    - homeassistant
    - light
    - media_player

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

@pvizeli I see your thinking, the reason I chose Event Hub is that that is used across all other azure places where it is used, the portal, docs, pretty much everywhere except for the python sdk (.Net SDK has EventHub and Node SDK has event-hubs). So I'm gonna post an issue that they should get that inline and this will stay the same as far as I'm concerned!

Your choice, but you will stick forever on that name ;)


Promisified mkdtemp?

> require('fs-promise').mkdtemp('test')
undefined // expected Promise

@futpib What version of fs-promise are you using? Also, what Node.js version are you using?

@RyanZim
node v7.7.4
fs-promise 2.0.1

Confirmed. This issue should be moved to https://github.com/normalize/mz, since they handle promisifying the native fs methods. Would you mind doing that for me? Thanks!

Well, It is apparent from sources that fs-promise does not reexport mkdtemp.
Also
> require('mz/fs').mkdtemp('test')
Promise { <pending> }

Oh sorry, didn't realize we had such a brittle approach to this. I'll try and fix this tonight.

Version 2.0.2 Published.  Thanks!


[Synapse] Bump Swagger for nullability fix

To pickup https://github.com/Azure/azure-rest-api-specs/pull/12258 to fix a test found failing in https://github.com/Azure/azure-sdk-for-net/pull/17739
Turns out the service team change Msg to Message, which required a small test fix (we're not API stable right now, so that's fine).

I'll forward your comment to the service team (to consider in the swagger), I think more consistency on msg and capitalization is valuable.

I'll forward your comment to the service team (to consider in the swagger), I think more consistency on msg and capitalization is valuable.

I opened https://github.com/Azure/azure-rest-api-specs/pull/12390 to discuss w\ service team the Dotnet -> DotNet name.
I can do a transform if needed, but if we can fix it here even better.

I opened https://github.com/Azure/azure-rest-api-specs/pull/12390 to discuss w\ service team the Dotnet -> DotNet name.
I can do a transform if needed, but if we can fix it here even better.

Bumped to new swagger with DotNet name fixed.

Bumped to new swagger with DotNet name fixed.


Czech translation for 3.x

What's new

A cs_CZ translation for the dev3 branch

What's fixed

No bugs fixed

Thanks!


APT whitelist request for g++-4.8-multilib:i386

This is for "precise." gcc-4.8-multilib:i386 and g++-5-multilib:i386 have already been whitelisted.

g++-4.8-multilib:i386 does not appear to a package name on which our automation process can handle.
APT packag request should be made for exactly one package, according to the form specified in
https://github.com/travis-ci/apt-package-whitelist#package-approval-process.
If the source package of your requested package contains other related packages, you do not
have to open another one for those.
(When in doubt, do.)