Errors you may encounter when upgrading the library

（This report is a warm prompt for appsody/appsody to prevent or combat this issue.）
An error will happen when upgrading library urfave/cli:
github.com/urfave/cli
-Latest Version: v2.2.0   (Latest commit d648edd on 6 Mar)
-Where did you use it:
https://github.com/gruntwork-io/kubergrunt/search?q=urfave%2Fcli&unscoped_q=urfave%2Fcli
-Detail:

github.com/urfave/cli/go.mod

module github.com/urfave/cli/v2
go 1.11
require (
	github.com/BurntSushi/toml v0.3.1
	github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d
	…
)

github.com/urfave/cli/docs.go

package cli
import (
	"github.com/cpuguy83/go-md2man/v2/md2man"
)

This problem was introduced since urfave/cli v1.22.1 (committed c71fbce on 12 Sep 2019) .Now you used version v1.21.0. If you try to upgrade  urfave/cli to version v1.22.1 and above, you will get an error--- no package exists at "github.com/cpuguy83/go-md2man/v2"
I investigated the libraries  (urfave/cli >= v1.22.1)  release information and found the root cause of this issue is that----

These dependencies all added Go modules in the recent versions.

They all comply with the specification of "Releasing Modules for v2 or higher" available in the Modules documentation. Quoting the specification:

A package that has migrated to Go Modules must include the major version in the import path to reference any v2+ modules. For example,  Repo github.com/my/module migrated to Modules on version v3.x.y.  Then this repo should declare its module path with MAJOR version suffix "/v3"  (e.g., module github.com/my/module/v3), and its downstream project should use "github.com/my/module/v3/mypkg" to import this repo’s package.

This "github.com/my/module/v3/mypkg" is not the physical path. So earlier versions of Go (including those that don't have minimal module awareness) plus all tooling (like dep, glide, govendor, etc) don't have minimal module awareness as of now and therefore don't handle import paths correctly See golang/dep#1962, golang/dep#2139.

Note: creating a new branch is not required. If instead you have been previously releasing on master and would prefer to tag v3.0.0 on master, that is a viable option. (However, be aware that introducing an incompatible API change in master can cause issues for non-modules users who issue a go get -u given the go tool is not aware of semver prior to Go 1.11 or when module mode is not enabled in Go 1.11+).
Pre-existing dependency management solutions such as dep currently can have problems consuming a v2+ module created in this way. See for example dep#1962.
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

Suggested solutions
1. Migrate to Go Modules.
Go Modules is the general trend of ecosystem, If you want a better upgrade package experience, migrating to Go Modules is a good choice.
2. Keep using the dependency manage tool (like dep, glide, govendor, etc).
Because the import paths have different meanings between the projects adopting module mechanism and the non-module mechanism.

https://github.com/golang/go/wiki/Modules#semantic-import-versioning
https://golang.org/cmd/go/#hdr-Module_compatibility_and_semantic_versioning
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

If you prefer to use the dependencies manage tool (like dep, glide, govendor, etc), a textbook example provided by repo github.com/moby/moby can prevent this type of issues.
https://github.com/moby/moby/blob/master/VENDORING.md
https://github.com/moby/moby/blob/master/vendor.conf
In the vendor directory, github.com/moby/moby adds the /vN subdirectory in the corresponding dependencies.
This will help more downstream modules to work well with your package, otherwise they will be stuck in github.com/cpuguy83/go-md2man v1.0.10
Do you plan to upgrade the libraries in near future?
Hope this issue report can help you ^_^
Thank you very much for your attention.
Best regards,
Kate

@yorinasub17  @DrFaust92  Could you help me review this issue? Thx :p
By the way, have you ever encountered such errors when upgading the libraries?

This is because kubergrunt is using dep, but you're trying to pull it in with go modules. You need to manually lock the transitive dependencies in go modules following the Gopkg.toml here.
A PR that updates kubergrunt to use go modules would be highly appreciated as well!

@yorinasub17   Thanks for your reply. This report is a warm prompt for you to prevent or combat this issue. Just let you know the problem if you upgrade this dependency in near future.
Hope this can help you.
Thanks again.
Kate

Thanks for the report, but we will walk this road when we are ready to update the dependencies. Will close this issue as we don't currently have plans on updating these library dependencies any time soon.


Adding support for additional & external ACME challenge solvers (i.e. Contour, Istio, custom DNS01 etc)

This is broken out from issue #733.
This tracks adding a new 'Solver' resource type, which would allow us to support alternative HTTP01 and DNS01 solving strategies such as Contour IngressRoute and Istio Gateway.

I mocked up the idea of introduce a Solver resource type, and then moving the mapping configuration between Certificate and Solver onto the Issuer resource like so:
####### Admin defines these resources at deploy time #######
apiVersion: cert-manager.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.letsencrypt.org/directory
    email<EMAIL_ADDRESS>    privateKey:
      name: letsencrypt-prod
    solvers:
    - name: nginx
      namespace: edge
      identifiers:
      - www.example.com
    - name: james-cloudflare
      namespace: edge
      identifiers:
      - admin.example.com
    - name: contour
      namespace: edge
      identifiers:
      - example.com
      # exact match take precendence, so this is a fallback
      - '*.example.com'
    # use clouddns as the final fallback, in case nothing else matches
    - name: clouddns
      namespace: edge
      identifiers:
      - '*'
---
apiVersion: acme.cert-manager.io/v1alpha1
kind: Solver
metadata:
  name: james-cloudflare
  namespace: edge
spec:
  dns01:
    cloudflare:
      email<EMAIL_ADDRESS>      apiKeySecretRef:
        name: james-cloudflare-api-key
        key: api-key.txt
---
apiVersion: acme.cert-manager.io/v1alpha1
kind: Solver
metadata:
  name: nginx
  namespace: edge
spec:
  http01:
    ingress:
      # Like the current v1alpha1 API, one of the following should
      # be specified *only*
      class: nginx
      name: abc
---
apiVersion: acme.cert-manager.io/v1alpha1
kind: Solver
metadata:
  name: contour
  namespace: edge
spec:
  http01:
    # TODO: expand out the config surface for ingressRoute
    ingressRoute:
      name: name-of-ingress-route
---
# This defines an 'external' (i.e. plugin backed) HTTP01 solver
apiVersion: acme.cert-manager.io/v1alpha1
kind: Solver
metadata:
  name: external-solver
  namespace: edge
spec:
  http01:
    plugin:
      name: f5-solver
      # Raw/unstructured data passed to the f5-solver plugin
      config:
        apiServerAddress: http://f5-admin-server
        username: admin
        # TODO: how can we handle secret values for external plugins?
        password: secretpassword
---
####### User defines Certificate resource #######
apiVersion: cert-manager.io/v1alpha1
kind: Certificate
metadata:
  name: example-com-tls
  namespace: edge
spec:
  secretName: example-com-tls
  issuerRef:
    name: letsencrypt-prod
    kind: ClusterIssuer
  dnsNames:
  - www.example.com
  - example.com
  - admin.example.com

Here you can see the Certificate because completely generic, and portable between issuer backends 😄.
This could be achieved without moving the configuration from the Certificate resource, however I think we should not be putting this sort of cognitive strain on those wanting to deploying applications. IMO it is not the responsibility of the developer requesting a certificate to configure this sort of stuff.
I am planning on writing up a proposal for this soon. I initially started with a proposal that incorporated both this change, as well as the 'Order' PR (#788, #809). You can see this here, which might provide a bit of extra context: #737 & https://gist.github.com/munnerz/760c68e8929edcb5854dd59b2d79ca07
@hobti01 @whereisaaron
ref #573

I like this separation of concerns where different people can be responsible for the different types.

it is not the responsibility of the developer requesting a certificate to configure this sort of stuff.
Absolutely agreed.

Presumably there could be Solvers in multiple namespaces using the same name but used in the same ClusterIssuer.
...
    solvers:
    - name: nginx
      namespace: edge
      identifiers:
      - www.example.com
    - name: nginx
      namespace: rnd
      identifiers:
      - rnd.example.com
...

From a security perspective, must the Certificate and Solver exist in the same namespace?  e.g. is there any leak of information from the Solver that it put back into the Certificate status? Can Certificates in one namespace cause bad things to happen to Solvers in other namespaces?
In our case the same person would deploy the ClusterIssuer and Solver so I don't have this concern.
WRT configuration/secrets for plugins, I would suggest a Secret reference.  If, as you say, it is unstructured, then you must presume that there could be sensitive data and only a Secret is appropriate.
I really like this!

Copying @whereisaaron:
Hi @munnerz, what determines the users' access to use the ClusterIssuers and Solvers? I was thinking that ideally cert-manager would test accessing the ClusterIssuer/Solver resource as the user to see if RBAC gives them access.

Good question!
So I've thought here about using a specific RBAC verb, such as use in order to control this. That said, to do so we'll need to somehow provide an identity to a resource (the Issuer, or Certificate).
This isn't really something the Kubernetes API provides at this time.
We'd need some way to associate a user identity with a Certificate or Issuer resource in order to do so, which is historically something that Kubernetes has tried to avoid doing (as accountability when editing a resource someone else creates can get nasty).
Keen to hear thoughts - perhaps we could keep it simple, and say that you can only utilise Solver's in the same namespace as your Issuer? & for ClusterIssuer, only use Solver's in the cluster-resource-namespace?
That said, there is a case for allowing an org to define their own top level ClusterIssuer resource, that then references Solvers in individual namespaces (administrated by teams). This could be something to explore later down the line however, relying on the cluster-resource-namespace initially.


error on trimethyl.js after install

after install last version I received an error on line 15 and 21 of trimethyl.js
syntax error: "unexpected token "interface"

Oh, it's because "interface" now is a keyword.
Did you update NodeJS/Titanium ?

it's the latest one... NodeJS and Titanium
I solved replacing parameter with other name

Yes, I'm pushing a new version on NPM!
Thanks!

not at all kopiro ;)

v3.7.0 on NPM with new installation method too.


changing linker memory locations for stm32f103c8

Well it took me a week and a ton of help from zig embedded people on discord, especially @mattnite (thanks!), but now blink is working on my bluepill!

🙏


Set ambient_intensity to 0.0 in volumetric_fog example

Objective

Fixes #13521

Solution
Set ambient_intensity to 0.0 in volumetric_fog example.
I chose setting it explicitly over changing the default in order to make it clear that this needs to be set depending on whether you have an EnvironmentMapLight. See documentation for ambient_intensity and related members.
Testing

Run the volumetric_fog example and notice how the light shown in #13521 is not there anymore, as expected.

Doc correction based on https://discord.com/channels/691052431525675048/743663924229963868/1244563147814338615

Linked to [EnvironmentMapLight] and went ahead and fixed the preceding links to it as well. It does feel a bit verbose with the crate::environment_map:: but I guess that's normal(?)


Add helper function to create adHoc webhook for actor run

What about await Apify.createAdHocWebhook({ eventTypes, requestUrl, ... })?
If the actor is running locally then I would just print warning that webhook won't be triggered.

The AdHoc in the name feels really weird. I suppose there are people who don't even know what that means.
How would the ad hoc webhook work? How would I use the function?


PHPCS/Composer: update PHPCompatibility

Proposed Changes
Use the latest version of PHPCompatibility.
You were missing out on a lot of new checks, including the checks to make sure code is compatible with the upcoming PHP 7.4.
Note: PHPCompatibility 9.0 renamed all the sniffs, so any inline selective ignores // phpcs:ignore Stnd.Cat.Sniff annotations will need to be updated (if used at all).
Refs:

https://github.com/PHPCompatibility/PHPCompatibility/releases/
https://github.com/PHPCompatibility/PHPCompatibility/releases/tag/9.0.0

Looks like the Travis failure is unrelated to this PR.

Any chance this PR can get some love ? You're currently missing out on all the PHP 7.4 related sniffs which only get introduced in PHPCompatibility 9.0+.


Feature Request: Catalog App Installations Support

I couldn't tell from the existing codebase, but I think having support for apps deployed via an App Catalog (Jamf App Installers, Mosyle Apps, VPP, etc.) would be a good, forward thinking feature.
It could be implemented in the same way Octory handles this, with a list of app titles that it can check for the existence of by appending .app to the end of the display name.
Example:
installStatus="false"

if [ -e "/Applications/$APP_NAME.app" ]; then
    installStatus="true"
else
    sleep 2
fi

Obviously, this doesn't have all the logic/syntax to make it run smoothly, but you get the idea. 😉

PR #57 submitted 😄

I apologize I didn't reply to this right away, I think it got mixed up in our other messages you sent.
This was already added to Baseline in v2.2. Apparently I failed to add the appropriate documentation to the wiki, which I will attend to shortly.
You can review the WaitFor feature settings in the release notes: https://github.com/SecondSonConsulting/Baseline/releases
Very sorry to have wasted your time, but I think this already does what you need?

I just figured that out as I was reviewing my code for why isn't this working exactly as I thought it would. 😫
Welp, I'll close that out since v2.2 had that. Perhaps an update to a more appropriate name for the key? I didn't realize that was what WaitFor was meant to solve.
Thank you for the clarification!

I don't think I want to change the key, but I'm open to suggestions on how to label it for easy discovery in documentation.


Performance Problems on simplebar-angular

Describe the bug
Moving the mouse inside content wrapped in the simplebar component causes a lot of unnecessary template updates.
To Reproduce
Steps to reproduce the behavior:

Open a page with content wrapped inside the simplebar component.
Open Angular development tools -> profiler -> start recording.
Move the mouse inside the wrapped content.
The profiler records an unnecessarily large amount of template updates.

Proposed solution
Angular forces a template update when a DOM Event is handled, so this component likely has an event handler on the mousemove event. There should either be an alternative handler or it could be debounced (with RxJs debounceTime operator) to force less template updates.

Fix proposal here: https://github.com/Grsmto/simplebar/pull/631

Published as<EMAIL_ADDRESS>


crashes no matter what

even if it just this and core mods it crashes on startup

please i cant use it


How do I allow growth with eager execution?

This is a generic question.   I am working locally from a copy of a Colab notebook, which uses eager execution.
I notice that the notebook allocates all of the memory on my GPU right away.  So I can track what commands use what memory, I would like it to not do that.  According to this StackOverflow article: I should do this in the code before it grabs all the memory:
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)

However, I notice that with eager execution, there is no Session.
So question/bug/feature request: How do I allow growth with eager execution?

According to the doc, enable_eager_execution takes a config as argument the same way your session does. Simply do:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
tf.enable_eager_execution(config=config)

Thanks, that answers my question!


Um

Was this pull request accidentally created?

No, it was not accidentally created. And it is already merged to the aug_sys_um branch. Then, due to the fact that people at the Hackathon could not push to tulip-control:aug_sys_um branch, we decided to continue the development on necozay:aug_sys_um branch, which will be eventually merged to tulip-aug_sys_um when it is ready.


Problems loading reference warning when I open JSON file

I really love this alternative version but every time when I open   JSON file i get this warning .
I am adding screenshot for the warning

https://github.com/Dooez/alt-catppuccin-vscode/blob/4e6faa124731348728ea0b9ba350b1983c40813d/package.json#L75
You can edit this line from the extension, so the issue dissapears, but looks like the extension is dead, so, maybe its better to find an alternative


Other CDN names?

Not checked how feasible it is to host yourself on these but:
edgekey.net akamai
edgesuite.net akamai
akamaized.net  akamai
rackcdn.com rackspace
azureedge.net Azure
akamaiedge.net Azure
a248.e.akamai.net seems too specific also?

Microsoft killed Domain Fronting in Azure - src: https://twitter.com/xxByte/status/1385255366628462593


Put current directory and Git status in ConEmu status bar

System Details

posh-git version/path: 0.7.3  C:\Program Files\WindowsPowerShell\Modules\posh-git\0.7.3
PowerShell version: 5.1.17763.771
git version 2.25.0.windows.1
OS: Microsoft Windows NT 10.0.17763.0

Issue Description
ConEmu supports setting the status bar text. It would be extremely nice if we could output the path and the Git status to the ConEmu status bar instead of to the prompt.
You can use raw escape codes or the command-line utility, e.g.,:
ConEmuC -GuiMacro Status 1 "My path and my git status"
You can see the documentation for this ConEmu GuiMacro here:
https://conemu.github.io/en/GuiMacro.html#Status
And the escape codes behind it are here:
https://conemu.github.io/en/AnsiEscapeCodes.html
Thanks!

We've collected a handful of hacks to make posh-git work well with various hosts, but I don't think I'd want to maintain code specific to ConEmu.
That being said, we should export everything you'd need to define your own prompt that will block ours, e.g.
Copy-Item function:\prompt function:\global:OrigPrompt
function prompt {
  $s = "$(Write-Prompt $GitPromptSettings.DefaultPromptPath.Expand()) $(Write-VcsStatus)"
  ConEmuC -GuiMacro Status 1 $s
  OrigPrompt
}

Put this before you posh-git and you should be close. Or write whatever you want for a prompt, instead of using the built-in one.


update prop types dependency

Move it to dependencies instead of peer as officially suggested https://github.com/facebook/prop-types#how-to-depend-on-this-package
Since split from react, prop-types is now like a standalone library and should be treat as react-truncate-markup's dependency.
Using lockfile /home/circleci/project/doc/js/yarn.lock
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " ><EMAIL_ADDRESS>has unmet peer dependency "prop-types@>=15".
[4/4] Building fresh packages...
success Saved lockfile.

Peer dependencies should be used for host package (react)

Thanks @dvkndn! I wonder, did you run yarn install after this change to update yarn.lock as well, or this change had no affect on yarn.lock?

oh sorry I did not run. Let me run

@patrik-piskay ok yarn lock is updated :D one record less :+1:

Thanks for merging @patrik-piskay :+1: Is there anything I can do to help release 4.0.1?


link errors when using swift package manager

Hi @JayZhao,
Sorry about the delayed response. Were you able to resolve this issue?

Same issues here. Not using any package managers. I simply downloaded WebSocket.swift and added to my project. Xcode 8.1 / macOS 10.12.1
Xcode -> New project -> cocoa application -> {name: tester, language: Swift, no other checkboxes checked} -> saved project to desktop. Add files -> WebSocket.swift {copy if necessary} -> Build. Errors as above.

Build target tester_2016-12-07T11-09-17.txt

Hi Matthew,
To manually install you also need to add libz.dylib.

Copy the SwiftWebSocket/WebSocket.swift file into your project.
Add the libz.dylib library. Project -> Target -> Build Phases -> Link Binary With Libraries

Thanks. That allowed it to compile. Will probably fix @JayZhao 's issue too. Can probably close this.

Just for anyone googling here, it's nowadays ".tbd" otherwise all the same.


A couple more manpage improvements

Follow-up to #248. Sorry to do this peacemeal, but lowdown started supporting -M only with 0.8.1, released… today. (I wouldn't expect anyone generating manpages to not have a latest lowdown. I don't even know if there are others besides me ;)). On the plus side, the changelog entry for 1.5.1 is already there and doesn't need an update? :)
I hope to converge geoipupdate's and libmaxminddb's dev-bin/make-man-pages.pl eventually, but while one of the commits below is in that direction, I'm not there yet. If you have more copies of that in other MaxMind projects, happy to incorporate those as well and have one source for all.
Thanks for the consideration!

Thanks!


Workaround bug 1677818 in microdnf for new UBI base images

https://bugzilla.redhat.com/show_bug.cgi?id=1677818 causes an error
when we run rpm -V on findutils. While we transition to microdnf
remove the verification check (which protects against an issue
that only yum has but microdnf/dnf do not have).

/retest


Expose the PoolMbean calls to the datasource and verify they actually work

Hi.  I messaged you some time ago about some NuProcess threading issues, thanks for helping out on that front.  Today I was upgrading my database connection library in a project and saw that BoneCP was no longer being maintained.  I looked over Hikari and came away impressed!  The only functionality missing from BoneCP that I needed was the ability to access meta-data on the pool in real time for some generic status services my system exposes.
So, here's a simple patch.  If you'd rather do this some other that's fine.  I'm just angling for a solution, and thought it would be better to show up with one than to just ask you for one.

Coverage increased (+0.18%) to 88.55% when pulling 716ac317f42a7c52715938e75426e9968f58d7bb on ryandietrich:2.3.x into 956e6a4bb8c960ec07af7415c26dfe1ce5345a70 on brettwooldridge:2.3.x.

@ryandietrich Thanks for the pull request.  We have considered adding methods on the datasource, but as we increase the number of metrics it would result in an increasing surface area in terms of API.
HikariCP exposes statistics and metrics that are accessible programmatically in three ways, you can read about them here:
JMX Monitoring
DropWizard Metrics
DropWizard HealthChecks


How do you enable offhand? I've seen the other people writing about it but i cant find the whitelist and therefore not how to remove it

Info

Server version:
OldCombatMechanics version:
Server log file:
OldCombatMechanics config file:

Problem Description

Turn the disable-offhand module to enabled: false in the config.yml file.


no jquery fixes

Fixes

removing event handlers
setting properties for already destroyed components

@latata can you please rebase this branch? Thank you.

Closing this for now.  There were some good ideas here so thank you for that 🙏 .  Following up in #138


fileSystemWatcher ignore folder level changes/create/delete

VSCode Version: 1.50.1
OS Version: MacOS

Hi,
I am building an extension with fileSystemWatcher feature.
From the api doc: https://code.visualstudio.com/api/references/vscode-api#FileSystemWatcher. The onDidCreate and onDidDelete event should be fired when file/folder changed. However, the a fileSystemWatcher only fires when file created / deleted, but not working when folder created and deleted.
Steps to Reproduce:

download the helloworld-sample, install dependencies.
In extension.ts activate function,  create a fileSystemWatcher by using code such as

const watcher = vscode.workspace.createFileSystemWatcher("**/foo/**/*.*");
    watcher.onDidChange(() => {
        void vscode.window.showWarningMessage('something changed');
    });

    watcher.onDidCreate(() => {
        void vscode.window.showWarningMessage('something created');
    });

    watcher.onDidDelete(() => {
        void vscode.window.showWarningMessage('something deleted');
    });

use debug tab to run extension. And use command + shift + P to open command drop box, choose hello world , and see the Hello World be printed at the right bottom corner.

Open an empty folder and create a folder named as foo under opened folder.

Create a test.json under foo folder, will see something created at the right bottom corner.

Create a folder named as bar under foo, but there' nothing logged out.

Create a file named as test.json under bar folder, will see something created at the right bottom corner.

Delete the entire bar folder, even the test.json is deleted along with the bar folder, nothing will be logged out.

Does this issue occur when all extensions are disabled?: Yes/No

I believe the issue is your pattern of *.* in const watcher = vscode.workspace.createFileSystemWatcher("**/foo/**/*.*");. That will limit to files. If you just remove that I think you will get what you need.


kops - extensions support

what
updated manifest to support extensions
why
#240

Did you test this with build-manifest?

build-kops-manifest $KOPS_TEMPLATE $KOPS_MANIFEST -d extensions=https://raw.githubusercontent.com/cloudposse/geodesic/master/README.yaml

manifest.yaml.txt


AnyOf is working strange

@provide(scope=Scope.APP)
    async def provide_global_session(
        self, scoped_session_maker: async_scoped_session[AsyncSession]
    ) -> AsyncIterable[
        AnyOf[
            AsyncSession,
            DatabaseSession,
        ]
    ]:
        async with scoped_session_maker() as session:
            yield session

@provide(scope=Scope.APP)
    def provide_global_uow(self, session: DatabaseSession) -> UnitOfWorkProtocol:
        return UnitOfWork(session)

dishka cannot resolve this, why?
P.S. when type AsyncSession instead of DatabaseSession it works fine

Try replacing Integrable[AnyOf] with AnyOf[Iterable, Iterable]. Anyway, we'll try to fix it

Try replacing Integrable[AnyOf] with AnyOf[Iterable, Iterable]. Anyway, we'll try to fix it

@provide(scope=Scope.APP)
    async def provide_global_session(
        self, scoped_session_maker: async_scoped_session[AsyncSession]
    ) ->  AnyOf[
            AsyncSession,
            DatabaseSession,
        ]
    :
        async with scoped_session_maker() as session:
            yield session

that will raise error with dishka async generators, AnyOf[AsyncIterable[], AsyncIterable[]] raises the same error

You forgot Iterable. I understand that it is confusing now, but that should fix

Sorry for some mess here. I've tried to create a simple test:
class MyProvider(Provider):
    value = 0

    @provide(scope=Scope.APP)
    def foo(self) -> Iterable[AnyOf[float, int]]:
        self.value += 1
        yield self.value

container = make_container(MyProvider())
assert container.get(float) == 1
assert container.get(int) == 1

I cannot see any problems here.
Can you, please, show more of your code and full traceback?


Use azure

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/typed-ast


[BUG] Hash was removed from cudf, but it is still referenced in spark-rapids-jni tests

Describe the bug
cuDF removed the hash function with this PR. The hash tests in hash.cpp reference this function and are causing compilation errors if compiled against the latest cudf.

fixed by #1929


feat: Add Allay Loom and Cartography Table screen handlers

The code changes include the addition of two new screen handlers: AllayLoomScreenHandler and AllayCartographyTableScreenHandler. These screen handlers are used for interacting with the Allay entity in the game.

I forgot xD :skull:

I'll verify it tomorrow

I'll check it then, I'm free now.

I'll check it then, I'm free now.

Alr Thank you!


Unit tests updated

Hey @tabacitu,
I've updated @OliverZiegler's fine work with a few things (see commit message).
I'm also planning to update all the test stubs for the current classes in this PR, so please don't merge it yet.
Test classes for the other traits should be added as well, but I would suggest we do it in separate PR's so we don't end up with a huge code diff.
Right now, any feedback on this is highly appreciated :)

@tumf87 looking very good so far! Separate PRs for the other traits sounds like a better way to go forward, I agree. Question: will these work on L5.4 too, or just on L5.5?
@OliverZiegler what do you think?


Virtualization feature management takes a long time to load

Dev Home version
0.1501.547.0
Windows build number
No response
Other software
No response
Steps to reproduce the bug
Navigate to Windows customization > Virtualization feature management
Wait :)
Expected result
This should load instantly
Or at least be cached and not have the loading icon appear over the content:

Actual result
Takes a long time to load on first launch, then has the loading icon appear anyway on subsequent page navigations
Included System Information
No response
Included Extensions Information
No response

A few things here, we do cache the results on subsequent navigations, but we also query the current state to make sure that the checkboxes are accurate. Depending on the machine, this is typically a few seconds, and I'd be curious to see what's going on in a perf trace if it's taking longer than say 20-30 seconds. We don't own the stack that serves up the feature status and unfortunately, it's gated by a global lock so there are edge cases where servicing or other activities on the machine could cause this to take an inordinate amount of time, but those should be extremely rare unless the user actively using dism or another feature management API.
How long exactly is this taking? I don't think instant is a reasonable expectation here, we should target the loading time of the optional features page in the Windows settings app, which is comparable on my machines. That said, there are some minor optimizations we can do once we have a way to elevate more easily.

It took about 6 seconds on my machine just now. This should be compared to the Windows Features or "Turn Windows features on or off" dialog, which is instant.

It took about 6 seconds on my machine just now. This should be compared to the Windows Features or "Turn Windows features on or off" dialog, which is instant.

Okay, 6 seconds is pretty quick honestly. This would be comparing against the settings app. The old school UI cheats with elevation magic so we can get closer to that level of performance in the future potentially.


Add/remove certificates using API

From what I understand, new certificates can be only set up using the fabio properties file.
When adding/removing apps or updating the PEM files, I would find it very helpful when fabio supports management of certificates using its API or even consul tags.

Managing the certificates via the config file is a stop gap until the entire configuration moves to the backend to have a full cluster configuration. Also, hashicorp has (Vault)[https://vaultproject.io] which is built for managing secrets. Both things are on my list of things to work on.

If I want to use fabio in production now, how can I prevent issues when adding/removing certificates for existing apps?
Spawning up a second fabio container and shutting down the old one (blue/green deployment)?
Is there a reload command for fabio?
With best regards

Interesting use case. Didn't take that into account. Yes, with the current setup you'd just update the configuration and restart which would interrupt existing connections. How often do the certificates change in your setup?

No, there is no 'reload' command since by design this shouldn't be necessary... We'll find a solution.

Thank you for your response.
Let's Encrypt (LE) requires certificate renewal in intervals (90 days).
Also apps may be just added, new domains assigned to them,
in any of these cases there would be a small but existing downtime.
The vault PKI Secret Backend can be used to retrieve the PKI files:
https://www.vaultproject.io/docs/secrets/pki/index.html
For fabio authenticating itself against vault, using an Auth Backend,
the most straightforward for containers/apps would be App ID:
https://www.vaultproject.io/docs/auth/app-id.html
The main concern would be how to offer the configuration of all these different Auth Backends in the fabio configuration.
As fabio is already opinionated insofar that it uses Consul and its protocol for service discovery,
adding vault as definite backend for obtaining the certificate keys/data would of course force the fabio operator to implement and maintain a vault server.
As kind of compromise, one could offer a pure HTTP API, similar to the existing one for adding routes to fabio ("overriding"), to allow assigning certificates to containers on-the-fly.
Then a kind of Vault-HTTP-adapter could be plugged in when vault should be used.
With best regards

Fabio will support different backends soon. The one for Google Compute Platform is in the works so there is definitely a tradeoff in using either Vault or some other configuration mechanism. Storing the certificates in the backend is simple at least for consul.
How would you store the certificates in consul? As PEM files without password or as P12 files with password? If you want password protection how does fabio get the password?

Thank you for your answer.
As vault already handles the authentication of apps against itself in order to retrieve secrets,
wouldn't it be already sufficient to store the actual PEM files without passphrase?
Instad of a cert passphrase, fabio itself would auth against vault with a Auth Backend,
then vault will or will not give out the requested PEM files according to the permissions set for fabio in vault.

Yes, that is correct if I use Vault for storing secrets. If you don't want that additional dependency then you get that unlock problem.

So in nginx configuration for example, there is often an extra *_key file provided
which contains the passphrase
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_password_file
For haproxy config, the passphrase is always stripped first, otherwise it will ask for it at each restart.
http://blog.armbruster-it.de/2010/03/remove-the-passphrase-from-a-pkcs12-certificate/
It is often recommended that the passphrase is stripped from the cert when it is used in an automated way (like restarting a web server that uses it).
Shouldn't rather vault PKI backend offer an option to automatically strip + offer the unencrypted PEM to the authenticated vault client?
So for the non-vault API, there could be an extra parameter to the passphrase file, if needed,
when vault is used, a cert without passphrase is expected to be given to fabio.
With best regards

Storing the passphrase next to the cert isn't any benefit at all. You might as well just use the unlocked files. So the question then becomes how secure is your backend registry or the servers you're deploying to. I'm leaning towards this:

fetch PEM files from URL (registry or otherwise). Retrieval via HTTPS would be nice but that's not how consul is usually deployed. least secure option. For dev or in trusted networks.
fetch PKCS#12 files from URL (registry or otherwise) and provide passphrase during fabio startup either via properties file or on the command line. All certs would then require the same passphrase. Since someone who has access to the machine could also dump the memory to get to the passphrase properties should be good enough.
use Vault which most likely also requires a key for fabio to unlock the vault

I am really excited by this feature, together with HTTP2 support by Go 1.6 seeming soon coming out,
I can finally use fabio as elastic HTTP2/1 reverse proxy solution.
There is a similar reverse HTTP proxy, https://github.com/EmileVauge/traefik,
which from what I can find out about in its documentation,
only offers assigning certificate files via its config file,
it doesn't seem to be planned to implement dynamic addition/update during runtime,
neither vault backend support - so fabio would have its edge here.

Further thoughts:
Certs are assigned to domains which in turn are used by routes (route-prefixes).
domain1.com -> cert1.pem.
domain2.com -> cert2.pem
route1: domain1.com/whatever -> uses cert for domain1.com
route2: domain1.com/abc          -> uses cert for domain1.com
route3: domain2.com/123          -> uses cert for domain2.com
Thank you and
with best regards

OK, so Traefik reads the CN of each passed certificate file to determine automatically to what domains (and their routes) it applies:
https://github.com/emilevauge/traefik/blob/4e9ff45747f9172809065fb63c6d0baca782dad1/integration/fixtures/https/https_sni.toml
Something similar with HTTP API would be great for fabio.
Thank you and
with best regards

OK, so Traefik reads the CN of each passed certificate file to determine automatically to what domains (and their routes) it applies:
https://github.com/emilevauge/traefik/blob/4e9ff45747f9172809065fb63c6d0baca782dad1/integration/fixtures/https/https_sni.toml
Something similar with HTTP API would be great for fabio.
Thank you and
with best regards

ok, so I can add multiple certificates to a single listener which are either statically or dynamically configured. This isn't really a code issue but a config issue. I need to think about this a bit more how I express this in the configuration. Once I've figured that out the implementation should be straightforward.

ok, so I can add multiple certificates to a single listener which are either statically or dynamically configured. This isn't really a code issue but a config issue. I need to think about this a bit more how I express this in the configuration. Once I've figured that out the implementation should be straightforward.

Addition: It may be a good starting point when for the beginning a folder of diretories can be passed
and fabio determines the right cert/key/chain files to use by CNAME (SNI).
This would allow using letsencrypt-auto with fabio.
Thanks and
with best regards

@strarsis I've started working on this.

Current plan is to support a configurable certificate store per listener. A certificate store is either a fixed set of certificates, a directory with a list of certificates which is reloaded whenever something changes,  consul which is again updated when something changes and vault. Since consul already offers a secured HTTP API lets first get this working and then see whether another API is necessary.

@strarsis fabio will support multiple different certificate sources like file, path, http, consul and vault. You can test this in the cert-source branch. SNI is supported.
Since they all have different provisioning mechanisms I find it difficult to come up with an API that will work in all cases. Also, some of the tools already provide HTTP APIs which can be used for provisioning. So I chose not to provide an API in fabio but to make the integration with different types of certificate sources easy.
file   - path to a cert/key file like in the current configuration
path   - path to a directory with cert/key files, refreshed periodically (provision with puppet, salt, ansible)
http   - url to a directory with cert/key files, refreshed periodically (provision with puppet, git, ...)
consul - url to KV store, refreshed automatically
vault  - url to secret list, refreshed periodically

Awesome! I will try it out.

@magiconair Are you considering letsencrypt integration?

Yes
Frank Schröder

On 2. Apr 2017, at 01:39, Roman Naumenko<EMAIL_ADDRESS>wrote:
@magiconair Are you considering letsencrypt integration?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Is there any work being done on letsencrypt integration? I've started it as my first Go project this weekend, in the form of a separate binary that ~implements~ copies the registry code (and a lot more code ☺) from here and generates certs for each domain if they don't exist yet. I envision a file and Vault store, that fabio then can use.

@tino Nobody has been picking this up yet and if you are working on a PR then this would be very welcome. You can integrate that directly with fabio. @pschultz has done preliminary work for these types of cert stores in #135/#315. He has provided a proof-of-concept implementation for ACME which you can see here: https://gist.github.com/pschultz/80a13aa3488f4e9afa1e440bea3c3d6e
This still needs config, wiring and testing but it is a start. I suggest you open an issue for that and submit a PR. This would also prevent morphing this ticket into something else.

@tino There should be no need to add a separate tag name for that. The only thing that is required is to fetch or generate a certificate on the fly. Keep in mind that fabio can be run in clusters so you need a place to store the certs, e.g. consul.

@magiconair what current state of fabio and letsencrypt integration?  mholt/caddy has letsencrypt integration but miss consul auto configuration. Fabio has autoconfiguration but miss letsencrypt auto-certificates. And traefik has very strange configs and bugs...

@ont it's not currently supported IN fabio but there are ways of getting it done.  Vault is supported as a certificate store for fabio and there are third party projects that will handle renew of lets encrypt and push to vault (https://github.com/ketchoop/letsencrypt-to-vault).  There is also support for reading/refreshing certificates directly from the filesystem builtin to fabio so any system that writes letsencrypt certs to disk should work as well.

@leprechau yes, I understand it. But main benefit from integrating letsencrypt into fabio is avoiding management hell with webroot/.well-known dirs for each service which need SSL support.  And some services doesn't expose no webroot at all, only their api routes at http endpoint.

@ont Understood.  I was just trying to offer options until someone has time to work on full integration of letsencrypt with fabio.


feat: Onboard Google Diversity Annual Report 2021 dataset

Description
As per Google Diversity, Equity, and Inclusion (DEI) efforts.
Checklist
Note: Delete items below that aren't applicable to your pull request.

[x] Please merge this PR for me once it is approved.
[x] If this PR adds or edits a dataset or pipeline, it was reviewed and approved by the Google Cloud Public Datasets team beforehand.
[x] If this PR adds or edits a dataset or pipeline, I put all my code inside  datasets/<YOUR-DATASET> and nothing outside of that directory.
[x] This PR is appropriately labeled.

@adlersantos and I had a conversation with mmht@ offline about the gender column concerns. They are being raised and escalated internally with the appropriate teams. The latinx vs. latine is going to be left alone for now - we use the term latinx in the survey.


auro-badge: remove "default" color option

Is your feature request related to a problem? Please describe.
The "atlas" color that is used as the default badge color is confusing because "atlas" is used as our interaction color.
Describe the solution you'd like
Remove the "default" type badge and make "outlined" type default.

@leeejune , is this still needed?  any updated information on this to add?


configomat.sh missing

Context
Dockerfile and start-mailserver.sh both reference target/configomat.sh but there is no such file.  Running docker build  . fails.
I'd expect docker build  . creates the final image without getting stuck but this error occurs instead:
Step 46/52 : COPY ./target/check-for-changes.sh ./target/start-mailserver.sh ./target/fail2ban-wrapper.sh ./target/postfix-wrapper.sh ./target/postsrsd-wrapper.sh ./target/docker-configomat/configomat.sh /usr/local/bin/
lstat target/docker-configomat/configomat.sh: no such file or directory

Am I missing anything?
Steps to Reproduce:

git clone [repo]
docker build docker-mailserver

On Ubuntu 16.04.5 LTS.

You have to initialize the git submodules. Use git clone --recurse-submodules.

Yes that did the trick, thx!


First request of spider doesn't use configured User-Agent

The first request made during the crawl uses the default User-Agent set in net/http which is Go-http-client/1.1. If the user has configured a desired User-Agent value it should be used for all requests including the sitemap fetch.

@cstrouse Can you confirm that you're seeing this for requests for robots.txt files? Or alternatively give further details on reproducing? I've traced through the code and it looks like it's the addRobots method that doesn't use the correct User-Agent, regardless of whether that's the first request.

dec5662 is my first attempt to fix—let me know if problem persists.

It's showing the right User-Agent now for all requests.


Return contributor details from list API and include in CSV download

Overview
Return contributor details from list API and include in CSV download.
Connects #997
Demo

Notes
The complex permission and visibility checks required make fetching contributor details for each facility slow, so we are cutting the maximum results per page from 500 to 50.
Contributor names and list names can have commas, so we join them with a vertical bar in the CSV to make machine parsing of multiple contributors possible. We add validations that prevent contributors from including the vertical bar in their name or their list names.
We know the total number of facilities so it is possible to show percent progress. We have opted for a linear progress bar rather than a circular one because it looks better in this situation where our progress jumps rather than smoothly increases.
Testing Instructions

Run ./scripts/resetdb
Log in as<EMAIL_ADDRESS>Browse http://localhost:8081/admin/api/contributor/5/ and delete the contributor.
Browse http://localhost:6543/ and open the Network tab in dev tools.
Click the "Facilities" tab and "Download CSV." Verify that request are made with a pageSize of 50 and that the final CSV can be saved without error.
Verify that the CSV contains records with empty, one, and multiple contributors in the new "contributors" column.

Checklist

[ ] fixup! commits have been squashed
[ ] CI passes after rebase
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Taking a look now.

Thanks for the review.


HDDS-3754. Rename framework to common-server

What changes were proposed in this pull request?
I started to document the project hierarchy of Ozone and found that to subproject name is very confusing:

framework: it supposed to be similar to the common but share the classes only between server side projects (om/scm/...). I propose to call it server-common

container-service: While we have historical reasons why it's a separated project, but today we can call it datanode and remove hadoop-ozone/datanode.

While I can learn both the specific names, for new contributors it can help if we use more straightforward names.
In this patch I would like to fix the first item (framework --> common-server)
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3754
How was this patch tested?
Full CI run is passed on my fork.

Having framework subproject makes sense as it can provide

Lock service/framework
Lease service/framework
Security service/framework
EventQueue service/framework
...

Which can be used by other modules.
Common project is a collection of reusable code or utilities which is used by other modules, but with framework we can have a clear interface defined which can expose generic services. I agree that the current code is not in this state yet, but we can always improve.

@nandakumar131 Not sure if understood your proposal. Do you propose to create separated projects for separated framework/services? Like framework-eventqueue, or framework-dbstore?
I am fine with that. But the current project (which is used only to collect server side utilities and classes) is more like common for the server side.
But I am fine to leave it as is, if you don't think it's confusing...

Not sure if understood your proposal. Do you propose to create separated projects for separated framework/services? Like framework-eventqueue, or framework-dbstore?

Sorry if my comment was not very clear. The proposal is to retain framework and not rename it to common.
Once we move to java 9 or above we can use the module feature of java to expose EventQueue, dbstore, Lock, Lease etc., as a service from framework project.
It makes sense to retain the name framework for this sub-project.

Ok.
For me framework was not expressive enough. I found that multiple serverside shared dependency (common) are added the hdds/common (which is not good as it's shared with the client), and I though because the name is not express the goal of the project.
But I may be the only one, it if it's clear for you. Thanks the feedback. I am closing this PR.


Serbia

https://www.rgz.gov.rs/address-regisrer (yes, with a typo in the URL path, if that links stop working try fixing the typo)
Data: https://data.gov.rs/sl/datasets/adresni-registar/ (in Cyrillic script: https://data.gov.rs/sr/datasets/adresni-registar/ )
Sadly the data downloads are currently failing for me, and judging from the comments on that page this seems to be the case for a while also for others.

I emailed them last week. Response below:
Sir,
Unfortunately, you cannot access Geosrbija portal and data outside of Serbia.
Kind regards,
NIGP team
Centar za upravljanje geoprostornim podacima
Republički geodetski zavod
Beograd, Bulevar vojvode Mišića 39
Tel:<PHONE_NUMBER>
e-mail<EMAIL_ADDRESS>www.rgz.gov.rs
www.geosrbija.rs

We can get it, but then the question becomes copyright/ terms of use. I actually think I have two of these backed up right now, so I actually have the data. Thoughts @iandees

What is the reasoning behind? Protecting resources against exhaustion (ddos) or unwillingness to share data abroad?
Can a proxy (person, software, vpn, tor...) export them to outside Serbia or would the license prohibit that?

@justinelliotmeyers what is the source of data in https://github.com/justinelliotmeyers/serbia_address_points ?

The data is downloaded from here Download (geosrbija.rs) I do not know if you can access it without registration (which is free), but it can be also downloaded from the official government opendata webpage Адресни регистар (АР) - Отворени подаци (data.gov.rs)


chore: refactor e2e tests to not rely on stackrox/stackrox repo

Description
Refactors the existing E2E tests to rely on the infra actions to create the cluster instead of relying on the stackrox/stackrox repo scripts to create the cluster.

#146  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @dhaus67 and the rest of your teammates on  Graphite


Typo in DC Machines

Reported by tbaeuml on 13 Mar 2008 07:56 UTC
In the infolayer of DC_ElectricalExcited and DC_SeriesExcited aramture inductance is written in the table of machine parameters.

Migrated-From: https://trac.modelica.org/Modelica/ticket/60

Comment by AHaumer on 17 Nov 2008 11:23 UTC
fixed by bda9daf256d2f0af0bdf2600d0f425e0da337249 for trunk as well as 6364938d1c7cf53f817f24b664b2c80c4beaa9b7, ed009996aaaf9eeb0d91b9a8a8952734fcf61387 for maintenenace{2.2.2 and 3.0 and 3.0_ImprovedFriction} (who knows which weird version ImprovedFriction means?)


Question regarding releasing cursors

Hi, I have a question about cursors and potential memory leaks arising from their use.
In our application we have a lot of modules that look like this:
export default function setDeeplyNestedProperty(tree, value) {
    const shortcutCursor = tree.select(['foo', 'bar', 'baz']);
    const newValue = doSomeCalculationOrTransformation(value);
    shortcutCursor.set(newValue);
}

My question is, will using .select() in this fashion cause a memory leak? Should we call shortcutCursor.release() at the end of the function? (That's what the docs seem to suggest).
Thanks!

Normally, if I remember correctly how I implemented the library, if you don't set listeners on said cursors, you won't leak memory. What's more, cursors are memoized, meaning that if you select multiple times the same cursor, the same object will be returned. But if you want to be sure, using release should be safe.

Thanks, good to know!


[Bug]: Problem showing image in PDF in production

What happened?
Hello,
I have a problem when I try to display an image only on the production server. Locally, the image works. I also have a development server (same settings and configuration as production) where the image also works.
Code:
image_path }}" />
The only difference that I saw was that in dev server the route of the image starts with http and on production server starts with https. (because of the .env config). So I change the code like this:
@if(app()->environment('production'))
image_path }}" />
@else
image_path }}" />
@endif

Same problem. How can I fix this problem?
Thank you!
How to reproduce the bug
Problem when I try to display an image only on the production server. (images url starts with https)
Package Version
1.2.0
PHP Version
8.2
Laravel Version
10.44.0
Which operating systems does with happen with?
macOS
Notes
No response

Check discussion #71

Thank you @RVP04 for the reply.

I'm back with the solution to my problem. After I used: PdfImageAsset::make($path); (solution provided by @ArielMejiaDev   in @RVP04) in production, I had the following error in the my logs:
cURL error 60: SSL certificate problem: unable to get local issuer certificate
I solved the problem with the following code:
$image_path = ‘/images/example.webp’;
$image = storage_path($image_path);

Pdf::view('pdf', [
    ‘image' => 'data:image/png;base64,' . base64_encode(file_get_contents(image))
])

I hope it helps.


Fix to work with new gmail frontend

Stopped using the deprecated registerToolbarButtonForList and registerToolbarButtonForThreadView but used registerThreadButton instead to work with new gmail ui.
Not sure if I got the whole build process working correctly but it seems to spit our a package that works. In the future it might help to add a script to the package.json to easily build everything with webpack and gulp.

Sorry for the delay- I appreciate you sending this in! I'll give it a review today and, if things look good, will get it merged.


1.3.3 is not available on bower and same version on git.

Ionic version:  (check one with "x")
[x ] 1.x
[ ] 2.x
[ ] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Version 1.3.3 is available just on code.ionicframework.com
Expected behavior:

Version 1.3.3 should be available on github and bower.
Steps to reproduce:

Related code:
insert any relevant code here

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
insert the output from ionic info here

HI there! This repo is for Ionic 2.0.0 and 3.0.0. Since this is V1 related issue, please checkout the V1 repo.
https://github.com/driftyco/ionic-v1/issues/239


remove thenify

fewer requests

Coverage remained the same when pulling af2a3858e014ab7cffe33a92f83ea4d7f769d3a9 on remove-thenify into b64e55565e3d1f7c42eb155ec3cf5edbcb508977 on master.

eh lol i generally dislike proxying modules through other modules. an example is send proxying mime.

yep, proxying modules not always make scenes, but we may consider that thenify is a method of thenify-all, they actually do the same thing.
Not a big deal, base on your decision. :dancer:

I'm inclined to :+1: this because @dead-horse here is the maintainer of thenify-all :)


Do you want VMAF?

🚀 Feature
VMAF is a widely used video quality metric developed by netflix, I have a working implementation of it that I can contribute if you want it.
Here's their mess of a codebase: https://github.com/Netflix/vmaf
Problems:

Currently there are no video metrics in the library so if you want it we'll have to decide where to put it
My metric depends on calling an external library because the python support sucks.

Motivation
This would allow people to evaluate video quality, it's a pretty standard thing to report these days.
Pitch
Here's the code I'm using for this metric with some redactions (it won't run in this form but you could full in the blanks if you wanted). It has both a class and function metric.
vmaf_command = "vmaf --reference {reference}.yuv --distorted {distorted}.yuv -w {width} -h {height} -p 420 -b 8 --json -o {output}"

class VideoMultiMethodAssessmentFusion(Metric):
    def __init__(self):
        super().__init__()
        # TODO support other accumulations I guess

        self.add_state("accumulation", default=torch.tensor(0.0), dist_reduce_fx="sum")
        self.add_state("total", default=torch.tensor(0.0), dist_reduce_fx="sum")

        # TODO check if vmaf binary exists, download it if it doesn't

    def update(self, distorted: Tensor, reference: Tensor):
        vmaf_batch = vmaf_metric(distorted, reference)

        self.accumulation += vmaf_batch
        self.total += distorted.shape[0]

    def compute(self):
        return self.accumulation / self.total

def vmaf_metric(distorted: Tensor, reference: Tensor) -> float:
    frame_size = distorted.shape[-2:]

    vmaf = 0
    with TemporaryDirectory() as d:
        d = Path(d)

        for dis, ref in zip(distorted, reference):
            write_video(dis, d / "distorted", codec="reallyraw")
            write_video(ref, d / "reference", codec="reallyraw")

            check_call(
                vmaf_command.format(reference=str(d / "reference"), distorted=str(d / "distorted"), width=frame_size[1], height=frame_size[0], output=str(d / "report")).split(),
                stderr=subprocess.DEVNULL,
                stdout=subprocess.DEVNULL,
            )

            with (d / "report").open() as f:
                report = json.load(f)

            vmaf += report["pooled_metrics"]["vmaf"]["mean"]

    return vmaf

More Info
I'm not totally happy about the external binary, I may bug netflix to make a proper python package

Hi @Queuecumber,
I think it would be a great contribution to have in torchmetrics as it would be our first metric focusing on video evaluation.
I think we should be able to install vmaf as an python library based on the description here:
https://github.com/Netflix/vmaf/blob/master/resource/doc/python.md
and then we should have access to the installed package as here:
https://github.com/Netflix/vmaf/blob/master/python/vmaf/script/run_vmaf.py
what do you think?

I think we should be able to install vmaf as an python library based on the description here
Yes we could try that but how do we specify it as a dependency if it isnt on pypi? That's the only real blocker I have with it

Installing directly from github is possible. Something like this should do it:
pip install "vmaf @ git+https://github.com/Netflix/vmaf@master#subdirectory=python"

and it would be
vmaf @ git+https://github.com/Netflix/vmaf@master#subdirectory=python

in corresponding requirement.txt file.

let me see if that works, and as long as you're ok with having a git dependency

let me see if that works, and as long as you're ok with having a git dependency

we already have one :)
https://github.com/Lightning-AI/metrics/blob/3bf1491141ef30bf89251f11770cd49d500f3571/requirements/audio.txt#L1-L2

Alright then I'll give this a go and get back to you

The good news is that it seems to install with pip, the bad news is that based on my reading of their code it still requires raw videos to be written to disk.
Will continue looking for a workaround for that.

And more bad news, it looks like everything ends up just calling the binary anyway
https://github.com/Netflix/vmaf/blob/master/python/vmaf/__init__.py#L130

Binaries are quite tricky to maintain... :(

Yeah I agree, what we need is a wrapper library around libvmaf, which is what I've been investigating. I don't think it's particularly difficult to do from what I saw
Ideally this would be separate from torchmetrics
Unfortunately we're getting into territory where Nvidia may have opinions about me donating that much code so it's not something I can just do without checking with them first

@SkafteNicki, any other thoughts? :rabbit:


Use poll for mqtt io instead of sleeping

One bug has been found that needs to be fixed before merging. After a while mqttc gives socket errors

One bug has been found that needs to be fixed before merging. After a while mqttc gives socket errors

fixed


[Bug] series.labelLayout.x在动态排序的柱状图中会卡住

Version
5.3.0
Link to Minimal Reproduction
https://codesandbox.io/s/fast-sun-4guwo?file=/src/index.js
Steps to Reproduce
动态排序时，bar上升一位后标签会卡住
Current Behavior
动态排序时，bar上升一位后标签会卡住
Expected Behavior
排序后标签显示在相应位置
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

It's because you have fixed the x to 10.


Upgrade of dapr package in CLI fails

Expected Behavior

Upgrading the dapr package in CLI should not break CLI compilation.
This issue to track the fix for it in CLI and runtime.
Actual Behavior

Due to some refactors in runtime, the upgrade causes compilation error.
Steps to Reproduce the Problem

Change dapr/dapr to use 1.12.0-rc.1 in go.mod.
There have been some changes in how certs are generated and used in dapr/dapr runtime. And some methods required by CLI for the renew-certificate functionality have been completely refactored.
Release Note

RELEASE NOTE:

completed by #1342


Handle boolean options as bools rather than as strings

Boolean options are currently handled as strings and compared textually against "True" and "False".  They should be parsed and then treated as bools.

This will require full e2e testing.

/LGTM


Add beverages view

As a user, I want to see beverages view when I click on a specific category so that I can navigate from categories to beverage view
Acceptance Criteria

I select an specific category form CategoryFragment
I see beverages under that category

References

https://webflux.josdem.io/categories/{id}/beverages
Where
{id} is category Id

Example:
https://webflux.josdem.io/categories/5/beverages


pseudo color plot not displaying properly when lighting selected

Describe the bug
The color is not shown when the pseudo plot is rotated.  It slowly starts to go to black as the angle is changed until the only color shown is black.  the color bar or temperature bar is shown correctly.  See images.  it starts fully black then color appears as rotation increases

If I deselect the lightning box color appears

lightning selected again and color dissapears.

Helpful additional information

Did VisIt crash: No
Did you get wrong results:

To Reproduce
Steps to reproduce the behavior. For example:

Go to 'pseudocolor plot attributes/geometry/lighting'
Click on 'on and off color comes back'
Scroll down to '....'
See error

Additionally, please attach a (zipped) sessionfile to this ticket to easily reproduce (In the viewer, use File->Save Session).
Expected behavior
A clear and concise description of what you expected to happen.
Attachments

Can you reproduce the bug on our test data?

If so, which file?
If not, access to your data would be very helpful. If the data set is small, please zip and upload it as an attachment. If it is large, please provide instructions for how we can contact you to obtain this data.

Please attach a (zipped) sessionfile to easily reproduce (In the viewer, use File->Save Session).
Please attach any screenshots relevant to understanding the issue.

Desktop

OS and version: Mac 10.15.7
VisIt Version: 3.2.1
Server info (if applicable):

Additional context
I recall this being an issue in 2.x so perhaps it came up again
thanks
Sal

It looks like at least part of this is a point cloud, is the entire thing a point cloud?
Are you using default settings  for Pseudocolor plot? If not what are the settings being used?
What Settings for the Transform operator were applied?
If you change the Pseudocolor's  Point type (from the Geometry Tab in the Pseudocolor Attributes window) does it perform better?
This bug may be very data dependent, would you be willing to provide the data (smallest subset that produces the problem). It would be very helpful.

Hi, its dependent on the transform and that it affects both macs running 10.14.6 and 10.15.x
Yes the entire thing is a point cloud and I use the standard settings of the pseudoplot.  the transform is simply a cylindrical to cartesian coordinate trans.
it fails even with one single time point if I apply the transform operator.  I will send a pdf with a bit more images and I can share 1 exo file
Dr. Salvador Portillo
Research Professor
Electrical and Computer Engineering,
Physics and Astronomy Dept.
University of New Mexico
505-417-9822
www.unm.edu/~sportilhttp://www.unm.edu/~sportil
On Nov 5, 2021, at 4:44 PM, Kathleen Biagas<EMAIL_ADDRESS>wrote:
[EXTERNAL]
It looks like at least part of this is a point cloud, is the entire thing a point cloud?
Are you using default settings for Pseudocolor plot? If not what are the settings being used?
What Settings for the Transform operator were applied?
If you change the Pseudocolor's Point type (from the Geometry Tab in the Pseudocolor Attributes window) does it perform better?
This bug may be very data dependent, would you be willing to provide the data (smallest subset that produces the problem). It would be very helpful.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/visit-dav/visit/issues/17108#issuecomment-962263020, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AORJB6P7R3E4S2BMHEJQS5TUKRT4LANCNFSM5HOZSH2Q.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi,
The above is in response to the other issue.  with respect to your questions

It is a standard pseudoplot, nothing changed from default settings
changing from point to sphere does not matter it still has the same color issue

FYI...I can reproduce the behavior you describe if I use non-point type glyphs (e.g. spheres, boxes, etc.) and an object type light. In that case, the light moves with the object...it is always at a fixed position relative to the object. So, as you rotate the object, you can arrive at an orientation where the viewer direction is in the opposite direction of the light direction...causing it all to look dark.
That does not happen with a camera type light which stays in a fixed position relative to the viewer, not the object.
Since I didn't see anything in your remarks here about what type of light you were using, I wanted to mention this possibility.

Thanks Mark, perhaps that is it and solves the issue.

Thanks Mark, perhaps that is it and solves the issue.

Well, can you at least confirm that a) the light type you were using here was an object type light and b) the glyph type you were using for your point data was not point type? If both those conditions are true, then I think the results are expected.

It only happens with point, with sphere rotating the image maintains colors.  Also, I tried icosahedron and the color still works regardless of rotation.  It only fails with point type.
in pseudocolor plot attributes/data under opacity there is a switch labeled lighting.  if that switch is turned off the color reappears and works regardless of rotation with point type.
under controls/lighting
light type is camera
Under this lighting and using point type color fails

switching to light type object and using point type color is maintained regardless of rotation

color is maintained if light type is set to ambient
it only fails with light type camera and point type.

I am on a macOS running 10.15.7 and Radeon Pro 560 4 GB / Intel HD Graphics 630 1536 MB GPU
Try as I might. I have been unable to duplicate the specific behavior reported here. I am able to produce a number of other odd-ball and confusing behaviors w.r.t. to how lighting is working especially with point-type plots but the specific case reported here works for me running my own personal build of 3.2.1 which is likely slightly different (but not in a relevant way I don't think) than the user's.

I downloaded and ran 3.2.1 directly from the dmg folder and confirm same experience as above. I see funkiness with the way lighting behaves but not the specific issue the user encountered here.
I have been trying to convince myself that there is a way for a user to get into a configuration of VisIt's lighting parameters that would cause the specific behavior reported here and I cannot.
Generally, lighting appears not to even work on point-type glyph PC plots. So, the experience of having a camera light which results in varying coloring depending on view angle is not something I have seen.


Using classes instead if id's

Thank you for creating this. I'm having some difficulties getting this to work with classes rather than id's (I want to have more than one gallery per page). How could I get this to work with classes?

If you wanna use it multiple times on one page you just need to loop over all elements and create PhotosetLayout instances for each of them.
Something like that:
var options = {
    highresLinks: true,
    gutter: '20px'
}

var elements = [].slice.call(document.querySelectorAll('.example'))

elements.forEach(function(currentElement) {
    new PhotosetLayout(currentElement, options)
})


Edit ConceptScheme data

Alter titles. Shorten them. Remove redundancies and "MARC21-008" as a prefix. (For more information on altering titles, see the issue "Change ConceptScheme titles."

Add values for dct:provenance and 2 dct:source properties.
Example:
http://doi.org/10.6069/whatever a skos:ConceptScheme ;
    dct:title "all: type of date or publication status" ;
    dct:description "Indicates type of date given.  Or, for continuing resources, indicates publication status." ;
    dct:publisher http://viaf.org/viaf/139541794 ;
    dct:provenance http://doi.org/10.6069/whatever2 ;
    dct:source https://www.loc.gov/marc/bibliographic/bd008.html ;
    dct:source "http://marc21rdf.info/" .

Possibly: decribe what 008/006 position in which the value is entered. For example 008/22. Undecided: property we would use for this.

Note: for further information on the value of dct:provenance, see the issue named "Create ProvenanceStatement dataset."
Note: That last triple dereferences to the base URI http://marc21rdf.info so we probably don't need the full string, but we'll include for a kind of accuracy.
Note: This description of a ConceptScheme is full enough to meet the requirements for describing concept schems in UW Libraries

Titles shortened. Prefix removed.
dct:provenance and dct:source triples added.
008 positions added in new alt titles.


Fix: devDependency update for Yasqe and Yasr (@types/codemirror 0.0.8…

ERROR in /path/to/node_modules/@triply/yasqe/build/ts/src/index.d.ts(156,47):
    154 |         maxHighlightLength?: number;
    155 |         viewportMargin?: number;
  > 156 |         lint?: boolean | import("codemirror").LintOptions;
        |                                               ^
    157 |         placeholder?: string;
    158 |         collapsePrefixesOnLoad: boolean;
    159 |         syntaxErrorCheck: boolean;

I use Yarn and ran the command yarn add @triply/yasgui according to the documentation you provided.
I'm developing in nuxt + typescript, so I got an error that says to install a type definition file (details are as follows).

Could not find a declaration file for module 'codemirror'.
'/path/to/node_modules/codemirror/lib/codemirror.js' implicitly has an 'any' type.
Try `npm install @types/codemirror` if it exists or add a new declaration (.d.ts) file containing `declare module 'codemirror';`
  > 1 | import { Editor as CmEditor, Doc as CmDoc, Token as CmToken, Position as CmPosition, EditorConfiguration as CmEditorConfiguration } from "codemirror";

Following the error message, yarn add @types/codemirror was executed, replacing the npm command with yarn.
Some errors have disappeared, but there is one error that I can't seem to fix. That error is shown in the opening paragraph of this issue.

my proposal:
On the repository of @types/codemirror, there was an MERGE update about a month ago that changed LintOption to LintStateOptions | Linter | AsyncLinter. Therefore, I think Yasqe (and Yasr) should follow this change.
cf. 🤖 Merge PR #45097 [codemirror] Add additional lint options by @youngbob · DefinitelyTyped/DefinitelyTyped@e6ef022
After build, the relevant part of index.d.ts will be changed as follows.
-   lint?: boolean | import("codemirror").LintOptions;
-                                        ^
+   lint?: boolean | import("codemirror").LintStateOptions | import("codemirror").Linter | import("codemirror").AsyncLinter;

Thanks, I've upgraded the codemirror typings to the latest version


Fix a crash in EVP_CIPHER_CTX_cleanup due to cipher_data may be NULL

This updated version of pr #2149 should work with master and OpenSSL_1_1_0-stable.

Pushed. Thanks.


[TextField] Fix hiddenLabel type of FilledInput

fix #26289

add hiddenLabel prop interface to FilledInput

add <FilledInput hiddenLabel /> to existing demo file (to make sure that ts does not show error)

[x] I have followed (at least) the PR section of the contributing guide.

I have used this as an opportunity to have inline preview #22484.

@oliviertassinari the demo changed (label removed) cause the test to fail, how can I update the test?


A11y: noninteractive element cannot have positive tabIndex value

Using the tiny charts like this:
import { LinkedChart } from "svelte-tiny-linked-charts"

let sparklineDate ={...}

<LinkedChart
    data = {sparklineData}
    type = line
    grow = {true}
    barMinWidth = 0
    gap = 0
    fill = var(--grey-400)
    align = left
    hover = {false}
    linked = 'id'
    width = 75
    tabindex = -1
/>

Getting the above warning message from the [vite-plugin-svelte], even though I have set a negative tabIndex value.
[vite-plugin-svelte]  /Users/[user]/Projects/evidence/node_modules/.pnpm/svelte-tiny-linked-charts@1.1.2/node_modules/svelte-tiny-linked-charts/src/LinkedChart.svelte:119:6 A11y: noninteractive element cannot have positive tabIndex value

That's an annoying one, the warning is false in this case since it does set the tabindex to the correct value, but since it could be a wrong value it displays the warning. I will attempt a fix, but I might just end up ignoring the warning and maybe set up a warning myself instead.

Even suppressing this warning would be a good outcome for us!

This is fixed in 1.1.4 https://github.com/Mitcheljager/svelte-tiny-linked-charts/commit/19b5253fcb66669c1b034479506b391fe239612c


Inconsistent formatting behavior with Fragments

Consider this example:
type route = A | B

@react.component
let make = (~route: route) =>
  switch route {
  | A =>
    <div> // div tag moves to the next line (as I would expect)
      <div> {React.string("First A div")} </div>
      <div> {React.string("Second A div")} </div>
    </div>
  | B => <> // fragment tag stays in the same line
      <div> {React.string("First B div")} </div>
      <div> {React.string("Second B div")} </div>
    </>
  }

Playground link

Thanks for the report, will look into this.

This has tripped me up many times when copy pasting between switch branches 😄

Also, probably related:
let x = <> // comment
  {a}
  {b}
</>

gets reformatted to
let x =
  <>
    {
      // comment
      a
    }
    {b}
  </>


Rewrite comments from '#' to '//'

We need to rewrite comments. Here are some examples:
# line comment by itself

foo()  # line comment following an expression

###
block comment
###

###
# doc comment
###

Should become:
// line comment by itself

foo(); // line comment following an expression

/*
block comment
*/

/**
 * doc comment
 */

Released in v1.5.0.


[SPARK-32145][SQL][test-hive1.2] ThriftCLIService.GetOperationStatus should include exception's stack trace to the error message

What changes were proposed in this pull request?
In https://issues.apache.org/jira/browse/SPARK-29283, we only show the error message of root cause to end-users through JDBC client. In some cases, it erases the straightaway messages that we intentionally make to help them for better understanding.
The root cause is somehow obscure for JDBC end-users who only writing SQL queries.
e.g
Error running query: org.apache.spark.sql.AnalysisException: The second argument of 'date_sub' function needs to be an integer.;

is better than just
Caused by: java.lang.NumberFormatException: invalid input syntax for type numeric: 1.2

We should do as Hive does in https://issues.apache.org/jira/browse/HIVE-14368
In general, this PR partially reverts SPARK-29283, ports HIVE-14368, and improves test coverage
Why are the changes needed?

Do the same as Hive 2.3 and later for getting an error message in ThriftCLIService.GetOperationStatus
The root cause is somehow obscure for JDBC end-users who only writing SQL queries.
Consistency with spark-sql script

Does this PR introduce any user-facing change?

Yes, when running queries using thrift server and an error occurs, you will get the full stack traces instead of only the message of the root cause
How was this patch tested?
add unit test

cc @juliuszsompolski @cloud-fan @maropu @wangyum @LantaoJin thanks

Test build #124751 has started for PR 28963 at commit 7cb0ae8.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29364/
Test PASSed.

Test build #124751 has finished for PR 28963 at commit 7cb0ae8.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124751/
Test FAILed.

Test build #124755 has started for PR 28963 at commit 48c2862.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29367/
Test PASSed.

Test build #124758 has started for PR 28963 at commit ba0c44d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29370/
Test PASSed.

Two things to know:

Does the changes work as expected when AQE is enabled？The root cause won't be hidden.
Do we need a configuration to control this behavior?

Does the changes work as expected when AQE is enabled？The root cause won't be hidden.

I could not reproduce the case you provided in that PR, the query didn't fail. But to this question, the answer is obviously yes.

Do we need a configuration to control this behavior?

Personally, I don't think we need an extra configuration for this, because we use HiveJDBC to operate with Spark thrift server. For the default Hive 2.3.7 we use, the behavior is consistent

Test build #124755 has finished for PR 28963 at commit 48c2862.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #124758 has finished for PR 28963 at commit ba0c44d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124755/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124758/
Test PASSed.

@LantaoJin changed it the other way around in https://github.com/apache/spark/pull/25960, to display the actual error in AQE, I think there are more cases where the more useful internal error gets obscured - e.g. when a task fails, you would get actual reason for failure from the root cause, as opposed to just a "Task failed 4 times" RuntimeException.
We've been recently investigating another issue, where "SparkUpgradeException" would not be displayed by thriftserver, because it was going for the root cause.
Maybe we should do it in general, but then whitelist a few cases that should go for the rootcause

AQE exception
Job/stage failed
...
?

cc @alismess-db

I guess the current approach is able to the real reason of task failures via printing all suppressed exceptions if any. Too much important information is missing in the way either before or after #25960 when error occurs

Personally, I don't think we need an extra configuration for this, because we use HiveJDBC to operate with Spark thrift server. For the default Hive 2.3.7 we use, the behavior is consistent

I still consider to add a configuration if we need to do this. Since there are still many Spark users use Hive 1.x. Actually, Hive changed its behavior. But Spark users can choose the results they want. In my company, most users access Spark thrift-server from JDBC, most of users don't want a long error stack message instead of root cause. So support a configuration to show all stack or root cause may be more friendly.

I could not reproduce the case you provided in that PR, the query didn't fail. But to this question, the answer is obviously yes.

Personally, I don't think we need an extra configuration for this, because we use HiveJDBC to operate with Spark thrift server. For the default Hive 2.3.7 we use, the behavior is consistent

I still consider to add a configuration if we need to do this. Since there are still many Spark users use Hive 1.x. Actually, Hive changed its behavior. But Spark users can choose the results they want. In my company, most users access Spark thrift-server from JDBC, most of users don't want a long error stack message instead of root cause. So providing a configuration to show all stack or root cause may be more friendly.

Thanks for your explanation, sgtm

AQE exception should have nothing special now, see https://github.com/apache/spark/commit/45864faaf2c9837a2ca48c456d3c2300736aa1ba

So providing a configuration to show all stack or root cause may be more friendly.

What's the behavior before and after this PR? I thought this PR is only to pick the actual exception, not add/remove stacktraces.

What's the behavior before and after this PR? I thought this PR is only to pick the actual exception, not add/remove stacktraces.

Yes, we do not change the exception itself but only pick things to deliver to the JDBC-client side through error responses. , which eventually result in the reason filed of  java.sql.SQLException at client-side.
Before this PR and w/ SPARK-29283, only the error messages of the root causes will be delivered. In this case, many intentionally made exceptions will be omitted, e.g. SparkUpgradeException, AnalysisException.  Thus, the root may not always be the actual one.
After this PR, we fill the error response with the full stacktraces like Hive.
WDYT about adding a configuration to control this behavior? @cloud-fan. Personally, I'm -1 of it, because the change is trivial and not really a behavior change and it is consistent with hive currently.

Our users (data analysts and scientists) from JDBC/ODBC don't want to debug anything from the JDBC error message (we still can the full error stack log from Driver log, right?). Like other DBs, the endpoint error message is straightforward. In most cases, this root cause message is satisfied for users. But I am open to the configuration. We will add it in our internal Spark. Anyway, adding a configuration and keep the default value to show full-stack or root cause only is not hard.

only the error messages of the root causes will be delivered.

Can you be more specific? If AnalysisException is skipped, it's a bug to me, as AnalysisException is the exception we expect end-users to see, not the root cause.
I'm not a fan of hiding disagreements behind a config. Let's reach a consensus about what the error we should deliver to end-users. IMO thriftserver, spark-sql shell, spark application should have consistent error messages.

here is an example
w/o pr
 kentyao@hulk  ~/Downloads/spark/spark-3.1.0-SNAPSHOT-bin-20200620  bin/beeline -u 'jdbc:hive2://localhost:10000/default;a=bc;'
Connecting to jdbc:hive2://localhost:10000/default;a=bc;
log4j:WARN No appenders could be found for logger (org.apache.hive.jdbc.Utils).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Connected to: Spark SQL (version 3.1.0-SNAPSHOT)
Driver: Hive JDBC (version 2.3.7)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.3.7 by Apache Hive
0: jdbc:hive2://localhost:10000/default> select date_sub(date'2011-11-11', '1.2');
Error: Error running query: java.lang.NumberFormatException: invalid input syntax for type numeric: 1.2 (state=,code=0)

w/ pr
 kentyao@hulk  ~/Downloads/spark/spark-3.1.0-SNAPSHOT-bin-20200630  bin/beeline -u 'jdbc:hive2://localhost:10000/default;a=bc;'
log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Connecting to jdbc:hive2://localhost:10000/default;a=bc;
Connected to: Spark SQL (version 3.1.0-SNAPSHOT)
Driver: Hive JDBC (version 2.3.7)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.3.7 by Apache Hive
0: jdbc:hive2://localhost:10000/default> select date_sub(date'2011-11-11', '1.2');
Error: org.apache.hive.service.cli.HiveSQLException: Error running query: org.apache.spark.sql.AnalysisException: The second argument of 'date_sub' function needs to be an integer.;
	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.org$apache$spark$sql$hive$thriftserver$SparkExecuteStatementOperation$$execute(SparkExecuteStatementOperation.scala:322)
	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.$anonfun$run$1(SparkExecuteStatementOperation.scala:222)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.sql.hive.thriftserver.SparkOperation.withLocalProperties(SparkOperation.scala:78)
	at org.apache.spark.sql.hive.thriftserver.SparkOperation.withLocalProperties$(SparkOperation.scala:62)
	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.withLocalProperties(SparkExecuteStatementOperation.scala:46)
	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.run(SparkExecuteStatementOperation.scala:222)
	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1$$anon$2.run(SparkExecuteStatementOperation.scala:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
	at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$anon$1.run(SparkExecuteStatementOperation.scala:233)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

You can see in the logs above, w/o this the AnalysisException is missing.

But we do add a lot more stacktrace. Is it possible to hide the stacktrace? BTW do we hide stacktrace since 3.0?

For debugging purposes, I would be happy to get more stacktrace rather than less and get all the causes.
If what @yaooqinn now proposes displays more stack trace and more causes, I would be +1 for that.
I thought that what @LantaoJin did in https://github.com/apache/spark/pull/25960 was because it was displaying just the AQE exception, and hiding the actual trace and cause - that's what the examples in that PRs suggest?

If we hide the stacktrace mistakenly, I'm +1 to this PR.

But we do add a lot more stacktrace. Is it possible to hide the stacktrace?

Compared to going through the whole log of the long-running thrift server driver log to find some error trace which may be missing here, I'd say it is much happier and easier to print a little bit more here.

BTW do we hide stacktrace since 3.0?
Not really, the difference between 2.x and 3.0 is only showing the error message part of the exception getting from top or bottom. This PR introduces the stack trace in to match the behavior of spark-sql shell.

Did something else change about these full stack traces being displayed?

Nope

Personally I'd like to see stacktraces as I'm a developer. But I agree with @LantaoJin that it may not be friendly to end-users. If the thriftserver never shows stacktraces so far, I think we at least should have a dedicated PR to discuss it. Can we focus on getting the actual exception in this PR?

The thing is that the actual exception here is hard to define as we capture all Throwables here.
Or we can add a configuration that is not to decide which exception to deal with but just w/ or w/o exception.
if w/o, we just print the message parts of the exception tree, something like:
Error running query: org.apache.spark.sql.AnalysisException: The second argument of 'date_sub' function needs to be an integer.;
  - Caused by: java.lang.NumberFormatException: invalid input syntax for type numeric: 1.2

otherwise, you get full stacktrace like https://github.com/apache/spark/pull/28963#issuecomment-652893272

SGTM.

I would be +1 for printing as much of exception as possible.
We often get support tickets from end users without an indication of the timestamp when it happened, and sometimes it might be from a week or more ago, so anything that the end user could copy paste into their bug report is helpful.
I wouldn't worry about the exception being not friendly to the end-user. I think getting the error in the first place is even more unfriendly, and if the error stack can be more efficiently used to resolve the error, than that is friendly :-).

There are user-facing errors and unexpected internal errors. For example, if a user makes a mistake in the SQL query, we should tell him what the error is (like table not found), and stack trace is not useful in this case. But we do need the stack trace for unexpected internal errors, to help us debug.
That said, adding a config is not the best solution. We need an error reporting framework to hide the stacktrace for user-facing errors, and keep the stacktrace for others.
How about we keep this PR as it is, so that thriftserver is consistent with sql-shell and  spark applications. And work on the error reporting framework later? cc @gatorsmile

There are user-facing errors and unexpected internal errors. For example, if a user makes a mistake in the SQL query, we should tell him what the error is (like table not found), and stack trace is not useful in this case.

Yes,  for such a case, the stack trace is useless but will also be very short.  so +1 for keeping this PR as it is.

retest this please

Test build #124938 has started for PR 28963 at commit d72074a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29544/
Test PASSed.

Test build #124938 has finished for PR 28963 at commit d72074a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124938/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29614/
Test PASSed.

Test build #125008 has started for PR 28963 at commit d72074a.

Test build #125008 has finished for PR 28963 at commit d72074a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125008/
Test FAILed.

retest this please

Test build #125043 has started for PR 28963 at commit d72074a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29650/
Test PASSed.

Test build #125043 has finished for PR 28963 at commit d72074a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125043/
Test PASSed.

kindly ping @juliuszsompolski @cloud-fan thanks

thanks, merging to master!


Fix loading of style.json

fixes #588

@michael-markl force merging this, because changes are not reviewable and I want to test this now in deployment


Move npy serving from common dir to the backend

npy are currently shared between frontend and backend, need to separate them

Will put off this one, for now, in favor of shared files.


python3Packages.motor: 3.4.0 -> 3.5.1, python3Packages.pymongo: 4.7.3 -> 4.8.0

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build python3Packages.motor python3Packages.pymongo

@ofborg build python3Packages.motor python3Packages.pymongo

@GaetanLepage can you run tests on a Darwin ?

@GaetanLepage can you run tests on a Darwin ?

Sure, it's ongoing. But it will take quite some time...

Sorry, the build has crashed after several hours...


Added test cases for LB with tcp listeners and dns for services with host network

@alena1108 , can you review the new test cases added?

LGTM


Change Install Directory

Is there a way to change the install directory on windows from Home to something else?

I have the same issue, how do I install spf into a specified directory on Linux, so I can avoid conflict with the previous vim configuration. I just want to juse spf13-vim as my C++ development environment, I still want to use my default vim configuration to deal with other edit tasks.
I tried modifying the path relevant configuration in .vimrc.before.vimrc.bundle.vimrc, but it doesn't work.
Can you patch a shellscript to help to install spf13-vim to specified directory?
Thanks!


Fixed Render Opacity

Fixed Render Opacity in Widgets

This is a good idea, but I'm in the middle of integrating some changes, so I'll implement this manually. Thank you.


fix(clerk-sdk-node): Add jwtKey in api envs and use it redwood compatibility

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[x] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Upgrade broke custom icons

My project does not include bootstrap's glyphicons and the code to customize the icons no longer works.
BsDateTimePicker.reopen({
  icons: {
    time: "fa fa-clock-o",
    date: "fa fa-calendar",
    up: "fa fa-arrow-up",
    down: "fa fa-arrow-down"
  }
});

Having the same issue. What file / where in your code do you call BsDateTimePicker.reopen() ?

In a custom domain-specific component which wraps ember-bootstrap-datetimepicker.

This should work with the latest version. Can you confirm that?

It's working now.