Kubernetes SD fails with x509 name mismatch

What did you do?

Started Prometheus on Kubernetes with kubernetes_sd_configs, according to official example.
Kubelet is on AWS, and not running with --hostname_override. Therefore, each node gets an unqualified host name ip-10-0-4-126 or whatever.
The self-signed cert that Kubelet generates as /var/run/kubernetes/kubelet.crt is therefore set up like so:

$ openssl x509 -in /var/run/kubernetes/kubelet.crt -text | grep "Subject:|Subject Alt|DNS:"
Subject: CN=ip-10-0-4-126@1468894729
            X509v3 Subject Alternative Name:
                DNS:ip-10-0-4-126

What did you expect to see?
Prometheus should be able to connect to Kubelet.
What did you see instead? Under which circumstances?
Instead, gets x509: cannot validate certificate for <IP_ADDRESS> because it doesn't contain any IP SANs trying to connect to https://<IP_ADDRESS>:10250. Note use of IP instead of host name. This will never work.
Environment

Prometheus version: 1.0.

Prometheus configuration file: Used the example pretty much verbatim, except I had to add role: node to scrape the nodes.

Related to #1654 and #1013. However, setting server_name is not possible as a workaround, obviously.
FWIW, running --hostname-override=$fqdn doesn't work either. I also tried --hostname-override=$ip, which K8s didn't like at all, although it may have been some kind of state management bug that doesn't like it when you change the hostnames after a node has previously been registered. Still, it shouldn't be necessary to change the host name. Nor should it be necessary to generate a custom cert on each Kubelet node that has the IP as the name.

Couldn't there be an option to use the host name rather than the IP? The API provides the node data with both the kubernetes.io/hostname annotation as well as the name.
There are two reasons why I think this is necessary:

Kubelet's default behaviour, as far as I can tell, is to write a cert that contains the unqualified hostname if one is available — not the IP.
Various scripts (kube-up and so on) set --hostname-override on platforms where this is sensible. This host name seems to be used to generate the cert.

For these reasons, the cert cannot be assumed to have the IP as its SAN. In fact, from what I can tell, the only logical default for Prometheus is to use the kubernetes.io/hostname annotation.
I probably have time to cook up a PR if that sounds reasonable to you.

Using kubernetes.io/hostname does sound reasonable, I just wish it was part of the defined API rather than an annotation which makes guarantees a bit loose. This can be done via relabelling for now? Using a hostname also means the name must be resolvable from Prometheus which I guess is an OK thing to ask for. I'm not 100% sure about making it default though.

BTW the Kubernetes SD was originally tracking what Heapster did to retrieve metrics from nodes, hence the current use of IP.

Can you also verify if nodes have the same issuer as if they use self-signed certs then you're going to have to turn off certificate validation anyway...

Aw dang, Kubelet doesn't use the CA at all. It's self-signed, so you're right, cert validation makes no sense.
In that case, this really needs to be documented properly — unless you're running somewhere like GKE, where I believe each node is set up to sign a cert with the master's CA, then Kubelet's default behavior is to generate a self-signed cert, and insecure_skip_verify has to be enabled.

Looks like we can probably rely on kubernetes.io/hostname annotation being present - see http://kubernetes.io/docs/user-guide/node-selection/#built-in-node-labels , but there is no guarantee that it will be resolvable (hostnames obviously don't have to be in DNS) & I don't think that is used for any comms from API server to kubelet (e.g. for logs, proxying, etc). If it's not good enough for the API server...

In that case, this really needs to be documented properly

We discussed this & didn't like the idea of disabling cert validation by default: felt dirty to have an insecure default. But it is going to be something that affects quite a number of users so a PR making this clearer would be very welcome I'm sure.

Indeed. Re DNS, is that a requirement? Prometheus can still talk to the IP, as long as it provides the right host name in the TLS handshake.
My challenge with Kubelet is that I want to be able to automate node creation (autoscaling and so forth). Doing automatic cert creation securely that way is a challenge I haven't yet solved. Unless I use a wildcard cert (*.ec2.internal is stupid, so each node would need a new local domain).

You're right that it is possible to override the expected server name in cert verification, but unfortunately there is no way to do that with Prometheus discovery AFAIK.
If I was doing automated node creation & wanted to have validateable certs I'd probably look at cfssl or a custom installation of letsencrypt's boulder.

FWIW, we're just scrape the --read-only-port (default 10255) to sidestep this.

That's another option if you don't mind having an insecure port open on the kubelet. Some people see that port as opportunity for info leakage, & there have been plans to get rid of it for quite a while, although it's never happened (& may never).


Create a loader component

Currently, we don't show a loader when we're fetching data from the server. This makes the current experience odd because the elements as appearing without any feedback to the user

This issue was moved to kubeapps/kubeapps#165


"fatal error: checkptr: unsafe pointer conversion" with Go 1.14 und race detector

What versions are you running?
github.com/chromedp/chromedp v0.5.3
Google Chrome 80.0.3987.116
Issue is present on chromedp v0.5.0 too and unrelated to Chrome
What did you do? Include clear steps.
Run chromedp with Go 1.14 under the race detector:
$ go test -race
fatal error: checkptr: unsafe pointer conversion

goroutine 122 [running]:
runtime.throw(0x1f0854e, 0x23)
	/usr/local/go/src/runtime/panic.go:1112 +0x72 fp=0xc00062cdd0 sp=0xc00062cda0 pc=0x1073eb2
runtime.checkptrAlignment(0xc000448035, 0x1d8b100, 0x1)
	/usr/local/go/src/runtime/checkptr.go:13 +0xd0 fp=0xc00062ce00 sp=0xc00062cdd0 pc=0x1045ba0
github.com/gobwas/ws.btsEqualFold(0xc000448034, 0x9, 0xfcc, 0x2818c38, 0x9, 0x9, 0xc000448034)
	/Users/m0252720/go/pkg/mod/github.com/gobwas/ws@v1.0.2/util.go:233 +0x184 fp=0xc00062ce68 sp=0xc00062ce00 pc=0x1c42ee4
github.com/gobwas/ws.Dialer.Upgrade(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/m0252720/go/pkg/mod/github.com/gobwas/ws@v1.0.2/dialer.go:374 +0xe72 fp=0xc00062d0f8 sp=0xc00062ce68 pc=0x1c3dfd2
github.com/gobwas/ws.Dialer.Dial(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/Users/m0252720/go/pkg/mod/github.com/gobwas/ws@v1.0.2/dialer.go:190 +0x444 fp=0xc00062d480 sp=0xc00062d0f8 pc=0x1c3c2e4
github.com/gobwas/ws.Dial(...)
	/Users/m0252720/go/pkg/mod/github.com/gobwas/ws@v1.0.2/dialer.go:47
github.com/chromedp/chromedp.DialContext(0x2109cc0, 0xc000220f00, 0xc000119450, 0x4a, 0xc00062d798, 0x1, 0x1, 0x1088523, 0xc0003d3a40, 0x2)
	/Users/m0252720/go/pkg/mod/github.com/chromedp/chromedp@v0.5.3/conn.go:59 +0xff fp=0xc00062d660 sp=0xc00062d480 pc=0x1c7794f
github.com/chromedp/chromedp.NewBrowser(0x2109d00, 0xc000356390, 0xc000119450, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/Users/m0252720/go/pkg/mod/github.com/chromedp/chromedp@v0.5.3/browser.go:104 +0x3c9 fp=0xc00062d7d0 sp=0xc00062d660 pc=0x1c72309
github.com/chromedp/chromedp.(*ExecAllocator).Allocate(0xc00019e370, 0x2109d00, 0xc000356390, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/Users/m0252720/go/pkg/mod/github.com/chromedp/chromedp@v0.5.3/allocate.go:240 +0x118f fp=0xc00062db50 sp=0xc00062d7d0 pc=0x1c7055f
github.com/chromedp/chromedp.Run(0x2109d00, 0xc000356390, 0xc00062dcb8, 0x1, 0x1, 0x0, 0x0)
	/Users/m0252720/go/pkg/mod/github.com/chromedp/chromedp@v0.5.3/chromedp.go:227 +0x311 fp=0xc00062dc40 sp=0xc00062db50 pc=0x1c7543

(We use chromedp to generate screenshots during testing and we run our tests under the race detector too during CI.)
What did you expect to see?
No failure
What did you see instead?
An error detected (see above) by the new checkptr compile time option which is new (and per default enabled when the race detector is enabled) and checks that unsafe.Pointer safety rules are followed. See https://golang.org/doc/go1.14#compiler for additional details.
Root cause
The problem is not directly in chromedp's code but in the dependency github.com/gobwas/ws.
The issue is reported there too (https://github.com/gobwas/ws/issues/99). If the issue is not or cannot be fixed upstream in package ws it might be necessary to use a different websocket library in chromedp.

Thanks for filing the issue. It's weird noone has spotted this before; I regularly test chromedp with Go master, though I don't use the race detector all the time.
Let's give upstream a week to respond or issue a fix. More people are going to upgrade to 1.14 in the coming days, including them probably, so I figure they'll fix it sooner than later. In the meantime, noone is forced to upgrade to 1.14 today, so sticking to 1.13.x is an OK workaround for a few days.
Replacing the websocket library is possible, but it's work. We already switched to gobwas for performance reasons. Finding another library that's just as performant, and non-buggy, would be enough work on its own.

Thanks @cristaloleg!

@mvdan Any chance we tag a release soon?

You can use master easily, or just update to the latest gobwas/ws without updating chromedp. I don't think a release here is necessary right now.


In debug mode, rethrow caught exceptions

In debug mode, rethrow caught exceptions for service procedures

Now in release mode, an exception here is completely ignored? That doesn't seem right.

Asserts are ignored in debug mode anyway. I don't think we can access the logging system if we get an exception there. Maybe we could put it into a global queue, or log to cerr?


Errno 2] No such file or directory: b'liblibc.a'

-->

OS name & version: kali linux
Python version: <!-- 3.9
Scapy version: <!-- 2.4.3
Nmap version: <!-- 0.6.1

whis@kali:~/kickthemout$ sudo python3 kickthemout.py
[sudo] password for whis:
ERROR: Requirements have not been satisfied properly. Please look at the README file for configuration instructions.
If you still cannot resolve this error, please submit an issue here:
https://github.com/k4m4/kickthemout/issues
Details: [Errno 2] No such file or directory: b'liblibc.a'
pls any help

just open tor
then apt-get update
apt-get dist-upgrade
all this with tor vpn
then o for : python3 kickthemout.py

or if what MRJRSL wrote didnt work (didnt work for me, i also didnt completly understand what he wrote)
this worked for me:
Fix { Error2}

cd /usr/lib/x86_64-linux-gnu/
ln -s -f libc.a liblibc.a

btw the 2nd step first letter is a lower case 'L'

it says " permission Denied


Invalid hash default when not using strip

I'm not sure this is a bug, but it's unexpected. If you have a hash input with strip: false, you cannot set a default with any key-value pairs. I would expect to be able to set the default to whatever I want, since you can pass in whatever you want.
class Example < ActiveInteraction::Base
  hash :x, strip: false, default: { foo: :bar }
end
# ActiveInteraction::InvalidDefaultError: x: {:foo=>:bar}

However, this gets complicated when you have filters defined inside the hash. We require setting defaults on those filters as opposed to setting them on the hash.

Now I'm convinced this is not a bug.


Clarify licensing

Both MIT and Unlicense are included in tree, so I think it would be a good idea to clarify in README whether they are disjunctive (or) or conjunctive (and).

Hi! Thanks for asking, the intent is for it to be OR. I will add a clarifying statement in the README and fix the SPDX statement in the cargo.toml. Those will reflect in a future release, but from my viewpoint this has always been an OR.

Both changes have been made. Please reopen if there is any remaining ambiguity.


Use pyarrow.filesystem.LocalFileSystem's rm implementation when will become available

add_to_dataset_metadata deletes ._common_metadata.crc file to avoid mismatch between _common_metadata content and its .crc (since add_to_dataset_metadata modifies _common_metadata.
The .crc file is deleted using os.remove since pyarrow.filesystem.LocalFileSystem has rm unimplemented.
Once the implementation is inplace on the pyarrow side (we may consider contributing the fix), we should remove our os.remove hack.

There is a jira ticket already for this in arrow https://issues.apache.org/jira/browse/ARROW-2600 which makes it seem like it should be fixed in 0.11.0 (though we can contribute it, its an easy change)


build: remove unnecessary CXX_STANDARD for Windows

The entire project is now at C++14.  Windows had to adopt C++14 earlier
to support processing the Windows SDK headers.  This is no longer
necessary, adopt the global settings instead.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test

@swift-ci please smoke test Linux platform

@swift-ci  please smoke test Linux platform

@swift-ci please smoke test Linux platform

@swift-ci please smoke test Linux platform


Bound onClick handler to this

resolves: https://github.com/glittershark/reactable/issues/157

Cool, thanks! This is why I did the latest version as a beta first. Thanks for testing on the bleeding edge! :wink:

NP. :beers:

Alright, wrote some tests then merged this as 179e42291b511841ac5b43cb92233c2da31d934e

:+1:


Intro to Elixir

Some of us in the Hydra community have been looking at other tools to supplement our Hydra stacks. This would be a workshop to introduce a fast new language with ruby-like syntax, concurrent processing, and a stable framework.
Presenter: Trey Pendragon + ???
Workshop
All?  Developers?

2016-07-13 Trey, You have suggested a workshop session at Hydra Connect 2016 entitled “Intro to Elixir”.  The Program Committee regret that they are going to be unable to find a slot for this in the workshop timetable but would be happy to offer you a slot to give a lightning talk or run an unconference session on the topic.
I’d be grateful if you’d email me at<EMAIL_ADDRESS>to indicate which of these options you prefer, or whether you’d prefer not accept a different format.

2017-07-13 From Trey: Thanks for getting back to me! A lightning talk sounds like a good alternative, assuming my other sessions don't end up there as well - I imagine I'd prefer to do profiling as a lightning talk if there isn't time for that too. Looking forward to the conference!


React Native support

Is this library currently supported for React Native?

Refer to https://github.com/Unleash/proxy-client-react/issues/18


TreeView.message only works with Insiders

The TreeView.message API only seems to work when run through VSCode Insiders.
Using it in VSCode 1.40 seems to either produce no effect, or throw errors saying that a proposed API is being used.
I am open to the idea that I am missing something obvious here and this API is still only "proposed", but it is shown in the API documentation:
https://code.visualstudio.com/api/references/vscode-api#TreeView<T>
It is not in the proposed API .d.ts:
https://github.com/microsoft/vscode/blob/master/src/vs/vscode.proposed.d.ts
And this commit seems to be what changed that:
https://github.com/microsoft/vscode/commit/f8c9cc7d6a09f97bf4e270c2782de653f17aa5af

For reference, this is the error produced:
Activating extension `vscode-samples.custom-view-samples` failed:  [vscode-samples.custom-view-samples]: Proposed API is only available when running out of dev or with the following command line switch: --enable-proposed-api vscode-samples.custom-view-sample

When setting a message on https://github.com/microsoft/vscode-extension-samples/blob/master/tree-view-sample/src/ftpExplorer.ts#L163

Looks like I forgot to remove the check for that in 1.40. Sorry about the confusion and annoyance this caused! The check is removed in 1.41, which just released this week.


Running format on functions with annotations above params reindents only the annotation

If you take a source file with annotations above parameters like this:
import org.jetbrains.annotations.Nullable

class Tester {

    fun annotated(@Nullable
                  param: String) {
        println("nullable $param")
    }
}

ktlint -F Test.kt
You'll get:
import org.jetbrains.annotations.Nullable

class Tester {

    fun annotated(
        @Nullable
                  param: String
    ) {
        println("nullable $param")
    }
}

The workaround is that you can manually fix the indent of the param and ktlint will accept that too.

Thank you, Jeremy. Fixed in 0.17.0 (Maven Central sync might take up to 25 minutes).


Apply with LinkedIn on - Mobile View

If we have Apply with LinkedIn enabled, we should allow the user to either send a desktop link via email (current functionality) or apply using LinkedIn via their mobile browser.

For clarification, Jon is talking about current functionality on Apple devices.
Currently, the apply modal is not shown on Apple products because we were hiding functionality that did not work on Apple devices(i.e. uploading a resume).
Job Detail Page on Apple device. Notice that you cannot get to Apply modal where LinkedIn functionality is:

Job Detail Page on non-Apple devices. Clicking Apply shows the option to apply by LinkedIn or by uploading a resume:

Hey, @jontheophilus —
This is actually by design. I promise we have a good reason for this. On iOS, Safari is a lot more picky about cross origin requests. If we enable the LinkedIn Apply button on those devices, Safari would actually error out on the request for the data. Since this is a core security feature of iOS and has been since iOS5, we won't be able to support mobile safari. I think we allow applications on Chrome on iOS.
Here is a stack article that goes into greater depth on this issue:
http://stackoverflow.com/questions/29230820/sign-in-with-linkedin-doesnt-trigger-callback-on-ios-safari-when-using-the-js-a
Sorry that this isn't documented as well as it could be.

That's a shame, a lot of candidates expect to be able to apply with their mobile phone, and a lot of candidates are going to be running mobile safari. Yes, Chrome on iOS does seem to work, but a very small number of people will have this. According to monster, 18% of applicants submitted their application via their mobile, and this number is growing.
Could there be a message stating that their browser doesn't support mobile apply and possibly offer a link to Chrome iOS in addition to offering to email the job link?
Is there any plans to address this functionality or a workaround? Is this something that LinkedIn has to fix with their Javascript lib?

Let me check on the messaging. I was the person that implemented the Apply With Linked In feature, but it's been quite a few lines of code since that was implemented. I'll message back in a bit.
I completely agree that this is a really lame limitation of iOS. But it's not one with an easy solution. Since this app is a front end application, we're limited to the client-side APIs we have available to us. Since LinkedIn built their client-side JS apply feature the way that they did and the Safari team sealed off an important mechanism for XSS (cross-site scripting), it won't work with Safari so we would need another entry point that didn't require XSS.
To provide a little glimpse into one of the options that we vetted: it seems like the simplest approach would be to build this app to include a server-side API (likely Node) which allows us to ensure that all HTTP requests are proxied through that layer and the DOM never executes any XSS. Instead, the DOM sends data to Node and Node sends data back and forth from other APIs (like LinkedIn). This would be a pretty big architectural shift for a single feature, though, so we would need to make sure that it's what the community using this app really needs. There are (of course) several other ways to solve this problem, but this was the quickest one to highlight that we didn't take dropping this functionality lightly.
tl;dr: I'll check on the messaging. We have some options, but we need to implement them judiciously. iOS Safari's XSS limitation is totally lame (but I'm sure it's very secure).

I was thinking of this. We documented it on our Wiki. Definitely not the same as having a message when I have LinkedIn enabled and I'm on iOS Safari. It would be easy enough to implement that, though, since the logic for hiding/showing that feature is obviously there.
If you'd like this feature on your CareerPortal you could fork our repo and take a stab at adding it? Feel free to @ me if you have questions and need help.

Update From LinkedIn
We've received an update from the LinkedIn development team that they are aware of the iOS Safari issue and are planning to develop a new version of their Apply With LinkedIn API. We will continue to provide updates as we receive them as well as provide information regarding how that will influence our roadmap.


PHP version 5.6 required?

When I try to install using composer I get this error:

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - ralouphie/getallheaders 3.0.3 requires php >=5.6 -> your PHP version (5.5.9) does not satisfy that requirement.
    - ralouphie/getallheaders 3.0.3 requires php >=5.6 -> your PHP version (5.5.9) does not satisfy that requirement.
    - Installation request for ralouphie/getallheaders (installed at 3.0.3) -> satisfiable by ralouphie/getallheaders[3.0.3].

Installation failed, deleting ./composer.json.

Could there be another dependency which is calling for this version? I was just able to install the dependencies in PHP 5.5 with no issue.

Yes,  ralouphie/getallheaders 3.0.3 requires php >=5.6
But why does it try to install this version if my php version is 5.5.9?
Shouldn't it try the lower version that requires php 5.3?
I'm using composer for the first time so I don't know if I make any sense.

Can someone advise what steps should I take to resolve this?


IOGX Integration [Work In Progress]

Please ignore, this is my eyes only for the time being

Superseded by https://github.com/input-output-hk/marconi/pull/87


stats: The stats Docker container keeps restarting.

After starting with Docker Compose, the stats service keeps restarting, even though the logs appear normal.

Below is the log content

Thanks for creating an issue. We've also noticed it; fix is out now 🎊
https://github.com/blockscout/blockscout-rs/releases/tag/stats%2Fv2.2.3


[ERROR]: Business Area's not completed-present for E2E - Procure to Pay

Contact Details
<EMAIL_ADDRESS>Describe the error you see in the documentation, or the correction you suggest
There are 5 business area's (and subsequent business proces, patterns) that are not present/completed
75.x0.0xx.x00 - Define policies and procedures for procurement (Guidance hub YES, BPC NO)
75.x0.0xx.x00 - Plan supply (Guidance hub YES, BPC NO)
75.x0.0xx.x00 - Manage vendor debits and chargebacks (Guidance hub YES, BPC NO)
75.x0.0xx.x00 - Create and proces promissory notes (Guidance hub YES, BPC NO)
75.x0.0xx.x00 - Analyse vendor preformance (Guidance hub YES, BPC NO)
Link to the article where the error is
https://learn.microsoft.com/en-us/dynamics365/guidance/business-processes/procure-to-pay-overview https://github.com/microsoft/dynamics365patternspractices/blob/main/templates/business-processes/Business Process Catalog October 2023.xlsx
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hello, thank you for your suggestion. The articles for the different business process areas are work in progress. New articles are added every other week, and the ones missing for procure-to-pay will probably come either later in December 2023 or in January 2024.

Thank you for the suggestion. The following changes will be made to the learn article. However, the business process cataloque is already reflecting the below changes.
"Plan supply" business process will move to Forecast to plan end to end business process
"Define procurement and sourcing policies" will be converted to a L3 business process under the L2 business process area "Define procurement and sourcing strategies"
"Evaluate vendor performance" will be converted to a L3 business process under the L2 business process area "Manage vendor relationship"
"Process vendor debits" will be converted to a L3 business process under the L2 business process area "Process vendor invoices"
"Generate and process promissory notes" will be converted to a L3 business process under the L2 business process area "Issue and settle vendor payments"


IMDb Ratings for Netflix - Show IMDb ratings Extension

The "IMDb Ratings for Netflix" extension enhances your Netflix browsing experience by displaying IMDb ratings directly on the Netflix platform. This feature provides quick and easy access to IMDb ratings for movies and TV shows, helping you make informed viewing choices without leaving the Netflix app.
Key Features:

Seamless Integration:

IMDb ratings are displayed directly within the Netflix interface, ensuring a smooth and uninterrupted browsing experience.

Real-Time Ratings:

Access up-to-date IMDb ratings for movies and TV shows, giving you the latest information on the quality and popularity of content.

Hover and Pop-Up Details:

Hovering over a title reveals a pop-up with additional details, including the IMDb rating, number of votes, and a brief synopsis. This feature provides more context without needing to navigate away from Netflix.

Color-Coded Ratings:

Ratings are color-coded for easy recognition. For example, highly-rated titles might appear in green, average titles in yellow, and lower-rated titles in red, allowing you to quickly gauge the quality of a show or movie at a glance.

User-Friendly Interface:

The extension is designed to be intuitive and easy to use, requiring minimal setup. Simply install it, and the IMDb ratings will automatically appear on Netflix.

Customizable Settings:

Users can customize the appearance and behavior of the ratings, including options for font size, color scheme, and the position of the pop-up details.
By integrating IMDb ratings directly into Netflix, this extension empowers users to make better-informed decisions about what to watch, enhancing the overall streaming experience.

No pull request received closing this


Nuxt v2.6.0 ignores nuxt.config.js

Version
v2.6.0
Reproduction link
https://cmty.app/nuxt/issues/new?type=bug-report&repo=nuxt.js
Steps to reproduce
I did an npm install that pulled down v2.6.0 and my app broke. After investigation if appears that the config file is being completely ignored. Rolling back to v2.5.1 fixed it.
What is expected ?
Read config file
What is actually happening?
I did an npm install that pulled down v2.6.0 and my app broke. After investigation if appears that the config file is being completely ignored. Rolling back to v2.5.1 fixed it.

This bug report is available on Nuxt community (#c9004)

Please add a reproduction GitHub repository or CodeSandbox ( https://template.nuxtjs.org ).

The bug is confirmed. Fixes with #5500


0.9rc30: Comparison "matches against" did not working

The query
SELECT *  FROM access_log WHERE SITE ='<IP_ADDRESS>'
Works as expected ( 1200 rows)
The Query
SELECT *  FROM access_log WHERE time >'2015-05-19 12:00:00' AND SITE ='<IP_ADDRESS>'
Works as expected  ( 300 rows)
But queries
SELECT *  FROM access_log WHERE SITE =~ /198.38.120../
SELECT *  FROM access_log WHERE time >'2015-05-19 12:00:00'  AND SITE =~ /198.38.120../
SELECT *  FROM access_log WHERE time >'2015-05-19 12:00:00'  AND SITE =~ /.something./
return no row

@dtouzeau is site a tag or a field in the access_log measurement?

It is a field not a tag

I believe this is expected behavior, then. Fields and field values cannot be searched with regular expressions.
Do you get any error messages or just a blank response?

Just blank response, no row
Is there a way to define all fields as tags because all fields that have created is able to be searched.
This way that makes difference between fields and tags force to define many field as tags and should growth database size...
Example for a mail server we have time, mail from, mail to, domain from domain to, size, hits...
So i must set as tag  mail from, mail to, domain from domain to and field too...

Is the "GROUP BY" feature should work better with tags ?

Everything in a query will work better on tags rather than values. Tags are indexed, fields are not. Fields should only contain actual measurements. Tags should contain metadata about the measurements.
Putting it another way, anything you want to frequently use as part of the WHERE clause in your queries should be a tag. In your examples, time, size, and hits sound like fields and mail from, mail to, domain from, and  domain to could be tags or fields. It really all depends on the queries you most want to run.
InfluxDB is intended for use cases where queries are primarily about the change in the measured values over time. The query examples you give in your initial question look like traditional RDBMS queries with a time component in the WHERE clause.

Yes my needs is like MySQL but i need InfluxDB performance, we build an Appliance for Squid server and we have to provides statistics on millions Web requests.
MySQL is too heavy and require too many performances (memory/CPU) for storing million items in one single table/database...
The 0.8 version was very good because the mechanism was the same as MySQL but the last bug about listen port 8086 force us to upgrade to 0.9 as the method was radically different.
I think you are in the right way about performances between MySQL it is amazing...!
Now we have a 0.9x DB that stores about 500MB data without any tag..
Is there a way to create tags in a bulk way ?
If not, this is my feature request...

@dtouzeau the performance of InfluxDB relative to MySQL is precisely because InfluxDB restricts what queries can be done and optimizes for those cases. There are queries that are performant in MySQL that are impossible in InfluxDB and vice versa.
As I mentioned, without some idea of what queries you want to run on a regular basis it's not possible to determine whether you should be using a time-series database to store them.

Is there a way to create tags in a bulk way ?

There is no way to add tags to a point. Points are uniquely identified by their timestamp, measurement, and tag set. Adding a new tag changes the tag set and therefore makes it a new point.

does that mean, we can NOT use regex in the field at all. Tag is the only way to do faster search.

@lokeshverizon Regular expression matching only works against tags, not fields.


PreactX support

Support for preact X in 2.0

@cromefire  when ever i try to build docs I am getting the following error
https://pastebin.com/4aWwCV7n
I remember you fixed this earlier, any ideas?

Yes I wrote a custom resolver for sass-loader:
https://github.com/prateekbh/preact-material-components/blob/762edebc0ab1f340b693bed6cba98ff29daa9297/packages/docs/preact.config.js#L11-L25
https://github.com/prateekbh/preact-material-components/blob/762edebc0ab1f340b693bed6cba98ff29daa9297/packages/base/build/index.ts#L1-L124

https://github.com/prateekbh/preact-material-components/issues/1336 - noted failing tests here

Why did you do the dummy commit?

should've just restarted the tests 🤦🏻♂


Prints overly verbose exception details on AttributeError

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
When comparing v1 vs v2 in terms the amount of details that are printed on an AttributeError, I very much prefer v1 and now I am wondering if it was a deliberate decision to go so verbose.
It does not add lots of value to me as a pydantic user to know in which branch of its logic the problem occured.
Knowing that the model is missing the attribute seems very fine to me.

            # See `BaseModel.__repr_args__` for more details
            try:
                pydantic_extra = object.__getattribute__(self, '__pydantic_extra__')
            except AttributeError:
                pydantic_extra = None

            if pydantic_extra:
                try:
                    return pydantic_extra[item]
                except KeyError as exc:
                    raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') from exc
            else:
                if hasattr(self.__class__, item):
                    return super().__getattribute__(item)  # Raises AttributeError if appropriate
                else:
                    # this is the current error
>                   raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}')
E                   AttributeError: 'M' object has no attribute 'attr'

../../../../../Library/Caches/pypoetry/virtualenvs/xxx-xxx-Ms7_xa4C-py3.12/lib/python3.12/site-packages/pydantic/main.py:811: AttributeError

Example Code
from pydantic import v1, BaseModel

def test_v1():
    class M(v1.BaseModel):
        val: int = 0

    assert M().attr

def test_v2():
    class M(BaseModel):
        val: int = 0

    assert M().attr

Python, Pydantic & OS Version
python -c "import pydantic.version; print(pydantic.version.version_info())"
             pydantic version: 2.7.1
        pydantic-core version: 2.18.2
          pydantic-core build: profile=release pgo=true
                 install path: /Users/xxx/Library/Caches/pypoetry/virtualenvs/xxx-xxx-Ms7_xa4C-py3.12/lib/python3.12/site-packages/pydantic
               python version: 3.12.0 (v3.12.0:0fb18b02c8, Oct  2 2023, 09:45:56) [Clang 13.0.0 (clang-13<IP_ADDRESS>)]
                     platform: macOS-14.5-arm64-arm-64bit
             related packages: typing_extensions-4.11.0 fastapi-0.110.1 pydantic-settings-2.2.1
                       commit: unknown

@chbndrhnns,
Good question. Though I'm not sure if this was intentional, I think folks in general prefer a more informative traceback.
I'm going to close this as not planned - I don't think it's something we'd plan on changing, and a user can easily filter exceptions to their heart's desire.
Also, I'm not able to repro this locally, I get the same error for each case...


No seba_worker file in seba folder

Describe the bug
I installed my AMUSE without any problem. However, when I tried to run an event-driven example calling the SeBa community code, it showed the next error:
exceptions.CodeException("The worker application does not exist, it should be at: \n{0}".format('\n'.join(tried_workers)))
amuse.support.exceptions.CodeException: The worker application does not exist, it should be at:
/Users/sergiosan/Amuse-env/lib/python3.9/site-packages/amuse/_workers/seba_worker
/Users/sergiosan/Amuse-env/lib/python3.9/site-packages/amuse/_workers/seba_worker
/Users/sergiosan/Amuse-env/lib/python3.9/site-packages/amuse/community/seba/seba_worker
/Users/sergiosan/Amuse-env/lib/python3.9/site-packages/amuse/rfi/seba_worker
I just realised that all the cummunity codes have their respective worker executable files, but the one from Seba is not there.  I
Environment (please complete the following information):

I have a MacBook Pro with M1 processor.

Am I missing something or I forgot to include the worker?

Completely odd.. It never happened to me. It's just that specific file.
When I do pip list | grep amuse I got all the community codes installed:
amuse                    2023.3.0
amuse-athena             2023.3.0
amuse-bhtree             2023.3.0
amuse-bse                2023.3.0
amuse-capreole           2023.3.0
amuse-evtwin             2023.3.0
amuse-fastkick           2023.3.0
amuse-fi                 2023.3.0
amuse-fractalcluster     2023.3.0
amuse-framework          2023.3.0
amuse-gadget2            2023.3.0
amuse-galactics          2023.3.0
amuse-galaxia            2023.3.0
amuse-halogen            2023.3.0
amuse-hermite            2023.3.0
amuse-hop                2023.3.0
amuse-huayno             2023.3.0
amuse-kepler             2023.3.0
amuse-kepler-orbiters    2023.3.0
amuse-mameclot           2023.3.0
amuse-mercury            2023.3.0
amuse-mmams              2023.3.0
amuse-ph4                2023.3.0
amuse-phigrape           2023.3.0
amuse-seba               2023.4.0
amuse-secularmultiple    2023.3.0
amuse-simplex            2023.3.0
amuse-smalln             2023.3.0
amuse-sphray             2023.3.0
amuse-sse                2023.3.0
amuse-twobody            2023.3.0
Including SeBa. Does it have something to do with the OS? On the other hand... Can I get the worker in any repository?

The worker should be built automatically when you install via pip, if it's not there the installation should fail.
The OS is not a problem either.
I just tested amuse-seba 2023.4.0 which you have installed, and I have the worker.
Could you try uninstalling amuse-seba (pip uninstall amuse-seba), then removing your pip cache files (rm -r ~/Library/Caches/pip/wheels/*) and installing amuse-seba again (pip install --upgrade amuse-seba)?

I have applied the commands you proposed. After uninstalling SeBa I checked that the folder was properly removed, including the pip cache files. Finally, I re-install amuse-seba one more time but I'm getting the same folder without the worker. Definitely, very strange...
The only files that appear are:

init.py
pycache (folder)
download.py
interface.py
version.py

Ok, so the problem is not Seba then, but more global.
I'm surprised that these packages install after failing to build the worker, that seems like the real bug here.
Your issue would then probably originate from a problem with the prerequisites, perhaps the compilers are not correct.
Did you upgrade anything after originally installing amuse-framework?
Could you attach the AMUSE config file (should be in /Users/sergiosan/Amuse-env/share/amuse/config.mk)?
Your OS and Python version are not a problem, I'm running the same.

For you first question. I haven't done any upgrade of AMUSE after installing it the first time. Just installed some libraries in python for my PhD project, particularly the one called Isochrones.
Now, here below I attached the file you asked me to look for (sorry for the huge block of text):
`
amuse configuration generated by ./configure from config.mk.in
PYTHON=/Users/sergiosan/Amuse-env/bin/python
CODE_GENERATOR=amusifier

PYTHON embedding

PYTHON_DEV=no
CYTHON=/Users/sergiosan/opt/anaconda3/bin/cython
PYTHONCONFIG='no'
PYTHONDEV_CFLAGS=
PYTHONDEV_LDFLAGS=

Compilers, for compiling without MPI
these compilers must be the same or compatible with
the mpi compilers

CXX=g++
CC=gcc
FC=/opt/local/bin/gfortran-mp-12
GFORTRAN_VERSION=12.2.0
IFORT_VERSION=
FC_ISO_C_AVAILABLE=yes

Default flags, append to these in the makefiles

CXXFLAGS=-g -O2 -fno-common
CFLAGS=-g -O2 -fno-common
FCFLAGS=-g -O2 -fno-common
LDFLAGS=

MPI Compilers

MPI_ENABLED=yes
MPICXX=mpicxx
MPICC=mpicc
MPIFC=mpif90
MPIEXEC=/opt/local/bin/mpiexec
MPI_CFLAGS=-I/opt/local/include/openmpi-gcc12
MPI_CXXFLAGS=-I/opt/local/include/openmpi-gcc12
MPI_FCFLAGS=-Wl,-flat_namespace -Wl,-commons,use_dylibs -I/opt/local/lib/openmpi-gcc12
MPI_CLIBS=-L/opt/local/lib -lmpi
MPI_CXXLIBS=-L/opt/local/lib -lmpi_cxx -lmpi
MPI_FCLIBS=-Wl,-commons,use_dylibs -I/opt/local/lib/openmpi-gcc12 -L/opt/local/lib/openmpi-gcc12 -L/opt/local/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

Java

JAVA_ENABLED=yes
JAVA=/usr/bin/java
JAVAC=/usr/bin/javac
JAR=/usr/bin/jar
JAVA_VERSION=1.8

OpenMP

OPENMP_ENABLED=no
OPENMP_FCFLAGS=-fopenmp
OPENMP_CFLAGS=

Libraries: FFTW, GSL, HDF5, CUDA, SAPPORO

FOUND_FFTW=yes
FFTW_FLAGS=-I/Users/sergiosan/opt/anaconda3/include
FFTW_LIBS=-L/Users/sergiosan/opt/anaconda3/lib -lfftw3 -lfftw3_threads
FOUND_GSL=yes
GSL_FLAGS=-I/opt/local/include
GSL_LIBS=-L/opt/local/lib -lgsl -lgslcblas
FOUND_GMP=yes
GMP_FLAGS=
GMP_LIBS=-L/Users/sergiosan/opt/anaconda3/lib -lgmp
FOUND_MPFR=yes
MPFR_FLAGS=
MPFR_LIBS=-L/Users/sergiosan/opt/anaconda3/lib -lmpfr -lgmp
HDF5_FLAGS=-I/Users/sergiosan/opt/anaconda3/include
HDF5_LIBS= -L/Users/sergiosan/opt/anaconda3/lib -lhdf5  -lcrypto -lcurl -lpthread -lz -ldl -lm
HDF5_FFLAGS=
HDF5_FLIBS= -L/Users/sergiosan/opt/anaconda3/lib
NETCDF_PREFIX=.
NETCDF_FLAGS=
NETCDF_LIBS=
NETCDFF_PREFIX=.
NETCDFF_FLAGS=
NETCDFF_LIBS=
CUDA_ENABLED=no
NVCC=
NVCC_FLAGS=
CUDA_TK=/NOCUDACONFIGURED
CUDA_LIBS=-L/NOCUDACONFIGURED cuda cudart
FOUND_CL=no
CL_LIBS=
CL_FLAGS=
SAPPORO_VERSION=light
SAPPORO_LIBS=-L${AMUSE_DIR}/lib/sapporo_light -lsapporo
FS_FLAGS=-I$(AMUSE_DIR)/lib/forsockets
FS_LIBS=-L$(AMUSE_DIR)/lib/forsockets -lforsockets
SC_FLAGS=-I$(AMUSE_DIR)/lib/stopcond
SC_CLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcond
SC_FCLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcond
SC_MPI_CLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi
SC_MPI_FCLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi
LAPACK_LIBS=-llapack
BLAS_LIBS=-lblas
export PYTHON CXX CC FC CXXFLAGS CFLAGS FCFLAGS MPICXX MPICC MPIFC LDFLAGS
export JAVA JAVAC JAVAH JAR JAVA_FLAGS
export FS_FLAGS FS_LIBS SC_FLAGS SC_CLIBS SC_FCLIBS SC_MPI_CLIBS SC_MPI_FCLIBS
export FFTW_FLAGS FFTW_LIBS
export GSL_FLAGS GSL_LIBS
export HDF5_FLAGS HDF5_LIBS
export OPENMP_FCFLAGS OPENMP_CFLAGS
export NVCC CUDA_TK CUDA_LIBS CUDA_ENABLED
export SAPPORO_VERSION SAPPORO_LIBS
export MPICFLAGS MPICCFLAGS MPIFCFLAGS
export IFORT_VERSION
export NVCC_FLAGS
export PYTHONDEV_LIBS PYTHONDEV_CFLAGS PYTHONDEV_LIBS
export FC_ISO_C_ENABLED
export LAPACK_LIBS BLAS_LIBS
ifdef AMUSE_DIR
export AMUSE_DIR
endif
`

For you first question. I haven't done any upgrade of AMUSE after installing it the first time. Just installed some libraries in python for my PhD project, particularly the one called Isochrones.
Now, here below I attached the file you asked me to look for (sorry for the huge block of text):
# amuse configuration generated by ./configure from config.mk.in

PYTHON=/Users/sergiosan/Amuse-env/bin/python
CODE_GENERATOR=amusifier

#
# PYTHON embedding
#
PYTHON_DEV=no
CYTHON=/Users/sergiosan/opt/anaconda3/bin/cython
PYTHONCONFIG='no'
PYTHONDEV_CFLAGS=
PYTHONDEV_LDFLAGS=

#
# Compilers, for compiling without MPI
# these compilers must be the same or compatible with
# the mpi compilers
#
CXX=g++
CC=gcc
FC=/opt/local/bin/gfortran-mp-12
GFORTRAN_VERSION=12.2.0
IFORT_VERSION=
FC_ISO_C_AVAILABLE=yes

#
# Default flags, append to these in the makefiles
#
CXXFLAGS=-g -O2 -fno-common
CFLAGS=-g -O2 -fno-common
FCFLAGS=-g -O2 -fno-common
LDFLAGS=

#
# MPI Compilers
#
MPI_ENABLED=yes
MPICXX=mpicxx
MPICC=mpicc
MPIFC=mpif90
MPIEXEC=/opt/local/bin/mpiexec

MPI_CFLAGS=-I/opt/local/include/openmpi-gcc12
MPI_CXXFLAGS=-I/opt/local/include/openmpi-gcc12
MPI_FCFLAGS=-Wl,-flat_namespace -Wl,-commons,use_dylibs -I/opt/local/lib/openmpi-gcc12
MPI_CLIBS=-L/opt/local/lib -lmpi
MPI_CXXLIBS=-L/opt/local/lib -lmpi_cxx -lmpi
MPI_FCLIBS=-Wl,-commons,use_dylibs -I/opt/local/lib/openmpi-gcc12 -L/opt/local/lib/openmpi-gcc12 -L/opt/local/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

#
# Java
#
JAVA_ENABLED=yes
JAVA=/usr/bin/java
JAVAC=/usr/bin/javac
JAR=/usr/bin/jar
JAVA_VERSION=1.8

#
# OpenMP
#

OPENMP_ENABLED=no
OPENMP_FCFLAGS=-fopenmp
OPENMP_CFLAGS=

#
# Libraries: FFTW, GSL, HDF5, CUDA, SAPPORO
#

FOUND_FFTW=yes
FFTW_FLAGS=-I/Users/sergiosan/opt/anaconda3/include
FFTW_LIBS=-L/Users/sergiosan/opt/anaconda3/lib -lfftw3 -lfftw3_threads

FOUND_GSL=yes
GSL_FLAGS=-I/opt/local/include
GSL_LIBS=-L/opt/local/lib -lgsl -lgslcblas

FOUND_GMP=yes
GMP_FLAGS=
GMP_LIBS=-L/Users/sergiosan/opt/anaconda3/lib -lgmp

FOUND_MPFR=yes
MPFR_FLAGS=
MPFR_LIBS=-L/Users/sergiosan/opt/anaconda3/lib -lmpfr -lgmp

HDF5_FLAGS=-I/Users/sergiosan/opt/anaconda3/include
HDF5_LIBS= -L/Users/sergiosan/opt/anaconda3/lib -lhdf5  -lcrypto -lcurl -lpthread -lz -ldl -lm
HDF5_FFLAGS=
HDF5_FLIBS= -L/Users/sergiosan/opt/anaconda3/lib

NETCDF_PREFIX=.
NETCDF_FLAGS=
NETCDF_LIBS=
NETCDFF_PREFIX=.
NETCDFF_FLAGS=
NETCDFF_LIBS=

CUDA_ENABLED=no
NVCC=
NVCC_FLAGS=
CUDA_TK=/NOCUDACONFIGURED
CUDA_LIBS=-L/NOCUDACONFIGURED cuda cudart

FOUND_CL=no
CL_LIBS=
CL_FLAGS=

SAPPORO_VERSION=light
SAPPORO_LIBS=-L${AMUSE_DIR}/lib/sapporo_light -lsapporo

FS_FLAGS=-I$(AMUSE_DIR)/lib/forsockets
FS_LIBS=-L$(AMUSE_DIR)/lib/forsockets -lforsockets

SC_FLAGS=-I$(AMUSE_DIR)/lib/stopcond
SC_CLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcond
SC_FCLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcond
SC_MPI_CLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi
SC_MPI_FCLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi

LAPACK_LIBS=-llapack
BLAS_LIBS=-lblas

export PYTHON CXX CC FC CXXFLAGS CFLAGS FCFLAGS MPICXX MPICC MPIFC LDFLAGS
export JAVA JAVAC JAVAH JAR JAVA_FLAGS
export FS_FLAGS FS_LIBS SC_FLAGS SC_CLIBS SC_FCLIBS SC_MPI_CLIBS SC_MPI_FCLIBS
export FFTW_FLAGS FFTW_LIBS
export GSL_FLAGS GSL_LIBS
export HDF5_FLAGS HDF5_LIBS
export OPENMP_FCFLAGS OPENMP_CFLAGS
export NVCC CUDA_TK CUDA_LIBS CUDA_ENABLED
export SAPPORO_VERSION SAPPORO_LIBS
export MPICFLAGS MPICCFLAGS MPIFCFLAGS
export IFORT_VERSION
export NVCC_FLAGS
export PYTHONDEV_LIBS PYTHONDEV_CFLAGS PYTHONDEV_LIBS
export FC_ISO_C_ENABLED
export LAPACK_LIBS BLAS_LIBS

ifdef AMUSE_DIR
export AMUSE_DIR
endif

/
hola
/

For you first question. I haven't done any upgrade of AMUSE after installing it the first time. Just installed some libraries in python for my PhD project, particularly the one called Isochrones.
Now, here below I attached the file config.mk you asked me to look for (I added .txt at the end for uploading without format error)
config.mk.txt

I think we can close this, having resolved the issue during the workshop in New York. For future reference: the problem was caused by a mix of Intel-Homebrew, ARM-Homebrew, and MacPorts being installed, plus a funky PATH setup. After we disentangled all the different installers and tools, AMUSE built successfully.


Introduced Input System Profile

Overview

Refactored Config Profile and moved all Input System options into a new Input System Profile to cleanup the main config profile
[ ] Unhide fields even when features are turned off.

I'd like to hold this one until I have the refactored SpeechInput PR in (patent pending)

Yeah same goes for the touch screen input refactor as well.

@StephenHodgson, what is blocking this PR?

All the Input Source refactoring to Device Managers

Need to fix conflicts. otherwise approved

Working on that now

Okay should be good now unless you guys spot something I may have missed.


Added missing periods at mod-related messages and some system messages

Fixes #4515

Still missing periods on /untimeout /ban /unban commands responses, not sure where to add those.

Thank you! As a first-time contributor, you can now add yourself to the contributors list that's shown inside the About page in Chatterino.
If you want this, you can open a new PR where you modify the resources/contributors.txt file and add yourself to the list. Make sure to read the comments at the top for instructions.


Where is find_links_tree defined?

https://github.com/fluquid/extract-social-media/blob/20d6ff39f8778c0b6832065eed43d6013a6a2207/src/extract_social_media/__init__.py

Oic.. sorry.. got lazy.
You forgot
from extract_social_media import find_links_tree
in  your example


Fix JsonToGrpcGatewayFilterFactory MethodDescriptor fullMethodName problem

fix #2906
when proto file use package  syntax, we will get  an Exception:

io.grpc.StatusRuntimeException: UNIMPLEMENTED: Method not found:

reason:
JsonToGrpcGatewayFilterFactory.java#L228

MethodDescriptor.generateFullMethodName method 1st param need fullServiceName .

@spencergibb  PTAL

Thanks for creating this PR! I like the changes you made, they are robust and add a more clear explanation when something goes wrong.
However, they are not backward compatible. If you also adapt the test code to check that this also works with package, you will see that some tests start to fail because we are still a bit inconsistent when using the long and short service names.
You can test this out by adding package to hello.proto and protoc it so we get a new hello.pb:
protoc --proto_path=src/main/proto/ \
--descriptor_set_out=src/main/proto/hello.pb  \
src/main/proto/hello.proto

Also, are you using the spring-formatter? lines 226:227 look a bit weird.

ok i wil try to fix those problems later

6.9. The JsonToGrpc GatewayFilter Factory

i think the document is error , service name should not be  fully qualified name.
because  fileDescriptor.findServiceByName method param only accept short name.
fully qualified service name should never be successful.
JsonToGrpcGatewayFilterFactory.java#L242

i think we should  update document

Agreed! The documentation is what is off, will be easier to fix that over updating the code this way @JoeCqupt

Thanks for committing the docs changes.
However, I can't see the test changes: https://github.com/spring-cloud/spring-cloud-gateway/pull/2910#pullrequestreview-1366885896
I believe the changes will not work and that these test changes will validate that.

maven rebuild module [spring-cloud-gateway-server]
then all tests passed:

You are very right @JoeCqupt! I made the wrong assumption. I like the suggested changes, happy with having them merged.
FYI @spencergibb

Is there a way to add the test so we can assert the correct values?

Is there a way to add the test so we can assert the correct values?

there already exists some integration tests to assert the correct values.
such as: GRPCApplicationTests JsonToGrpcApplicationTests

there already exists some integration tests to assert the correct values.

Those tests are integration tests that assert the functionality still works, but there's no test that fails without this change.

@Albertoimpl I assume this should go in 3.1.x as well?

@spencergibb Yes, Ideally both the changes related to gRPC, this, and https://github.com/spring-cloud/spring-cloud-gateway/pull/2914,  can be considered bugs in the implementation. So it would be nice to port them.


Applying certificated to multiple websites running from the same location results in too many redirects

I have used letsencrypt-win-simple to successfully generate certificates for sites where there is a one-to-one relationship between the web site and the location of the code for the site in IIS 8.5.
I tried generating certificates for multiple domains that run from the same code base and this resulted in all sites running from that code base failing with the browser reporting Too Many Redirects, although I had not set up any HTTP redirects for the sites in question or any URL rewriting.
The issue was not solved when I added a rewrite rule to the web.config file. In the end, I had to delete the certificates using IIS Manager, remove the bindings to port 443 for each of the sites and execute iisreset. Eventually, the sites were restored.
Two questions: is this a known issue? And does deleting all files related to the affected sites only from C:\Users<user>\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org prevent the automated renewal process?

Further information. It appears that the multiple sites running on one code base might be a red herring. When I initially requested a certificate, the response couldn't be found so I changed the order of the static file handler as suggested in the console window so that it was higher than the extensionless url handler. while this enabled the acme-challenge file to be found, it seems to have broken routing for the ASP.NET web forms sites affected. When I reordered the handlers, the sites worked again.

I see this has already been discussed: https://github.com/ebekker/ACMESharp/issues/15


External territory payment notifications

Is your feature request related to a problem? Please describe.
Car mentioned a while ago that he would like to receive an email when his payment is due since he tends to forget to pay the rent. I second this. I also tend to forget to make my monthly payments, especially because ~oracle is not maintained by my main account (keeping track of the payment notification is now easier thanks to #644 though).
We currently only show a red notification every day the payment is due but since it's not sticky, it can easily get buried under other notifications, especially if they happen after the daily system notifications (rewards, revenue etc.)
Describe the solution you'd like
Have notify me when ... settings for due territory payments that you can configure per method:
mobile:

desktop:

Describe alternatives you've considered
make system notification at least stick to the top of notifications.
Additional context
n/a

I don't think the UI is right for this (although I respect the laziness). Otherwise I think this makes sense.


Split cclient API implementations

The core & extended APIs are currently implemented in very large files. These should be split into separate compilation units

Duplicate of #893


GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40

gl_InstanceID was introduced in GLSL 1.40, so when generating for older version, it requires an explicit extension.
Note that GL_EXT_gpu_shader4 also offers gl_InstanceID, but that extension is not nearly as widely supported as GL_ARB_draw_instanced, according to several OpenGL extension databases I queried.
Thanks for your consideration!

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Modulation for Inverters

This issue aims to develop functionality for the inverter part of ’Motulator’, including a two-level and three-level inverter with the Space Vector Modulation (SVPWM) and over-modulation mode. In addition, to solve unbalanced neutral point voltage problems for the three-level inverter and establish a harmonic analyzer based on a non-uniformed Fourier transform.

Many thanks for implementing PWM methods for three-level converters and a nice Master thesis project. This pull-request version is not compatible with the most recent motular version, but I provide here the link to your older version:
https://github.com/lolo-990303/Motulator_Jiale_oldversion
In order to keep the maintenance efforts feasible, we can't currently include this version in the motulator repository. We are first planning to implement a carrier-comparison based PWM, which would be more compatible with the existing two-level converter models and PWM methods:
https://doi.org/10.1109/IAS.2000.882151
https://doi.org/10.1109/IECON.2012.6389571
https://doi.org/10.23919/IPEC.2018.8507929
We might later come back to your implementation based on space-vector modulation. As we discussed, your thesis work provided many valuable ideas and contributed to our roadmap as well.
@all-contributors please add @Jialed0303 for ideas

@all-contributors please add @Jialed0303 for ideas


Marker text creating new lines after every word/space

I am using Marker.Text.js, but when I am adding a text string in marker it breaks down that string in separate lines after every space. Is there any way to show a limited number of words per line without losing the actual position of the marker/ without offsetting the marker position?

@brunob

Can you provide a link to a page or a fiddle showing the bug please ?

I've the same problem:

var marker = new L.Marker.Text(map.getCenter(), 'LOREM LIPSUM DOLOR');
map.addLayer(marker);

Generates:

Any idea?
Thanks in advance

@brunob

@RajibChanda i've read that, not necessary to ping me, i'll take a look at this asap. Anyway, feel free to send a patch.

into Marker.Text.js line 11 add  css rule "nowrap" :)
el.style.cssText = "color:blue; font-size:14px; font-weight:bold; white-space:nowrap;";
el.style.textShadow = '2px 2px 2px #fff';

thx for the hint @velocat ;)


release 1.6.5

Blocked by failed build. It requires invenio-pidstore>=1.2.0 which breaks invenio v3.2.1 bundles

closed by #299


Middleware 3rd party container update to 3.0

Fixes #13335
Internal Review Topic

Whole-topic versioning due to number of sample links.
New 3.0 sample confirmed working.
@Tratcher ... any changes or new callouts for this one for 3.0?
Fixes a bad highlight for the current 2.x topic.

No 3.0 changes here.


Polygon rings not nested correctly

From https://github.com/wdtinc/mapbox-vector-tile-java/issues/1#issuecomment-243843447:
For one of the polygons in https://github.com/snodnipper/tippecanoe-demo, Tippecanoe produces an output polygon whose inner ring is not correctly nested in its outer ring.
$ tippecanoe --check-polygons -z5 -Z5 -o boundary.mbtiles Boundary-line-historic-counties_region.geojson
…
95 features, 9507843 bytes of geometry, 4 bytes of separate metadata, 1127 bytes of string pool
Warning: splitting up polygon with more than 700 sides
1473,3030 at 365 not in outer ring (334 to 364)

Getting closer in https://github.com/mapbox/tippecanoe/tree/partition but
$ tippecanoe/tippecanoe --check-polygons -z12 -f -o boundary.mbtiles Boundary-line-historic-counties_region.geojson

is still generating a hole that extends outside its parent ring and not detecting it until too late.

An assortment of coalesced census blocks is giving the partition branch an especially hard time.
tippecanoe -Z7 -z12 -X -ac -f -o foo.mbtiles ../macbook-air/tippecanoe/tl_2010_06001_tabblock10.json

Should be fixed with the switch to Wagyu in https://github.com/mapbox/tippecanoe/pull/333


⚠ File access has degraded performance

In 3db084f, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 3153 ms

Resolved: File access performance has improved in 9de7f8d after 171 days, 16 hours, 5 minutes.


removed duplicate declaration of style property

style prop at rendered span was declared twice. removed one declaration.

nice one, thx!


A* Search Algorithm in C, C++, Java, Python

Feature = A* Search Algorithm
The A* (A-star) search algorithm addresses the problem of finding the shortest path from a starting node to a goal node in a graph or a weighted grid. It considers both the cost to reach a particular node (the "g-score") and an estimate of the remaining cost to reach the goal node (the "h-score"). The algorithm aims to find the optimal path that minimizes the total cost, which is the sum of the g-score and h-score, from the start node to the goal node.
The A* search algorithm combines the advantages of Dijkstra's algorithm (uniform-cost search) and Greedy Best-First Search.
Approach:

Initialize an open set of nodes to be explored, starting with the initial node.
Assign a g-score value of 0 to the start node and an initial h-score estimate to the goal node (typically calculated using heuristics like Euclidean distance or Manhattan distance).
While the open set is not empty:

Select the node with the lowest f-score (g-score + h-score) from the open set. This node becomes the current node.
If the current node is the goal node, the algorithm terminates, and the optimal path is reconstructed by backtracking through the parent pointers.
Generate the neighbors of the current node and calculate their g-scores and h-scores.
For each neighbor:
If it has not been visited or its new g-score is lower than the previously recorded g-score, update its g-score, h-score, and parent pointer.
Add the neighbor to the open set if it is not already present.

If the open set becomes empty before reaching the goal node, then there is no path from the start to the goal, and the algorithm terminates.

Attributes:

Will add this advanced algorithm in C, C++, Java and Python
Amply commented code for easy understanding of flow & logic of code.

I would love to work on this issue. Can you please assign it to me under SSoC '23 ?
Thank You :)

Assigned!
@harshita-kaushik2 : C, C++, Python and Java

@harshita-kaushik2 What is your status on this issue?


git variant for 26.0.0

Will there be a -git variant for 26.0.0 as there is for 25.x?

See https://github.com/docker-library/docker/pull/483 -- it's now deprecated as dind includes git. :+1:

Perfect! Thank you.


Publish on npm?

I don't think this is on npm

It's there now - https://www.npmjs.com/package/vanilla-js-dropdown
Thanks!


hi, there is a bug when running almost finish

tf2.3

DLPack is officially supported in tf 2.3 by tf.experimental.dlpack.from_dlpack/to_dlpack. You no longer need this repo. Are you using dgl?

OK, i will try it then. what is dgl?

DGL is another project using this repo before

Do you have any example to convert from numba to tensorflow tensor by tf2.3?

@ersanliqiao I think numba just use cupy right? Cupy also support dlpack. Did you meet any problem when using that?

also

OK，I have done it correctly, thank you very much.


10861 migrate html to custom

Fixes #10861
Rake to change type from html to custom.

@javitonino have a look please! This will be used once the migrator is updated to migrate to custom instead of html in https://github.com/CartoDB/cartodb/pull/10923. After that we'll drop the html type entirely.

Uhm, this doesn't change the legend itself, just the type. From the issue:

setting the html definition attribute properly

Don't we need to do that?

Yeah, the html definition is compatible with the custom definition, so only changing the type is enough.


Docker refactor

DO NOT MERGE.
This is currently an advisory PR.

Just to be clear – you've actively chosen to include the dw-* custom plugins directly into this codebase, rather than having them split out into separate repos over GitHub and pulled in as dependencies. Is that correct?

Yes, the dw-* plugins have been deliberately moved into this project and their repos will be deprecated then removed after this goes to production.

No longer relevant. Closing.


It doesnt appear in roblox

Hi! I tried installing this but for some reason it doesnt appear in the page of a game in roblox!

as u can see it looks the same! what do i do?

Could you please let me know what other Roblox extensions you use?

yeyeyey! i use this oens

WAIT, I FOUND IT!!

It looks like you might have already found or fixed the problem, but if the issue still occurs, you can download this file (page-games.js) and replace the old file in the js/page-games.js folder. This should solve the issue.
Let me know if you encounter any further problems.


[CARBONDATA-3628] Support alter hive table add complex column type

Tips:

Complex type only supports default, see DataTypeUtil#valueOf
Fix compile error

Be sure to do all of the following checklists to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach the test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/1279/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/1268/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/1258/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/1261/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/1271/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/1282/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/1273/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/1283/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/1294/

LGTM


Unable to run buildah pod on OKD

First thing to mention is this issue applies to OKD, not OpenShift, hence why reporting here and not upstream with OpenShift.
Trying to use a buildah pod as part of a Tekton pipeline results in the following error...
Error: error writing "0 0<PHONE_NUMBER>\n" to /proc/33/uid_map: write /proc/33/uid_map: operation not permitted
Buildah needs to map multiple uids, the pipelines service account has cap_setgid, and cap_setuid capabilities.
Confirmed by presance of openshift.io/scc: anyuid in Pod manifest metadta.
User namespaces are enabled on FCOS
cat /proc/sys/user/max_user_namespaces
257127

This apears to be due to to the fact that FCOS kernel is > 5.12.
user_namespaces man page says...
If updating /proc/[pid]/uid_map to create a mapping that maps
UID 0 in the parent namespace, then one of the following must
be true:

if writing process is in the parent user namespace, then it
must have the CAP_SETFCAP capability in that user
namespace; or

if the writing process is in the child user namespace, then
the process that created the user namespace must have had
the CAP_SETFCAP capability when the namespace was created.

This rule has been in place since Linux 5.12.  It eliminates
an earlier security bug whereby a UID 0 process that lacks the
CAP_SETFCAP capability, which is needed to create a binary
with namespaced file capabilities (as described in
capabilities(7)), could nevertheless create such a binary, by
the following steps
However, I tried adding SETFCAP capability to the pipelines scc, still no luck.
Any suggestions?

@adambkaplan @mrunalp could you help us with buildah and kernel 5.12+ issue in builds?

It turns out that I was on the right path but hadn't added the securityContext in the buildah clustertask supplied by the Tekton Operator, that my pipeline was using.
So in conclusion...
The cause:
FCOS using Kernel > 5.12 means that the behaviour is different between OKD & OpenShift. (This will become an issue for OpenShift further down the line when RHCOS reaches kernel > 5.12, so is a useful thing to be aware of.) The buildah container now requires CAP_SETFCAP capability.
The Soloution

Add CAP_SETFCAP to the allowed capabilities in the pipelines SCC.
Add CAP_SETFCAP to securityContext:capabilities:add: to buildah build step.

This issue will affect any pods that try to perform uid mapping, so I don't know if perhaps CAP_SETFCAP should be added as default to the anyuid SCC?

Oh, so its a problem with Tekton builds, not Builds and Buildconfigs, right?

Yes this is a Tekton build that wasn't running. The buildah ClusterTask does not run privileged, it runs as a service account called pipelines that is attached to a scc called pipelines-scc. So it is using a custom SCC.
The reason for the suggestion of adding CAP_SETFCAP to anyuid SCC is that if you run a buildah pod on OpenSHift it can run using the anyuid SCC as kernel < 5.12 does not need CAP_SETFCAP. So adding CAP_SETFCAP to the anyuid SCC would mean that all containers that run on OpenShift using anyuid SCC would also run on OKD.
It may not be worthwhile, just people are going to trip up on it and not many are going to realise that the changes user_namespace behaviour due to the different kernels in the OS running on the nodes is the cause. I'll close this issue anyway as I found a solution, thanks for taking the time to look at it.


Not able to see Container details under monitor solution Windows VM

[Enter feedback here]
Hi Team,
I am using windows VM and trying to view the container details under Container monitor solution but i am facing issue i am not able to see any container details under monitor solution for windows VM the same thing i have tried for Linux VM and i am able to see all the container details.
I have install Microsoft Monitoring Agent on my machine and follow all the steps mention in the document but got no luck.
I have iotedge-moby installed on my machine and my config.yaml contains runtime url of iotedge-moby
the thing i observed is the container details are not present under docker\container but my container details are present under iotedge-moby and i am not finding any way how can i get those details under docker\container
Can you please help me how can i get those container details?

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

ID: 7783cfe9-0508-9a73-3923-597cbc523cda
Version Independent ID: e2dba78f-0f1a-20d1-54d8-f30084328bb0
Content: Container Monitoring solution in Azure Monitor - Azure Monitor
Content Source: articles/azure-monitor/insights/containers.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@sharadrumane  Thank you for reaching out to us, our team will review the query and get back to you at the earliest.

@BharathNimmala-MSFT thanks for your response the issue is now solved. I have to make change in config.yaml file I have change
moby_runtime:
uri: 'npipe://./pipe/iotedge_moby_engine'
to
moby_runtime:
uri: 'npipe://./pipe/docker_engine'

Thanks for the update, @sharadrumane. Glad this is now resolved.
We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.
#please-close


Detection never ends on macos

Fix changes regex to accept version without _

test this

Codecov Report

Merging #671 into master will decrease coverage by 21.41%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master     #671       +/-   ##
===========================================
- Coverage   95.98%   74.56%   -21.42%
===========================================
  Files          29       29
  Lines        2464     2599      +135
  Branches      208      208
===========================================
- Hits         2365     1938      -427
- Misses         99      661      +562

Impacted Files
Coverage Δ

browser/model/jdk-install.js
97.48% <100%> (+0.06%)
:arrow_up:

browser/pages/account/controller.js
10.46% <0%> (-85.88%)
:arrow_down:

browser/pages/location/controller.js
20% <0%> (-80%)
:arrow_down:

browser/pages/start/controller.js
20.83% <0%> (-79.17%)
:arrow_down:

browser/pages/confirm/controller.js
8.52% <0%> (-73.94%)
:arrow_down:

browser/model/helpers/hash.js
33.33% <0%> (-66.67%)
:arrow_down:

browser/model/helpers/util.js
32% <0%> (-64.97%)
:arrow_down:

browser/pages/install/controller.js
38.46% <0%> (-61.54%)
:arrow_down:

browser/model/helpers/version.js
41.17% <0%> (-58.83%)
:arrow_down:

browser/model/helpers/installer.js
67.16% <0%> (-32.84%)
:arrow_down:

... and 17 more

Continue to review full report at Codecov.

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


Upload files

@eirslett
This is what I used:
Zipkin-js-example
Zipkin-instrumentation-cujojs-rest
It works for me, the only issue with this right now is this, so I used dirty workaround of adding timeout:
Zipkin-js/issues/33

I was unsure about the part "const nameOfRemoteService = 'cujojs-client';". I would suppose cujojs-client is the name of the local service, not the remote one?

@eirslett Oh, yes it is name of the local service - the client. There is a screenshot in the repo if you want to see how it looks in Zipkin.

Yes, that's why I thought maybe a name like "const nameOfClient = 'cujojs-client';" would be more descriptive?

+1
On 21 Aug 2016 1:36 am, "Eirik Sletteberg"<EMAIL_ADDRESS>wrote:

Yes, that's why I thought maybe a name like "const nameOfClient =
'cujojs-client';" would be more descriptive?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/wingtips-cujojs-spark-example/pull/1#issuecomment-241213296,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD61zI1N7qKOs3bF_jCqx7ILnYeCVubks5qhzs5gaJpZM4JpD7x
.

@eirslett I have changed nameOfRemoteService to nameOfClient.


[ServiceBus] MessageSettleFailed during stress test

Receiver occasionally fail to complete message due to MessageSettleFailed("lock expired or message already settled).
Meanwhile, uamqp would log mgmt_operation Error and then start reconnection
2020-04-04 01:42:59,100 uamqp.mgmt_operation ERROR    Failed to complete mgmt operation. Status code: 0 Message: 'None'
Need to dig deeper

Closing the issue as the issue has been mitigated via settlement through receiver-link for normal received messages.


Using browserstack-local test.

Click here if you want to create eslint's auto-correct Pull Request

See the documentation if you want to get more information about auto-correct.
Document

Click here if you want to create eslint's auto-correct Pull Request

See the documentation if you want to get more information about auto-correct.
Document

Click here if you want to create eslint's auto-correct Pull Request

See the documentation if you want to get more information about auto-correct.
Document

Click here if you want to create eslint's auto-correct Pull Request

See the documentation if you want to get more information about auto-correct.
Document

Click here if you want to create eslint's auto-correct Pull Request

See the documentation if you want to get more information about auto-correct.
Document


cpu-o3: Use the generic cache library to build store sets

This allows us to build an associative store set structure and also experiment with various replacement policies for the store set.
Change-Id: I18ddad2346b82423c01ef9117a5d3d85f7039be7

I updated SSITSize to be of MemorySize and am using SetAssociative instead of the custom indexing policy. I think we should improve this in a separate PR that MemorySize should be able to take Integer instead of only string. Please let me know if there are any other comments. Thanks for the review!

I updated SSITSize to be of MemorySize and am using SetAssociative instead of the custom indexing policy. I think we should improve this in a separate PR that MemorySize should be able to take Integer instead of only string. Please let me know if there are any other comments. Thanks for the review!

I don´t see the change removing the custom indexing policy. Did you forget to push?
Regarding MemorySize, the python param types are declared in src/python/m5/params.py, IIRC. I think allowing values besides strings makes sense, but it seems to be too much effort for little benefit.

Oops...

I don´t see the change removing the custom indexing policy. Only SSITTagTypes was removed. Did you by any chance forget to push some commits?

Looks like I pushed an intermediate patch instead of the final one. Updated the branch with the final changes...

Regarding MemorySize, the python param types are declared in src/python/m5/params.py, IIRC. I think allowing values besides strings makes sense, but it seems to be too much effort for little benefit.

Yes, but it will make it more consistent. Here LFSTSize is an integer and SSTISize is a string and it seems a bit off that size is different type for each.

@powerjg @BobbyRBruce Can you please merge this PR?


[$1000] LHN shows email address instead of “you” after deleting a mention

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

 Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/35618786-92aa-4c2a-b86e-ea27fbe9171a
https://github.com/Expensify/App/assets/43996225/695f5f3e-42d7-4db8-8274-586ce493222d
Expensify/Expensify Issue URL:
Issue reported by: @nathan-mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683804623639899
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f518f3db7e3629ae
Upwork Job ID:<PHONE_NUMBER>270765568
Last Price Increase: 2023-05-12

Heads up, the root cause might be interlinked with the green dot persisting: https://github.com/Expensify/App/issues/18850

Proposal
Please re-state the problem that we are trying to solve in this issue.
LHN shows email address instead of “you” after deleting a mention, also after reconnecting (going offline then online)
https://github.com/Expensify/App/assets/37553623/64f2645c-b70d-4657-90fe-159d9d2cc048
What is the root cause of that problem?
the backend returning the data doesn't check for the email to convert to you outside except for adding comment API.
also in case of deleting the action is responsible for building the lastMessageText which then doesn't check for the mention.
https://github.com/Expensify/App/blob/9fb9875ff2a739e6753355b4a231065a58ed6885/src/libs/actions/Report.js#L794-L801
What changes do you think we should make in order to solve the problem?
adding a line inside getOptionFunction converting the mention to you in case of the mentioned user is the current user to ensure the data transformation.
What alternative solutions did you explore? (Optional)
NA

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0176943ab81532aab1

@rushatgabhane can you review proposals?

@rushatgabhane did you have a chance to review the proposals yesterday?

@rushatgabhane
While ReportAction is correct message Text is you
the report itself which gets built on the backend returns the message by parsing HTML to text

to fix the delete message issue we can change the getLastVisibleMessage to get the text instead of parsing the html itself
index 6cb4e475f2..5b50c2296d 100644
--- a/src/libs/ReportActionsUtils.js
+++ b/src/libs/ReportActionsUtils.js
@@ -230,9 +230,9 @@ function getLastVisibleMessageText(reportID, actionsToMerge = {}) {
         return CONST.ATTACHMENT_MESSAGE_TEXT;
     }

-    const htmlText = lodashGet(lastVisibleAction, 'message[0].html', '');
-    const parser = new ExpensiMark();
-    const messageText = parser.htmlToText(htmlText);
+    const messageText = lodashGet(lastVisibleAction, 'message[0].text', '');
+    // const parser = new ExpensiMark();
+    // const messageText = parser.htmlToText(htmlText);
     return String(messageText).replace(CONST.REGEX.AFTER_FIRST_LINE_BREAK, '').substring(0, CONST.REPORT.LAST_MESSAGE_TEXT_MAX_LENGTH).trim();
 }

but after sometimes when the api get the refreshed chat from /api?command=openReport it send the built report action also by parsing. if you want to fix this in frontend we can change createOption function as the new getOptionFunction is a building the option in createOption Function
index 6cb4e475f2..5b50c2296d 100644
--- a/src/libs/ReportActionsUtils.js
+++ b/src/libs/ReportActionsUtils.js
@@ -230,9 +230,9 @@ function getLastVisibleMessageText(reportID, actionsToMerge = {}) {
         return CONST.ATTACHMENT_MESSAGE_TEXT;
     }

-    const htmlText = lodashGet(lastVisibleAction, 'message[0].html', '');
-    const parser = new ExpensiMark();
-    const messageText = parser.htmlToText(htmlText);
+    const messageText = lodashGet(lastVisibleAction, 'message[0].text', '');
+    // const parser = new ExpensiMark();
         } else {
             lastMessageTextFromReport = report ? report.lastMessageText || '' : '';
+            lastMessageTextFromReport = lastMessageTextFromReport.replace(`@${currentUserEmail}`, Localize.translateLocal('common.you'))
         }
         ```

Okay this is 2 problem one from frontend in case of deleting it parse html message to text in which case the email shows the solution is to get message text directly the other problem is after stale time or when user became offline to online again the response send lastMessageText containing the email not “you”

So the fix for the originally bug is changing  getLastVisibleMessage To get the text instead of getting the html then parsing it to text

The backend fix will fix when the user goes offline then online to get correct last message text

@rushatgabhane thank you for confirming that
I'll mark this issue internal and will work on this myself

This line of code that gets the email of the mentioned user might be the problem

Showing "you" was actually a bug. On both LHN and chat message itself, the mention should not be replaced with "you"
so this PR does not need a fix
the issue of @mentions replaced with "you" was solved in this PR.

@abekkala can you check if the issue reporter still needs to be paid?
otherwise, this issue can be closed

@hayata-suenaga ah ok - I can sent the [$250] reporting payment to @Nathan-Mulugeta and close this!

Just accepted offer @abekkala

Hey @hayata-suenaga and @abekkala payment has not been settled yet.

Reopening to get the payment handled

@Nathan-Mulugeta - you've been paid and contract ended - thank you! 🎉

Thank you, received payment.


DTO Factory flag

As discussed here https://github.com/regnerisch/laravel-beyond/pull/58 this PR add a new optional flag --factory in DTO command. When added will be create a new class in App for DTO Factory.
Usage:
# Will ask Domain, Class name and App
beyond:make:dto --factory

# Will ask App and create the factory in
# `src/App/Web/User/DataFactories/UserDataFactory.php` (Supposely App provided is "Web")
beyond:make:dto User/UserData --factory

A DTO like this:
<?php

namespace Domain\Users\DataTransferObjects;

use Spatie\DataTransferObject\DataTransferObject;

class MyData extends DataTransferObject
{
    // Add properties here
}

Will create a DTO Factory:
<?php

namespace App\Admin\Users\DataFactories;

use Illuminate\Http\Request;

use Domain\Users\DataTransferObjects\MyData;

class MyDataFactory
{
    public static function fromRequest(Request $request): MyData
    {
        return new MyData($request->all());
    }
}

I forgot.. I was thinking of a way to handle also others from method, example fromModel() and a generic from() (as from array).
So it's look like:
<?php

namespace App\Admin\Users\DataFactories;

use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use Domain\Users\DataTransferObjects\MyData;

class MyDataFactory
{
    public static function from(array $array): MyData
    {
        return new MyData($array);
    }

    public static function fromRequest(Request $request): MyData
    {
        return new MyData($request->all());
    }

    public static function fromModel(Model $model): MyData
    {
        return new MyData($model->toArray());
    }
}

Or even:
<?php

namespace App\Admin\Users\DataFactories;

use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use Domain\Users\DataTransferObjects\MyData;

class MyDataFactory
{
    public static function from(array $array): MyData
    {
        return new MyData($array);
    }

    public static function fromRequest(Request $request): MyData
    {
        return self::from($request->all());
    }

    public static function fromModel(Model $model): MyData
    {
        return self::from($model->toArray());
    }
}

Or even a base DTO Factory with from() method, that is extended by others, which could be in Domain.
What you think?

As I understand the only thing you want to do for now is to remove fromRequest() from the DTO stub, right?

If you want create a separated command, then also in that case you need to specify for which DTO you want to create the Factory, so like --dto=MyData
Either way you need to mix classes, if that is not what you like.

As I understand the only thing you want to do for now is to remove fromRequest() from the DTO stub, right?

Yes. For now I would recommend to add just a factory command and not a flag. If you need a factory you have to explicit call the factory command.

See #71.


tapOn textfield not working

I have a Jetpack Compose app, which features a textfield in a dialog having the label: "Enter code or url"
While running a Mastro test, the tapOn command is not working for this textfield. Please see:

https://user-images.githubusercontent.com/22092047/189314637-a1aa8e27-1414-4a61-b10d-479b45bde558.mp4
On running maestro hierarchy, I can't find the "Enter code or url" label if the textfield is unfocused, but I can see it if it's focused. See:
https://user-images.githubusercontent.com/22092047/189315300-560a6b75-9c2e-4722-8792-8669f844abfe.mp4
Hierarchy outputs:
after_focus.txt
before_focus.txt

Would it be possible for you to also share the APK file with us?

Sure, you can grab it here: https://github.com/sanskar10100/Panel/releases/download/v0.2/Panel.0.2.apk
The code in question can be found here: https://github.com/sanskar10100/Panel/blob/805fbf4d8cc30cb9d9f6efab9d9832d0fed55850/app/src/main/java/dev/sanskar/panel/ui/home/HomeFragment.kt#L117

Also, @dmitry-zaitsev are there any future plans to include support for specific IME actions in Maestro later? I rely on ImeAction.Done quite heavily in this app, and tried using pressKey: enter for the purpose but it didn't work out.

Sorry for the late reply. Based on your code, it does not seem like you are actually setting Modifier.semantics anywhere, unless I am missing it?

On IME actions - could you let us know what kind of IME actions you are looking for specifically?

@dmitry-zaitsev that's correct, the Modifier.semantics code hasn't been pushed to the server yet. It's still on my local. Just wanted to let you know the test is working if I add that.
On the IME front, I was specifically looking for IME.ACTION_DONE.

Hey @sanskar10100 the right way on interacting with Jetpack compose composables in this case text field would be test tags. We have documented this here:
https://maestro.mobile.dev/platform-support/android-jetpack-compose
Let me know if this works for you. Feel free to open an issue if something is missing!
On IME actions if you are still facing the issue can you open a separate issue for it with reproducing steps?


[13.0.x] ISPN-13695 Modules for Wildfly does not include all hibernate artifacts

https://issues.redhat.com/browse/ISPN-13695

Integrated into 13.0.x, thanks @pruivo !


Make subscription available inside callback

This code fails when I run it in test:
await new Promise(resolve => {
  const subscription = db.myData().observe(s => {
    subscription.unsubscribe();
    t.deepEqual(s, expectedData);
    resolve();
  });
});

ReferenceError {
    message: 'subscription is not defined',
  }

It fails because db is a mock database where myData() calls the callback synchronously and immediately, meaning the callback executes before the assignment operator. It would be really nice if this code would work regardless of whether the myData() implementation is synchronous or asynchronous.
Maybe we could make the subscription object available inside the callback?
This is what I am doing for now:
function delay(ms: number): Promise<void> {
  return new Promise(r => setTimeout(r, ms));
}

await new Promise(resolve => {
  const subscription = db.loadData().observe(s => {
    delay(1).then(() => {
      subscription.unsubscribe();
      t.deepEqual(s, expectedData);
      resolve();
    })
  });
});

It looks like you want to wait for the first event (either a value, an error, or the end of the observable), and then make an assertion. I would do that like this:
// create an observable that ends after the first value or error
const firstEvent = db.myData().take(1).takeErrors(1)

// convert the observable to a promise that resolves when the observable ends
await firstEvent.toPromise()

// make assertion here

Setting aside what you could do about Kefir in this case, I'd start off by suggesting that your mock is buggy. If the implementation you're mocking is async, your mock should be async as well. The fact that it isn't means the behavior that you're modeling with the mock has different semantics, and the tests that you write aren't going to match the behavior in the real app, causing subtle bugs your test suite won't catch.
Making observe always async would be a major breaking change in the semantics of Kefir's observables, and one that I'm not sure is broadly beneficial. The behavior of Property would end up very different, because code that is depending on observe's synchronous behavior if there's a current event in the Property would now break.
Broadly though, I'd argue you should seek to write your code such that it doesn't actually matter whether it's sync or async, because the Observable abstracts that away from you such that you mostly don't need to know. Obviously, this isn't feasible in every case, but thinking at a higher level about what you're trying to accomplish often leads to solution where it is, and this is one of those cases.
@hallettj's solution is spot on here, since what you're actually trying to do it is get the first value and assert against it, so take(1) is definitely the way to go. Whether you decide to take(1).observe() or take(1).toPromise() and use the value that way depends on larger contexts, although I tend to prefer to stay in "Observable land" as much as possible so would prefer the former.
I'm going to close this issue, as there's nothing actionable here (we can't change `observe) to be always-async) but I'm happy to help if you have follow-up questions, so feel free to reply to this issue.

I didn't implement the mock, and to turn your argument around I'd argue you should seek to implement observe such that it doesn't actually matter whether the subscribe callback is sync or async. After all, the goal is to abstract it away such that the caller mostly doesn't need to know.
The answer is not to make observe always asynchronous -- nobody asked for that -- but rather to pass the subscription object into the onValue and onError callbacks as a parameter, as I suggested above. The subscription always exists when the callback is executing (I sincerely hope) so it should be a non-breaking change to pass it as a second parameter.
I'll follow up with a pull request. In the meantime, I will take @hallettj's advice and chain use take.

#298

I wouldn't want to encourage people to use the callback to onValue in the subscribe callback to determine whether or not to cancel a subscription. There are a number of operators which you can use to trigger an completion of the observable. In your example, the answer was to use take(1). There are others (takeWhile comes to mind as relevant to the discussion here), but broadly, within the onValue callback isn't where that decision should be made, so to speak.
So I'd be opposed to the proposed change in #298 but I'd be interested in hearing from other maintainers on this.

I'm also opposed to making the subscription object available in the callback. I think it's an unnecessary API complication.

@kefirjs/core Anyone in support of this change? If not, I'm going to close this out.

It's been 7 days now and no positive interest so I'm going to go ahead and close this. Cheers and thanks for helping out w/ alternatives.


Could not deserialize ATN with version  (expected 4).

There's some problem with ANTLR deserialization causing this exception:
geoscenarioserver$ python3 GSServer.py
Traceback (most recent call last):
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/GSServer.py", line 11, in <module>
    from SimTraffic import SimTraffic
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/SimTraffic.py", line 17, in <module>
    from sv.Vehicle import Vehicle
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/Vehicle.py", line 18, in <module>
    from sv.SDVPlanner import *
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/SDVPlanner.py", line 17, in <module>
    from sv.btree.BehaviorLayer import BehaviorLayer
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/btree/BehaviorLayer.py", line 7, in <module>
    from sv.btree.BTreeInterpreter import *
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/btree/BTreeInterpreter.py", line 11, in <module>
    from sv.btree.parser.BTreeDSLLexer import BTreeDSLLexer
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/btree/parser/BTreeDSLLexer.py", line 9, in <module>
    from sv.btree.parser.BTreeDSLParser import BTreeDSLParser
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/btree/parser/BTreeDSLParser.py", line 83, in <module>
    class BTreeDSLParser ( Parser ):
  File "/home/ma/wise-sim-root/submodules/geoscenarioserver/sv/btree/parser/BTreeDSLParser.py", line 87, in BTreeDSLParser
    atn = ATNDeserializer().deserialize(serializedATN())
  File "/home/ma/.local/lib/python3.8/site-packages/antlr4/atn/ATNDeserializer.py", line 28, in deserialize
    self.checkVersion()
  File "/home/ma/.local/lib/python3.8/site-packages/antlr4/atn/ATNDeserializer.py", line 50, in checkVersion
    raise Exception("Could not deserialize ATN with version " + str(version) + " (expected " + str(SERIALIZED_VERSION) + ").")
Exception: Could not deserialize ATN with version  (expected 4).

Happens on Ubuntu 20.04 with
$ pip3 show antlr4-python3-runtime
Name: antlr4-python3-runtime
Version: 4.10
Summary: ANTLR 4.10 runtime for Python 2.7.12
Home-page: http://www.antlr.org
Author: Eric Vergnaud, Terence Parr, Sam Harwell
Author-email<EMAIL_ADDRESS>License: BSD
Location: /home/ma/.local/lib/python3.8/site-packages
Requires:
Required-by: antlr-denter

On another fresh Ubuntu install machine, we got antlr4-python3-runtime 4.11.1.
How to fix this error?

You can downgrade antlr4 to 4.9.3

Ah yes, I have implemented that in #108 .

Fixed in #108


DateTimePicker is not localized to Japanese

Package
filament/forms
Package Version
v2.16.37
Laravel Version
v9.37.0
Livewire Version
v2.10.7
PHP Version
PHP 8.1.9
Problem description
maybe need to change the Japanese locale key in locales to ja instead of js.
File: packages/filament/forms/resources/js/components/date-time-picker.js
const locales = {
...
js: require("dayjs/locale/ja"),
...
};
Expected behavior
Localized DateTimePicker field
Steps to reproduce
New install. Change app locale. Create some filamentresource.
Reproduction repository
No response
Relevant log output
No response

Can you submit a PR please, if you're not going to provide a reproduction?


VPN IPsec Mobile Client: Generating strongswan.conf eap-radius plugin setting from vpn_ipsec_mobile.php instead of Phase1

Is your feature request related to a problem? Please describe.
Going through my current setup using bespoke include files for strongswan I realised that the information on how to setup the eap-radius plugin in strongswan.conf is already existing in vpn_ipsec_mobile.php. But currently have to set it up using a strongswan.conf include file since I do not create a mobile phase 1.
Describe the solution you'd like
Would a PR be acceptable to move the functionality from Tunnel Phase 1 to Mobile Client? Or are there any obstacles?

This issue has been automatically timed-out (after 180 days of inactivity).
For more information about the policies for this repository,
please read https://github.com/opnsense/core/blob/master/CONTRIBUTING.md for further details.
If someone wants to step up and work on this issue,
just let us know, so we can reopen the issue and assign an owner to it.