go fight.HTTPResponse masking ResponseRecorder methods?

I might be missing something totally obvious here. If so I apologize in advance.
It seems like by aliasing *httptest.ResponseRecorder with HTTPResponse, you can no longer access the methods on the ResponseRecorder object. This means to access headers you must use the deprecated HeaderMap object, rather than calling the Header() method as is suggested.
Is there a way to call the method on the type aliased object?
It doesn't look like there's a huge amount of gain from aliasing the object outside saving a few keystrokes, so would it be possible to just use the actual object instead of the aliased one? I'd be happy to put a pull request together, though this would change the public interface of the project..
Any guidance in this matter would be appreciated!!
Thank you for making this library btw, it's made my life much nicer!

I am running into the same problem right now. How were you able to fix or work around this? I do not wish to use the deprecated HeaderMap() method neither.

I found one solution to this problem. As gofight.HTTPResponse type is an alias for httptest.Response , it is possible to do a conversion. Then you can use the methods of httptest.Response freely. Here is an example code:
g := gofight.New()
g.POST("/api/signup").
	SetJSON(gofight.D{
		"email"<EMAIL_ADDRESS>		"password":      "1234",
	}).
	Run(engine, func(response gofight.HTTPResponse, request gofight.HTTPRequest) {
		assert.Equal(t, http.StatusOK, response.Code)
		r := (*httptest.ResponseRecorder) (response)
		cookies := r.Header.Get("Cookie")

		for _, cookie := range strings.Split (cookies, ";") {
			cookie := strings.TrimSpace()
			......
			......
		}
	})

Fixed in https://github.com/appleboy/gofight/releases/tag/v2.2.0
basic example
package example

import (
	"io"
	"net/http"
)

func basicHelloHandler(w http.ResponseWriter, r *http.Request) {
	// add header in response.
	w.Header().Set("Content-Type", "text/plain")
	w.Header().Set("X-Version", "0.0.1")
	_, _ = io.WriteString(w, "Hello World")
}

// BasicEngine is basic router.
func BasicEngine() http.Handler {
	mux := http.NewServeMux()
	mux.HandleFunc("/", basicHelloHandler)

	return mux
}

testing
package example

import (
	"net/http"
	"testing"

	"github.com/appleboy/gofight/v2"
	"github.com/stretchr/testify/assert"
)

func TestBasicHelloWorld(t *testing.T) {
	r := gofight.New()
	version := "0.0.1"

	r.GET("/").
		// trun on the debug mode.
		SetDebug(true).
		SetHeader(gofight.H{
			"X-Version": version,
		}).
		Run(BasicEngine(), func(r gofight.HTTPResponse, rq gofight.HTTPRequest) {
			assert.Equal(t, version, rq.Header.Get("X-Version"))
			assert.Equal(t, version, r.Header().Get("X-Version"))
			assert.Equal(t, "Hello World", r.Body.String())
			assert.Equal(t, http.StatusOK, r.Code)
		})
}

func basicHTTPHelloHandler() {
	http.HandleFunc("/hello", basicHelloHandler)
}

func TestBasicHttpHelloWorld(t *testing.T) {
	basicHTTPHelloHandler()

	r := gofight.New()

	r.GET("/hello").
		// trun on the debug mode.
		SetDebug(true).
		Run(http.DefaultServeMux, func(r gofight.HTTPResponse, rq gofight.HTTPRequest) {
			assert.Equal(t, "Hello World", r.Body.String())
			assert.Equal(t, http.StatusOK, r.Code)
		})
}


Fix scale style in demo7

The online demo7 doesn't work as  expected, I fix it.

I've just checked demo7 and it works as expected, what is the problem you think there is?

I created a GIF, you can see when I open the demo7 from my computer, and there were no water ripples

This is how it works for me. I checked in opera and under windows 10 too. Same way everywhere

I do not know why you are seeing nothing. Maybe it is opened devtools (so chrome throttles something), maybe some browser plugin.
PS: I recommend Licecap to do gif captures. Very cool thing

@nkbt
Watch this Gif , you can see demo-ball element add an attribute , scale : 0

my chrome version : 68.0.3440.106
I checked this URL from my classmate's computer, it works well ,It seems that only the chrome of my computer has this problem.

I am not sure I want to merge fix that fixes something broken on the only machine... Would better wait if someone else can reproduce it too.


[Feature Request]:  solution for leetcode 989

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I would like to add solution in c++,java,python, javascript for leetcode problem 989. Add to Array-Form of Integer
Use Case
solution for leetcode 989
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar  can you please check


Reading: Mark older data points about DIBELS and F&P on profile page

These are older, new data flows don't update this, so keep historical data but mark it as older.

selfie


Resolving TODO

Extract the StandByValidators from the configuration file
In Endpoint.cs, perform a more safe parsing in Parse method
Use singleton in GenesisAssets

In EndPoint.cs, check DNS when converting to IpEndPoint
Check precision in WeightedFilter (Extensions.cs)
In RocksDBContext, "avoid sync IO in constructor -> Open connection with the first operation for now"
In ConfigurationExtensions.cs, ParseIpEndPoint should use a more safe parsing

Unit test fixed.
Rebase

Value in Fixed8 should be readonly
Create unit testing for SecureString conversions


Threaded agents

Currently agents work as processes. It could be interesting to allow threaded agents as well, which share context with the parent agent and can, therefore, communicate with inproc.

+1 one here! I would like to use this with Issue #100

I've been trying to make this work.
Right now, the most sensible implementation I've come up with consists in creating some sort of AgentProcess superclass, and then making AgentProcess and AgentThread inherit from it and multiprocessing.Process and threading.Thread respectively.
The layout would be something like this:
class AgentX():  # naming is a WIP
  def __init__(name, nsaddr...):
    ...
  def run():
    ...
  def kill():
    ...
  ...

class AgentProcess(AgentX, multiprocessing.Process):
  def __init__(name, nsaddr...):
    ...

class AgentThread(AgentX, threading.Thread):
  def __init__(name, nsaddr...):
    ...

@Peque I've always been told multiple inheritance is a bad idea, but so far it seems like the cleanest way to go about it. What do you think?

By the way, now that I think about it, this would mean we would have to duplicate our test suite, so we can test everything with both threaded and "processed" agents.


Remove repo labels

@ErikSchierboom, can you remove the unmaintained and community-contributions-paused labels for this repo? I'll go deactivate the community contributions workflow right now.

Done


Device not reachable after esp32

Hi, in a few days ago I got my device with a "No response" error, so, I deleted it and tried to connect it again what wasn't successful, but at least 2 month device was working fine, with a "No response" problem sometimes, but it works, rather now.

These issues are difficult to debug as a "no response" error can stem from many causes.  If the device was working fine for 2 months and just started to give you problems it is likely a WiFi / MDNS issue.  If you've made any change to your WiFi network (updated the software, moved a router, added a new WiFi device, etc.) that could have negative implications to how the router processes MDNS messages.  Also, I found that MDNS tends to have problems when the WiFi strength at the ESP32 device is -70 dB or less.   You can check the strength of your WiFi signal at the device by enabling the Web Log.


install failures

Describe the bug
Following install steps here
https://github.com/botfront/botfront#installation
I had created a project and checked the basics into a repo
I checked out the repo on another machine, went through the whole install process
but get failure when trying to run the botfront app
I did have this working on my home machine, and the UI feels nice, but looking at meteor and docker interaction problems, it's a lot of weird
To Reproduce
follow process:
mkdir bf2   # place for my botfront app
cd bf2
botfront init
botfront up -e botfront

gives error:
▶ botfront up -e botfront
✖ Couldn't start Botfront. Retrying in verbose mode...
⠼ Starting Botfront...Creating network "botfronter_botfront-network" with the default driver
Creating volume "botfronter_botfront-db" with default driver
⠦ Starting Botfront...Starting botfront-mongo ...
Starting botfront-duckling ...
Starting botfront-actions  ... error
Starting botfront-mongo    ... error
⠧ Starting Botfront...
ERROR: for botfront-actions  Cannot start service actions: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found

ERROR: for botfront-mongo  Cannot start service mongo: network 52cb2845d97c62a49355e46820536316a152d2c7542ec9428Starting botfront-rasa     ... error
Starting botfront-duckling ... error
ERROR: for botfront-rasa  Cannot start service rasa: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found

ERROR: for botfront-duckling  Cannot start service duckling: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found

ERROR: for actions  Cannot start service actions: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found

ERROR: for mongo  Cannot start service mongo: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found

ERROR: for rasa  Cannot start service rasa: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found

ERROR: for duckling  Cannot start service duckling: network 52cb2845d97c62a49355e46820536316a152d2c7542ec94283697f6c817b17e0 not found
Encountered errors while bringing up the project.
✖ ERROR: Something went wrong. Check the logs above for more information ☝, or try inspecting the logs with botfront logs.

Expected behavior
can start the service.
Desktop (please complete the following information):

OS: MacOS latest
Docker version 19.03.5, build 633a0ea

EDIT:
OK i got this to work by
https://github.com/docker/compose/issues/5745
docker-compose rm
botfront up -e botfront

FYI using the docker dashboard seems better as it won't try to recreate, but instead bork the container.

Can you try botfront killall and init a new project?

OK that seems to do something.
▶ botfront init
? Create a new project in the current directory? Yes
┌────────────────────────────────────┐
│                                    │
│   Your project has been created.   │
│                                    │
│   Run botfront up to start it.     │
│                                    │
└────────────────────────────────────┘

(venv)
rnd/rascal/bf3  master ✗                                                                                39m ◒
▶ botfront up
⠴ Downloading Docker images...

but that step took like 45 mins earlier today :(

Anything in the logs? botfront logs
Le mer. 26 févr. 2020 23 h 16, dc<EMAIL_ADDRESS>a écrit :

OK that seems to do something.
▶ botfront init
? Create a new project in the current directory? Yes
┌────────────────────────────────────┐
│                                    │
│   Your project has been created.   │
│                                    │
│   Run botfront up to start it.     │
│                                    │
└────────────────────────────────────┘
(venv)
rnd/rascal/bf3  master ✗                                                                                39m ◒
▶ botfront up
⠴ Downloading Docker images...
but that step took like 45 mins earlier today :(
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/botfront/botfront/issues/490?email_source=notifications&email_token=AA4GAKSFOZLWNHRXTSMHYC3RE45CFA5CNFSM4K4OFESKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENC3PII#issuecomment-591771553,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4GAKSHPO4MMQGGWCNCNM3RE45CFANCNFSM4K4OFESA
.

after messing around with docker up and down I got it working :D


When pushing a single json file to a chang edit via gerrit_api.put, library errors

I think the response content type sniffing doesn't work if you push a json file. Adding any other file to a change is fine, but when I try to push a json file that ends in .json to a change, I get:
gerrit_api.put('/changes/%s/edit/blog.json' % changeid, data=contents)

ERROR:root:Invalid json content:
Traceback (most recent call last):
File "checkupdate.py", line 58, in
publish_update(output.splitlines())
File "checkupdate.py", line 44, in publish_update
add_file_to_change_edit(changeid, filepath, contents)
File "checkupdate.py", line 23, in add_file_to_change_edit
gerrit_api.put(api_url, data=contents)
File "/usr/local/lib/python2.7/dist-packages/pygerrit2/rest/init.py", line 179, in put
decoded_response = _decode_response(response)
File "/usr/local/lib/python2.7/dist-packages/pygerrit2/rest/init.py", line 60, in _decode_response
return json.loads(content)
File "/usr/lib/python2.7/json/init.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

However, the call actually succeeded from Gerrit's perspective, and the file was added to the change edit.

Sorry for the delayed response.
I've written a test for this use case (see 3c29786e674bc352157cade84e68101bbe23cb0c) but it is passing.
Can you have a look at that and see if it accurately reproduces your use case?  My test only includes a trivial json content; maybe it needs to be more elaborate?

But this unit tests isn't getting a response from an actual gerrit server, is it? The bug lies in how the library parses the actual response, not in sending the request to the gerrit server.

The test is making the request (and getting the response) against a real
gerrit server that is running in docker. It tests against the latest
versions of gerrit 2.14, 2.15, and 2.16.
On Mon, 25 Feb 2019, 19:22 Gilles Dubuc<EMAIL_ADDRESS>wrote:

But this unit tests isn't getting a response from an actual gerrit server,
is it? The bug lies in how the library parses the actual response, not in
sending the request to the gerrit server.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dpursehouse/pygerrit2/issues/54#issuecomment-466956908,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAzDSpVQrzFmiIAjw7_aTOZ0lQPFB0DXks5vQ7lVgaJpZM4aQd6O
.

Could be version-specific, maybe? I see that we're running Gerrit 2.15.8-7-g780f1f2b91 and that the live tests pull other versions.
The tests looks definitely just like the code I have that triggers the ValueError.
I wrote this small repro script against our own Gerrit server:
from pygerrit2 import GerritRestAPI, HTTPBasicAuthFromNetrc, GerritReview

url = 'https://gerrit.wikimedia.org/r/'

auth = HTTPBasicAuthFromNetrc(url=url)
gerrit_api = GerritRestAPI(url=url, auth=auth)

changeinput = {'project': 'performance/docroot', 'subject': 'Testing pygerrit2 bug', 'branch': 'master', 'topic': 'foo'}
result = gerrit_api.post('/changes/', data=changeinput)
changeid = result['id']

contents = """{"foo" : "bar"}"""

api_url = '/changes/%s/edit/file.json' % changeid
gerrit_api.put(api_url, data=contents)

Which yields:
gilles@perfbot:~/pygerrit2$ python repro.py
[19-02-25 10:51:57]-[pygerrit2-ERROR] Invalid json content:
Traceback (most recent call last):
  File "repro.py", line 15, in <module>
    gerrit_api.put(api_url, data=contents)
  File "/home/gilles/pygerrit2/pygerrit2/rest/__init__.py", line 186, in put
    decoded_response = _decode_response(response)
  File "/home/gilles/pygerrit2/pygerrit2/rest/__init__.py", line 67, in _decode_response
    return json.loads(content)
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

I tried adding 2.15.8 to the pytest.fixture params of your test, but "make livetests" seems to get stuck on pulling the image. I have a terrible internet connection today, so it might very well be a problem on my end.

If you want to try the exact version we're running, here's the commit of our mirror/minor fork currently deployed on that host: https://github.com/wikimedia/operations-software-gerrit/commit/780f1f2b9196a95d96253f1aa93d62aa4b5811cc

I was finally able to run the tests by pointing your code to 2.15.8 and they pass...
livetests.py::TestGerritAgainstLiveServer::test_put_with_json_dict[2.15.8]
Pulling image gerritcodereview/gerrit:2.15.8
⠋
Container started:  4d7c9cf789
Waiting to be ready...
PASSED
livetests.py::TestGerritAgainstLiveServer::test_put_with_data_dict[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_post_with_data_dict_and_no_data[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_post_with_json_dict[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_put_with_data_as_string[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_put_json_content[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_get_base64_data[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_get_patch_zip[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_put_with_no_content[2.15.8] PASSED
livetests.py::TestGerritAgainstLiveServer::test_review[2.15.8] PASSED

======================================================================================================== 10 passed in 31.41 second

It might have to do with the specific version we're running, or the plugins we run, maybe?

I've figured out what's tripping up the library, but I don't know where it's coming from.
Our server returns a 204 response on change PUTs, whose content-type headers matches the contents of the file that was pushed.
As a result, the library attempts to parse the response body, which is empty since it's a 204.
I don't know what's causing our Gerrit server to have that content-type when apparently according to your tests, vanilla Gerrit doesn't do that, but a plugin we have installed might be responsible.

Thanks for the additional info.  It could well be caused by a plugin; I'll try to look into this some more during the week.

Thanks for the additional info.  It could well be caused by a plugin; I'll try to look into this some more during the week.

I've fetched wikimedia/operations-software-gerrit@780f1f2 locally and built that, but I'm not able  to reproduce the issue against it.  I wonder if it's not enough to have those plugins loaded, but also need to configure gerrit in a specific way?

Although I couldn't reproduce the issue, I've made some changes which should at least prevent it from trying to convert an empty response to json.
Could you please try against your server with the tip of the issue-54 branch?
https://github.com/dpursehouse/pygerrit2/tree/issue-54
If you enable debug logging you should see logs of the response content type and status code.

I've verified that the issue is fixed when at the tip of that branch. Thank you!

Thanks for confirming.  I'll make a new release of the library after updating the tests to run against the latest Gerrit versions.  Should be within the next week or so.

PS, I would be interested to hear about it if you figure out what was causing this on the Gerrit side.
One thing that occurred to me: is your instance of Gerrit running behind a proxy or in a container that might be modifying the response headers?

Behind Apache, I believe, which indeed might do something funny with the response headers.

I've just released version 2.0.9 which includes the fix for this issue.


Require Laravel 5.5 or greater

Update the composer.json file to require Laravel 5.5 or greater

Hi, thank you for the fix!


⚠ Turnos 24x7 has degraded performance

In 1e4339a, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 837 ms

Resolved: Turnos 24x7 performance has improved in e4c9a34.


Feature/return tx data after tx

It is useful for applications if after a transaction is pushed, some information e.g. transaction-id is returned. This is also implemented in most libraries for other Blockchains.

Nice work. Thanks for the contribution


Networking v2

Introduced IOLoop class which asynchronously polls sockets and triggers handlers (IOHandler) on each event

Everything is zmq.PAIR socket - bidirectional socket, can send and receive.

DataReader + DataWriter implement IOHandler

Simple ACKing mechanism with simple ACK batching (currently just to test sending/receiving acks, no watermarks/retries/actual logic when to ack and how to properly handle acks - this is WIP)

Introduced Buffer (bytearray), each message is encoded into buffer. Multiple messages in a buffer is WIP

Simple empty BufferPool interface to show how it integrates into the whole flow, implementation is WIP

Introduced TransferHandler (should run on TransferActor - WIP) which is responsible for passing messages back and forth between peer nodes in a cluster (via single bidirectional node<->node TCP connection): 1 Actor per node, 1 IOLoop per Actor/node, 2 TransferHandlers per loop/actor/node - one for forward data (Direction.SENDER), one for backwards data (Direction.RECEIVER). TransferActor orchestration is WIP
High level flow is: each operator actor (process) has a DataReader and DataWriter (source operators have only DataWriter, sink operators only DataReader).
2 scenarios:

If operators are on the same node, their DataReader/DataWriter(s) connect directly (each of them has a socket per channel which just connect 1-to-1)
If operators are on different nodes: each node runs a single TransferActor (which runs 2 TransferHandlers described above). DataReader/DataWriter connect to corresponding TransferHandlers on TransferActor, these 2 TransferHandlers pass (and receive acks) to 2 TransferHandlers on peer node which then pass data to corresponding operator's DataReader/DataWriter on another node (testing is WIP)

[TODO] Credit-based Flow Control for backpressure

[TODO] Networking metrics

All the necessary logic is in volga.streaming.runtime.network.transfer and some orchestration in volga.streaming.runtime.master.worker_lifecycle_controller.py and volga.streaming.runtime.worker.task.stream_task.py
volga.streaming.runtime.network.experimental and volga.streaming.runtime.network.deprecated can be skipped. All the other changes are just renaming/refactoring

Just realised that having 2 TransferHandlers per node means we have 2 tcp channels per node<->node connection, this should be fixed.


sensu-0.24 valid_config looking for a config.json

in my setup i only use /etc/sensu/conf.d/client.json etc.. but with the new version the valid_config is lookign for a /etc/sensu/config.json and the daemon won't restart because of this. I created an empty file and it worked.

@gmodules thank you for reporting :+1: We will get this into 0.24.0

Oh, nice catch :+1:


Aries Framework Go wallet

Design can be found here.
Wallet APIs

[x] all interfaces and providers needed for wallet

KMS

[x] name spacing in localkms https://github.com/hyperledger/aries-framework-go/issues/2435
[x] VC wallet KMS client - https://github.com/hyperledger/aries-framework-go/issues/2551
[x] VC wallet open/close - https://github.com/hyperledger/aries-framework-go/issues/2551
[x]  zcapld support #2845

KMS & Token

[ ]  decoupling token & cache - https://github.com/hyperledger/aries-framework-go/issues/2556

Wallet initialization

[x] create wallet profile ('many wallet instances per agent' approach)- https://github.com/hyperledger/aries-framework-go/issues/2551
[x] update wallet profile
[x] check if profile exists https://github.com/hyperledger/aries-framework-go/issues/2843

Core wallet features

[ ] export & import
[x] wallet lock & unlock - changed to wallet open.close #2763

VC plugin

[x] collection (vault for VCs) #2741
[x] issue #2668
[x] verify #2680
[x] prove
[x] derive #2694
[x] presentationSubmission #2713
[x] query by frame #2717
[x] query by example #2717
[x] create key pair #2821

Key plugin - NOT REQUIRED

[x] verifyRaw
[x] signRaw

Store plugin

[x] support for all data models - https://github.com/hyperledger/aries-framework-go/issues/2651
[x] key data model (import private key into wallet)- #2707
[x] add - https://github.com/hyperledger/aries-framework-go/issues/2651
[x] remove - https://github.com/hyperledger/aries-framework-go/issues/2651
[x] get #2651
[x] getAll #2712 #2741
[x] query

EDV integration

[x] wallet contents in EDV store #2757 #2745 #2768
[x] zcapld support #2845

DID plugin  - NOT REQUIRED

[x] create
[x] resolve
[x] User profile based VDR to resolve saved DIDs #2698

** DIDComm interfaces**

[x] connect #2928
[x] propose presentation  #2928
[x] present proof  #2928
[x] wait for ack #3021 3021
[x] propose credential #3073
[x] request credential #3073
[ ] redirect for issuance flow #3073

Connection plugin

TODO

** Command controllers**

[x] all command controllers #2770, #2843
[x] JS bindings
[x] REST bindings
[x] mobile bindings

BDD tests

[ ] Go SDK tests
[ ] REST command tests
[ ] JS binding tests

Documentations & examples

[x] Update docs
[ ] Add examples
[ ] Go docs

Discussions: #2677, #2715, #2718

Currently vcwallet only supports importing DID through Add interface, we have dedicated vdr controller in aries to create DIDs.

From our discussion I derive that the reason for the deactivation is the absence of the VDR interface from the Universal Wallet spec. Is that correct?


Passbook

Hi Martin,
This is not related to your project but thought of checking with you. I am trying to host the below project on Azure:
https://github.com/rickschrader/PassbookWebApiService
I have installed the Pass Certificate the same way we did . But not sure how to install the Apple WWDR (WorldWide Developer Relations) certificate which is .CER format and it is not getting converted into PFX.
Can you please be able to load it and see if you are able to generate the pass successfully?
Your help on this would be much appreciated!
Thanks.
(Apologies for adding this into the Issues section. I shall delete it later)

@sairaut As far as I'm aware, WWDR is an Apple-issued intermediate certificate to which only the public key is issued, hence it being in .cer format, so cannot be converted into .pfx as you don't have the private key. I think for Azure you best bet is to re-export your PassBook certificate as a .pfx with the entire certificate chain all the way up to the root. That way the Azure deployment should have access to all the certificates to establish trust.

Thanks Martin. I tried that. But it is not downloading the pkpass file. will you be able to host this project and Azure and check. Sorry to bother you :)

Sorry, I've not used PassBook myself and don't have access to an Apple Developer account anymore to try this out.


from > to results in bad interval

exposure(Anniversary(Month(1)), Date(2013, 1, 31), Date(2012, 4, 1))

gives
1-element Vector{NamedTuple{(:from, :to), Tuple{Date, Date}}}:
 (from = Date("2013-01-31"), to = Date("2012-04-01"))

I think this should just give an empty array, then when we flatten the rows will just disappear.

Good catch - I think that this should error rather than silently disappear. I can't really think of a scneario where I'd willinging pass data here, have some end dates behind the start, but still want to return partial cases.
Something like to ≤ from && DomainError("from=$from argument is a later date than the to=$to argument. Did you accidentally reverse the arguments?") would suffice, you think?

agree, throwing an error makes sense

Plz assign me

this should have been closed when PR was merged


Use Weaviate OSS provider in ask-astro-load-stackoverflow.py

Current DAGs in Ask-Astro don't use OSS Weviate provider. Implement AskAstroWeaviateHook which inherits from WeavaiteHook from OSS.
Use AskAstroWeaviateHook as the taskflow API for ask-astro-load-stackoverflow.py

Depends on: #134

PR: https://github.com/astronomer/ask-astro/pull/160


[Unity Plugin] Disabling parent gameobject when using dynamic object crashes Unity

In Unity, during playback in Editor, when disabling a parent gameobject - containing gameobjects with the Steam Audio Dynamic Object component - (and also a specific gameobject) will lead to a complete crash of Unity. I get no error logs.
Removing the Steam Audio Dynamic Object component and disabling the parent gameobject does not crash Unity. I added a screenshot to show my setup. When pressing play and disabling the "Wall with opening" gameobject Unity will crash.

Tested with
Steam Audio Beta 17
Unity 2018.3.11f1

We are able to reproduce this issue and have a potential fix. This will be included in the next release of Steam Audio.

Great.


overflow hidden in firefox

Describe your problem and - if possible - how to reproduce it
overflow is hidden in firefox (it's fine in chrome).
no scrollbar visible and i can't scroll down with a touchpad.
only occurs with the left column (instructions panel).
the right column scroll works (editor panel).
Add a Link to the page with the problem
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator
this can be replicated on any page that has this general structure (two or three columns with enough content to scroll).
Tell us about your browser and operating system

Browser Name: firefox
Browser Version: firefox 60
Operating System: linux ubuntu 16.04.4

If possible, add a screenshot here

I have same problem in Firefox today.

Same problem for me. Issue started today. All behavior was working as expected last night. Firefox 60 & 61, 64bit on MacOS 10.12.
Only the scrolling seems to be broken. Running the test with keyboard shortcut (cmd+Return) worked correctly.

Same here, it started around Thursday.
I just relaunched FF (which upgraded to 61.0) and still the same problem.
Tabbing to the buttons "Run the tests", "Reset all code" scroll the frame down but my trackpad doesnt scroll with two fingers
2011 Macbook Pro, Sierra 10.12.3


chore(gateway-api): extract common programmed condition helper

What this PR does / why we need it:
Extracts ensureParentsProgrammedCondition from all *RouteControllers to share 1 implementation.
Which issue this PR fixes:
Closes: #3390

This is ready for review


[IconButton] Fix children styles for IconButton

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Resolves #2454
Styles applied to child component is rendered correctly now.
<IconButton>
  <ActionDelete
    style={{backgroundColor: 'magenta', height: 30, width: 30}}
    color="cyan"
    hoverColor="#000"
  />
</IconButton>

The styles component of children was not being included in Object.Assign(), so included that.

It feels wrong putting the style prop on multiple nodes in the component. I don't think this is a good solution for the problem. @mbrookes ?

@nathanmarks : I know. But since @oliviertassinari  suggested we do it , I went ahead with this. IconStyle in itself takes of the icon styling. Which works perfectly fine.
And icon style prop works fine if we remove iconStyle and consider the internal styling. I prefer using iconStyle myself.
I did it only because others thought it was a good idea.

It feels wrong putting the style prop on multiple nodes in the component.

I can't agree more.

@oliviertassinari @nathanmarks : Should I close the issue and PR then? Because iconStyle does work perfectly fine.

The styles component of children was not being included in Object.Assign()

It still isn't being.
(So I'm not sure how the you got the resulting image from that example code. 😄 )

          style: childrenStyle,
          **style: Object.assign({}, childrenStyle, this.props.style),**
          })}

@mbrookes : this.props.style is included and this happens for every child if it has a styles components.

this.props.style is included

Exactly.
Whereas you should be including the children's styles, not IconButton's.

@mbrookes : this.props.style refers to the child components style prop since we are using the extendChildren utility to access the child components.

this.props.style refers to the child

@tintin1343 No, it doesn't, otherwise @nathanmarks, @oliviertassinari and I would have an issue with this PR.
Back to the drawing board I think. 😄

I am not giving up so easily 😓 . Let me console out that for you.

otherwise @nathanmarks, @oliviertassinari and I would have an issue with this PR.

why do you say that?

@tintin1343, @mbrookes is right. It doesn't you should probably do something like this:
const child = React.Children.only(this.props.children);
if (React.isValidElement(child)) {
  childStyles = Object.assign({}, this.props.childStyles, ... , child.style);
}

this.props.style refers to the style prop of IconButton not the enclosed SvgIcon

@alitaheri : Thanks Ali !
@mbrookes : Sorry Matt, my bad! 😁

Not sure what's going on here. Closing 😄


Design of GlassBR Discussion

In commit 15d01587da6edc132fa8a578a7d0c62b471e3b6b we have been discussing the thickness values input to GlassBR.  I was going to add an issue for @niazim3 to change the code to use approximate equality tests.  After thinking about it further, I'm not so sure this is the best way to go.  I'll summarize the problem below:
The user is supposed to input a value (t) for the nominal thickness from the following set:
{2.5,2.7,3.0,4.0,5.0,6.0,8.0,10.0,12.0,16.0,19.0,22.0}
The program verifies that their input is within this set and then derives the actual thickness (h) from this value.  For instance, a nominal thickness of t = 2.5 is an actual thickness of h = 2.16.  The value of h is a float.  This is the value actually used in calculations.
We have discussed the bad style of using an exact comparison between floats to determine whether t is in the correct set, and, by extension, to convert t to h.  I agree that comparison of floats for equality is not a good idea.  We were going to introduce an approximate equality, but I wonder if this is the wrong choice?
@JacquesCarette, what do you think of reading in the t values as strings?  This really is equivalent to reading in the "name" of the different types of glass.  The glass is identified as "2.5", but the name could have been "thinnest".  If the user enters 2.500001 as a float, in our proposed change, we would consider this as 2.5, but really it is a user error.  We don't really know if they meant glass 2.5, or mistyped their data.  I don't really like using strings as input either, but we don't have the problem of any ambiguity in exact comparison with strings.  The string would only exist for the purpose of verifying that the user selected one of the valid values for t, and then to convert t to h.
This issue is also relevant for @palmerst .

I agree: for this case, "2.5" is used as a name, not a number, as far as the input module is concerned.  Its validity should thus be checked textually.  Then it can be 'translated' to a number [it could even be done by table lookup!] for internal computations, as "2.5" is the name of something which has a particular thickness.

Okay.  We are on the same page.  I'll create an issue for @niazim3 to modify the current GlassBR code.  @palmerst , you will likely want to make corresponding changes to your code generation.


[feature request] Allow (custom) globs to be arrays

Currently the fileGlobForESLint and fileGlobForTypescript settings take a string. This leads to duplication as glob groups cannot be nested.
For example, I'm currently using
"**/.eslintrc.{json,default.json,ts.json}"

I would like to add **/package.json (because eslint-plugin-import doesn't handle dependency changes very well), but to do that I currently need to pull the .eslintrc. part into the group (although I can then move the .json part out):
"**/{.eslintrc,.eslintrc.default,.eslintrc.ts,package}.json"

I would prefer to be able to use the following:
["**/.eslintrc.{default,ts}.json", "**/.eslintrc.json", "**/package.json"]

or
["**/.eslintrc.{default,ts}.json", "**/{.eslintrc,package}.json"]

to minimize the amount of repetition.

Thanks @ehoogeveen-medweb for raising this issue. Anyone wanted this feature to be in the next version, pls 👍 his comment. Thx.

I would love this too!

Thanks for your great contributions, @j4k0xb !
The new version v0.0.6 is ready, please update and welcome any feedback! 🙏


Support/configuration for virtualenvwrapper?

I have been trying to configure the plugin using the following configuration,
require("venv-selector").setup({
    auto_refresh = true,
    search_venv_managers = false,
    path = "/custom_home_dir/user/.virtualenvs", -- $WORKON_HOME absolute path where virtualenvwrapper creates venvs
    name = {"venv", ".venv", "site-packages"}, -- I added site-packages because the other dirs won't be there
})

I am using virtualenvwrapper so commands like workon VENV and deactivate are supported via the command line. But with this configuration it is not able to find my venvs located under the specificied path. Instead it also searches through all the venvs in other user's home directories which I found was unexpected.
I could only find documentation for the other venv managers like pyenv-virtualenv which I migrated away from as it didn't let me run python with gdb because of shims. If you could guide me on how to configure this virtualenvwrapper that would be great!

Hi and sorry for late response, I was on vacation in Italy and just came back :)
I think you may want to add "parents = 0" to your options there if you want VenvSelect to not go up into parent directories and look for venvs. Maybe that should be default - I can see how its confusing that its looking in parent directories when you specify a specific path to search. This should probably be changed so if the user sets a path, parents are also set to 0 by default. :)
But even if you do that, the virtual environments will have different names under the path (the name you give your virtual environment), and wont be found. So I think adding support for virtualenvwrapper is probably a good idea.
Then it will find those environments without any config on your part. I will see what I can do. :)

If you update VenvSelector now to latest version, it should find virtual environments under ~/.virtualenvs and list them.
But you need to change your config so its more like default:
require("venv-selector").setup({
auto_refresh = true,
search = false
})
With this config,  search_venv_managers is true and it needs to be so VenvSelector can find the managed venvs.
You also dont need  path and the name options for your use case.  They are used to search for virtual environments that are not managed by a venv manager (such as virtualenvwrapper).
The search parameter set to false will make VenvSelector not search at all for environents that are not managed by a venv manager, which will make the plugin a lot faster for you.  But remember to set it to true if you actually want to look for venv folders outside of virtualenvwrapper.
Hope all this works for you!

Closing this, but feel free to comment or reopen if the new code doesn't work for some reason. :)

I'm sorry for not getting back to you sooner, but it seems to work now with your provided configuration.
Another follow-up question is that if I change the virtual environment using this plugin, how do I have it enforce the same on the already open terminal(s)? I am using ToggleTerm but I think that the logic of this post-activate hook would apply to the standard terminal as well. Do you think I should file a separate issue so that the discussion is contained?


I want  to add a pdf Issue/Suggestion

if you are in interested in adding any pdf then you see my issue.
Yoga Notes final (1).pdf
I want to add this pdf to the webpage so that it open in a new tab.If you are interested I have attached the pdf above.
Actual:
Additional Details:

@akshitagupta15june
please assign me this issue

as of now we are only uploading articles in form of blog.


The git stage operation will change the file encoding

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

VS Code Version: 1.78.1
OS Version: Ubuntu1804.2

Steps to Reproduce:

The encoding of source file is GBK;
Open Changes View, stage via 'Stage Selected Ranges'
The encoding will be changed to UTF-8

If ‘stage changes’ the entire file, there will be no such issue. VSCode default encoding now is set to GBK.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Can this issue be resolved?

My description was inaccurate.
It didn't change the encoding of the original file, but when I use 'git diff' or 'git format-patch', it displays as UTF-8, and the Git history preview in VSCode is also displayed as UTF-8.

At the same time, if I stage the entire file(not 'Stage Selected Ranges'), this situation will not occur.

@BiiigPanda, is the problem with the content of the hover as looking at the file encoding in the status bar I always see that the file is using "GB2312". I am asking as the hover is contributed by the GitLens extension. Are you able to reproduce the problem with the GitLens extension disabled? Thanks!

If we look at the encoding in the status bar, it might be clearer to explain the operation in a different way. The following GIFs show the operation for 'Stage Selected Ranges' and 'Stage Changes', respectively. After staging is completed, we can view the differences using VSCode and notice that the encoding of the file has changed to UTF-8 in the diff view.

More data points: I'm seeing the same behaviour on Windows-1252 and with files.autoGuessEncoding enabled. It correctly opens the file as Windows-1252, does not change the encoding on save (either normal save or save without formatting), does not change the encoding when the Stage Changes button is used.
Unstage is also affected: If I stage the entire file using Stage Changes, then in the Staged view, "Unstage selected range" the only change, you'd expect no changes to remain staged. However the staged file is converted to UTF-8, and the checked out file is not. (i.e. - a conversion of the file from HEAD to UTF-8 is staged, and the local changes remain unstaged, in Windows-1252, so the diff shows a conversion of the file back from UTF-8 to Windows-1252).
Pretty frustrating bug!

I can confirm this also happens with Windows-1251 Cyrillic, an encoding I need to write code for a certain old Ukrainian game engine. Even disabling autoGuessEncoding and setting it fixed to windows1251 in workspace and folder settings, opening the file diff will always show non-ASCII characters as changed, left side (committed) looks garbled (e.g. local DOT = "Р Р†Р вЂљРЎС›") while the right side looks as expected (e.g. local DOT = "•").
The only way to work around this is to skip staging the affected parts line by line and eventually commit the whole file at once. Obviously if I had more than just a few non-ASCII characters in my code, this wouldn't even be an option.

Can confirm this unfixed as of 1.90.1

This issue still exists on version 1.93.0, @lszomoru

Closing as duplicate of https://github.com/microsoft/vscode/issues/155658


Transparent background for file icon in active tab

Hey! Thanks for this plugin, I've been looking for something like it as I wanted to have the icons in the tabline but I didn't want to mix tabs and buffers like other plugins do :smile:
As I began using this plugin, I have noticed that in my theme (https://github.com/sainnhe/gruvbox-material) the background for the file icons is black and it does not match the tabline's background:

This only happens for the active tab. The background of icons for inactive tabs fits in
Is there something we could do about it?
Once again, thanks for this plugin :+1:

Ah, hadn't noticed the devicon highlight defaults to bg1, as I use the same color for my TabLineSel bg. Should be fixed now!

Yup, looks good now:

Thanks for a quick fix :+1:


Add support for optimal DFA on LLVM bitcode

backward analysis (Demanded bits) is not supported

thanks-- is this ready to go?

yes!

LGTM thanks!
great job with all the test cases!!!


502 - Response when routing to Azure App Website

Describe the bug
Can you please show me the correct settings I need to add to allow Azure App Service application to be loaded in the Proxy. I'm trying to replace our existing Node Reverse Proxy to this one and I can't make it work. The node version is loading properly the website.
Steps:
Added a simple Angular App as Front End as Azure App Service and configure that as the destination address.
Calling it from the YARP Proxy Server returns 502. I tried removing the ARR affinity in the Azure Website and still not working.
Error:
{StatusCode: 502, ReasonPhrase: 'Bad Gateway', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Server: Microsoft-IIS/10.0
Date: Mon, 13 Jul 2020 19:40:54 GMT
Content-Type: text/html
Content-Length: 1477
}}

Can you please share the config that you already tried?

My sample config below.
"ReverseProxy": {
"Clusters": {
"sample_ui": {
"Destinations": {
"backend_ui": {
"Address": "https://proxyui.azurewebsites.net/"
}
}
}
},
"Routes": [
{
"RouteId": "route1",
"ClusterId": "sample_ui",
"Match": {
"Methods": [
"GET",
"POST"
],
"Hosts": [
"localhost"
],
"Path": "/ui/{**catchall}"
},
"Transforms": [
{
"PathRemovePrefix": "/ui"
},
{
"X-Forwarded": ""
}
]
}
]
}

Hmmm, this indicates an error in the application.
"502 - Web server received an invalid response while acting as a gateway or proxy server.
There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server."
However, it only happens when going through YARP. I was able to repro this against your site and one random other azurewebsites.net site. I'll dig a little deeper.

Notes:

It still doesn't work if I use Fiddler as the client to send an empty request, so it's not related to any of the request fields provided by the browser.
It does work if I run YARP in IIS Express rather than Kestrel. That might be because of how https://github.com/microsoft/reverse-proxy/issues/255 makes all requests not have a body in IIS.
I have seen proxied HTTP/1.1 GET requests end up with a Transfer-Encoding: chunked header. Kestrel wouldn't care about that, but azurewebsites might. That happens because the HttpProxy code assumes all requests have a body:
https://github.com/microsoft/reverse-proxy/blob/24c0c5a969bb025dd7a355f0b62ee4cbac96c99f/src/ReverseProxy/Service/Proxy/HttpProxy.cs#L372-L404

Good news:
I was able to temporarily fix this by adding a check in the above SetupCopyBodyUpstream code to only generate a HttpContent object for POST requests.
Bad news:
There's no workaround from user code.
Next steps:
We're going to have to play with this more to find the right way proxy requests that don't have a body.

For now, I'm using your temporary fix to continue with my POC and the page is loading. We are planning to move our on-prem application to azure.


!price should report if the prices it are reporting are old

We get time as one of the values we get back. We can check it and if it's >1 day old we can say "warning: price data is N days/weeks/months old". Will be a nice spur to devs to checkout any issues, too.

4a0dc8a.


Problem

Comments didn't show but I receive the Submitted confirmation Any Ideas ? =)
Thanks

@Zirconiumirish Because you submitted the data to my Firebase database. Here it is:
https://fire-comments-js.firebaseapp.com/
When using on your own website, use your own Firebase credentials.


Issue CARM token

Carmine Options AMM DAO will allow for staking CARM token.
The process to get there is not a direct one, but it is not complicated.
This task assumes https://github.com/CarmineOptions/governance/issues/46 is already implemented and accepted by the governance.
The task is to prepare a governance proposal that will create and issue new ERC20 token, called CARM, with 100mil max supply, 18 deximals. Within the proposal the token will not only be issued, but it will also have governance smart contract to be set the owner and governance will be updated so that it can handle the potential upgrades of the new token.

I'd love to take on this

Great, could you share your discord/telegram handle? to discuss the onlydust rewards?

@OkoliEvans pinged you on Telegram, please book a call with me so we can go through it

isn't CARM token deployed already? what will happen with the old contract?


127:postgresql Metadata exposes embedded.postgresql.docker-image

This PR adds the embedded.postgresql.docker-image metadata entry as well
as:

Moves to postgres:10-alpine instead of 10.3-alpine. The 10-alpine
version will point to the latest 10.x minor versions instead of
pinning to a specific minor version.
As part of the metadata changes we are also expressing the latest
versions currently supported. 10-alpine, 11-alpine, 12-alpine.
Adopt JUnit5 to support Nested tests that allow us to execute the
same tests against several different images by just modifying the
configuration.

Thanks @Aloren , @tdanylchuk & @vasilievip.


Feature Request: Shorter spacer symbol

If I need a spacer with the same length as before, I must double the wave with ..
wave: "0.1.0|1."

Maybe a new symbol can be involved to create a shorter spacer. Such as:
wave: "010#1"

A similar result can be created with sub-cycle.
{
  signal: [
    { name: "PCLK", wave: '10101010<1|>0101' },
    { name: "HREF", wave: '1..0.1..|..0.'},
    { name: "D[7:0]", wave: "==.=.=.=|=.=.",data:["","Last Byte","","First Byte","","Last Byte"]},
  ],
  //"config": { "skin": "narrow" }
}

But it's not in the center.

Not perfect but it works.

Too many bugs 💀 #244


Unable to compile on arch-linux

torch-sys is 0.14.0
Unable to compile torch-sys on arch gcc version 14.1.1, tried gcc 13, no luck, also tried all the combinations of ENV (LIBTORCH_USE_PYTORCH=1|0, LIBTORCH_BYPASS_VERSION_CHECK=1|0) it simply doesn't work. I am keep getting:
 cargo:warning=In file included from libtch/torch_api_generated.h:2,
  cargo:warning=                 from libtch/torch_api_generated.cpp:2:
  cargo:warning=libtch/torch_api_generated.cpp: In function ‘void atg__cslt_sparse_mm(at::Tensor**, tensor, tensor, tensor, int)’:
  cargo:warning=libtch/torch_api_generated.cpp:640:104: error: invalid initialization of reference of type ‘const std::optional<at::Tensor>&’ from expression of type ‘bool’
  cargo:warning=  640 |     auto outputs__ = torch::_cslt_sparse_mm(*compressed_A, *dense_B, (bias ? *bias : torch::Tensor()), (bool)transpose_result);
  cargo:warning=      |                                                                                ^~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=libtch/torch_api.h:19:5: note: in definition of macro ‘PROTECT’
  cargo:warning=   19 |     x \
  cargo:warning=      |     ^

libtorch is maunally downloaded (version 2.3.0) and specified in LIBTORCH env during cargo build. Tried with cuda or without cuda - same error

Back to the old version
[dependencies]
tch = { git = "https://github.com/LaurentMazare/tch-rs", rev = "a90854b2135b91546ca6082418d478126e1f6a26" }

And it worked!

Each version of tch/torch-sys is only compatible with a single version of libtorch. For 0.14.0, the matching libtorch version is 2.1.0 which probably explains the original error, 0.16.0 should be the version to use with libtorch 2.3.0.


Implement the example gallery via Documenter directly + add Documenter blocks

https://geo.makie.org/previews/PR233

@lazarusA you might be interested in examples/basic.jl and docs/example_meta_block.jl here - they have a first prototype for in-code evaluation of an example's metadata (title, description, cover) which we can forward to the Gallery prototype here.  (Just have to figure out how to embed/downsize the image now :D)

TODOs:

[ ] Make the @cardmeta block rewrite the page to add the cover image directly after the first title element
[ ] Create a constructor for a Card object that populates values from the Dict GALLERY_DICT
[ ] Make this constructor also downsize the cover image by a factor of at least 3, for a lighter page
[ ] Get the example gallery working again!
[ ] Allow multiple cardmeta blocks on a single page
[ ] Stretch goal: at the end of each page, try to add a default Cover = fig, without the user having to write it...


different potion levels are not distinguished

What is your Quests version / build number (do not say "latest")?
Plugin Version: 3.8.0-b34
Server Version: 1.14.4 Paper
Describe the problem and how to replicate it. Any console errors to post using Pastebin.com?
I once brewed all potions and noticed that on the one hand potion levels don't include sorting and it doesn't make any difference which level of potion you use when brewing because the first potion is always completed by the name.

That's part of the potions. It looks the same with the others.

If applicable, can you provide an example quest from quests.yml using Pastebin.com?
https://pastebin.com/RpSWAgxx

As far as I can tell, the issue stems from how an ItemStack is saved to file. I'll look into whether it's possible to correct this, but I cannot guarantee a solution at this time.

My initial hypothesis was incorrect. ItemStacks are being saved correctly to file, as shown here:
          items-to-brew:
          - ==: org.bukkit.inventory.ItemStack
            v: 1631
            type: POTION
            meta:
              ==: ItemMeta
              meta-type: POTION
              potion-type: minecraft:long_water_breathing

Note the "long_" water breathing, indicating the 8:00 minute amplifier rather than the base 3:00.
The trick, so to speak, is to load the item from your hand using option '0' in the Create Item prompt. This allows the appropriate metadata to be loaded, whereas simply setting the item name does not.

I had added all potions with hand function 0 as item. I can test this again in the evening


With compilerOptions: { runes: true }, root.svelte file generate <svelte:component> is deprecated in runes mode — components are dynamic by default

Describe the bug
With compilerOptions: { runes: true }, root.svelte file generate  `<svelte:component>` is deprecated in runes mode — components are dynamic by default
I'm not sure if this is a bug that SvelteKit, Svelte, or @svelte/adapter-static needs to fix. Hope you guys can transfer it to the correct one if needed.
Reproduction
Just create a new sveltekit project and enable runes only mode by adding compilerOptions: { runes: true } to the svelte.config.js file.
Logs
5:55:38 PM [vite-plugin-svelte] .svelte-kit/generated/root.svelte:45:1 `<svelte:component>` is deprecated in runes mode — components are dynamic by default
43: {#if constructors[1]}
44:   <!-- svelte-ignore binding_property_non_reactive -->
45:   <svelte:component this={constructors[0]} bind:this={components[0]} data={data_0}>
                         ^
46:     <!-- svelte-ignore binding_property_non_reactive -->
47:     <svelte:component this={constructors[1]} bind:this={components[1]} data={data_1} {form} />
5:55:38 PM [vite-plugin-svelte] .svelte-kit/generated/root.svelte:47:2 `<svelte:component>` is deprecated in runes mode — components are dynamic by default
45:   <svelte:component this={constructors[0]} bind:this={components[0]} data={data_0}>
46:     <!-- svelte-ignore binding_property_non_reactive -->
47:     <svelte:component this={constructors[1]} bind:this={components[1]} data={data_1} {form} />
                                                                                ^
48:   </svelte:component>
49: {:else}
5:55:38 PM [vite-plugin-svelte] .svelte-kit/generated/root.svelte:51:1 `<svelte:component>` is deprecated in runes mode — components are dynamic by default
49: {:else}
50:   <!-- svelte-ignore binding_property_non_reactive -->
51:   <svelte:component this={constructors[0]} bind:this={components[0]} data={data_0} {form} />
                                                                                ^
52: {/if}
53:

System Info
System:
    OS: Linux 6.5 KDE neon 6.0 6.0
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
    Memory: 8.43 GB / 15.40 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 22.6.0 - /run/user/1000/fnm_multishells/33079_1723484947088/bin/node
    npm: 10.8.2 - /run/user/1000/fnm_multishells/33079_1723484947088/bin/npm
    bun: 1.1.16 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: <IP_ADDRESS>
  npmPackages:
    @sveltejs/adapter-static: ^3.0.3 => 3.0.3
    @sveltejs/kit: ^2.5.21 => 2.5.21
    @sveltejs/vite-plugin-svelte: ^3.1.1 => 3.1.1
    svelte: ^5.0.0-next.218 => 5.0.0-next.218
    vite: ^5.4.0 => 5.4.0

Severity
annoyance
Additional Information
No response

@Rich-Harris Right now, we're emitting code like <svelte:component this={constructors[0]} ...> - What do you think about also recognizing things of the form <foo[bar]> as always being components? Or is that too niche, and we should just have a sequence of {@const}s at different levels of {#if}s?
As a side note, if we're going to be refactoring this generated component, maybe we should also switch away from the name constructors in Svelte 5, for clarity.

The same message / warning is gerenrated even without opting into the runes mode with this compilerOptions: { runes: true } as it probably auto-detects runes mode.

The code that generates this file (https://github.com/sveltejs/kit/blob/main/packages/kit/src/core/sync/write_root.js) detects the presence of Svelte 5 and uses that, not the compiler option, to decide what to write. The generated file actually forces runes mode on at the component level with <svelte:options>.

@Rich-Harris Right now, we're emitting code like <svelte:component this={constructors[0]} ...> - What do you think about also recognizing things of the form <foo[bar]> as always being components? Or is that too niche, and we should just have a sequence of {@const}s at different levels of {#if}s?

Tbf i think the same assumptions made for component.thing could be made for component[thing]...my only fear is that this opens the door to some weird things like various directives that allow things like use:foo[bar].thing[0] and it's a mess to parse right.

Oh just realised that we already allow that for uppercase components...i guess it make sense to allow lowercase components too
https://svelte-5-preview.vercel.app/#H4sIAAAAAAAAE32P3QqCQBBGX2UYuihYtGu1wO0xXC9Ex1pwf9gdgxDfPSzCIvBiYObjHJhvwl4PFDGrJrSNIcyw9B4F8sMvR7zTwIQCoxtDuyRFbIP2fFZWsTbeBYYS-uAMKEzSMnkbCvMvQK6A_AWWGYjh4ox3lixHOMEucsO0rya-aXvNoJwFfHY514dc2SJd37DFalfHOnmRkJ5RoHGd7jV1mHEYaRZrya2KzZYpt0z5b9bzE2jdl89kAQAA

@Conduitry i've opened a PR to treat arr[0] as a component too...if it get's merged i'll open a pr to sveltekit to fix this.

As a side note, if we're going to be refactoring this generated component, maybe we should also switch away from the name constructors in Svelte 5, for clarity.

do you think is worth it? That will mean a lot of conditionals in write_root.js for a decently small gain of readability of a generated file. Personally i would wait until we move to kit 3 and we drop support for svelte 4.

If we end up going with https://github.com/sveltejs/svelte/pull/12821, then no, I don't think it's worth it. If we don't go with that change and we're going to need to do a bit of refactoring of this component anyway, then possibly.

Huh, didn't realize the array notation thing already works. That skeeves me out a bit tbh, it makes it look like you can use arbitrary expressions

Huh, didn't realize the array notation thing already works. That skeeves me out a bit tbh, it makes it look like you can use arbitrary expressions

Tbf i think you actually can...once something is recognized as a component it just use that thing as a function call

It breaks down when using variables tho (surprisingly it actually worked until i wrote the code for the button since at the point which become a source and it's not $.get in the component.

No, you can't. It just puts the expression in verbatim without processing it. This is a bug and we should fix it

No, you can't. It just puts the expression in verbatim without processing it. This is a bug and we should fix it

Yeah see my following comment...by fix it i guess you mean make it work right? 😄


store: support for <> !=  matcher is not implemented after upgrade to V0.3.0

Thanos, Prometheus and Golang version used

Thanos: all components 0.3.0
Prometheus: 2.7.1

What happened
After upgrading query and store components from 0.2.1 to 0.3.0 we started seeing below errors for  queries which use "not-equal" (!=) binary operator:
receive series: rpc error: code = Aborted desc = fetch series for block 01D3EFDYWZ6WX3C1SEHF3ESA95: expanded matching posting: match labels: support for <> != <val> matcher is not implemented; empty matcher for label name mode
What you expected to happen
query component returns the correct value
How to reproduce it (as minimally and precisely as possible):
any query with != (not-equal) binary operator. My, in particular, looks like:
node_cpu_seconds_total{mode!="idle"}
Full logs to relevant components

Anything else we need to know

Fix in progress.

https://github.com/improbable-eng/thanos/pull/839


log version of chromedriver being used?

I believe that without updating my version of webdrivers in Gemfile.lock, I can still get a different version of (eg) chromedriver on machine-to-machine or run-to-run? Because it will download the most recent if not cached?
I am getting a travis CI failure, perhaps due to changed chromedriver. It's a frustrating one to debug because I'm not getting it locally.

Should webdrivers automatically print out the version of a driver it's using? That would make it easier for me to compare the chromedriver version from a lot of an old travis run that worked, to a log of the more recent one that did not. To see if that is the difference that's giving me a failure. As it is,  the version of chromedriver being used in my historical succesful tests seems lost to history.

If there's a way for me to manually get this to happen, I could add it to my code now (and will do so if I can figure out how), but of course it's too late to add it to historical runs. I wonder if it should be output by default because by the time you know you need it...

On local workstation where my tests are green... is it possible webdrivers is using a cached copy, instead of the same copy it's downloading fresh on travis?  If so... how do I uncache it, to make it more like travis?  It's possible this is in the README, but i was having trouble finding it. Or I may be misunderstanding what's going on.

@jrochkind I followed https://github.com/sciencehistory/scihist_digicoll/pull/114 and looks like you've already figured out that the failure is specific to Chrome v74 on Travis. I'll go ahead and answer your questions anyway:

The current version is logged to DEBUG level.

You can log it in your project with:

Webdrivers::Chromedriver.current_version.to_s
#=> "73.0.3683.68"

I'll add this info to the README soon.

webdrivers downloads chromedriver based on the Chrome/Chromium version on your system. Based on your findings, local had Chrome 73 and Travis was downloading Chrome 74. This means that Chrome and chromedriver 73 vs 74 was causing the difference in the test results.

Hope this helps.

Thank you, very helpful!

(I think it's a bug in Chromedriver 74, but don't have the energy to figure out how/where to report it!)

where to report it!

See http://chromedriver.chromium.org/help.

Thanks! Tried to do my duty. :) https://groups.google.com/forum/#!topic/chromedriver-users/0Pu-TPvlu18


net: goroutine leak when when calling File on a TCPConn

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
$ go version
go version devel +2086f3503e Mon Mar 12 22:29:04 2018 +0000 linux/amd64

(Also tested on 1.7.6, 1.10)
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/twmb/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/twmb/go"
GORACE=""
GOROOT="/home/twmb/go/go"
GOTMPDIR=""
GOTOOLDIR="/home/twmb/go/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build789317015=/tmp/go-build -gno-record-gcc-switches"

What did you do?
File 1, the producer:
https://play.golang.org/p/eNMNVTGutd9
File 2 (separate to ensure that the goroutines do not show up):
https://play.golang.org/p/Mz1h9F3963o
What did you expect to see?
No goroutines hung.
What did you see instead?
$ curl 'localhost:9090/debug/pprof/goroutine?debug=1'
goroutine profile: total 3508
3504 @ 0x479e95 0x477e0f 0x476759 0x48f728 0x4f6def 0x507eaa 0x678ed6 0x566c1e 0x566d6a 0x679995 0x45b1b1
#	0x479e94	syscall.Syscall+0x4			/home/twmb/go/go/src/syscall/asm_linux_amd64.s:18
#	0x477e0e	syscall.read+0x5e			/home/twmb/go/go/src/syscall/zsyscall_linux_amd64.go:749
#	0x476758	syscall.Read+0x48			/home/twmb/go/go/src/syscall/syscall_unix.go:162
#	0x48f727	internal/poll.(*FD).Read+0x117		/home/twmb/go/go/src/internal/poll/fd_unix.go:153
#	0x4f6dee	net.(*netFD).Read+0x4e			/home/twmb/go/go/src/net/fd_unix.go:202
#	0x507ea9	net.(*conn).Read+0x69			/home/twmb/go/go/src/net/net.go:176
#	0x678ed5	net/http.(*persistConn).Read+0x135	/home/twmb/go/go/src/net/http/transport.go:1453
#	0x566c1d	bufio.(*Reader).fill+0x11d		/home/twmb/go/go/src/bufio/bufio.go:100
#	0x566d69	bufio.(*Reader).Peek+0x39		/home/twmb/go/go/src/bufio/bufio.go:132
#	0x679994	net/http.(*persistConn).readLoop+0x184	/home/twmb/go/go/src/net/http/transport.go:1601

These goroutines do not go away.
If tc.File() is commented out in the first play link, the goroutines do go
away. I suspect there is a race between connections being set to non-blocking
and removed from epoll management and with a goroutine falling into epoll to
wait for a read.
The examples use an http server / client, but I would suspect this issue is visible with raw connections.

https://golang.org/pkg/net/#TCPConn.File says:
“It is the caller's responsibility to close f when finished. Closing c does not affect f, and closing f does not affect c.”
Is the File call paired with a Close call in the real code you've observed the leak in? If so, a more realistic reproducer would be helpful. Otherwise, it's unfortunate that the Close requirement is only enforced by documentation but there's not much we can do about it in the short term.

The File code internally calls into os's NewFile, which sets a finalizer on the fd itself to close it when it is garbage collected. However, the tc.File() line in the code above can be changed to
                f, err := tc.File() // <-- this is bad!
                chk(err)
                go func() {
                        chk(f.Close())
                }()

to ensure that not closing the file is not the issue. For ease, the following play link (which has the code) also reproduces the issue: https://play.golang.org/p/tnNDto5l8vf

You do realize you are calling Do(req) twice and you never close those responses.

It was a typo from modifying the same source enough to get a "minimal" reproducer. Here is an updated file: https://play.golang.org/p/v2RRGMZJAY3. This fixed playground code closes the responses the same way the prior code did in a goroutine.
I welcome other potential problems I have done, but this is a minimal reproducer that I have been trying to track down on and off for 2.5 years now. I have suspicions that the epoll implementation itself is a bit off due to other goroutines, but I will try to create a minimal reproducer for that separately.

The problem is that the socket is added with EPOLLET (edge triggered) which is no longer true.

If you use a sync.WaitGroup instead of a spin-loop counter (https://github.com/golang/go/issues/10958) and don't hard-code the port, you can make the program runnable in the Playground.
After removing the duplicated Do call (well-spotted, @fraenkel!), I'm not seeing a leak:
https://play.golang.org/p/kWWS6-gOxw9
Does that program produce a different result on your machine?

If I remove the runtime.GC() calls, I do see a short-term goroutine leak, but it's the one described in https://github.com/golang/go/issues/21597 (not the one reported above).

Yes, I do still see the leak. Part of the reason for the code being structured so tightly was to attempt to force the races. I ran your code; nothing leaked for one run at 1,000 connections, but leaks did occur at 10,000.
goroutine profile: total 330
163 @ 0x42e26a 0x42958a 0x428c07 0x48dcdb 0x48dd5d 0x48ebbd 0x4f1b5f 0x502c1a 0x65c518 0x561aae 0x56278c 0x5629a4 0x5ecae0 0x5ec8eb 0x656ebc 0x65d7bf 0x6614bc 0x45b211
#	0x428c06	internal/poll.runtime_pollWait+0x56		/home/twmb/go/go/src/runtime/netpoll.go:173
#	0x48dcda	internal/poll.(*pollDesc).wait+0x9a		/home/twmb/go/go/src/internal/poll/fd_poll_runtime.go:85
#	0x48dd5c	internal/poll.(*pollDesc).waitRead+0x3c		/home/twmb/go/go/src/internal/poll/fd_poll_runtime.go:90
#	0x48ebbc	internal/poll.(*FD).Read+0x17c			/home/twmb/go/go/src/internal/poll/fd_unix.go:157
#	0x4f1b5e	net.(*netFD).Read+0x4e				/home/twmb/go/go/src/net/fd_unix.go:202
#	0x502c19	net.(*conn).Read+0x69				/home/twmb/go/go/src/net/net.go:176
#	0x65c517	net/http.(*connReader).Read+0xf7		/home/twmb/go/go/src/net/http/server.go:764
#	0x561aad	bufio.(*Reader).fill+0x11d			/home/twmb/go/go/src/bufio/bufio.go:100
#	0x56278b	bufio.(*Reader).ReadSlice+0x2b			/home/twmb/go/go/src/bufio/bufio.go:341
#	0x5629a3	bufio.(*Reader).ReadLine+0x33			/home/twmb/go/go/src/bufio/bufio.go:370
#	0x5ecadf	net/textproto.(*Reader).readLineSlice+0x6f	/home/twmb/go/go/src/net/textproto/reader.go:55
#	0x5ec8ea	net/textproto.(*Reader).ReadLine+0x2a		/home/twmb/go/go/src/net/textproto/reader.go:36
#	0x656ebb	net/http.readRequest+0x8b			/home/twmb/go/go/src/net/http/request.go:929
#	0x65d7be	net/http.(*conn).readRequest+0x16e		/home/twmb/go/go/src/net/http/server.go:944
#	0x6614bb	net/http.(*conn).serve+0x4db			/home/twmb/go/go/src/net/http/server.go:1768

163 @ 0x479ef5 0x477e6f 0x4767b9 0x48eb58 0x4f1b5f 0x502c1a 0x673db6 0x561aae 0x561bfa 0x674875 0x45b211
#	0x479ef4	syscall.Syscall+0x4			/home/twmb/go/go/src/syscall/asm_linux_amd64.s:18
#	0x477e6e	syscall.read+0x5e			/home/twmb/go/go/src/syscall/zsyscall_linux_amd64.go:749
#	0x4767b8	syscall.Read+0x48			/home/twmb/go/go/src/syscall/syscall_unix.go:162
#	0x48eb57	internal/poll.(*FD).Read+0x117		/home/twmb/go/go/src/internal/poll/fd_unix.go:153
#	0x4f1b5e	net.(*netFD).Read+0x4e			/home/twmb/go/go/src/net/fd_unix.go:202
#	0x502c19	net.(*conn).Read+0x69			/home/twmb/go/go/src/net/net.go:176
#	0x673db5	net/http.(*persistConn).Read+0x135	/home/twmb/go/go/src/net/http/transport.go:1453
#	0x561aad	bufio.(*Reader).fill+0x11d		/home/twmb/go/go/src/bufio/bufio.go:100
#	0x561bf9	bufio.(*Reader).Peek+0x39		/home/twmb/go/go/src/bufio/bufio.go:132
#	0x674874	net/http.(*persistConn).readLoop+0x184	/home/twmb/go/go/src/net/http/transport.go:1601

Here is my current diff on your code (with the GC):
$ diff three.go his.go
47c47
< 	for n := 10000; n > 0; n-- {
---
> 	for n := 1000; n > 0; n-- {
74,75d73
< 	fmt.Println(l.Addr().String())
<
82d79
< 	select {}

What is most exciting for me actually is that re-running the code (with 10k connections) a few times in a row without the tc.File occasionally causes the leak I've been trying to make a reproducer for as well:
goroutine profile: total 12
6 @ 0x42e26a 0x42958a 0x428c07 0x48dcdb 0x48dd5d 0x48ebbd 0x4f1b5f 0x502c1a 0x65c518 0x561aae 0x56278c 0x5629a4 0x5ecae0 0x5ec8eb 0x656ebc 0x65d7bf 0x6614bc 0x45b211
#	0x428c06	internal/poll.runtime_pollWait+0x56		/home/twmb/go/go/src/runtime/netpoll.go:173
#	0x48dcda	internal/poll.(*pollDesc).wait+0x9a		/home/twmb/go/go/src/internal/poll/fd_poll_runtime.go:85
#	0x48dd5c	internal/poll.(*pollDesc).waitRead+0x3c		/home/twmb/go/go/src/internal/poll/fd_poll_runtime.go:90
#	0x48ebbc	internal/poll.(*FD).Read+0x17c			/home/twmb/go/go/src/internal/poll/fd_unix.go:157
#	0x4f1b5e	net.(*netFD).Read+0x4e				/home/twmb/go/go/src/net/fd_unix.go:202
#	0x502c19	net.(*conn).Read+0x69				/home/twmb/go/go/src/net/net.go:176
#	0x65c517	net/http.(*connReader).Read+0xf7		/home/twmb/go/go/src/net/http/server.go:764
#	0x561aad	bufio.(*Reader).fill+0x11d			/home/twmb/go/go/src/bufio/bufio.go:100
#	0x56278b	bufio.(*Reader).ReadSlice+0x2b			/home/twmb/go/go/src/bufio/bufio.go:341
#	0x5629a3	bufio.(*Reader).ReadLine+0x33			/home/twmb/go/go/src/bufio/bufio.go:370
#	0x5ecadf	net/textproto.(*Reader).readLineSlice+0x6f	/home/twmb/go/go/src/net/textproto/reader.go:55
#	0x5ec8ea	net/textproto.(*Reader).ReadLine+0x2a		/home/twmb/go/go/src/net/textproto/reader.go:36
#	0x656ebb	net/http.readRequest+0x8b			/home/twmb/go/go/src/net/http/request.go:929
#	0x65d7be	net/http.(*conn).readRequest+0x16e		/home/twmb/go/go/src/net/http/server.go:944
#	0x6614bb	net/http.(*conn).serve+0x4db			/home/twmb/go/go/src/net/http/server.go:1768

It is much more subtle, but is much more real; let me know if I should make a separate issue for that or if I should add more details here.
I recommend running the code with 10k connections and maybe on worse hardware.

The only "leak" I see is with
net/http.(*persistConn).readLoop(0xc422be0c60)
	/snap/go/1473/src/net/http/transport.go:1601 +0x185
created by net/http.(*Transport).dialConn
	/snap/go/1473/src/net/http/transport.go:1237 +0x95a

The problem there is that it will never break out of the read since its blocking and all deadlines are useless.
I do not see any other leaks.
The persistConn.readLoop stack, I do see when the initial stacks are dumped, but if I wait and then dump again, they are gone. The dialConn ones are still present.

I have just re-ran this by copying the code out of the play link in https://github.com/golang/go/issues/24455#issuecomment-375019236 and applied my bump-to-10k and hang-with-select mods.
I ran this and then waited 5 minutes before checking the goroutines. At 5 minutes:
1020 @ 0x4795a5 0x4774ff 0x475e49 0x48e0e9 0x4fed2f 0x5118c8 0x67e348 0x56d1a5 0x56d2fa 0x67eea8 0x45ad31
#	0x4795a4	syscall.Syscall+0x4			/home/twmb/go/go/src/syscall/asm_linux_amd64.s:18
#	0x4774fe	syscall.read+0x5e			/home/twmb/go/go/src/syscall/zsyscall_linux_amd64.go:749
#	0x475e48	syscall.Read+0x48			/home/twmb/go/go/src/syscall/syscall_unix.go:172
#	0x48e0e8	internal/poll.(*FD).Read+0x118		/home/twmb/go/go/src/internal/poll/fd_unix.go:159
#	0x4fed2e	net.(*netFD).Read+0x4e			/home/twmb/go/go/src/net/fd_unix.go:202
#	0x5118c7	net.(*conn).Read+0x67			/home/twmb/go/go/src/net/net.go:176
#	0x67e347	net/http.(*persistConn).Read+0x77	/home/twmb/go/go/src/net/http/transport.go:1453
#	0x56d1a4	bufio.(*Reader).fill+0x104		/home/twmb/go/go/src/bufio/bufio.go:100
#	0x56d2f9	bufio.(*Reader).Peek+0x39		/home/twmb/go/go/src/bufio/bufio.go:132
#	0x67eea7	net/http.(*persistConn).readLoop+0x187	/home/twmb/go/go/src/net/http/transport.go:1601

988 @ 0x42f085 0x42a4ec 0x429b86 0x48d23a 0x48d2bd 0x48e149 0x4fed2f 0x5118c8 0x666d7c 0x56d1a5 0x56de4c 0x56e064 0x5f7f50 0x5f7d4b 0x6616fc 0x668012 0x66bc1a 0x45ad31
#	0x429b85	internal/poll.runtime_pollWait+0x65		/home/twmb/go/go/src/runtime/netpoll.go:173
#	0x48d239	internal/poll.(*pollDesc).wait+0x99		/home/twmb/go/go/src/internal/poll/fd_poll_runtime.go:85
#	0x48d2bc	internal/poll.(*pollDesc).waitRead+0x3c		/home/twmb/go/go/src/internal/poll/fd_poll_runtime.go:90
#	0x48e148	internal/poll.(*FD).Read+0x178			/home/twmb/go/go/src/internal/poll/fd_unix.go:163
#	0x4fed2e	net.(*netFD).Read+0x4e				/home/twmb/go/go/src/net/fd_unix.go:202
#	0x5118c7	net.(*conn).Read+0x67				/home/twmb/go/go/src/net/net.go:176
#	0x666d7b	net/http.(*connReader).Read+0xfb		/home/twmb/go/go/src/net/http/server.go:765
#	0x56d1a4	bufio.(*Reader).fill+0x104			/home/twmb/go/go/src/bufio/bufio.go:100
#	0x56de4b	bufio.(*Reader).ReadSlice+0x2b			/home/twmb/go/go/src/bufio/bufio.go:341
#	0x56e063	bufio.(*Reader).ReadLine+0x33			/home/twmb/go/go/src/bufio/bufio.go:370
#	0x5f7f4f	net/textproto.(*Reader).readLineSlice+0x6f	/home/twmb/go/go/src/net/textproto/reader.go:55
#	0x5f7d4a	net/textproto.(*Reader).ReadLine+0x2a		/home/twmb/go/go/src/net/textproto/reader.go:36
#	0x6616fb	net/http.readRequest+0x8b			/home/twmb/go/go/src/net/http/request.go:929
#	0x668011	net/http.(*conn).readRequest+0x161		/home/twmb/go/go/src/net/http/server.go:945
#	0x66bc19	net/http.(*conn).serve+0x4b9			/home/twmb/go/go/src/net/http/server.go:1769

I would not be surprised if your hardware is better than mine and that maybe things do not mess up on better hardware. What more can I do in this situation?

I can tell you that I did an strace with and without the File() call to see what the underlying difference was and I only needed <5 connections to show that the normal path would get a read failure with EAGAIN which didn't and wouldn't occur once the connect was blocking.

@fraenkel Do you have a fix in mind for the hang in readLoop, or does this need further investigation?

Potentially related to https://github.com/golang/go/issues/24483, but I have not seen the same race trace while repeatedly running this.

Also potentially related (outside of the File call in particular):
https://groups.google.com/forum/#!topic/golang-nuts/zqsC6xcnP24
https://github.com/golang/go/issues/16060
https://github.com/go-sql-driver/mysql/issues/285

@bcmills It would need further investigation but this is a slippery slope. The poller assumes edge triggered is enabled.
This is very similar to #24331 which is attempting to add a new method to prevent the flip.

Fixed by #24942 (but maybe the underlying issue still exists)


Insomnia with unpacked Electron fails to launch in directories without root package.json

Expected Behavior
Running system electron (e.g. from the electron package from ArchLinux or installed via npm) pointing at the app.asar,
$ electron path/to/insomnia/packages/insomnia/dist/linux-unpacked/resources/app.asar

Unpacked applications are a requirement for distributing some Electron packages in the ArchLinux repositories and testing patched or custom builds of Electron itself.
If I run Insomnia in a folder with the root package.json file or inside a local clone with npm run app-start then it loads as expected.
$ cd path/to/insomnia
$ # Use your corresponding OS *-unpacked folder
$ # packages/insomnia/node_modules/.bin/electron also works
$ electron packages/insomnia/dist/linux-unpacked/resources/app.asar
$ # Or
$ cd /usr/lib/insomnia # The package.json is there too
$ electron resources/app.asar

Actual Behavior
When I'm not in a directory with the package.json the user interface is not loaded and instead shows a grey screen.

Reproduction Steps

Bootstrap with npm run bootstrap.
Package the app to the packages/insomnia/dist directory with npm run app-package -- -- --dir (use npm run app-package -- -- --dir -c.electronDist=path/to/electron -c.electronVersion="$(sed 's/^v//' path/to/electron/version)" if Electron is installed somewhere else in your system).
Run Electron in, e.g. your home folder, with electron path/to/insomnia/packages/insomnia/dist/linux-unpacked/resources/app.asar (electron can either be in PATH or inside packages/insomnia/node_modules/.bin).
Run Electron in the cloned directory with electron packages/insomnia/dist/linux-unpacked/resources/app.asar.
Start Insomnia in the same directory with npm run app-start.
Run Electron in another directory that has both root package.json and the resources folder from dist, e.g. /usr/lib/insomnia, electron resources/app.asar.

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
Structure of a directory that has both package.json and resources
$ exa --tree
.
|-- package.json
`-- resources
   `-- app.asar
   `-- bin
   |  `-- yarn-standalone.js
   `-- opensource-licenses.txt

Insomnia Version
2022.4.0-beta.2 (git clone)
What operating system are you using?
Other Linux
Operating System Version
Linux 5.18.0-arch1-1
Installation method
Unpacked dir
Last Known Working Insomnia version
2022.2.1

Hi @YakoYakoYokuYoku, thank you for reporting this.
Would you be able to add some context into why you want to run Insomnia locally in this way, e.g. using electron path/to/insomnia/packages/insomnia/dist/linux-unpacked/resources/app.asar?
Also are you able to boot up Insomnia using npm run app-start?

Hi @YakoYakoYokuYoku, thank you for reporting this.

You welcome

Would you be able to add some context into why you want to run Insomnia locally in this way, e.g. using electron path/to/insomnia/packages/insomnia/dist/linux-unpacked/resources/app.asar?

I want to run Insomnia like this mainly to distribute packages and to test Electron with it. Edited the issue comment to reflect this.

Also are you able to boot up Insomnia using npm run app-start?

Yes, I'm able to run it under the cloned folder.

@filfreire actually, I've found out the reason for this, turns out that in newer versions of Electron process.resourcesPath, which provides hints for app.getAppPath(), points to the resources path relative to the electron binary due to how Chromium base::PathService handles requesting the executable path,
https://github.com/electron/electron/blob/12eade752d38093f9b6abdc6a0b82f64176c4618/shell/common/node_bindings.cc#L306-L316
instead of one relative to the app.asar of any Electron application when distributed in an unpacked way such as Arch does, on the other hand, packed apps like tarballs or snaps, don't suffer from this.
This issue can be closed since it's an upstream problem.

Thank you @YakoYakoYokuYoku  - closing this issue then.


process_annotation_file error

Describe the bug
The following error message occurs after processing an annotation file (have tested with .txt .csv and .tsv)
ArgumentError in ItemsController#process_annotation_file
comparison of NilClass with String failed
Extracted source (around line #105):
layers[layer] = csv[start_row..]
else
labels = csv[start_row..].map{|row| row[config[:layer_col]]}.sort.uniq
labels.each do |label|
# find each subset of rows
target_rows = csv.dup.keep_if{|row| row[config[:layer_col]] == label}
Rails.root: /home/audiannotate/audi-annotate/AudiAnnotateWeb
Application Trace | Framework Trace | Full Trace
app/models/annotation_file.rb:105:in sort' app/models/annotation_file.rb:105:in save'
app/controllers/items_controller.rb:111:in `process_annotation_file'
Request
Parameters:
{"authenticity_token"=>"N5yoTb+fdd6kohe2TR5P2uuCCJhUIcl4xKCegzw63jWbtGs9J9j/pqhUzD1Mqqq3SRqz0SCubX3Ioha2vKn7cQ==",
"headers"=>"1",
"start_time"=>"0",
"end_time"=>"1",
"annotation"=>"2",
"has_layer_column"=>"Yes",
"layer_column"=>"3",
"item"=>{"layer_label"=>"", "label"=>"Side A", "repo_name"=>"sfu-poetry-panel", "user_name"=>"teddiebrock"},
"has_index_column"=>"Yes",
"index_column"=>"4",
"annotation_file_basename"=>"20221202022512_annotations-sideA - Sheet1(1).tsv",
"commit"=>"Process",
"user_name"=>"teddiebrock",
"repo_name"=>"sfu-poetry-panel",
"slug"=>"side-a"}
Response
Headers:
None
To Reproduce
Steps to reproduce the behavior:

Under 'Add annotation file,' clicked 'Add'
Annotation columns and data appear to be correctly formatted
Filled out Column, Layer, and Index Configuration (tried both toggling Header on and off to see if that was the issue)
Clicked 'Process'

Expected behavior
To return to the Annotations landing page and see updated data/columns.
Screenshots
Image of an example .txt file. I've removed spaces and separated my index terms with a period, which seems to have given me the smoothest results on the final page.

Additional context
I was having difficulty with removing layers and index terms from the Annotations page before so I tried to manually deleting these files directly from my repository, which had so far appeared to be successful. I'm not sure if that has at all contributed to this current bug, though.
I am also getting an "Errored" message (in the Building/Ready status icon) whenever I create a new project (not the Item Manifest, just the project). To see if there was something wrong with my repository specifically, I set up a new GitHub account but I still get the same message.

Here is a recent bug that occurs when I click on my page (the link under "Audiovisual Items and Pages" that should bring me to the annotation files/editing page. Here I had created a new test project on a separate GitHub account to check if the problem was isolated somehow to my old repository.

I'm taking a look at this now.  @teddiebrock, stay tuned -- I might need some more information from you.


Memory alignement issue with boost python

I'm facing a memory alignment issue, which I hope @jmirabel or @jcarpent could help with:
When trying to access the reference oject of CostModelContactForce  in python, (which is of type crocoddyl::FrameForceTpl<double> defined here), sometimes I encounter a segfault. It doesn't come always, sometimes it works, and sometimes it doesn't.
With @nmansard, we made a simple test based on the existing utils/biped.py file, in order to check what is happening. We were able to reproduce the issue in both our systems.
The file is attached. When I try to access this reference object after the simulation, I get the segfault.
This is the line which leads to segfault:
a=m.differential.costs.costs['force16'].cost.reference

When investigating further, the error seems to be coming while allocating creating an instance of pinocchio::ForceTpl object in python. gdb tells me that the segfault arrives after the code has left get_reference in the python bindings, and when the new python instance of FrameForce object (and consequently the pinocchio::Force object) is being created.
When I look at the assembly code of what is happening, it looks clear that this is a memory alignment issue. The segfault is coming from this line in Eigen:
Thread 1 "ipython" received signal SIGSEGV, Segmentation fault.
0x00007f1432dc2306 in Eigen::DenseStorage<double, 6, 6, 1, 0>::DenseStorage (this=0x7f142c675bc8, other=...) at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:194
194	    DenseStorage(const DenseStorage& other) : m_data(other.m_data) {

where the 6 dimensional m_data object is being copied from the pinocchio::Force object to the boost python instance (not sure which).  In order to do this copy, following are the assembly instructions:
; The following lines move the m_data from the pinocchio::Force object (at memory location given by %r14) to the register xmm.
; Each line moves two doubles to the register.

movaps 0x10(%r14),%xmm0
movaps 0x20(%r14),%xmm1
movaps 0x30(%r14),%xmm2

; The following lines move the m_data from the registers to the memory location given by %rbx
movaps %xmm0,0x50(%rbx)   ; Segfaults
movaps %xmm1,0x60(%rbx)
movaps %xmm2,0x70(%rbx)

If I look at the address r14, I see that it points to an address that is 128 bit aligned in memory.
(gdb) info registers r14
r14            0x7fffbd4924d0<PHONE_NUMBER>75408

Thus, the first mov succeeds.
However, the same is not true for the register rbx
(gdb) info registers rbx
rbx            0x7f142c675b78<PHONE_NUMBER>44600

The address ends with 78, and is not 128 bit aligned in memory, and I think this is the reason that the segfault appears.
CostModelContactForce, FrameForce, and pinocchio::Force, all have the macro EIGEN_MAKE_ALIGNED_OPERATOR_NEW` defined in public, and thus they are all always aligned in memory. However, the boost python class that creates binds these quantities don't have this macro. Hence, I suspect that the object instance is being created at a misaligned memory location by boost python.
My question is, since this issue is not appearing in pinocchio::Force, what is being done differently there that is not being done here when we do our bindings? For reference, the class ContactForce is being binded here: https://github.com/loco-3d/crocoddyl/blob/devel/bindings/python/crocoddyl/multibody/costs/contact-force.cpp#L91
In order to reproduce, please run this file in python (https://gist.github.com/proyan/61bf620ee887b872e1c895af905940b3) , and then run the following line
a=m.differential.costs.costs['force16'].cost.reference

It may, or maynot work (based on the alignment, there is a 50% chance that some change in the code would make it not working). The assembly trace above is for the cases it doesn't work.

is there any possibility that crocoddyl is compiled with different compilation options that other Eigen based projects it depends on ? Anything from robotpkg ?
can you check with gdb that the reference return by get_reference, just before the SEGV, is a valid object.
if the issue is a misaligned object, you should be able to create a minimal example.

I think you are not saying to Python that you are returning an internal reference ;)

The second thing is that you should maybe need to use EIGENPY_DEFINE_STRUCT_ALLOCATOR_SPECIALIZATION to make things correctly aligned in memory. In Pinocchio, this is done for SE3 and other objects

@proyan I don't have this issue when I enable the vectorization option. Are you compiling with native all the Crocoddyl dependencies?

The second thing is that you should maybe need to use EIGENPY_DEFINE_STRUCT_ALLOCATOR_SPECIALIZATION to make things correctly aligned in memory. In Pinocchio, this is done for SE3 and other objects

Thanks @jcarpent I think this is the solution I was looking for. I can't reproduce the error now (which may not mean that the problem is solved, since I cannot consistently reproduce the issue.)

is there any possibility that crocoddyl is compiled with different compilation options that other Eigen based projects it depends on ? Anything from robotpkg ?
can you check with gdb that the reference return by get_reference, just before the SEGV, is a valid object.
if the issue is a misaligned object, you should be able to create a minimal example.

crocoddyl was being compiled with the same compilation options. And I had verified that get_reference actually does return a value. The problem happened when boost python takes this object and uses it to print on the python interpreter., or assign to a new variable.

I think you are not saying to Python that you are returning an internal reference ;)

That is true, currently a copy is being made. We don't want that.

@proyan I don't have this issue when I enable the vectorization option. Are you compiling with native all the Crocoddyl dependencies?

This is not related to the vectorization option.

Fixed with #865


Encoding does not seem to be portable between GHC and GHCJS

The following code:
print . fmap ord . unpack $ flat (Right (20, 30) :: Either Int (Double, Double))

Gives [160,26,0,0,0,0,0,0,32,31,0,0,0,0,0,0,1] in GHC.
But [32,26,0,0,128,0,0,0,32,31,0,0,0,0,0,0,1] in GHCJS.
Specifically ghc 8.0.2 and ghcjs 0.2.1 (ghc 8.0.2).
It seems like a lot of instances are exactly the same, but sum types (both Generic-derived and Either) seem to have different first bytes. Which then causes TooMuchSpace errors on the ghc/server end.

I am travelling for a few days but I will have a look at this as soon as possible.
I have used flat with GHCJS but I never run the full test suite, obviously this was a mistake :-(

What is happening is that the 64 bit shiftL under ghcjs is behaving like a 32 bit rollL.
The result is that the bit that corresponds to 'Right' gets moved from the first byte '160' to the fifth byte '128'.
I will look further into it tomorrow.

Or possibly a byte begin extended to 32 rather than 64 bits.
Anyway, it should not be hard to fix.

The version of flat on github should be working now, it passes all tests.
I will make a hackage release in a few days time, in the meantime, you can refer to the github version as:

location:
git: https://github.com/Quid2/flat
commit: 4795b519e2bd58127044d54b69dc371018607366
extra-dep: true

Let me know if it works for you.
I have tested it with this ghcjs:
resolver: lts-7.19
compiler: ghcjs-<IP_ADDRESS>07019_ghc-8.0.1
compiler-check: match-exact
setup-info:
ghcjs:
source:
ghcjs-<IP_ADDRESS>07019_ghc-8.0.1:
url: http://ghcjs.tolysz.org/ghc-8.0-2017-02-05-lts-7.19-9007019.tar.gz
sha1: d2cfc25f9cda32a25a87d9af68891b2186ee52f9
Which version do you use?

I upgraded to GHCJS 8.4 and the existing version started working. That looks like a similar version of GHCJS to the version I was previously using, so I can check that out later. Thanks!

This sounds like bad news, the fixed version might not work with this latest compiler.
Can you give me the stack.yaml stanza for this new ghcjs compiler you are using?

I do not use stack as I find nix to be better for GHCJS development. Here is the github.json of the versions I have been using:
older:
{
  "owner": "ghcjs",
  "repo": "ghcjs",
  "rev": "eb8670c4b03b4a0ff5dd7ac3f524b410b37051ea",
  "sha256": "13s8wz9gk82cpwskc7ic3fvcpy572g87ny4icmj1apfzrrcpdp1v"
}

newer:
{
  "url": "https://github.com/ghcjs/ghcjs",
  "rev": "d20da90a4819faad1c6309a06363b34edac0374c",
  "sha256": "0jmxgfm1zwg6xscjcaycfam7zss8ik4ql4ii5lpryh4h6cdhvkbr",
  "fetchSubmodules": true
}

I was just released flat-0.3.4.
I have tested it with a few different ghcjs versions and it seems ok.


BeforeRequest clarification

I'm sorry if this is a dumb question.  Does the data source version influence the implementation "under the hood"...
I'm using the version agnostic Simple.Odata.Client nuget package (v 4.29), I'm hitting against a OData v3 data source.  Does that mean that the BeforeRequest will not work?
I did this based on a previously referenced code sample:
ODataClientSettings settings = new ODataClientSettings { Uri }
settings.BeforeRequest += x =>
{
 x.Headers.Add("Authorization", "Bearer " + token);
};
var client = new ODataClient(settings);

When executed, I get the message
Message: Test XYZZY threw exception:
System.MissingMethodException: Method not found: 'System.Action`1<System.Net.Http.HttpRequestMessage> Simple.OData.Client.ODataClientSettings.get_BeforeRequest()'.
Am I doing something dumb or should I NOT expect this to work vs. a v3 data source?

Hi fandrusi,
I'm using the BeforeRequest in the following way and it works just fine for me:
`
ODataClientSettings settings = new ODataClientSettings(this.PortalService.ServiceBaseUrl, credentials);
settings.BeforeRequest = BeforeRequest;
    private static void BeforeRequest(System.Net.Http.HttpRequestMessage requestMessage)
    {

    }

`


Fixed name SASS to Sass

Sassの表記名称の修正です🙏
原著
https://github.com/yasslab/railsguides.jp/blob/master/guides/source/asset_pipeline.md#what-is-the-asset-pipeline

It also adds the ability to write these assets in other languages and pre-processors such as CoffeeScript, Sass and ERB. It allows assets in your application to be automatically combined with assets from other gems.

https://github.com/yasslab/railsguides.jp/blob/master/guides/source/asset_pipeline.md#main-features

Supported languages include Sass for CSS, CoffeeScript for JavaScript, and ERB for both by default.

表記の修正ありがとうございます! 確かに Sass ですね ;)


ARROW-12866: [C++][Gandiva] Implement STRPOS function on Gandiva

Search for a string within another string.
Same as "LOCATE(substr, str)", except for the reverse order of the arguments STRPOS(str, substr).

@projjal can you please check the appveyor failure

@projjal can you please check the appveyor failure

-- Detecting C compile features - done
CMake Error at CMakeLists.txt:69 (project):
  The CMAKE_CXX_COMPILER:
    clcache
  is not a full path and was not found in the PATH.
  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "C:/projects/arrow/cpp/build/CMakeFiles/CMakeOutput.log".

Looks like unrelated failure

@jpedroantunes There is merge conflict on this


Support JupyterLab console

Code changes

Register widget manager with console widget

@davidbrochart could you take a look at this PR?

Nice, it would be great if you can release a new version with is patch

I released v0.3.5.

Thanks!


continuous data capture

Hi, your program always needs a start button to be pushed to capture the data, and it will stop after a few moments.
how it will be if I try to make the logger to capture the data continuously without any start command?
Is there any consideration I need to make about changing the program in this way?

It is not possible. The performance of RP2040 only allows for the buffer capture with the decoding after that. And the capture time is limited by the buffer size
You will need need to build the full version of the sniffer to have a continuous capture.

What if one core only captures and saves the data in a two dimensional
array, when the logger reaches the end of the first array buffer size, the
capture would restart and saves the data in the second array while in the
other core we process the first array datas and after completion of
processing wait for other array to be filled with new datas?
در تاریخ چهارشنبه ۲۸ اوت ۲۰۲۴، ۱۷:۰۷ Alex Taradov @.***>
نوشت:

It is not possible. The performance of RP2040 only allows for the buffer
capture with the decoding after that. And the capture time is limited by
the buffer size
You will need need to build the full version of the sniffer to have a
continuous capture.
—
Reply to this email directly, view it on GitHub
https://github.com/ataradov/usb-sniffer-lite/issues/18#issuecomment-2315343440,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2VUWY5JWBLR63MKUBAR4KTZTXHATAVCNFSM6AAAAABNHVUUEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJVGM2DGNBUGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

You can't print over USB fast enough to output all the data. The speed of the device USB and capture USB is the same. And printing the data, expands the actual size a lot, since it is now represented in a human-readable format.
You can probably figure out something, especially if you don't print all the data. But I have no interest in implementing that. If you really need the continuous transfer, then use the full sniffer. It is more expensive, of course, but it is way more functional.