Show a progress bar during mapping file uploads

Goal
Mapping files often take a long time to upload, and while debugging I found myself wishing I could see the progress. This does that!

Design
This is something we do internally for downloads and was easily adapted for uploads by wrapping the request body if the retrofit endpoint opted it in via @DisplayProgress.
This can be disabled via bugsnag { displayUploadProgress = false } in gradle
This would go nicely with #277 as well. Right now it's only set up for mapping file uploads but can easily be set up for other endpoints by simply annotating them with that same @DisplayProgress annotation.
Changeset
See above
Tests
Added a simple smoke test and also manually tested in our own project

@ZacSweers thanks for raising the PR.  It's in the queue for a review, we'll revert here with any review comments in due course.

I've resolved the conflicts and tried this out locally and had a couple of queries.

when running mazerunner features/ndk_app_agp400.feature locally, the upload message doesn't appear to display for the BugsnagUploadProguardTask, and only displays once rather than 4 times for the BugsnagUploadNdkTask.
Most of the time the console seems to get stuck on this last message which could be a bit misleading - is there any way to clear/reset that to indicate that the upload was completed?

Uploading  99% [===================================>] 0/0MB (0:00:00 / 0:00:00)

Sorry for the delay!
For 1 - if the upload happens fast enough then it will sometimes not show at all. Could that maybe be what you were seeing?
For 2 - it implements Closeable, so if we can bind it to something like task execution we can make sure it gets closed. I can take a look at if there's an edge case where we don't close


Delete duplicate VoicePillars.hs

See https://github.com/lukexi/rumpus/blob/master/util/ObjectArchive/Home/VoicePillars.hs , which is older by 6 days.

Aha, this is just because that "Home" is an archived snapshot of a previous arrangement of the Home room (now called the Lobby) - the files in the folder determine which objects are available for instantiation in a particular room so it's normal for there to be duplicate files.
I'll just delete the whole ObjectArchive as soon as I'm sure I've rescued anything worthwhile in there : )


fix(gatsby-ipfs-web-wallet): Updating to v1.19.0

:tada: This PR is included in version 1.19.1 :tada:
Your semantic-release bot :package::rocket:


Alternative of JDoodle

Hello There.
I want to ask you that, do you have any better alternative than JDoodle for compiling. Because it gives around 200 API calls. Which is not feasible.

I was thinking of having like 5 jdoodle accounts and get up to 1000 calls per day lol, but then that is also not scalable, what I think I want to do is have a docker container running piston on azure which can compile different languages for as many times as we want until that server is running.

I was thinking of having like 5 jdoodle accounts and get up to 1000 calls per day lol, but then that is also not scalable, what I think I want to do is have a docker container running piston on azure which can compile different languages for as many times as we want until that server is running.

@Rishabh-malhotraa, If you are planning to do that, then it would be great.


Start before end time in status outs

e.g.:
Starting listener at 2022-03-09 08:16PM
Event: whatever

[...]

Search finished at 2022-03-09 08:03PM

14,270 tweets returned by API

Also, thanks, great help right now over here: https://github.com/Leibniz-HBI/ukraine_data

Thanks for catching this!


Lume components don't render in JSX pages as expected

Version
2.0.3
Platform
Windows
What steps will reproduce the bug?
By following the button sample at https://lume.land/docs/core/components, I end up with index.jsx and _components/button.vto (see lume-components.zip).
How often does it reproduce? Is there a required condition?
Always.
What is the expected behavior?
I expect index.jsx to produce this index.html:
<!DOCTYPE html>

Welcome to my site.
<button class="button">Login<button>

What do you see instead?
Instead the tags in button.vto get HTML-escaped, producing:
<!DOCTYPE html>

Welcome to my site.
<button class="button">Login</button>

Additional information
The same happens if I implement the button component using a js module. However, when I use JSX the button is rendered correctly.
I'm not an expert on JSX by any means. I couldn't even figure out how to make it output raw HTML without involving an unnecessary
 wrapper with dangerouslySetInnerHTML but since the docs say that "Lume components can be used like React components if you're using the JSX plugin:", I'd assume Lume would handle the raw HTML output for me. (Or maybe the docs should be more specific and say that this works correctly only when "...the component is using the JSX plugin...".
P.S.: I really enjoy using Lume and have been doing so for months now. Thanks! :3

You're right and the documentation should clarify this. Components work well if you're using JSX components inside a text-based template engine (like JSX button inside a Vento page) or JSX components in JSX templates.
What don't work well is text-based components inside JSX template engines (like in your example, a Vento component inside a JSX page), because strings are automatically escaped in JSX.
I didn't found a good way to fix that and probably the div wrapper is be best solution ATM.


Create a develop build for app

Make sure all dependencies are correct and the app builds in pipeline.
Acceptance criteria
1 - A version of the app delivered to testflight and play store beta

Lots of bugs were found during this. It became a bigger task than estimated. Should've left the bugs and created new issues in the respective repositories.
The android build is still not working because decision sdk have a gradle bug.
https://github.com/tiki/decision/issues/27


fix migrate-az-4.1.0

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

Docs Build status updates of commit 2a25332:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-conceptual/azps-4.1.0/migrate-az-4.1.0.md
:warning:Warning
View (azps-4.1.0)
Details

docs-conceptual/azps-4.1.0/migrate-az-4.1.0.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

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

Docs Build status updates of commit 38c4996:
:clock10: Full build: the average full build time is 27 min(s) 11 sec(s), this is based on the last 388 build(s) for this repository.

Docs Build status updates of commit 38c4996:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-4.1.0/migrate-az-4.1.0.md
:white_check_mark:Succeeded
View (azps-4.1.0)

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


Lumen route support.

We know, the Route facade does not work in Lumen. I made a simple work that let the package work well for Lumen.

Thanks for your contribution :)
I think i few thinks can be done simpler, also where is the different serviceProvider for?
And how did you get Illuminate/Routing to get to work?

Yeah, you are right and simpler.
But another problem is: the unused AuthorizesRequests and ValidatesRequests are not supported in Lumen too. I will close this PR and hope you can remove them in controller later.
And, thanks for your nice work.


Fixed a typo in the artifacts' names in README

Updated the README according to the latest artifact names ('gradle-dependency-viewer' => 'gradle-dependencies-viewer').

Thanks for the fix.

Thanks for the tool. :)


Missing ~ before script src in view Default

Hello, from version 6+, in the view:
\Views\Shared\Components\NToastNotify\Default.cshtml
the ~ before script src is missing, so you can't deploy the web application in a server subfolder.
v6+
<script<EMAIL_ADDRESS>v5
<script src="~/NToastNotify/js/dist/<EMAIL_ADDRESS>Can you fix it, please?
Thank You

Could you make a quick PR for this please, I may not have enough time to get to fixing this.

Fixed with #116


we have an MPL::Find and an MPL::At, do we need an MPL::Get?

MPL::Find returns an index or Int<-1> if not found, MPL::At can use this index to get the actual type do we need another function which does both in one step? What should it return in the case of not found?

Get implemented (we did need it)


Latest build of PocketMine-MP causes error in console for MyPlot API3 plugin

[x] This issue isn't duplicated - you can check if it is by using the search bar located at the top left hand corner and select "Issues" on the left.
[x] This issue includes appropriate markdown for sections - e.g. code blocks for crash dumps.
[x] This issue is understandable - feel free to use your native language to write issues if you are not comfortable with English.

Issue description
Error in console when loading MyPlot plugin on lates PM build.

Reproducing the issue

Running the latest PM build start server with MyPlot API3 plugin
...

Client information
PocketMine-MP Version:  PocketMine-MP 1.6.2dev 「Unleashed」 implementing API version 3.0.0-ALPHA3 for Minecraft: PE v<IP_ADDRESS> (protocol version 101)
Plugin Version:  MyPlot v1.1.3
PHP version: 7.0.13 (default)

Optional information
Warning: syntax error, unexpected '&' in phar://C:\Users\Mark\Desktop\PocketMine - 1.0 - Alpha3\plugins\MyPlot_1_Plot_Default.phar/resources/eng.ini on line 2
 in phar://C:/Users/Mark/Desktop/PocketMine - 1.0 - Alpha3/PocketMine-MP.phar/src/pocketmine/lang/BaseLang.php on line 85

I believe this is because dktapps changed how pocketmine does it's ini parsing

use lang.yml for language and update command system to fix the issues

This issue should be fixed in the most recent commit


GitHub import - repo website url

Description
Migrating a GitHub repository to Gitea.com does not seem to copy the website url.
When copying the url manually I had to add an explicit https:// prefix, so perhaps it's the same issue with the automatic import.
Gitea Version
1.21.1
Can you reproduce the bug on the Gitea demo site?
Don't know
How are you running Gitea?
gitea.com

What's the prefix for did you mean?

We close issues that need feedback from the author if there were no new comments for a month. :tea:


while excecuting  this python3 main.py /main.py

rajeshnayar@rajeshubuntu:~/Downloads/smd-master$ ./main.py
Traceback (most recent call last):
  File "./main.py", line 3, in <module>
    from youtube import Youtube
  File "/home/rajeshnayar/Downloads/smd-master/youtube.py", line 16, in <module>
    from moviepy.editor import *
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/moviepy/editor.py", line 26, in <module>
    imageio.plugins.ffmpeg.download()
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/imageio/plugins/ffmpeg.py", line 71, in download
    get_remote_file(fname=fname,
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/imageio/core/fetching.py", line 127, in get_remote_file
    _fetch_file(url, filename)
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/imageio/core/fetching.py", line 181, in _fetch_file
    raise IOError('Unable to download %r. Perhaps there is a no internet '
OSError: Unable to download 'ffmpeg-linux64-v3.3.1'. Perhaps there is a no internet connection? If there is, please report this problem.
rajeshnayar@rajeshubuntu:~/Downloads/smd-master$ python3 main.py
Traceback (most recent call last):
  File "main.py", line 3, in <module>
    from youtube import Youtube
  File "/home/rajeshnayar/Downloads/smd-master/youtube.py", line 16, in <module>
    from moviepy.editor import *
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/moviepy/editor.py", line 26, in <module>
    imageio.plugins.ffmpeg.download()
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/imageio/plugins/ffmpeg.py", line 71, in download
    get_remote_file(fname=fname,
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/imageio/core/fetching.py", line 127, in get_remote_file
    _fetch_file(url, filename)
  File "/home/rajeshnayar/.local/lib/python3.8/site-packages/imageio/core/fetching.py", line 181, in _fetch_file
    raise IOError('Unable to download %r. Perhaps there is a no internet '
OSError: Unable to download 'ffmpeg-linux64-v3.3.1'. Perhaps there is a no internet connection? If there is, please report this problem.
rajeshnayar@rajeshubuntu:~/Downloads/smd-master$

This will fix your problem:
sudo apt-get install libxml2-dev libxslt-dev python-dev
you can execute the individually if it didn't work properly.

I get the same error. I installed all packages.
$ cat requirements.txt | awk -F= '{print $1}' | while read line; do pip show $line; done | grep -e "Name" -e "Version"`

Name: notify2
Version: 0.3.1
Name: spotipy
Version: 2.4.4
Name: lyricsgenius
Version: 1.4.0
Name: lxml
Version: 4.3.3
Name: mutagen
Version: 1.41.0
Name: requests
Version: 2.21.0
Name: moviepy
Version: <IP_ADDRESS>
Name: imageio
Version: 2.3.0
Name: humanize
Version: 0.5.1
Name: pygame
Version: 1.9.6
Name: youtube-dl
Version: 2019.7.30
Name: Flask
Version: 0.12.2
Name: pytube
Version: 9.5.1
Name: PyQt5
Version: 5.15.0
Name: beautifulsoup4
Version: 4.8.0

$ pip show PyQtWebEngine | awk 'NR<=2{print}'

Name: PyQtWebEngine
Version: 5.15.0

This will fix your problem:
sudo apt-get install libxml2-dev libxslt-dev python-dev
you can execute the individually if it didn't work properly.

fix does not work for me
$ xml2-config --version
2.9.10
$ xslt-config --version
1.1.34
$ python --version
Python 3.8.2

error message gave

OSError: Unable to download 'ffmpeg-linux64-v3.3.1'. Perhaps there is a no internet connection? If there is, please report this problem.

I can't tell if this has anything to do with the actual FFmpeg
$ ffmpeg -version
ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.3.0 (Arch Linux 9.3.0-1)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100

and if relevant
OS: Manjaro Linux x86_64
Kernel: 5.4.36-1-MANJARO
Shell: zsh 5.8
WM: i3

same error


End-to-End Encryption between Hosts

Proposal
Implementing mTLS between Hosts, rather than between pods. This would require to route a connection between two maesh proxies (one per node), instead of only one (on the target node) today. That would still bring mTLS between nodes in the cluster, but not when pods are running on the same node.
Background
One of the benefits by introducing a Service Mesh is the possibility to have end-to-end encryption (mtls) between services. While Maesh is currently not build to have one sidecar proxy per service to be light-weight, we're not intending to change that. In our opinion, end-to-end encryption between hosts in a service-mesh is sufficient.

This sounds like a reasonable idea to implement this kind of security. This leaves essentially two options:

Leave the host-to-host encryption to the cluster implementation.
Implement this in maesh. Maybe you could leverage wayguard as encryption solution in a way similar to gravitational/wormhole.

Is there a use case where it's more advantageous to implement mTLS at the service mesh layer when it can be implemented at the CNI layer? For my cluster I use WeaveNet to supply full network encryption transparent to all of my services which encrypts TCP and UDP traffic.

@gravypod Great question.
If you are not using a CNI plugin that allows for encryption, or you may only want certain traffic encrypted, you may want to offload encryption to the service mesh.
The other situation is where you want to protect traffic from one service from being visible from another service inside your mesh. In that case, encrypting at the network level doesn't help, because all traffic is decrypted for network members.

Not sure I'm understanding the full scope here, but if you're looking for mTLS between Go applications, you could evaluate https://github.com/johanbrandhorst/certify which automates this, given an existing CA with an API (Vault PKI, CFSS, etc). Not sure if this would be appropriate for this use case.
Disclaimer: I'm the author of certify.

@jbdoumenjou most software isn't written in Golang and an in-application solution for this sort of thing is very limiting. For example, in development you might not want to use mTLS for debugging reasons. Having an out-of-code solution for this sort of thing is ideal in my yes. From @dtomcej 's comment it's clear that there exists a use case that is fairly well reasoned at an application-level that would benefit from this feature.

@jbdoumenjou most software isn't written in Golang and an in-application solution for this sort of thing is very limiting.

I think there's a misunderstanding - I was suggesting the use of certify within the scope of maesh, an application that is built in Go.


Incompatible with IntelliJ 2019.3

The plugin is entirely disabled by IntelliJ because it is Incompatible with the current IntelliJ IDEA version.
Plugin version: unclear. Under "marketplace", IntelliJ reports 0.28-2019.3 (and says it is "installed"). Under "installed", IntelliJ reports 0.18-2018.1.
IntelliJ version:
IntelliJ IDEA 2019.3 (Ultimate Edition)
Build #IU-193.5233.102, built on November 27, 2019
Runtime version: 11.0.4+10-b520.11 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.1
GC: ParNew, ConcurrentMarkSweep
Memory: 1631M
Cores: 8

Works for me with the exact same IntelliJ and Lombok Plugin versions in macOS: 10.13.6.

I noticed that after uninstalling and reinstalling the plugin, it started working. So it looks like it's the automatic update of the plugin that is somehow broken (IntelliJ did not offer to update this plugin, even though it did so for other plugins which were also marked as Incompatible with the current IntelliJ IDEA version.. I wonder if the fact that IntelliJ reported two different version numbers had something to do with that.

You might be right @bol-com-pschmitz and it's something related to the plugin upgrade process. I did just install IntelliJ 2019.3 fresh and, obviously, the plugin as well, so I didn't upgrade the plugin.

@bol-com-pschmitz Did you update your Intellij from 2018.1 to 2019.3?  Plugin version "0.18-2018.1" is pretty old and doesn't support 2019 Intellij of course. But you should be able to update it automatically in marketplace. Just execute "Help"->"Check for updates" in IntelliJ.

@mplushnikov No, from 2019.2 to 2019.3. The plugin had apparently never been updated, even though IntelliJ is to set to automatically check for plugin updates, and there are no ignored updates. "Check for updates" didn't flag it for updating either. As far as I could tell, there was no update.
I wonder if the fact that IntelliJ was reporting two different versions (see above) had something to do with that.

I am also having an issue after updating to intellij 2019.3 and the latest lombok plugin (0.28-2019.3). Intellij doesn't recognize any of my annotated classes.

Hi @klporter , I meet this issue too. and I solve by:

reinstall lombok plugin.
upgrade lombok dependency:

org.projectlombok
lombok
1.18.10

If still not resolve, close IDEA and clear IDEA file(.idea/*), and then restart IDEA.

I faced the same problem. I could resolve it by updating the Lombok plugin directly via the IntelliJ "Plugins" dialog. After a restart, the plugin worked smoothly.

Same for me :(
IDEA version Ultimate 19.3.2
Lombok plugin version 0.28-2019.3
Lombok project library version 1.18.10
OS macOS Catalina version 10.15.3
Annotation processing is enabled
Lombok plugin is enabled
Everything was installed, reinstalled, and restarted ). Gradle imports the library, IDEA understands annotations very well, but compiler fails.

I have the same problem. In my case code navigation works correctly. It looks like an editor "sees" Lombok annotations but when I build the module I get bunch of errors like Lombok annotations is not processed at all.
What's interesting is that it started today on two independent machines. Both of them probably updated Intellij to version 19.3.3.
IDEA version Ultimate 19.3.3
Lombok plugin version 0.28-2019.3
Lombok project library version 1.18.10
Ubuntu 16.10
After downgrading to Intellij 19.2.3 and Lombok plugin 0.27-2019.2.3 still have the problem.

It was @UtilityClass annotation which broke my build (and that one error cascaded to other classes). It's more Lombok-related. The following code breaks build:
@UtilityClass
public class ProxyUrlBuilder {
    public String proxyUrl(String baseProxyUrl, String requestPath, String queryString) {
        return baseProxyUrl + requestPath + (isEmpty(queryString) ? "" : "?" + queryString);
    }
}

whereas following fixes the build:
@UtilityClass
public class ProxyUrlBuilder {

    public static String proxyUrl(String baseProxyUrl, String requestPath, String queryString) {
        return baseProxyUrl + requestPath + (isEmpty(queryString) ? "" : "?" + queryString);
    }
}

I hope I save someone hours of investigation.

Same for me :(
IDEA version Ultimate 19.3.2
Lombok plugin version 0.28-2019.3
Lombok project library version 1.18.10
OS macOS Catalina version 10.15.3
Annotation processing is enabled
Lombok plugin is enabled
Everything was installed, reinstalled, and restarted ). Gradle imports the library, IDEA understands annotations very well, but compiler fails.

Solution for me was to switch from "Obtain processors from project classpath", and specify path to lombok jar manually.

IDEA version Ultimate 19.3.3
Lombok plugin version 0.28-2019.3
Solution for me was to remove the .idea-project folder. After reimporting, the annotation processor worked fine again.
Uninstalling and reinstalling the lombok plugin itself didn't do the trick.

IntelliJ IDEA 2019.3.2 (Ultimate Edition)
Build #IU-193.6015.39, built on January 21, 2020
Runtime version: 11.0.5+10-b520.30 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 5.3.0-28-generic
GC: ParNew, ConcurrentMarkSweep
Memory: 2014M
Cores: 4
Registry:
Non-Bundled Plugins: Lombook Plugin, com.intellij.plugins.html.instantEditing, org.intellij.scala
reinstalling plugin, restarting IDEA, removing .idea folder, different versions of lombok itself didn't fix the problem

Lombok plugin works very well in IntelliJ 2019.3+
I'm working every day with it, and didn't see any problems.
What are we talking about? What is not working in your environment?
If you get any compiler-errors, this is nothing what plugin is responsible for. Check and double check your build configuration in maven/gradle or what are you using in the project.
Check if 'mvn install'/'gradle jar' works on command line.
Build in Intellij should work without compiler errors, also if you have no plugin installed!( You will see red code in editor, but compile should simple work)
If some of this steps are not working, something in your configuration is broken, but have nothing to do with the plugin.
Only if everything compiles and you still see red code in editor window, we have to look on plugin.
Plugin make IDEA understand annotations and show autocompletion for code etc. Compatible plugin build for Intelllij 2019.3 is plugin 0.28-2019.3. For Intellij 2019.2  -> 0.28-2019.2 and so one.

Hi @klporter , I meet this issue too. and I solve by:

reinstall lombok plugin.
upgrade lombok dependency:

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>

If still not resolve, close IDEA and clear IDEA file(.idea/*), and then restart IDEA.

Thanks,I fixed it by this.

I noticed that after uninstalling and reinstalling the plugin, it started working. So it looks like it's the automatic update of the plugin that is somehow broken (IntelliJ did not offer to update this plugin, even though it did so for other plugins which were also marked as Incompatible with the current IntelliJ IDEA version.. I wonder if the fact that IntelliJ reported two different version numbers had something to do with that.

Worked me for IDEA 2020.1

In my case, it worked after i realized i was trying to test a @Getter annotation over a primitive boolean field.
Apparently, despite it works for other primitive types (int, for instance), IntelliJ 2019.3.4 and Lombok plugin 0.29-2019.3 does not recognize the Getter for my "private boolean enabled" field.
Hope it helps.

And I've tried to use @Value annotation (expecting from it to generate all-args constructor) and another overloaded version of constructor which used all-args constructor. .
Documentation says:

any explicit constructor, no matter the arguments list, implies lombok will not generate a constructor.

So, my fault.. It would be nice if lombok plugin would indicate such flow though


fix: update .releaserc to accept beta versions

:tada: This PR is included in version 5.20.0-beta.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Updated the method names

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

@sankumrav Please sign the CLA to complete the PR

Agreed with CLA. Requested detail below:
@microsoft-github-policy-service agree [company="Microsoft"]
Thanks,
Santhosh
From: microsoft-github-policy-service[bot] @.>
Sent: Monday, October 10, 2022 7:58 PM
To: microsoft/PowerPlatformConnectors @.>
Cc: Santhosh Kumar Ravi @.>; Mention @.>
Subject: Re: [microsoft/PowerPlatformConnectors] Updated the method names (PR #2044)
@sankumravhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsankumrav&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=N3NXl9PzdLzDtt8YkxLV3y3eT8%2F7LxdMVtN7p7Tr9es%3D&reserved=0 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.
Contributor License Agreement
Contribution License Agreement

This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttps://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.opensource.org%2F&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=NrG%2B2l9rewaGXYGxdApQczpYwlHU2TkefpuwLUSVc7s%3D&reserved=0).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerPlatformConnectors%2Fpull%2F2044%23issuecomment-1273922158&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=eWqlT3HW%2Bq7eYKJTD9HBNO8iEQR%2B2bZypk2UsRoa66I%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA3H2UD5ATKGPEZKSGJO7S6TWCSUO3ANCNFSM6AAAAAARBYSNFA&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=kTZkTKnc%2FivycUi7sm0q3adYvZmrhSpdYRLl4ixnEIA%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@microsoft-github-policy-service agree company="Microsoft"
Thanks,
Santhosh
From: Santhosh Kumar Ravi
Sent: Monday, October 10, 2022 9:00 PM
To: microsoft/PowerPlatformConnectors @.>; microsoft/PowerPlatformConnectors @.>
Cc: Mention @.***>
Subject: RE: [microsoft/PowerPlatformConnectors] Updated the method names (PR #2044)
Agreed with CLA. Requested detail below:
@microsoft-github-policy-service agree [company="Microsoft"]
Thanks,
Santhosh
From: microsoft-github-policy-service[bot]<EMAIL_ADDRESS>Sent: Monday, October 10, 2022 7:58 PM
To: microsoft/PowerPlatformConnectors<EMAIL_ADDRESS>Cc: Santhosh Kumar Ravi<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/PowerPlatformConnectors] Updated the method names (PR #2044)
@sankumravhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsankumrav&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=N3NXl9PzdLzDtt8YkxLV3y3eT8%2F7LxdMVtN7p7Tr9es%3D&reserved=0 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.
Contributor License Agreement
Contribution License Agreement

This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttps://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.opensource.org%2F&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=NrG%2B2l9rewaGXYGxdApQczpYwlHU2TkefpuwLUSVc7s%3D&reserved=0).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerPlatformConnectors%2Fpull%2F2044%23issuecomment-1273922158&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=eWqlT3HW%2Bq7eYKJTD9HBNO8iEQR%2B2bZypk2UsRoa66I%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA3H2UD5ATKGPEZKSGJO7S6TWCSUO3ANCNFSM6AAAAAARBYSNFA&data=05|01|sanravi%40microsoft.com|61275d2129f64ee0158808daab1b3324|72f988bf86f141af91ab2d7cd011db47|1|0|638010430565753226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=kTZkTKnc%2FivycUi7sm0q3adYvZmrhSpdYRLl4ixnEIA%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Access to multiple Vault backends

Since Vault allows for multiple secrets engines, it seems reasonable to expect that one might use multiple engines for the same project. For my requirements, we're storing our database secrets in an engine of the database type and the rest of our secrets in a key-value type. It seems that this is not possible using the current code (based on a quick attempt at implementation), and some Pivotal documentation seems to indicate as much.
I can see this being implemented one of two ways. Either the Vault configuration should allow for a list of backends, or multiple Vault repositories should be allowed. The second option was mentioned #660, but it does not seem that was addressed.

The composite environment repository allows multiple repositories if the same type. It only returns data from the first matched though (there's an open issue to return from multiple).

Here is the info on configuring composite environment repos let us know if this solves the problem
http://cloud.spring.io/spring-cloud-static/Greenwich.RELEASE/single/spring-cloud.html#composite-environment-repositories

The quick implementation I mentioned was just that, and it revealed just what Spencer mentioned: the app started up fine, but it only returned data from the first.
I guess, given the confirmation that what I want isn't really available, my interest is which the correct way forward is. Spencer, you addressed the multiple repositories approach; what's the issue that addresses that? Furthermore, is that the desired solution because implementing a list of secrets engines is too hard to implement?

Ah OK.  I couldnt find the issue @spencergibb mentions around returning data from multiple repos.  There is an issue around continuing to check multiple repos if one returns an error.

Maybe that's the one I was thinking of. This could be an operational model, return all of them. Could be configurable. Maybe we use this to track that notion

My apologies, this seems to actually be working. I caught myself with one kvVersion 1 secrets engine and one kvVersion 2 secrets engine while I had them both set as 2 in the app. After correcting my configuration, I'm receiving both sets of configuration.
I think that means that, as the issue is now titled, this is already working (at least for Vault repository in particular). However, I do think it would be nice to enable multiple backends per Vault repository rather than having to declare multiple repositories.

However, I do think it would be nice to enable multiple backends per Vault repository rather than having to declare multiple repositories.

Could you open a separate issue for this?


Add some UX to let users know that having multiple formaters is discouraged

Refs: #71093
If a user has multiple formatters we will always bother him to choose the one to use.
However nowhere do we say or help the user to know that having multiple formatters is discoureged and that he should disable some.
Since that is exactly what we want, and nowhere do we mention this.
The gear icon in the quick open is far fetched imho
I suggest the following but am open to more ideas:

The very first time per workspace the format or format with actions is triggered and there are multiple show an INFO notification
"There are multiple formatters for this file type. Please disable one of the formatters either via settings or extensions vielwet" - and have two actions (open extensions viewlet, open user settings)
Stop doing this in the status bar. It is too short, and very easy to miss. And can easily get clogged with other content in the status bar

fyi @misolori

Also the status bar is very noise if I have format on save and I save every minute like people usually do.
Thus I am more convinced that we should not show it there all the time.

 It is too short, and very easy to miss. And can easily get clogged with other content in the status bar

What status bar? We are not doing anything there

The very first time per workspace the format or format with actions is triggered and there are multiple show an INFO notification

Yes - that something we have considers. It's just not so easy because the "first" happens for different languages, e.g. different extensions, with different config stories

If I have format on save enabled and have multiple formatters I get a notification in the status bar which formatter got selected every time I press cmd + s (as you have specified in the test plan item).

For "first" can't we just say first per language per workspace.

Just asking because prettier contributes it's own status bar message which confused people.

For "first" can't we just say first per language per workspace.

Ok, it seems that you have missed all standup- and water-cooler-discussion here and that you didn't read https://github.com/Microsoft/vscode/issues/41882. Short answer, 'no' we cannot do that, it doesn't make any sense to add another setting that effectively enables/disables formatter when all formatter already have a setting to enable/disable them.

I actually listened to you in standups. What I meant was a storage service flag that would only influence if we should show a notificaiton via the the notifcation service. So it would not affect the actual behavior, just if we show a notification or not.

Ok, I start to understand what you are saying... I am not a fan of showing this only once because you likely dismiss it the first time without actually reading/understanding what it said. What we could do is the following

per language and set of formatter (extensions)
show a notification when multiple formatters exist
show the same notification as silent notification from then one

The notification would guide you towards the extensions viewlet (maybe settings editor) and gives you a nice, stable way to configure yourself out of this.
However, this doesn't really solve the issue that folks what to know what happens when multiple formatters are active and which formatter is actually being used. The status bar message is meant to be borderline annoying TBH but the its weak spot is that it doesn't guide you out of this

Can we possibly do this, together with solving #71196:

For any "Format with..." command, show an additional option at last "Resolve multiple formatters"
Drop the gear
Make StatusBar message, when clicked, also run the command "Resolve multiple formatters"
"Resolve multiple formatters" command opens settings editor while sending a notification that guides you to disable formatter extensions.

It could be added below a divider so it doesn't confuse people as an option, too:

So this image becomes:

Vetur
Prettier — Code formatter
------
Resolve multiple formatters

"Resolve multiple formatters" command opens settings editor while sending a notification that guides you to disable formatter extensions.

That's not so easy... For once the settings editor cannot be told to show settings from a certain extensions and that there are some extensions that only format a single language. For them, having a setting doesn't make sense and you should just un-install them.

A very common use case is you juggle through multiple repos, some using TS formatter, and some using Prettier. I don't see myself uninstalling or disabling one of them completely, even for workspace. For example they conflict on JS but Prettier has a useful JSON formatter that I always use when editing package.json.
The message can be a simple message that prompts user's action (instead of doing the action itself), like "X formatters found for the file X.xxx, you can disable some of them in workspace configuration to avoid formatter conflict".

For example they conflict on JS but Prettier has a useful JSON formatter

Prettier is not a simple formatter for a single language, the css-formatter1 is and for that I would not expect a setting but I would use workspace enablement or uninstalling.
The case of different projects and different formatters is interesting but I think the workspace-settings solution is flawed. Take vscode, we use the builtin TypeScript formatter. Now, you install prettier because of personal preference and/or because you use it in other projects. Now, why would it be ok that the vscode project has a setting to configure prettier? Isn't that a weird coupling? Everyone not using prettier would see a warning about an unknown setting. I really don't know a good answer to this...

Now, why would it be ok that the vscode project has a setting to configure prettier? Isn't that a weird coupling?

Yeah, that's the last piece to the puzzle I hope we can fill. What I really want is a workspace config that allows me to say "For *.ts file, use TS Formatter in this workspace".
Otherwise each project would end up adding:
{
  "js-beautify.enable": false,
  "prettier.enable": false,
  "yet-another-popular-ts-formatter.enable": false
  ...
}

I thought document formatter was broken! I used a different shortcut key, and nothing was happening, tried to change "default" to Typescript built in, still, not picking up...
"vetur.format.defaultFormatter.ts": "vscode-typescript"
is not doing anything... uninstalling prettier

After talking to @weinand and @aeschli and after understanding all the feedback and the use-cases (thanks for that) we think it's time for one more setting: editor.defaultFormatter: <extensionId>. That ensures you can mutually exclusive configure one formatter. The new setting can be defined per language and is "stronger" than all other formatter settings.
Samples:
⬇ This configures prettier to be the formatter for all things. That would also mean for foo-files even when prettier doesn't support foo-files. Because of that you likely want to configure default formatters per language...
  "editor.defaultFormatter": "esbenp.prettier-vscode"

⬇ This configures beautify to be used as the only formatting option for TypeScript. If beautify isn't available or disabled somehow else then no formatting happens.
"[typescript]": {
  "editor.defaultFormatter": "HookyQR.beautify"
}

There will be UI hints to guide you towards configuring formatters (in the presence of conflicts and absence of configuration). A notification will show when running format explicit, e.g Format Document, Format Selection, the notification will show silent (minified) when running format implicit, e.g format on save.
A sample-gif! It starts with format on save and the silent notification, then comes format document and the normal notification. Notice how the configuration updates for TypeScript and how format document isn't showing notifications anymore. There is still 'format with...' which allows to pick a formatter for that one format run. It shows the default and we consider allowing to change defaults from here (as suggested by @octref)

When a configured extension isn't available (didn't contribute a formatter) then we also show a notification which guides you towards using a different formatter

I think this is a great improvement. Nice work!

All my changes aren't yet on master but here: https://github.com/Microsoft/vscode/pull/71301

I can verify and test it more tomorrow morning if you would like.

And last but not least the revised 'format with...' flow, showing the current default and allowing to change that

A few great new features here, so I added feature-request and verification-needed.
@isidorn I'll build and test it this afternoon, would be great if you can also give it a try tomorrow to catch anything I miss.

Please verify that

you get a prompt when having multiple formatters for a language and when explicitly formatting (format document, format selection, format on paste)
you get a silent prompt when doing format on save and having formatter conflicts
the prompt guides you out of the conflict
there is format with... which allows to chose a different formatter and to revisit the configuration
the editor.defaultFormatter can be configured in the settings editor - check doc and values
when a configured formatter isn't available you get a status bar message

Great job, works nice. I have created some follow up items and have linked them here so @octref can also express his opinion.

Works great. One feedback I have is the silent notification for onsave formatting is not very discoverable. I understand the design is to not annoy people with a notification on each save, but now people can (and should) configure their way out of the multiple formatters scenario, maybe just show a notification anyway?

Couldn't the command palette be boosted with a label above the input (that wouldn't take space if empty) so that vscode can explain what's going on while immediately jumping to action, choosing a default formatter in this case?

@dubeg Not sure that I understand...


feat: support intMode

This PR adds intMode as a configuration option to match @libsql/client's behavior (however, the default is still BigInt to match the behavior of previous versions of libsql-stateless-easy).
Closes #1.
Side note: Could you add something for formatters like a Prettier or editorconfig config file? It would make it a lot easier for people who do not have the same editor settings to contribute and make the code style more uniform.

interesting.
let me audit your pull.
then i'll merge.

there were some issues.
eg: new libsqlConfig/libsqlEasyConfig was not imported from ./types.ts,
non-strict case handling in  parseLibsqlInt in parsers.ts, etc.
they have been fixed in b23a27a.
overall good PR 👍


how can i use material-ui on rails?

how can i use material-ui on rails?

:+1:

https://github.com/towonzhou/material-ui-rails
https://rubygems.org/gems/materialUi-rails
can use material-ui on rails

Interesting :+1: You are most certainly welcome to drop a line in http://www.material-ui.com/#/discover-more/related-projects, code: https://github.com/callemall/material-ui/blob/master/docs/src/app/components/pages/discover-more/related-projects.md, I'm sure many people can take advantage of it :+1:

@alitaheri   https://github.com/callemall/material-ui/pull/3441

Can we close this issue with https://github.com/callemall/material-ui/pull/3443?


Remove nested depth limitation.

This commit removes the nested multi-bulk depth limitation of 7.
We do this by switching to pointer to pointer indirection and
growing the stack in chunks when needed.
Initial benchmarking indicates the worse cache locality seems to be
offset by the reduction in overall redisReader size, resulting in
nearly identical parsing performance to the exiting master branch.
See: #794, #421

For an extensive discussion and lots of benchmarks see #794
I did quite a big of testing including running the new code using https://github.com/ralight/mallocfail as the allocator and everything looks good.
Would love input from @yossigo and/or @mnunberg

@michael-grunder why do you use redisReadTask **task; but not redisReadTask *task; ?


.NET 6 update: Response Caching Middleware

[Enter feedback here]

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

ID: 10cda0f9-e2c7-015d-4fbf-d361f6c67d9f
Version Independent ID: 13154131-c2b6-2c72-fb0e-1d83bca4e21a
Content: Response Caching Middleware in ASP.NET Core
Content Source: aspnetcore/performance/caching/middleware.md
Product: aspnet-core
Technology: aspnetcore-performance
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@Rick-Anderson  I will work and update on it soon.

It is being worked on

@smandia This one is available.

@Rick-Anderson Please review it


Bugs in exporting keys

It's a great application, but it has some problems right now.

Can't move account sorting
Can't edit account after creation
Exporting wrong Keys (Exprot keys as yaml), both are 8CE7ED3060.
Account disappears after exporting Keys and needs to be restarted to be visible
Parse and import otpauth://totp
Multi-language support (Chinese)

Hope you can solve these problems, thanks!

#27
#16
Looks like the key is not being exported, only the resource strange
Good find I didn't notice this bug
#4
Create a new issue for localization so it can be tracked please

I will rename this issue for the export bugs but thanks for all the suggestions.

Fixed in the PR by spooksbit


game updated again

[ HUD ]
Fixed a case where the radar background and radar icons were misaligned

Nothing actually changed, please check next time before opening an issue. Thanks.


Support for checking global variable declarations

I just stumbled upon gochecknoglobals to check for global var declarations.
does this seem to be a valuable addition to the go report?
The package author has also cited this source: https://peter.bourgon.org/blog/2017/06/09/theory-of-modern-go.html

@shawnps any insights on this?


gpu: guard gfxstream dependency with a feature

Add a new compile-time feature, gfxstream, which is included in the
default features. The only thing that changes is that we can now build
without requiring gfxstream_backend on compilation time, which helps
in cases it is not packaged in a distro, or is not available at a user's
build machine.
Also update README.md with information about the build-time feature,
and do a light reformatting while at it.
Signed-off-by: Manos Pitsidianakis<EMAIL_ADDRESS>CC @dorindabassey @mtjhrc if you want to take a look

LGTM, I’ll test it later, but first can you separate this commit?

@dorindabassey sure, do you mean the unrelated README changes?

Yeah, and the unrelated reformatting in the Cargo.toml

Thanks for the suggestion @dorindabassey, I split all changes into three commits total.

Rebased against main


Add names for conda-based pytest jobs

See https://github.com/python-control/python-control/issues/446#issuecomment-759145378

Coverage remained the same at 87.539% when pulling e0127c6a07aef7323ea16dcd72cd95e300cd81d9 on bnavigator:github-action-names into 1e6da71c1c1218a60b9a108a3b61eed69ef96db8 on python-control:master.

Coverage remained the same at 87.539% when pulling e0127c6a07aef7323ea16dcd72cd95e300cd81d9 on bnavigator:github-action-names into 1e6da71c1c1218a60b9a108a3b61eed69ef96db8 on python-control:master.


More Info: Add planet URL

Needs to be approved by @fneu after planet.coala-analyzer.org is properly rerouted.

@fneu and donate.coala-analyzer.org too

can I still ask rultor to merge this?

@sils1297 seems like it is not configured for this repo?

Yes, merge manually please, we dont care about history mich for this one..
Yet
On Sep 14, 2015 5:52 PM, "Fabian Neuschmidt"<EMAIL_ADDRESS>wrote:

@sils1297 https://github.com/sils1297 seems like it is not configured
for this repo?
—
Reply to this email directly or view it on GitHub
https://github.com/coala-analyzer/website/pull/1#issuecomment-140122711.


Memory issue

               WeakSelf(imageView)                 [imageView sd_setImageWithURL:[NSURL URLWithString:url] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {               weakimageView.image = image;               weakimageView.focusOnFaces = YES;                 }];
When I scroll the TableView, This code will be performed.( I used SDWebImage to set ImageView image and Then focusOnFaces )
And the memory report The memory used so high.
What can do to reduce memory ?

The code is Here :
WeakSelf(imageView)
[imageView sd_setImageWithURL:[NSURL URLWithString:url] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
weakimageView.image = image;
weakimageView.focusOnFaces = YES;
}];

@diejmon @T-Pham @jk2K @algrid
About The FaceAware memory issue, I did a Project, link is https://github.com/CocoaML/SDWebImageAndFaceAwareDemo ,
The memory report memory uses so high.
What can do to reduce memory ?

Thank you. I'll try and take a look at this over the weekend.

`
        let layer = self.imageLayer()

       layer.contents = newImage.cgImage

        layer.frame = CGRect(x: offset.x, y: offset.y, width: finalSize.width, height: finalSize.height)
   `

This Code is make memory uses so high ?  Or what ?  Can you give me some advice ? Thank you.

@CocoaML You load all the images in memory with original size. Instead what you shall do is downscale images which are used in table view cells and use them instead. This will take a way less memory.

@CocoaML You load all the images in memory with original size. Instead what you shall do is downscale images which are used in table view cells and use them instead. This will take a way less memory.

Fine, Thanks For you quick reply.


Hash output filename?

You've given us an option to specify the output sprite name, but is there any chance you can run it through interpolateName so that we can use a hash? This is important for cache-busting.

@mnpenner interpolateName is already being used. You should be able to specify a name / path with a hash. If that's not working could you please show me what's the path you are using?

Thanks for responding.
Here's how I configured the loader:
{
    loader: 'external-svg-sprite?name=[name]-[sha1:hash:hex:10].[ext]',
    test: /\.svg$/,
    include: path.resolve(assetsDir, 'icons'),
},

Which is exactly the same way I configured my url-loader. However, I get this error when I try to set the name option that way:
Error: Module build failed: TypeError: Cannot read property '0' of null
    at new SvgSprite (C:\Users\Mark\PhpstormProjects\project\node_modules\external-svg-sprite-loader\lib\SvgSprite.js:41:87)
    at Function.getSprite (C:\Users\Mark\PhpstormProjects\project\node_modules\external-svg-sprite-loader\lib\SvgStorePlugin.js:53:35)
    at imagemin.buffer.then (C:\Users\Mark\PhpstormProjects\project\node_modules\external-svg-sprite-loader\index.js:70:41)
    at DependenciesBlock.onModuleBuildFailed (C:\Users\Mark\PhpstormProjects\project\node_modules\webpack-core\lib\NormalModuleMixin.js:315:19)
    at nextLoader (C:\Users\Mark\PhpstormProjects\project\node_modules\webpack-core\lib\NormalModuleMixin.js:270:31)
    at C:\Users\Mark\PhpstormProjects\project\node_modules\webpack-core\lib\NormalModuleMixin.js:292:15
    at context.callback (C:\Users\Mark\PhpstormProjects\project\node_modules\webpack-core\lib\NormalModuleMixin.js:148:14)
    at imagemin.buffer.then.catch (C:\Users\Mark\PhpstormProjects\project\node_modules\external-svg-sprite-loader\index.js:86:13)

Works fine when I use a static name like "spritemap.svg".
I will try to dig a bit deeper to see where it's breaking.

OK, I just realized I shouldn't have used [name] and [ext] in my name. It makes sense for url/file-loader because we have an input file to which those things refer, but external-svg-sprite-loader is creating a brand new image so those values aren't set.
It works fine with sprite-[sha1:hash:hex:10].svg, which is all I wanted. Sorry for wasting your time :-)
You can close this ticket unless you want to put in better error-handling for dummies like me.

This is something I could add to the documentation. I'm happy you could fix the problem in the end and that it made sense. I'll close the issue and add this to my todos :)


GCP Data Proxy

Signed-off-by: mgorsk1<EMAIL_ADDRESS>

Does ING use GCP data catalog + atlas together?

ping @mgorsk1 , the RFC makes sense though I don't have much context from GCP catalog

We've made a cloud PoC some time ago while prepping to cloud migration. Part of this PoC was to test DC instead of Atlas as Amundsen Proxy and we've developed basic version of proxies for both tables and dashboards. The ruling on what our approach we take is still pending, there are some concerns re data security in cloud but I think for metadata it should be fine.
As for using DC with Atlas - it's possible to sync data from Atlas to DC by using one of official connectors: https://github.com/GoogleCloudPlatform/datacatalog-connectors and work well (we've tested with tableau, hive, postgresql and mysqk). They cover syncing metadata from 13 db and 2 dashboarding systems.

+1 for integration with GCP and skipping the data builder. However, one concern is how to transform and enrich the table's metadata. One use case that we don't want to expose some tables i.e (depending on policy tags, columns, naming patterns..etc) in other words the level of control we already have using the databuilder.


Add a way to target all tasks matching a given pattern

I was just thinking it would be nice to target all subtasks like build:foo build:bar and run them in parallel... is this something you've considered/a use case you're interested in?

I apologize for too late (I had missed the notification, and has found by #2's).
Thank you for the writing.
I agree, we want to specify tasks by pattern matching.
I will consider glob-like notations: "build:*", "build:**:*", ...
Maybe, the implementation becomes one such as that names are replaced : to / and are matched by minimatch.

I implemented!

Thanks, I will try it out :+1:


Null brawl not working

Describe the issue
I tried to get null brawl to work but it does not work for me
Instructions to reproduce
n/a
What version of LiveContainer are you using?
2.0
Other
n/a

copy of #56


Defineable Extra configurations (volumes, volumeMounts, initContainers)

Enhancement Request
It would be helpful if the Chart contained values to define extra volumes, volumeMounts, and initContainers so that resources like keystores and trusted certs can all be handled in code, and not manually created.
If users could declare InitContainers, they could utilize those to:

Generate the Http Certificate Keystore
Generate the JVM Truststore
Add private network trusted certificates to the Truststore
Secrets can be mounted as readOnly into an initContainer to generate the ssc.autoconfig file.

Extra Volumes and VolumeMounts would allow users to mount resources created in the initContainers into the primary webApp container

Hi, thanks for raising this issue, and sorry for the delay in getting back to you. We’ve been transitioning the Fortify Helm charts to Docker Hub, and the older Helm charts that used to be hosted in this repository have now been deprecated. If you think this issue is still relevant for the new Helm charts hosted on Docker Hub, please raise a support ticket through the regular OpenText support channels. We will no longer be monitoring issues raised on this repository. For more information on this change, please see the repository README file.


move IRQ into separate file

This PR also includes commits from https://github.com/nutanix/muser/pull/110 in order to avoid conflicts, so only commit https://github.com/nutanix/muser/pull/111/commits/42065d65aa3f7b3832f80720f3babffa6fc0434d needs reviewing.


Update container-runtimes.md

for install of docker, also install gnupg2 for apt-key add to work

I signed it

/lgtm

/lgtm


Rename FrameChange

What is the expected enhancement?
In pulse the command FrameChange changes the phase of a pulse channel. A more appropriate name would be either SetPhase or ShiftPhase. SetPhase would be more appropriate if the command sets the phase to a new value while ShiftPhase is more appropriate if the command adds a phase to the current value.

@taalexander and @lcapelluto opinions on the name?

Splitting this out into SetPhase and ShiftPhase makes sense to me.

Yup. I like both.

This can be part of #3750 since there will be renaming happening there

This will be closed by #3750, closing as now a duplicate.


When lines are smooth, path can go above and below the chart area

First of all thanks for the native library 👍
As you can see in 1, 3 and 4 in attached screenshot

Maybe defining a default and adjustable padding from top and bottom can solve this issue?
Best

Hey, try to add this line in your xml that hold that chart view:
android:clipChildren="false"

Sorry i created a duplicate for https://github.com/Pfuster12/LiveChart/issues/37
This can be closed


Restructure miniapp directory

We should have a miniapps (or other similar name) directory for demo/miniapp codes, and move our current miniapp into that, pending a further subdivision of its capabilities

renaming the current miniapp path to miniapps
moving the current miniapp into a subdirectory (what to call it, mc_ball_of_tar?)
updating the CMakeLists.txt to find the miniapp
updating the travis script to find the miniapp in its new location

This was performed a while back in PR #423.


change text style

hi Fangzhou Li,
first of all, thank you for this awesome plug-in. I really appreciate it
I would like to know how to change the styling of the dropdown texts.  I would like to be able to increase the text font size and its color from grayish to black.
I tried to find the styling of these texts in the vue-treeselet.css but was no success. Can you kindly point to me which parts of the css on vue-treeselect.css is associated with the styling of the dropdown texts?
Thanks again

Hi, you can customize the dropdown style by:
.vue-treeselect__menu {
  color: black;
}

hi riophae,
thanks for the quick reply.
I tried adding this to my code
/deep/.vue-treeselect__menu{
outline:5px solid red;
color: red;
}
but it only gave me the following. I still don't know how to change the grayish texts to black and bigger

Thanks again!

I see. Maybe you should try this:
label.vue-treeselect__label {
  color: black;
}

hi @riophae thanks for the quick reply
the code below still can't change the text color
label.vue-treeselect__label {   color: black; }
however, I tried increasing the font size
/deep/ .vue-treeselect__menu{         font-size:20px;     }

and it resulted in bigger space between the rows so this is ideal, even through I still can't change the text color but this is good now. thanks @riophae

我加上appendtobody后也遇到下拉选项样式被冲掉的问题。。。。现在使用label.vue-treeselect__label得到了解决，前来感谢！！

it's not work on nuxt3js


Gate authored blobs to v3 if we don't use multi-app

in #3765, we added authored blobs, a consensus breaking feature, but didn't gate it like normal due to the ongoing switch to a new upgrade mechanism.
if we don't end up using that mechanism, we need to make sure that we gate it appropriately.
this issue can be closed upon using the new upgrade mechanism or by adding the gating mechanism and a unit test (preferably also a e2e test) for the upgrade https://github.com/celestiaorg/celestia-app/issues/3772

Slight correction: multi-app doesn't change the upgrade mechanism. The upgrade from v2 -> v3 and onwards will still use signaling.
We need to gate authored blobs to v3 if we don't adopt a refactor to how the celestia-app binary supports multiple state machines. That refactor is sometimes called "multi-app".

This appears closed by https://github.com/celestiaorg/celestia-app/pull/3870. @cmwaters please re-open if I'm mistaken.


triton.language.log does not support float64

Repro:
import torch
import triton
import triton.language as tl

@triton.jit
def kernel2(in_ptr0, out_ptr5, xnumel: tl.constexpr, XBLOCK: tl.constexpr):
    xoffset = tl.program_id(0) * XBLOCK
    xindex = xoffset + tl.reshape(tl.arange(0, XBLOCK), [XBLOCK])
    xmask = xindex < xnumel
    tmp2 = tl.load(in_ptr0 + xindex, xmask)

    # VERSION 1: LLVM ERROR: Broken function found, compilation aborted!
    tmp39 = tl.log(tmp2)

    # VERSION 2: works
    # tmp39 = tl.log(tmp2.to(tl.float32))

    tl.store(out_ptr5 + xindex, tmp39, xmask)

def call():
    arg1 = torch.zeros((204, 204, 26), device="cuda", dtype=torch.float64)
    buf29 = torch.zeros((204, 204, 26), device="cuda", dtype=torch.float64)
    kernel2[(triton.cdiv(1082016, 1024),)](arg1, buf29, 1082016, 1024)

call()

Output:
$ python repro.py
Call parameter type does not match function signature!
  %74 = extractelement <1 x double> %71, i64 0
 float  %97 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %74)
Call parameter type does not match function signature!
  %75 = extractelement <1 x double> %73, i64 0
 float  %99 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %75)
Call parameter type does not match function signature!
  %81 = extractelement <1 x double> %78, i64 0
 float  %101 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %81)
Call parameter type does not match function signature!
  %82 = extractelement <1 x double> %80, i64 0
 float  %103 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %82)
Call parameter type does not match function signature!
  %88 = extractelement <1 x double> %85, i64 0
 float  %105 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %88)
Call parameter type does not match function signature!
  %89 = extractelement <1 x double> %87, i64 0
 float  %107 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %89)
Call parameter type does not match function signature!
  %95 = extractelement <1 x double> %92, i64 0
 float  %109 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %95)
Call parameter type does not match function signature!
  %96 = extractelement <1 x double> %94, i64 0
 float  %111 = call float asm "lg2.approx.f32 $0, $1;", "=f,f"(double %96)
Invalid bitcast
  %130 = bitcast float %98 to double
Invalid bitcast
  %132 = bitcast float %100 to double
Invalid bitcast
  %137 = bitcast float %102 to double
Invalid bitcast
  %139 = bitcast float %104 to double
Invalid bitcast
  %144 = bitcast float %106 to double
Invalid bitcast
  %146 = bitcast float %108 to double
Invalid bitcast
  %151 = bitcast float %110 to double
Invalid bitcast
  %153 = bitcast float %112 to double
in function kernel2__Pfp64_Pfp64__2c1082016_3c1024
LLVM ERROR: Broken function found, compilation aborted!
zsh: abort (core dumped)  python repro.py

@jansel does the libdevice PR fixes this issue?

tl.log() still throws the same LLVM ERROR: Broken function found, compilation aborted! given a float64 tensor.  This is annoying, but has the easy workaround of changing it to tl.libdevice.log.
With my latest PR TorchInductor codegens:
tmp1 = tl.libdevice.log(tmp0) if tmp0.dtype is tl.float64 else tl.log(tmp0)

I'm not sure if we should also call tl.libdevice.log({x}) for float32, or only use it for float64.  Does tl.log() generate better PTX code?
If they generate the same code, perhaps we should make tl.log and alias for tl.libdevice.log?

tl.log is similar to tl.libdevice.fast_logf(), which approximates the result and only supports fp32. While tl.libdevice.log is accurate and supports both fp32 and fp64, it could be slower than tl.log.

Yep, tl.log and tl.exp currently implement very crude approximations that rely on hardware primitives for 2^x and lg_2(x). This is the same behavior that you get if you use logf or expf and use the --use_fast_math nvcc flag. @jansel I assume pytorch doesn't use this flag by default?
The tricky thing is that slower but more accurate math functions can increase register pressure, which can lead to significant throughput degradation. What I suggest for now is that we modify tl.{log, exp} to be approximate by default and fallback to tl.libdevice.{log,exp} whenever necessary.
def log(x, use_fast_math=False):
  if use_fast_math and x.dtype == tl.float32:
    return semantic.fast_log(x); # semantic.log is renamed to semantic.fast_log
  return libdevice.log(x)

In the longer term, we can use libdevice.log all the time and have a pass that sets use_fast_math=True whenever float16 is used inside of the kernel.
How does that sound?

I am fine with using fast hardware approximations by default.  So I'd even suggest defaulting use_fast_math=True (perhaps you meant to write that in your example?).  A lot of the time we will be dealing with fp16 outputs, where I suspect the fp32 approximations give plenty of precision.
If someone passes a float64 it shouldn't crash though like it does today.

@ptillet So our plan is renaming tl.{log,exp} to tl.{fast_log,fast_exp} and dispatching based on the given data types (i.e., float32 and float64)?

seems fixed


Eliminate duplicate results

We're sometimes seeing each dataset appear six times, e.g., for Louisville, KY:

We've got to figure out what the problem is here and fix it.

happening for USDOT, too. so :+1:

Is there checking to see if a file has already been saved in the db? I looked through code and couldn't determine if that was happening -- it looks like if you kick out to the celery task it's always creating a new model. If this is the case than if a bunch of celery workers all start working on the same site at the same time, they all might add duplicate records.

I note that multiple results are not clustered together in the database, as in the public display. Here are some representative records from the database:
12850	http://www.pittsburghpa.gov/publicworks/files/commercial_haulers_10-11.xls
12851	http://www.pittsburghpa.gov/police/motorunit/motorskills/files/final_results_data.xls
12852	http://www.pittsburghpa.gov/landrecycling/ast/MI_PA_LB_cklst_chart_rev_3-29-2010.xls
12853	http://www.pittsburghpa.gov/neighborhoodinitiatives/files/CDBG_Vacant_Lot_Clean_Up_Eligible_Properties.xls
12854	http://www.pittsburghpa.gov/publicworks/files/commercial_haulers_10-11.xls
12855	http://www.pittsburghpa.gov/police/motorunit/motorskills/files/final_results_data.xls
12856	http://www.pittsburghpa.gov/landrecycling/ast/MI_PA_LB_cklst_chart_rev_3-29-2010.xls
12857	http://www.pittsburghpa.gov/neighborhoodinitiatives/files/CDBG_Vacant_Lot_Clean_Up_Eligible_Properties.xls

That's four records, recorded twice consecutively, in the same order. Seems to me that a constraint should be put on the database to prohibit the same file URL from being stored twice (assuming that SQLite supports that). But, of course, the cause of this needs to be determined. @bsmithgall's suggestion sounds like a good one.

This could be a promising lead: https://www.sqlite.org/lang_createtable.html#uniqueconst

My fear is that what'll actually happen here is that SQLite will throw an error when a duplicate insertion attempt is made, breaking the whole process. But I'm going to try it out and see what happens!

@waldoj I think you'll probably have to catch whatever exception is raised and just pass or continue

Yeah, assuming exception handling already exists for those inserts (I haven't checked), it might not be a problem at all.

I'm happy to take a look at this and put in a PR later today; just need to finish up some work on a different project first.

Here's an open question about this -- from an efficiency perspective: is it getter to do a bunch of update_or_create calls, or to do a get call into the DB and do a bulk update of things that aren't there?

I want to leave this open until we're sure this is fixed (in part to prevent duplicate issues from being opened).

Unfortunately, I haven't gotten this to work. I get this error:
File "/vol/www/lmgtdfy.usopendata.org/htdocs/lmgtfy/tasks.py", line 8, in <module>
  from django.core.exceptions import DoesNotExist
ImportError: cannot import name DoesNotExist

Why it cannot import it, I don't have any idea. I'm going to keep working on debugging this.

In the meantime, now we're getting the same file showing up 21 times consecutively. My suspicion is that result paging is the problem. I think that LMGTDFY is finding X results—say, 1,000 of them—and paging through them 50 at a time—but not actually advancing through the pages. The counter increments, but it's fetching exactly the same set of 50 results 20 times. @knowtheory, this seems like a pretty hefty bug. Is it plausible?

@waldoj Sorry this is my bad; try attaching DoesNotExist to the object:

The DoesNotExist exception is raised when an object is not found for the given parameters of a query. Django provides a DoesNotExist exception as an attribute of each model class to identify the class of object that could not be found and to allow you to catch a particular model class with try/except.

https://docs.djangoproject.com/en/1.7/ref/exceptions/

That fixed it, @bsmithgall! Or, rather, that prevents the error from appearing—unfortunately, duplicates are still being indexed, but it's not immediately obvious why that should be so. I'm going to walk through this in a deliberative way and figure out what's going wrong here. I appreciate your efforts!

Notably, the results are duplicated in the database in windows. That is, if the file UCM424433.xls appears 20 times, it's not rows 5,000–5,020 in the database. Instead, the same cohort of files appears over and over again. That file, in fact, is result 1, 42, 115, 142, 169, 196, 223, 250, 277, 304, 331, 358, 385, 412, and 439. (I stopped counting there.) It's always preceded and followed by the same results. Many of these results are incremented by 27, which is a weird window size.

For this query, there are 9 results. But 36 results were retrieved (4 times each), and then 72 were loaded into SQLite (2 times each). Now, this was the 2nd query for this domain name, so 36 becoming 72 might have been a result of bad duplicate matching. A clear bug, though, is the repeated retrieval of the same results. Again, this looks like a windowing problem. It's surely somewhere within here.

By putting a unique constraint on lmgtfy_domainsearchresult.result, we're not getting duplicates. That's the good news. The bad news is that, at some point, a duplicate is encountered and LMGTDFY dies:
[2016-05-04 15:05:41,912: ERROR/MainProcess] Task lmgtfy.tasks.search_bing_task[9841be4a-b158-480b-89ef-80cc8f38a2ca] raised unexpected: IntegrityError('column result is not unique',)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "/vol/www/lmgtdfy.usopendata.org/htdocs/lmgtfy/tasks.py", line 60, in search_bing_task
    DomainSearchResult.objects.bulk_create( result_model_objects )
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 92, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 409, in bulk_create
    self._batched_insert(objs_without_pk, fields, batch_size)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 938, in _batched_insert
    using=self.db)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 92, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 921, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 920, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 81, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 65, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 65, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py", line 485, in execute
    return Database.Cursor.execute(self, query, params)
IntegrityError: column result is not unique

Based on a few test queries, this results in better data than the status quo. That caveat is that LMGTDFY thinks that it's never done searching, since it never reaches the end of the results array. The page says:

We're gathering more results right now. This page will refresh in 10 seconds.

So the page reloads every 10 seconds, but of course no more results ever appear.
The next step, I think, is to work on getting this PR debugged, to avoid duplicates from being sent to the database in the first place.


Offhand fireworks not working

Expected behavior
When you have fireworks in your off-hand, pressing the “Firework” key during flight will use the fireworks.
Actual behavior
When you have fireworks in your off-hand, pressing the “Firework” key will throw items (e.g., ender pearls, splash potions) of Hotbar Slot 5 (regardless of whether you have it in your hand or not).
Minecraft 1.21
Firework Keybinding 1.1
By the way, I really like this mod!
Thanks for the development.

Oh, I thought I tested everything xD
thank you, I'll take a look soon! And I'm glad you like it :D

Are the fireworks being used? Actually the expected behaviour is that nothing happens while in off hand. Not sure anymore why I did that xD
That's also what I see in my testing

Ah never mind, something is broken xD
Will check it out!

Found the issue. Slots changed again in this version :D

Wow! What a quick response!
I checked the fix and it works correctly.
Thank you very much.

Amazing! I'll close the ticket then

Sorry to bother you again.
Please consider updating to past versions (especially 1.20.1) if you feel like it!

Sure, I'll take a look at :D


Sample Tags data structure needed

Overview
As a user, I should be able to utilize search filtering by a predefined list of tags. In order to fully test the developing UI, we will need to include a sample data structure containing valid tags usable in Jupiter.
Proposal

[ ] Establish sample file of valid tags
[ ] Ensure that sample organizations are using these tags
[ ] Allow filtering UI to enumerate valid tags (no further functionality needed for this)

Something along these lines

That seems pretty reasonable. Would we need to then enumerate over the possible values of type Tags in order to fill out filtering UI, and similar?

For the filtering, I think typescript can automatically do most of that for us. My only concern is having to constantly update the tags if new tags pop up

In order to simulate the backend, could we have a JSON file or similar that will still require manual updating, but will be less hard-coded?

I'm gonna have to do more research on that but I'll look into it

I think this is the closest I could get. We need to basically make an immutable type within a file which is not available if we import from another file

Ever tried a list of enums?
Loop through the list and display the appropriate tags

Currently on hold as we're not shipping with tags.


Fix WebSocketMultiplayerPeer server crash when a client tries to connect.

Addressing #73810
I believe this one line change resolves the problem.
I get no problems after the change.

For the record, your commit seems not to be linked to your GitHub account. See: Why are my commits linked to the wrong user? for more info.

For the record, your commit seems not to be linked to your GitHub account. See: Why are my commits linked to the wrong user? for more info.
Edit: You actually have an empty email configured in your local Git config, so this commit can't be attributed to anyone: https://patch-diff.githubusercontent.com/raw/godotengine/godot/pull/73811.patch

I haven't noticed that until now, thank you
What do I need to do after configuring the user name and email?
Should I fork and commit again?
Sorry for bothering you

You should be able to fix the commit in your current branch with:
git commit --amend --reset-author

And then update the PR with:
git push --force

You should be able to fix the commit in your current branch with:
git commit --amend --reset-author

And then update the PR with:
git push --force

Thank you :)

Thanks! And congrats for your first merged Godot contribution :tada:


Customizable and detailed "Caller info" per-component

This PR aims at superseding #80 with a more customizable logic to manage "caller identity", also compliant with other user-agent requirements.
the plan
Note: a previous version had b and c switched. Please check carefully the scheme below.
The whole desired user-agent for Data API calls is structured as follows:
(a) an arbitrary number of caller pairs provided by the code using langchain_astradb (typically one, e.g. the langflow identity)
(b) this plugin automatically inserts langchain/<version of langchain_core>
(c) a single caller pair with the component_name/<version of this package>
(d) astrapy automatically appends astrapy/<version of astrapy>
So a final user_agent may look like this (blocks a-d outlined right below the UA strnig):
langflow/1.0.0  langchain/0.3.9  langchain_vectorstore/0.5.0  astrapy/1.5.1

[......a.....]  [......b......]  [.............c...........]  [.....d.....]

Rationale:

keep the most immediate info for the main analytics at the start (langflow in the example)
Having b before c is dictated by the desire to keep "langchain" as the first item when no ext_callers are given.

Code that uses langchain_astradb will only have to provide zero, one or more (caller_name, caller_version) pairs for the (a) part, the rest is all automatic: e.g. the LangFlow code could look something like:
v_store_component = AstraDBVectorStore(
    ...,
    ext_callers=[("langflow", "1.0.0")],
    ...,
)

The last commit has rearranged the components in the UA, essentially bringing "langchain/" before the component-specific part (i.e. vectorstore VS chat memory, etc).
The rationale is to remain backward-compatible with current analytics in the case of no ext_callers provided. Now, with this PR, not passing ext_callers at all results in a UA structured like this:
langchain/0.3.9  langchain_vectorstore/0.5.0  astrapy/1.5.1

[......b......]  [.............c...........]  [.....d.....]

which would be counted as "bare" langchain and properly accounted for in the analytics pipelines.


Components that mix in sl-input-based are disabled

sl-input, sl-select and sl-text-area all show up as disabled after the upgrade. Ember interprets readonly: false as readonly="false" instead of leaving off the readonly attribute. This is causing all inputs, select and text areas ( components that mix in sl-input-based ) to show up as readonly. The same is happening for the disabled attribute.

Examples of issue.

Resolved by https://github.com/softlayer/sl-ember-components/pull/658