Fix to allow re-creation of volume, which was deleted out of band, with the same name and by the same volume driver

PR #27164 is perfectly fine when purging the stale volume name and allowing the creation of a volume with the same name when it is created by a different volume driver than the one used to create it earlier.
But it is desirable to let the same volume driver create the volume again which was deleted out of the band.
So, if the volume does not exist, purge it from the cache and allow the re-creation by any driver.
On the other hand, if the volume exists and a create is requested,it is more appropriate to get the response from the volume driver as the volume is totally controlled by the volume driver and docker daemon has no control over managing that volume.
I have verified the behaviour.

Closing this with a better approach in PR #27274.


update github CI

/kind failing-test
What this PR does / why we need it:
Update github actions testing jobs:

Update golang versions
Update golangci-lint version
Update actions dependencies

Release note:
NONE

/assign @thockin

=== RUN   TestParseIP
Error:     ip_test.go:85: IP.UnmarshalText("<IP_ADDRESS>") = <nil>, invalid IP address: <IP_ADDRESS>, want <IP_ADDRESS>
Error:     ip_test.go:85: IP.UnmarshalText("<IP_ADDRESS>") = <nil>, invalid IP address: <IP_ADDRESS>, want <IP_ADDRESS>
Error:     ip_test.go:85: IP.UnmarshalText("<IP_ADDRESS>") = <nil>, invalid IP address: <IP_ADDRESS>, want <IP_ADDRESS>
Error:     ip_test.go:85: IP.UnmarshalText("::ffff:<IP_ADDRESS>") = <nil>, invalid IP address: ::ffff:<IP_ADDRESS>, want <IP_ADDRESS>
Error:     ip_test.go:85: IP.UnmarshalText("::ffff:<IP_ADDRESS>") = <nil>, invalid IP address: ::ffff:<IP_ADDRESS>, want <IP_ADDRESS>
Error:     ip_test.go:85: IP.UnmarshalText("::ffff:<IP_ADDRESS>") = <nil>, invalid IP address: ::ffff:<IP_ADDRESS>, want <IP_ADDRESS>

ok, found it

so, the net.IP.Unmarshall() method uses Parse
// UnmarshalText implements the encoding.TextUnmarshaler interface.
// The IP address is expected in a form accepted by ParseIP.
func (ip *IP) UnmarshalText(text []byte) error {
	if len(text) == 0 {
		*ip = nil
		return nil
	}
	s := string(text)
	x := ParseIP(s)
	if x == nil {
		return &ParseError{Type: "IP address", Text: s}
	}
	*ip = x
	return nil
}

so, the net.IP.Unmarshall() method uses Parse
// UnmarshalText implements the encoding.TextUnmarshaler interface.
// The IP address is expected in a form accepted by ParseIP.
func (ip *IP) UnmarshalText(text []byte) error {
	if len(text) == 0 {
		*ip = nil
		return nil
	}
	s := string(text)
	x := ParseIP(s)
	if x == nil {
		return &ParseError{Type: "IP address", Text: s}
	}
	*ip = x
	return nil
}

we are not using it in k/k, so it may be ok to not override it https://grep.app/search?q=UnmarshalText&filter[lang][0]=Go&filter[repo][0]=kubernetes/kubernetes&filter[path][0]=staging/src/k8s.io/

/assign @liggitt @thockin
ok, this is working now

Ping @thockin
We have to update the ci jobs or we can risk to merge something without proper testing

Do we have an org-wide policy on using GH actions vs Prow?
/approve /lgtm

Let's ask @BenTheElder

Do we have an org-wide policy on using GH actions vs Prow?

No, we use both.
Entirely too much detail on actions vs prow:

GitHub actions can be pretty nice. The main unfortunate downside is that the merge robot cannot guarantee linearized test state.  Prow testing + merge robot ensures that prior to merge tests pass with CI locally merging then testing (HEAD of target branch, HEAD of PR), whereas other CI platforms tend to just checkout and test the PR branch without any sort of merge / rebase.
For a repo like Kubernetes/Kubernetes, I consider not being able to enforce this a bit of a deal breaker.
For other repos with lower PR frequency etc this is less of an issue, my remaining complaint is less access for PR authors (no /retest though theoretically someone could fix this https://github.com/kubernetes/test-infra/issues/25831).
The upshot is we don't pay for / staff it, there are pretty good docs, and it's possible to do some things we can't do easily on Prow like run on mac, or (ab)use mac runners to run arbitrary linux VMs without worrying about cleanup (e.g. to test cgroupsv2 in KIND).
Actions also spook me because people tend to use pre-written "actions" by referencing repo@tag which we don't control, that's mitigate-able though by either requiring people to use repo@commit-hash, or by not using third party actions or only using inline shell steps / invoking local scripts.


TALText can't support '' tag

Hello, yes TALText do not support  but support #13#10.
TALText do not offer true HTML support, it's just offer a way to bold, colorize, italic, etc.. some part of the text.


Is support Kafka 3.3?

This document says confluent-kafka-dotnet support Kafka 0.8.x, 0.9.x, 0.10.x, 0.11.x.

Does confluent-kafka-dotnet support other Kafka versions, like 3.3?

@CwjXFH  been using it with version 3.3 and it works great.

Anything that says 0.11, generally means that and higher since the basic client API hasn't had breaking changes since then


feat: android updates in package

Support for Android in the package

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

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

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


Sync main branch with Apache main branch

Description of the change:
Motivation for the change:
Checklist

[ ] Add or Modify a unit test for your change
[ ] Have you verified that tall the tests are passing?

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

Just syncing the main branch with Apache main as it was done only once when I first created the serverless-operator midstream main branch.


Error reaching quorum with a distributed write

OrientDB Version: 3.2.21
Java Version: 8
OS: Linux
Expected behavior
I'm running OrientDB in a 3 node k3s cluster. I have installed with the OrientDB helm chart and distributedDB.writeQuorum=majority. I'd expect a simple write to succeed in this case as long as 2 nodes are online.
Actual behavior
My write fails and I believe the relevant part of the stack trace is:
Caused by: com.orientechnologies.orient.server.distributed.ODistributedException: Not enough nodes online to execute the operation. Available nodes:[node1695245312502, node1695245315577, node1695245312166], quorum:5
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.handleException(OChannelBinaryAsynchClient.java:355)

I don't understand why I would need a quorum of 5 when I have only 3 nodes available and they are all available

@tglman This is the content of my distributed-config.json:
{"@type":"d","@rid":"#0:3","@version":29,"version":55,"autoDeploy":true,"readQuorum":1,"writeQuorum":"majority","readYourWrites":true,"newNodeStrategy":"dynamic","servers":{"@type":"d","@version":0,"*":"master"},"clusters":{"@type"
:"d","@version":0,"internal":{"@type":"d","@version":0},"*":{"@type":"d","@version":0,"servers":["node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695050121611","node1695245312502","node169524531
  2166","node1695245315577","<NEW_NODE>"]},"movie_1":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781302274","node1695048478158","node1694781327402","node1695048481292","node1695050121611","node1695245312166","no
  de1695245315577","<NEW_NODE>"]},"movie_2":{"@type":"d","@version":0,"servers":["node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245
  315577","<NEW_NODE>"]},"character_1":{"@type":"d","@version":0,"servers":["node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node169524531557
  7","<NEW_NODE>"]},"character_2":{"@type":"d","@version":0,"servers":["node1695245315577","node1695048481292","node1695050121611","node1694781302274","node1694781327402","node1695048478158","node1695245312502","node1695245312166","<
  NEW_NODE>"]},"group_1":{"@type":"d","@version":0,"servers":["node1695048481292","node1694781327402","node1694781302274","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577","<NEW_NODE>
  "]},"group_2":{"@type":"d","@version":0,"servers":["node1695245315577","node1694781302274","node1695050121611","node1694781327402","node1695048481292","node1695048478158","node1695245312502","node1695245312166","<NEW_NODE>"]},"appe
  ars_in_1":{"@type":"d","@version":0,"servers":["node1695048481292","node1694781327402","node1694781302274","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577","<NEW_NODE>"]},"appears_
  in_2":{"@type":"d","@version":0,"servers":["node1695245315577","node1694781302274","node1695050121611","node1694781327402","node1695048481292","node1695048478158","node1695245312502","node1695245312166","<NEW_NODE>"]},"has_characte
  r_1":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781302274","node1695048478158","node1694781327402","node1695048481292","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"has_character
  _2":{"@type":"d","@version":0,"servers":["node1695245315577","node1695048481292","node1695050121611","node1694781302274","node1694781327402","node1695048478158","node1695245312502","node1695245312166","<NEW_NODE>"]},"killed_by_1":{
  "@type":"d","@version":0,"servers":["node1695245315577","node1694781302274","node1695050121611","node1694781327402","node1695048481292","node1695048478158","node1695245312502","node1695245312166","<NEW_NODE>"]},"killed_by_2":{"@typ
    e":"d","@version":0,"servers":["node1695245312502","node1695048481292","node1695048478158","node1694781302274","node1694781327402","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"killed_1":{"@type":"d","
    @version":0,"servers":["node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577","<NEW_NODE>"]},"killed_2":{"@type":"d","@version
    ":0,"servers":["node1695245312502","node1694781302274","node1695048478158","node1694781327402","node1695048481292","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"member_of_1":{"@type":"d","@version":0,"
    servers":["node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577","<NEW_NODE>"]},"member_of_2":{"@type":"d","@version":0,"serve
    rs":["node1695245312502","node1694781302274","node1695048478158","node1694781327402","node1695048481292","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"has_member_1":{"@type":"d","@version":0,"servers":
  ["node1695048481292","node1694781327402","node1694781302274","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577","<NEW_NODE>"]},"has_member_2":{"@type":"d","@version":0,"servers":["no
    de1695245315577","node1694781302274","node1695050121611","node1694781327402","node1695048481292","node1695048478158","node1695245312502","node1695245312166","<NEW_NODE>"]},"has_member":{"@type":"d","@version":0,"servers":["node1695
    245312502","node1695048481292","node1695048478158","node1694781302274","node1694781327402","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"e":{"@type":"d","@version":0,"servers":["node1695245312502","nod
    e1694781327402","node1694781302274","node1695048481292","node1695048478158","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"has_character":{"@type":"d","@version":0,"servers":["node1694781302274","node16
<PHONE_NUMBER>2","node1695048481292","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577","<NEW_NODE>"]},"ofunction":{"@type":"d","@version":0,"servers":["node1695245312502","node169478132
    7402","node1694781302274","node1695048481292","node1695048478158","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"character":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781302274","
    node1695048478158","node1695048481292","node1694781327402","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"v":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781327402","node16947813022
    74","node1695048481292","node1695048478158","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"oschedule":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781327402","node1694781302274","no
    de1695048481292","node1695048478158","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"appears_in":{"@type":"d","@version":0,"servers":["node1695245312502","node1695048481292","node1695048478158","node1694
    781302274","node1694781327402","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"osequence":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781327402","node1694781302274","node16950484812
    92","node1695048478158","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"group":{"@type":"d","@version":0,"servers":["node1695245312502","node1695048481292","node1695048478158","node1694781302274","node16
<PHONE_NUMBER>2","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"orole":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781327402","node1694781302274","node1695048481292","node1695048478158
    ","node1695050121611","node1695245312166","node1695245315577","<NEW_NODE>"]},"killed_by":{"@type":"d","@version":0,"servers":["node1695048481292","node1694781327402","node1694781302274","node1695048478158","node1695050121611","node
<PHONE_NUMBER>502","node1695245312166","node1695245315577","<NEW_NODE>"]},"osecuritypolicy":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781327402","node1694781302274","node1695048481292","node1695048478158","node1
<PHONE_NUMBER>11","node1695245312166","node1695245315577","<NEW_NODE>"]},"ouser":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781327402","node1694781302274","node1695048481292","node1695048478158","node169505012161
    1","node1695245312166","node1695245315577","<NEW_NODE>"]},"movie":{"@type":"d","@version":0,"servers":["node1695245315577","node1695048481292","node1695050121611","node1694781302274","node1694781327402","node1695048478158","node169
<PHONE_NUMBER>","node1695245312166","<NEW_NODE>"]},"member_of":{"@type":"d","@version":0,"servers":["node1695245315577","node1695048481292","node1695050121611","node1694781302274","node1694781327402","node1695048478158","node1695245312
    502","node1695245312166","<NEW_NODE>"]},"killed":{"@type":"d","@version":0,"servers":["node1695245315577","node1695048481292","node1695050121611","node1694781302274","node1694781327402","node1695048478158","node1695245312502","node
<PHONE_NUMBER>166","<NEW_NODE>"]},"pagerankresult":{"@type":"d","@version":0,"servers":["node1695245315577","node1695048481292","node1694781327402","node1694781302274","node1695048478158","node1695050121611","node1695245312502","node16
<PHONE_NUMBER>6","<NEW_NODE>"]},"pagerankresult_1":{"@type":"d","@version":0,"servers":["node1695245312502","node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695050121611","node1695245312166","node16
<PHONE_NUMBER>7","<NEW_NODE>"]},"pagerankresult_2":{"@type":"d","@version":0,"servers":["node1695245312166","node1695245312502","node1695050121611","node1694781302274","node1694781327402","node1695048481292","node1695048478158","node16
<PHONE_NUMBER>7","<NEW_NODE>"]},"pagerankresult_3":{"@type":"d","@version":0,"servers":["node1695050121611","node1694781302274","node1694781327402","node1695048481292","node1695048478158","node1695245312502","node1695245312166","node16
<PHONE_NUMBER>7","<NEW_NODE>"]}}}

I'm not sure how to interpret this but it seems like a lot more than 3 nodes are listed here. Should I try uninstalling/reinstalling the Helm chart?

Hi,
yes the node names participating in the cluster are  "node1695048481292","node1694781327402","node1694781302274","node1695048478158","node1695050121611","node1695245312502","node1695245312166","node1695245315577"
if you are aware what are the name of the node currently running you can remove them with the command:
https://orientdb.com/docs/3.2.x/sql/SQL-HA-Remove-Server.html?highlight=HA REMOVE#sql---ha-remove-server
Also i see that the name seems generated at runtime so consider to configure the name as specified here https://orientdb.com/docs/3.2.x/distributed/Distributed-Configuration.html  or setting the ORIENTDB_NODE_NAME environment variable for each instance.
I have the feeling that this problem raised with server restarts and new node names generation that added up new node names in the node list.

Thanks - I'll clean this up and report back

@tglman One question - I'm using the OrientDB Helm chart to manage the installation on my k8s cluster. Do you know a good way to specify multiple node names using this method of installation?

Hi,
I'm not an expert of  helm chart, and looking at it right now it doesn't seems to be a way to set this, so probably that need some evolution to map the OrientDB node name to some constant name given by the cluster, from the point of OrientDB the way that the name can be provided is by the environment variable ORIENTDB_NODE_NAME, or by injecting the name in the configuration that looking at the helm chart is here https://github.com/orientechnologies/orientdb-helm/blob/master/templates/configmap.yaml#L89
another way could be attach the HA remove node  command as the pre-step of the controlled shutdown of the node to not leave the node in the configuration.  Even though this cannot be made automatic on disconnection because otherwise will introduce split brain issues.


ckk.ai not bypassed

Domain
https://ckk.ai
Link
https://ckk.ai/HQyvD
Version
0.0.0
What browsers are you seeing the problem on?
Chrome
What OS are you seeing the problem on?
Windows
Anything else?
Dont bypass link

Duplicate of #668


Map_interface: confirm TODO in rtree_lane building

the center line of the lane should be used for the rtree


[plot] Scatter view does not provide setDataMargins

Well , a ``getPlotWidget` exists. Then maybe it's enough.


Upgrading to 1.0.1

Today I upgraded to 1.0.1 version and got error.

This should be fixed by running composer update and was a known bug


Add @types/chai to whitelist

Needed for https://github.com/DefinitelyTyped/DefinitelyTyped/pull/44113

@types/sinon-chai now requires versions of @types/chai 4.2.0 and above, because it references ChaiPlugin, and ChaiPlugin was added in @types/chai 4.2.0: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37451#issuecomment-519584606

I asked my question about this on the Definitely Typed PR.

👋 @OliverJAsh we’re preparing to archive this repo since it has moved, and since the DefinitelyTyped PR has been closed, I’m going to close this one. If you need to reopen it, please create it on the new repo. Thanks!


Runelite twitch chat is not properly sanitized.

Please check if your issue is not a duplicate by searching existing issues
Describe the bug
If you enter the following string in twitch chat: foo<bar only the text foo shows up. This means that the < is not being properly sanitized. This could be extremely dangerous because it may mean that you can inject malicious code into runelite from twitch chat. I was not able to do that, but I have no proof that you can't.
To Reproduce
Steps to reproduce the behavior:

Ensure you have runelite connected to a twitch chat such that the chat is displayed in game.
Write foo<bar in the twitch chat.
Observe that only foo shows up.

Expected behavior
foo<bar should show up.
Screenshots
Sorry for all the redaction. Not my twitch chat, so I wanted to keep everyone anonymous.
https://imgur.com/rlLwWzA
Environment (please complete the following information):

OS: Windows
RuneLite version: <IP_ADDRESS>
Launcher version: unknown

There is definitely no RCE here. It may be possible to break something though, I will look at it later.

https://i.imgur.com/564cT5S.png not very interesting but you can inject images and color tags using <img=X> and <col=XXYYZZ>message</col>


marshal/unmarshal tree to io.Reader/io.Writer

If i want to store btree in file and load/save it, how can i do that?

Save

Tree.SeekFirst
Enumerator.Next write resulting k, v []byte to file
repeat until the enumerator returns io.EOF

Load

TreeNew
load k, v []byte from file and use https://godoc.org/github.com/cznic/b#Tree.Set
repeat until all intended data from file are loaded

thanks!


Example code fails compile. error: call of overloaded 'IPAddress(unsigned int)' is ambiguous

Describe the bug
Example code does not compile it produced the following error.
C:\Users\Rudy\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\AsyncWebSocket.cpp: In member function 'IPAddress AsyncWebSocketClient::remoteIP()':
C:\Users\Rudy\Documents\Arduino\libraries\ESPAsyncWebServer-master\src\AsyncWebSocket.cpp:832:28: error: call of overloaded 'IPAddress(unsigned int)' is ambiguous
         return IPAddress(0U);
                            ^

Steps to Reproduce
Install library and dependencies. Open example. Click compile.  (Arduino IDE 1.8.13)
Expected behavior
Complete compile and load into hardware.
Actual behavior
As stated above.
Debug and AT-command log (if applicable)
Would love to, but never gets that far.
Screenshots
If applicable, add screenshots to help explain your problem.
Information
Please ensure to specify the following:

Arduino IDE version (e.g. 1.8.13)

ESP32-C3

Contextual information (e.g. what you were trying to achieve)

Simplest possible steps to reproduce

Anything that might be relevant in your opinion, such as:

Operating system - Windows
Network configuration - Does not get that far.

Example
Arduino IDE version: 1.8.13
ESP32 Core Version 2.0.0

Arduino: 1.8.13 (Windows 10), Board: "ESP32C3 Dev Module, Disabled, UART0, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 160MHz (WiFi), QIO, 80MHz, 4MB (32Mb), 256000, None"

For the record, this is actually a bug in ESPAsyncWebServer library, I already reported and made a PR as Fix compiler error for ESP32-C3 and mbed TLS v2.7.0+ #970 from April 2021.
I'm sorry I forgot about it. This forked ESPAsyncWebServer library can be used until the bug would be fixed.


Allow toast() to accept templates in Meteor

The examples for toast() show how to use HTML code in a toast; however, I think that in Meteor it'll be more natural to specify a template to be shown. Can this be a feature for future releases of the meteor package?

For now, I just use Blaze.toHTMLWithData() to render the HTML - what I meant before is that this can be wrapped to be more native.

toasts support html


Merge prTesting_201909012313 branch to master branch

Docs Build status updates of commit a63b2c5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:bulb:Suggestion

Details

split/updateTestCon.md

[Suggestion] Missing attribute: author. Add the current author's GitHub ID. NOTE: This Suggestion will be elevated to a Warning on 9/1/2019.
[Suggestion] Missing attribute: title. Add a title string to show in search engine results. NOTE: This Suggestion will be elevated to a Warning on 9/1/2019.

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


Push style XmlReader

This is meant to be a .NET style XmlReader.
Rather than using SAX-style callbacks, consumers call read() to push the reader ahead and then can view the state (node type, node name, node value, attributes, etc.).
The most significant differences between the internal parsing logic for the SAX reader:

Keeps track of attributes, depth, node type, node name, as state on the reader
Tracks closing elements a little differently

This could, in theory, be rewritten as a sync generator with some kind of state object - but in such a case, it might be a little harder to manipulate for use cases where you want to pass control of iteration around to various functions/classes (e.g. you want to read just a subtree and then pass control back to the original reader).

Notably, it's missing unit tests right now.  I'm using it here:  https://github.com/dnfield/flutter_svg/blob/parsing_rewrite/lib/parser.dart

(I do intend to get back to this at some point, but it's fallen down a bit in my priority bucket!)

I've added some tests, marked the ignoreWhitespace as final, and re-implemented XmlReader as a wrapper for XmlPushReader.
I suspect XmlPushReader is a clearer name, especially since this is implemented with some minor differences compared to .NET's XmlTextReader (and it will make more sense to people unfamiliar with the .NET style parser).
I did the re-implementation of XmlReader to avoid duplicated code.  I suppose this does add some minor overhead to the XmlReader, but it avoids the duplicated code in the parsing routines.  unfortunately, I don't think it'd be possible to do this the other way around - the whole point of this implementation is to avoid relying on callbacks that don't have the full state picture.

LGTM, not sure why the merge fails.

Was missing a format on the tests.  Either way, thanks!


Cache directory permission failures are confusing

so i really like bkt alot, however on multiuser system. or when root is using bkt -- somecommand, and after wards user tries bkt -- somesamecommandasother user ending up with above msg :'(
$ bkt -- ....
bkt: Cache lookup failed: Failed to access cache file: Permission denied (os error 13)

strace revelead to me:
openat(AT_FDCWD, "/tmp/bkt-0.5-cache/keys/D6A5253D88DA21DC", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)

not sure if this is a build or runtime option? probably i'm using it wrong and there's options. but would prefer to have it just work without options (thinking)

Thanks for the report! Yes permissions in /tmp are tricky with multi-user usage on a single system. To my knowledge there really isn't a good or canonical solution, but there's some thoughts in #32 about this issue. Feel free to weigh in there as well.
The advice I give currently is that users should configure TMPDIR to a directory they alone have access to. It's unfortunate that this isn't a more standard practice, since it seems like a security risk in general that applications with different permissions all typically write to the same temp directory.
The generic issue aside, I agree this specific failure behavior isn't great. I have a TODO to isolate the cache directory per-user, which would make this experience a bit better. We can also improve this error message to at least be clearer.
One thought is that we perhaps should only lock down the cache directory if not specified by the user (i.e. via --cache-dir / BKT_CACHE_DIR), and expect the user to properly configure the permissions of a directory they manually select. However I dislike that approach because it would mean offloading this security concern to users in a really subtle and easy to forget way.
Another approach would be to add a flag to configure the permissions the directory is created with. That's much more explicit, which I like, but it's still cumbersome.
Also, just to point out, these permissions are (currently?) only set if the directory doesn't exist, so a workaround is to simply use your own directory that you've already created with your desired permissions. This isn't documented behavior and I'm not convinced it's "correct" behavior (it just seems wasteful to check the directory permissions every time), so don't assume this workaround will continue to work indefinitely.

Another thing to note - sharing a cache directory across multiple users can be a problem even if you intended to do so (i.e. you're not concerned about security). Because the cache doesn't key off the process' invoking user you can get cached output polluted with state from the other user. As a simple example, caching your user ID:
$ sudo bkt -- id -u
0

$ bkt -- id -u
0

So I'd strongly recommend using separate directories per-user even if you don't think it's necessary from a security standpoint - correctness could also be impacted. I will likely resolve that TODO in a future release so that this happens by default.

believe me there's many places where the output for any user and root are the same, here's an example:
i'm using bkt to cache client/server side outputs:
https://github.com/alexmyczko/ruptime/tree/debian (the systemd service file has it, but a lot of systems don't have bkt yet)
it could as well be used in cgi web pages that take lot of time to build page, as well as fnt preview

Oh totally, I appreciate that it's fine in many cases. But in the general case it's both a security risk and a correctness risk - and the correctness risks can be subtle - so I'm pretty hesitant to intentionally support cross-user caching (at least not without requiring something explicit like both callers specifying the same --cach-dir).

Wouldn't $HOME/.cache/bkt (XDG_CACHE_HOME) be a better default than the temp dir?

Yes possibly, but it would have a performance impact on systems that use a tmpfs for /tmp, so I've been hesitant to change the default. See also #32.

For an actual performance impact, there would have to be lots of accesses, of which most likely would be reads. So the default file-system cache (assuming there's enough available RAM for that) of the operating system likely will speed this up also without an underlying tmpfs.
Of course, with such a generic caching tool, you'll never know how it's used, but for the use cases I can imagine, the benefit of having the canonical cache dir used by default far outweighs potential performance impacts (and special use cases can always override the cache dir, or even mount a tmpfs under ~/.cache[/bkt]).

Agreed, I'm just sharing the original motivation for /tmp.
FWIW it's pretty easy to observe a meaningful performance difference between caching to a tmpfs vs. local disk. I am also aware of users that rely on /tmp being a tmpfs, and it would be burdensome for them to be asked to reconfigure their system to mount a new tmpfs under ~/.cache. Maybe we just decide "tough", but it's not simply academic.
In the meantime, anyone wanting to use ~/.cache can do so easily by setting BKT_TMPDIR=${XDG_CACHE_HOME} (or BKT_TMPDIR=${HOME}/.cache) in their environment.

Thanks for sharing this background; I know that these tradeoffs are hard, and it's good that you care about backwards compatibility!
On Ubuntu, /tmp is on a regular file system (by default, but most Ubuntu users probably don't reconfigure this). Even worse, it gets wiped on each reboot, which may be unexpected for a cache (or not, again highly dependent on the use case). But tmpfs isn't persisted, neither (which for me is another argument for changing the default, but using the environment variable to reconfigure this is a valid workaround, so I'll shut up now ;-)

Why do we need to move it out of /tmp to get per-user directories?
I also ran into the same issue as @alexmyczko, so I added the following to my shell rc files:
export BKT_CACHE_DIR="${TMPDIR:-/tmp}/bkt-$USER-cache"

So the cache dir is now /tmp/bkt-$USER-cache.

Why do we need to move it out of /tmp to get per-user directories?

Oh we don't, I was just responding to the suggestion to use ~/.cache. bash-cache does effectively what you suggest, and it would be fine to make that change to bkt. I'd punted on this issue with the intent of settling on a more principled cache directory strategy in #32 but I agree we can just do that as an interim (and maybe permanent) solution. Will address this weekend.
Also, the distinction is relatively minimal, but I'd suggest setting BKT_TMPDIR rather than BKT_CACHE_DIR.


Lane segment data for subset B

Dear Authors,
As in LaneSegNet openreview, I have noticed that you have the pre-processed version for lane segment of subset B. Could you release it ?

We mentioned that "This benchmark includes only centerline and lane graph annotations. To address this, we produced the pseudo-label of lane segments by assigning a standardized lane width to the lane centerlines".
You can easily obtain the label by transform the points in Frenet coordinates to Cartesian coordinates, with the centerline label in subset B as the reference path.


⚠ Fortnite has degraded performance

In faf4330, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1473 ms

Resolved: Fortnite performance has improved in 8326b6d.


Support for Sitecore 10.3

Fixed as part of https://github.com/searchstax/searchstax-sitecore-plugin/releases/tag/v1.16


UI Automation Test Plan and Roadmap

Overview
This Test Automation Plan provides a structured approach to automating the Portal using Cypress, an end-to-end testing framework. This plan focuses on creating an efficient, reliable, and maintainable test suite that integrates seamlessly with the development workflow.
Objective
The primary objective of the Cypress Test Automation Plan is to establish a comprehensive, efficient, and reliable automation framework that enhances the testing. The plan is designed to ensure the delivery of high-quality application by addressing key goals and areas of focus. Outline and list all core features and use cases prioritized based on their frequency and importance, focusing on repetitive tasks or test cases aligned with the system requirements.
Defining the Scope of Automation
Clearly outlining which areas of the application will be automated to maximize impact. The scope will include:

Automating critical user flows (e.g., login, Company Registration, App registration etc.).
Regression and smoke tests to ensure stability with each release.
Customer & CX-Admin/Operator facing e2e scenarios

Levels of Testing:

Integration Testing: Testing the interaction between integrated components.
System Testing: Testing the complete system as a whole to ensure it meets requirements.
Acceptance Testing: Testing whether the system meets the specified business requirements

Types of Tests
Functional

Testing Techniques

Happy paths (positive test cases)

Unhappy paths (negative test cases)

Lists of Core features & Tests

Home Page
Company Registration

Registraton without BPN

Registration with BPN (prefilled data)

Registration with BPN post submission

Application Requests
User Management
App access Management
App Marketplace
App Management
App registration (App Release Process)
App Subscription
App Request Management
Technical User creation
Connector Registration
Service Management
Service Marketplace
Service Registration (Service Release Process)
Service Subcription
Service Request Management
Identity Provider Configuration
Use Case participation
Credential requests
Partner Network

Cross-Browser Compatibility

Cross-browser testing is crucial in automation to ensure a consistent and seamless user experience across different browsers and platforms
Test across multiple browsers (e.g.,chrome-family browsers, Firefox, and WebKit (Safari's browser engine) using Cypress’s cross-browser support.

Collaboration Practices and Workflows
Objective: Establish clear collaboration practices and workflows to ensure seamless integration of test automation across teams, fostering efficient communication and coordinated efforts between contributors
Shared Responsibility for Automation:

All contributors are responsible for maintaining and enhancing the automation codebase.
Collaboratively define the test strategy and establish clear guidelines for automation to ensure consistency.
Conduct thorough reviews of automation scripts to ensure quality, maintainability, and adherence to best practices.

Frequent Communication:

Hold regular sync meetings involving all the contributors to discuss progress and blockers.
Communicate through appropriate channels to ensure efficient information sharing, timely updates, and alignment across teams for more visibility.

Test Coverage

Define clear test coverage goals and prioritize high-risk, high-value areas for automation.
Track test coverage through tools like Cypress Dashboard or integrated reporting tools to measure the effectiveness of automation and identify areas for improvement.
Regularly review test coverage metrics to ensure all critical functionality is covered and gaps are addressed promptly.

Testing Strategy
Details to be added
Risks and Dependencies
Details to be added
Exit Criteria
Details to be added

@charmi-v  FYI
Shared more details on eclipse chat.
Thanks

Priority test cases to begin with:

[ ] Login (implemented with setup of cypress)
[ ] Company Registration
[ ] Application approval process
[ ] Technical User creation (External & Internal)
[ ] Connector Registration
[ ] App registration (App Release Process)

I plan to start writing test cases for the following user flow:

[ ] Technical User Creation (External & Internal)

If anyone wants to contribute test cases in Cypress, feel free to pick a user flow other than the one mentioned above.
For reference: The basic PR for the Cypress setup is already created: [#1357](https://github.com/eclipse-tractusx/portal-frontend/pull/1357).


Mobs with over 300 health target the mob crusher

Industrial Foregoing Version: 1.12.8-232
TeslaCoreLib Version: 1.0.15
Mobs with over 300 health hit by the mob crusher make their way towards it and do nothing.
Haven't tested for mob slaughter factory, may want to test that too.

Is that an issue? Nothing I can do about it


Created object first, then updated settings.

What problem does this PR address?
CodeCoverage.xml fails to include all files from the codecoverage folder.
Is there a related Issue?
Issue 38
Have you...

If you are willing, please enable me, as the Repo owner, to edit your fork that contains your PR so I can add any missing items such as the readme.md

Deployed as 10.1.23 and should now be publicly available. Thanks for this.


Extra placeholders

Added the following extra placeholders:
{geoip_geohash} (calculated)
{geoip_city_geoname_id}
{geoip_country_geoname_id}

For the calculation of the geohash I've used the following library Geohash (MIT Licensed)

Nice. Thanks for the PR!


dashboard: update version

Signed-off-by: Zheng Xiangsheng<EMAIL_ADDRESS>
What problem does this PR solve?
Update Dashboard version

Codecov Report

Merging #2133 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2133      +/-   ##
==========================================
- Coverage   76.63%   76.62%   -0.01%
==========================================
  Files         194      194
  Lines       19995    19995
==========================================
- Hits        15324    15322       -2
- Misses       3509     3515       +6
+ Partials     1162     1158       -4

Impacted Files
Coverage Δ

server/heartbeat_streams.go
67% <0%> (-6%)
:arrow_down:

pkg/etcdutil/etcdutil.go
78.26% <0%> (-4.35%)
:arrow_down:

pkg/mock/mockhbstream/mockhbstream.go
89.23% <0%> (-1.54%)
:arrow_down:

pkg/btree/btree.go
86.84% <0%> (-0.81%)
:arrow_down:

server/config/option.go
89.17% <0%> (-0.44%)
:arrow_down:

server/schedule/operator_controller.go
82.17% <0%> (-0.18%)
:arrow_down:

server/grpc_service.go
57.51% <0%> (+0.21%)
:arrow_up:

server/server.go
80% <0%> (+0.42%)
:arrow_up:

server/cluster/cluster.go
81.83% <0%> (+0.45%)
:arrow_up:

server/core/storage.go
73.86% <0%> (+1%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


⚠ Bofrost.ch has degraded performance

In acfd3e7, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 1529 ms

Resolved: Bofrost.ch performance has improved in 9a26a0b after 6 minutes.


Removing async function declarations from abstract StateStore class

Removing async function declarations from abstract StateStore class because the functions do not await anything such that they'll resolve or reject sooner in time
Description
The abstract class methods which return async methods of the extended classes (e.g. CosmosStateStore) do not need to be async functions because there is no await within the abstract calls methods. Removing the async declaration removes an unneeded Promise in the chain created by calling any of the methods, resulting in the methods resolving or rejecting sooner (at least 1 cpu tick less - can be measurable in some cases).
Related Issue
Fixes #48
Motivation and Context
Random browsing due to github suggestion & noticed the class methods could be refined to be faster.
How Has This Been Tested?
This doesn't change how things run, so existing tests pass.
Screenshots (if appropriate):

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Forgot to add myself to Adobe org, will reopen after doing that.


Support pdf images (New Feature)

I need to use sdwebimage to download pdf image files.

@AhmedOsamaOsman  pdf images are not supported

I know thats not supported i'm asking about the ability to support it because it's really important.

right now v4 is more important. if you want you to help you can submit a PR to support pdf images and help this library progress.

ok i will add it as soon as possible

@AhmedOsamaOsman
:+1:

Feel free to reopen


Rackspace/Openstack - Add/enhance ---net- create switches.

This is a rebase/reopen for #1451 so see relevant history there please. This addresses issues #1440 and #1444.

Hi @robertjustjones What about the compatibility with existing machines? Changing the fields of Driver will make it incompatible with existing config.json files. Can you try?

ping @fsoppelsa

Sorry for the delay, tried it (without looking at code):
$ neutron net-list
+--------------------------------------+---------+-------------------------------------------------------+
| id                                   | name    | subnets                                               |
+--------------------------------------+---------+-------------------------------------------------------+
| 095f43ed-65ba-48ce-8185-d4080e430a88 | public  | 2e7a11f5-4c2b-4aa8-8d8e-d43bafe0e175                  |
|                                      |         | b487d80b-9356-4855-b57b-9fbf9bf13503                  |
| 0cd5eef9-523e-48cd-8a95-5dbc39bc1aa2 | net04   | eff99d5a-c2ce-4ca2-89fb-eb23718f686a <IP_ADDRESS>/24    |
| 44ead515-da4b-443b-85cc-a5d13e06ddc8 | mynet05 | 14466141-3a5e-4355-b75f-a3c957abe9a3 <IP_ADDRESS>/24 |
+--------------------------------------+---------+-------------------------------------------------------+

Is this incompatible with floating pools?
$ ./bin/docker-machine-Darwin-x86_64 --debug create \
> --driver openstack \
> --openstack-image-id 98011e9a-fc46-45b6-ab2c-cf6c43263a22 \
> --openstack-flavor-id 3 \
> --openstack-floatingip-pool public \
> --openstack-net-id 44ead515-da4b-443b-85cc-a5d13e06ddc85 \
> --openstack-sec-groups machine \
> --openstack-ssh-user ubuntu \
> u1
Docker Machine Version:  0.6.0-dev, build
...
Error setting machine configuration from flags provided: Either Network names or Network ids must be specified, not both

With openstack-net-id ID I can't make it work while it goes smoothly with openstack-net-name mynet05:
 ./bin/docker-machine-Darwin-x86_64 --debug create \
> --driver openstack \
> --openstack-image-id 98011e9a-fc46-45b6-ab2c-cf6c43263a22 \
> --openstack-flavor-id 3 \
> --openstack-net-id 44ead515-da4b-443b-85cc-a5d13e06ddc85 \
> --openstack-sec-groups machine \
> --openstack-ssh-user ubuntu \
> u1
Docker Machine Version:  0.6.0-dev, build
...
Error setting machine configuration from flags provided: Either Network name or Network id must be specified, not both

$ ./bin/docker-machine-Darwin-x86_64 --debug create \
> --driver openstack \
> --openstack-image-id 98011e9a-fc46-45b6-ab2c-cf6c43263a22 \
> --openstack-flavor-id 3 \
> --openstack-net-name mynet05 \
> --openstack-sec-groups machine \
> --openstack-ssh-user ubuntu \
> u1
Docker Machine Version:  0.6.0-dev, build
...
Creating machine...
(u1) Calling .Create
(u1) DBG | Authenticating... map[AuthUrl:http://<IP_ADDRESS>:5000/v2.0 Insecure:true DomainID: DomainName: Username:fsoppelsa TenantName:fsoppelsa TenantID:f6659e8899e24eeaa717c8f8fbbe0e50]
(u1) DBG | Found network id using its name map[Name:mynet05 ID:44ead515-da4b-443b-85cc-a5d13e06ddc8]
(u1) DBG | Found floating IP pool id using its name map[Name:public ID:095f43ed-65ba-48ce-8185-d4080e430a88]
(u1) DBG | Creating Key Pair... map[Name:u1-a6dfb9dd0729523b1eb28caf0037c16518c494f4e2e5435a91602db4cdc50b12]
(u1) DBG | Creating OpenStack instance... map[FlavorId:3 ImageId:98011e9a-fc46-45b6-ab2c-cf6c43263a22]
(u1) Creating machine...

Multiple networks separated by comma:
$ ./bin/docker-machine-Darwin-x86_64 --debug create \
> --driver openstack \
> --openstack-image-id 98011e9a-fc46-45b6-ab2c-cf6c43263a22 \
> --openstack-flavor-id 3 \
> --openstack-net-id 44ead515-da4b-443b-85cc-a5d13e06ddc85,0cd5eef9-523e-48cd-8a95-5dbc39bc1aa2 \
> --openstack-sec-groups machine \
> --openstack-ssh-user ubuntu \
> u1
Docker Machine Version:  0.6.0-dev, build
...
Error setting machine configuration from flags provided: Either Network names or Network ids must be specified, not both

Please see the related comments in #1444.

Yes this is GO for me.

LGTM thanks all

@robertjustjones, @nathanleclaire, @fsoppelsa Did you test the compatibility with previously created machines? As I said to @robertjustjones, changing field names/types in Driver struct can have random effects.

@dgageot I just tried to remove an old machine created with 0.5.2 and it worked. How could this new feature (adding more networks in creation) impact old machines?

@dgageot I see now what you're referring to. I thought only the switches were public, but I see now that filestore.go is json-ifying the Driver. I'll see if I can break it. LMK if you suspect a particular sequence that might fail.

Ah, @dgageot is right -- My fault, I think we will need to revert this PR and revisit the changes to the Driver struct.  In its current form it will break existing machines.
The main problematic bit is changing the name and type of NetworkNames and NetworkIds fields.  When the client goes to send over the existing JSON to this new driver, the payload will deliver a NetworkName and NetworkId field which don't have any analogue in the new driver.  Consequently that information will be lost and any operations which rely on these fields will fail.

We should probably have automated tests that break when changing values in the Driver structs, but I'm not sure how that would be possible.

Alright, here's the plan:

I'm going to revert this commit in master
@robertjustjones I ask that you please open a new PR and we'll figure out how to integrate these changes in a non-breaking way.

Thanks!

Sounds good @nathanleclaire.  Thanks.

Does anyone knows the state of this ?
Is it now possible to create an OpenStack machine with either multiple --openstack-net-id switches or one --openstack-net-id param with coma-separated list of networks ?

@robertjustjones did you open a new PR?

@robertjustjones I guess this PR is dead?

is this functional?
Currently I am getting an error. No interface found with name 'vlan,Ext-Net'
docker-machine v0.13.0, build 9ba6da9.
driver/hosts: Openstack Nova on OVH


Gist pullout isn't discoverable

Unless someone tells you or you do it by accident, it's impossible to know that you can grab the left edge of the code window and drag it to the right to get a pullout with the various gist snippets.
There should be something somewhere to make it discoverable.  Perhaps a small icon on the left, or maybe even a menu button to allow users to open it (and maybe configure other things).

Oh, you can press the menu button (three horizontal lines) right next to the title but I guess it isn't really noticeable. I will think of something better.

Oh, the menu is already there. For some reason I just thought it was part of the Canopy title and didn't think it was clickable.

I am going to add some tutorial tool tips when the page opens.

Closing with a57b9c52c2730cc17b2b9cac83a8fb92c28c326f.


ui: move gh links, add minimum w/h

Features:

add a minimum width and height to the window
move gh links to settings from navbar

side note; @gorillamoe would you be open to me refactoring this for svelte 5?

that would be awesome, I tried that, but somehow ended within an endless loop of dep mismatches and after fiddling for way too long just gave up.
I think it would be really nice to have svelte 5, but not mandatory at the moment so I tried to focus on way more features that are still needed.
But if you want to tackle that, that would be awesome!


Remove some minor unused and unnecessary Boost includes

This was not quite ready to go yet (I didn't test my changes). I'll revert this and reopen once it's ready.


xGov-19 - Proposal to monitor the Algorand Foundation market operations

Independent audit

I like the idea of independent, real-time auditing of AF operations compared to just their quarterly reports.
The amount requested seems reasonable for the effort required.
My comments:

I'm concerned how will it be maintained long-term. Will additional funding be required by xGovs to keep the product up and running? Is it indented to be supported based on donations?
In the proposals it is described what kind of visualizations have been done already and not specifically which ones will be included additionally.
How will the grant be spent? Will ALGO be sold on the market? If yes, using DEXs or CEXs? Or will a loan be taken against it in DeFi/CeFi? Would you be willing to vest the awarded grant in a smart contract?

I'll try to answer your comments very briefly, so feel free to discuss if you would like to hear more from me.

I am using a third party data source which means that the dashboard will be online as long as GeniiData supports Algorand. I have first published it 5 months ago, doing minor modifications to improve it based on user feedback. I'll keep the product in its current form regardless of the xgov proposal outcome without any other donations.
Ideally, I'd like to track all of the Algorand foundation activities in similar format, offering multiple pages. This is like a demo to illustrate what can be done by the community to help with transparency and decentralisation. Therefore, the Algo amount requested is for the time I spend creating this product with the current visualisations. Obviously, I tried to convert my hourly work rate to Algo, which is very challenging given its price action.
Yes, I am happy with a vesting period smart contract, even though I have no idea how to develop it. For example, if the product is up and running with accurate data by the end of the year, then I receive the award. I'll hold Algo in Defi governance or swap them for a more promising Algorand standard asset.

Thanks for your clarifications!
I'm happy to see your grant request has already been approved.
To further clarify on the first point of maintainability, is GeniiData free to use? Does it have any limitations (e.g. max number of requests)? What if it were to cease operation? How difficult would it be to restart the service on another platform?

GeniiData is free to use, but it also offers premium features such as downloading the data. I think they will keep it like that because dashboards are promoting their platform.
The most important limitation is that the graphs and tables are not always real time and sometimes they could be lagging for a few hours.
There are alternatives like bitquery, but it will take some time to rewrite the queries and create the visualizations.

Congratulations! xGov voting session 1 is now closed and your proposal has passed. I need your email to kick off contract signature next week. Would you please send me a DM on Twitter or Discord?


Adds link to maintained fork

Uhm whot lmao

@drachedachte1 I made a fork project of this that implements different features, when I sent it to Sekl he said I should make a PR linking to it in the readme since this project isn't often maintained anymore.

@drachedachte1 I made a fork project of this that implements different features, when I sent it to Sekl he said I should make a PR linking to it in the readme since this project isn't often maintained anymore.

@get-got what kind of features?

@drachedachte1 Configuration is entirely JSON based so there's extensive customization with settings, channel-specific settings and such. Uses latest versions of go & discordgo.
List of differences here

Interesting thx

Thanks :)


Restore Multijob phase support in conditionalSteps

Replaces #513 and #516.
I removed the generics since those do not fix IDE support in this case. So there will be no IDE support for multi-job phases in conditional build steps, but that's a minor issue compare to having no support for conditional multi-job phases at all. It's also an issue for the new API browser (#479) because it uses the same annotations as the IDE support.
I also added deprecation warnings, release notes and updated the documentation.
@wolfs please review and if it's OK, hit the merge button and close #513 and #516.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

Thanks for the work!


eldritch mask

An eldritch "squiddy" mask, perfect for any librarian or would be cultist.

Add it to the maintenance loot pool.

added it to the maintenance fluff pool.


Reduce image size

Is your feature request related to a problem? Please describe.
Ruby installation size is  170MB , most of the size is because of documentation and static library
/var/lib/ruby/lib/libruby-static.a is 60 MB
/var/lib/ruby/share/ri is 59MB
Describe the solution you would like
After this change the ruby installation size is 41MB
To install Ruby without documentation and static library
./configure --with-openssl-dir=/usr/local/ssl  --disable-install-doc --disable-install-rdoc --disable-install-static-library  --disable-install-capi  --prefix=/var/lib/ruby
make -j4
make install

 --disable-install-doc -  do not install either rdoc indexes or C API
documents during install
--disable-install-rdoc - do not install rdoc indexes during install
 --disable-install-capi - do not install C API documents during install
--disable-install-static-library  -  do not install static ruby library

@aloncarmel111, this looks like a nice reduction in image size!
Question regarding:
--disable-install-static-library  --disable-install-capi

How did you determine these are not used in any of our subcomponents?

@micahlee , Before applying those change, all subcomponents needs to be validated.
--disable-install-capi-  disables building and installing C API documents
maybe we should set the --enable-shared option this will disable static ruby library installation(see https://bugs.ruby-lang.org/issues/12845) , also this is the default option when installing Ruby using apt-get command


Added ecommerce demo

Currently pointing to 2.0.0-alpha.7.

@sampotts This looks good to me. happy for you to merge when you are ready.


Removed a bug where Callout wasn't visible in WPF sample anymore

This is instead of #1257

ah, that is a simple fix.
Still, the sample involves a lot of code. This is discouraging for users. I was looking into this because I would like to provide a very simple way for users to add feature info. Right now every platform needs to add some control to show the info. There should be some simple way to turn on feature info on touch/click.
One thing I want to do right now is add a new sample that does not create the bitmaps in the sample code. Why was this done in the first place? Performance I guess, but did we notice it was slow? If a single callout is shown at a time performance is not such a problem.
I am also thinking of a new style for showing feature info.


EditorConfig

Previously proposed and declined in #893.
I am opening this because I think it is time to reassess whether EditorConfig is appropriate for this project.
I did some GitHub diving and found the following Python projects which use EditorConfig:

flask-wtf
cookiecutter-django

I also found the following Python-powered websites that use EditorConfig:

MDN
gratipay
mozilla.org

This file is a human-readable auto-enforced whitespace style guide for all files (not just Python).
For:

users of editors with built-in support (e.g. PyCharm, Coda 2, SourceLair) this file will ensure the code style is enforced automatically.
users with a plugin installed (available for most major editors) this file will also auto-enforce the code style
all other users this simply serves as a white space style guide.

Thanks for this!
I do not believe that EditorConfig is appropriate at this time. In general, I resent the relentless expansion of dotfiles that various tools require people to add to the project root. I appreciate that these tools are close to many people's hearts, and that they provide value for plenty of people, but it's extremely difficult to justify any tool that is not actually considered 'enforced' by some form of automated tooling. The risk is that if we accept this it becomes difficult to reject it for other tools, and we rapidly end up with an expansion of dotfiles that have no love.
For this reason, I'm afraid I don't think I can accept this. =( Sorry!


Please add test cases for the sake of helping users of the library

Test caseio.finch.iteratee.EnumerateEndpointSpec does not contain any useful test case from the users' perspective.
I'm trying to do something as simple as:
package com.example.helloworld

import cats.effect.IO
import com.twitter.finagle.Http
import com.twitter.util.Await
import io.iteratee.{Enumerator, Iteratee}
import io.finch._
import io.finch.circe._
import io.finch.iteratee._
import io.finch.catsEffect._

object Main extends App {

  def concat: Endpoint[IO, String] = post("concat" :: enumeratorBody[IO, String, Text.Plain]) {
    enum: Enumerator[IO, String] =>
      enum.into(Iteratee.fold[IO, String, String]("")(_ + _)).map(Ok)
  }

  Await.ready(
    Http.server
      .serve(":8081", (concat).toServiceAs[Text.Plain])
  )
}

with a deadly simple test case as
package com.example.helloworld

import org.scalatest.FunSuite

class MainTest extends FunSuite {
  test("helloWorld") {
    import io.finch._
    val body: String =
      """{"i":"aaaaa"}
        |{"i":"bbbbb"}
      """.stripMargin
    assert(
      Main.concat(
        Input
          .post("/concat")
          .withBody[Text.Plain](body)).awaitValueUnsafe() == Some("aaaaabbbbb"))
  }
}

and it does not work. So, it's clear that I'm doing something wrong... but what?
Looking for test cases, there's nothing which could provide any clue why things are going wrong.
So, please add test cases not only testing when things go wrong, but also showing what needs to be done in order to obtain positive results.

Hey @frgomes
The thing about chunked bodies, that it should specifically mention that request is chunked, otherwise enumeratorBody wouldn't match.
Also, as I can see from the test, you're trying to decode JSON, but your endpoint uses quite "low-level" API enumeratorBody.
I suggest to switch to enumeratorJsonBody[IO, Foo] in case if you need JSON decoding.
Here you can find example of how to create proper chunked request using finagle's Writer and decode it with JSON:
https://github.com/finagle/finch/blob/master/iteratee/src/test/scala/io/finch/iteratee/EnumerateEndpointSpec.scala#L42
Speaking of the examples and tests, I agree with you that there is a lack of proper up-to-date documentation that covers some library specifics, and we'd be glad to get a help here through documentation PRs.

Related: looks like we also need to add support to streaming payloads in Input, to make this possible (easier). Something along the lines Input.withChunkedBody.

@vkostyukov : maybe entirely off-topic, but Finch does not help with the client side. I understand that we can resort to Finagle for that, which is OK for me... but the point is that we should have somehow a smoother learning path for writing and entire application using Finch, including test cases and e2e tests. At the moment, some effort and imagination is required in order to put it all together.

@sergeykolbasov : Yes, I'm aware of the source files you've mentioned. Despite of being aware of that, SBT dependencies are not mentioned, which is an issue at the moment for people transitioning to 0.25.0.
After I've collected the necessary dependencies, I've struggled a lot until I've finally got something working for the use case I have. Even tough the example on iteratees works, it's a sort of helloworld/foo/bar which needs modification for being useful in real life; when you change that you face difficulties not covered by the example. So, I've suggested on #1018 that examples "closer to real life" are necessary.

@frgomes

I filed #1040 which would ensure your server code compile (as written).
There is #1038 that should help with testing it (would require some code changes in your test as the payload has to be chunked).
Finally in #1018 we can add a g8 template that wires everything together

On an unrelated note it would be nice to have fs2 support (is there an issue?)

On an unrelated note it would be nice to have fs2 support (is there an issue?)

It's here #1001


CLID-135: Show warning in console when EUS & version conditions used

Description
This addresses the issue when mirroring platform releases using the eus channel, oc-mirror does not yet implement conditionalEdges and as a result will not correctly select the version/s for a complete upgrade path.
A warning message will be displayed in the console when an eus channel with minor versions >= 2 are selected.
This applies to both v1 and v2 versions of oc-mirror
Addresses # OCPSTRAT-1306
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
To verify use the following imagesetconfig for v1 of oc-mirror
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
mirror:
  platform:
    graph: true # Required for the OSUS ooperator
    architectures:
    - amd64
    channels:
    - name: stable-4.12
      minVersion: '4.12.28'
      maxVersion: '4.12.28'
      shortestPath: true
      type: ocp
    - name: eus-4.14
      minVersion: '4.12.28'
      maxVersion: '4.14.16'
      shortestPath: true
      type: ocp

For v2
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v2alpha1
mirror:
  platform:
    graph: true # Required for the OSUS ooperator
    architectures:
    - amd64
    channels:
    - name: stable-4.12
      minVersion: '4.12.28'
      maxVersion: '4.12.28'
      shortestPath: true
      type: ocp
    - name: eus-4.14
      minVersion: '4.12.28'
      maxVersion: '4.14.16'
      shortestPath: true
      type: ocp

Expected Outcome
Warning message in console should appear
For v1
bin/oc-mirror --config clid-135.yaml file://clid-135
Found: clid-135/oc-mirror-workspace/src/publish
Found: clid-135/oc-mirror-workspace/src/v2
Found: clid-135/oc-mirror-workspace/src/charts
Found: clid-135/oc-mirror-workspace/src/release-signatures
backend is not configured in clid-135.yaml, using stateless mode
backend is not configured in clid-135.yaml, using stateless mode
No metadata detected, creating new workspace
WARNING: Extended Update Support (EUS) channel detected with minor version range >= 2
	 Please refer to the web console https://access.redhat.com/labs/ocpupgradegraph/update_path
	 To correctly determine the upgrade path for EUS releases

For v2
bin/oc-mirror --config clid-135.yaml file://clid-135 --v2

2024/06/07 11:02:39  [WARN]   : ⚠  --v2 flag identified, flow redirected to the oc-mirror v2 version. This is Tech Preview, it is still under development and it is not production ready.
2024/06/07 11:02:39  [INFO]   : 👋 Hello, welcome to oc-mirror
2024/06/07 11:02:39  [INFO]   : ⚙  setting up the environment for you...
2024/06/07 11:02:39  [INFO]   : 🔀 workflow mode: mirrorToDisk
2024/06/07 11:02:40  [INFO]   : 🕵  going to discover the necessary images...
2024/06/07 11:02:40  [INFO]   : 🔍 collecting release images...
2024/06/07 11:02:40  [WARN]   : Extended Update Support (EUS) channel detected with minor version range >= 2
				Please refer to the web console https://access.redhat.com/labs/ocpupgradegraph/update_path
				To correctly determine the upgrade path for EUS releases

/jira refresh

LGTM !

/lgtm


Add local cluster

Description
fix #https://github.com/SuperDuperDB/superduperdb/issues/1379

Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make test successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments

Codecov Report
Attention: 34 lines in your changes are missing coverage. Please review.

Comparison is base (34830a7) 80.33% compared to head (3652c9c) 67.14%.
Report is 127 commits behind head on main.

Files
Patch %
Lines

superduperdb/backends/dask/compute.py
47.05%
18 Missing :warning:

superduperdb/backends/base/compute.py
68.96%
9 Missing :warning:

superduperdb/backends/base/query.py
85.71%
3 Missing :warning:

superduperdb/backends/base/metadata.py
66.66%
2 Missing :warning:

superduperdb/backends/base/artifact.py
66.66%
1 Missing :warning:

superduperdb/backends/base/data_backend.py
66.66%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1403       +/-   ##
===========================================
- Coverage   80.33%   67.14%   -13.20%
===========================================
  Files          95      103        +8
  Lines        6602     7272      +670
===========================================
- Hits         5304     4883      -421
- Misses       1298     2389     +1091

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


htlcswitch: expose outgoing channel id for intercepted packets

Extends #4018 to support even more use cases.

It would be really cool to have the TLV fields exposed here too in order to have custom logic for forwarding based on sender specified attributes

I love that idea of exposing tlv fields. It could maybe also enable the 'hodl mailbox' idea for offline destinations. Took a quick look, it isn't difficult. But still prefer to do it in a new PR after this one.

Big yes for TLV fields which is very useful to offline payment implementation. Payer can pass his notification token and be notified when the destination comes online.

Notification token - this gets wilder by the minute

Comment by @alexbosworth: interceptor currently exposes the outgoing amount. That could be confusing too. We may want to expose both.

Added IncomingAmount, IncomingExpiry and also did CustomRecords in this PR after all


ERROR: Invalid requirement: '-'

please help me
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[20:37:49] INFO: Remove old deps
[20:37:49] INFO: Install pypi modules into deps
[20:37:49] INFO: Installing python package '-'
ERROR: Invalid requirement: '-'
[20:37:50] ERROR: Can't install -!
[20:37:50] ERROR:
[cmd] /run.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.

What are you trying to do?
Make sure to set the configuration options.

Closing, as this is an incomplete issue report.


Adding support for customizing local port when connecting to App via CLI

Previously when using fiftyone app connect, the local port used was hard-coded to 5151, which prevented a user from launching two separate App instances using fiftyone app connect on the same machine.
Below is an example of connecting to two different remote App sessions from the same machine via pure CLI commands:
On remote machine
# Remote shell #1
fiftyone app launch <dataset1> --remote --port 1111

# Remote shell #2
fiftyone app launch <dataset2> --remote --port 2222

On local machine
# Local shell #1
fiftyone app connect --destination <destination> --port 1111 --local-port 3333

# Local shell #2
fiftyone app connect --destination <destination> --port 2222 --local-port 4444

@ehofesmann yes that is a known issue (https://github.com/voxel51/fiftyone/issues/208https://github.com/voxel51/fiftyone/issues/208) that hasn't been addressed yet.
I agree that it is annoying to see that message and would like it to be fixed. I'll take a look and see if I can make it happen.


Use tito for releases

Make releases automated as much as possible
Signed-off-by: Martin Bašti<EMAIL_ADDRESS>Maintainers will complete the following section:

[ ] Commit messages are descriptive enough
[ ] "Signed-off-by:" line is present in each commit
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request includes link to an osbs-docs PR for user documentation updates

@StykMartin :eyes:

No release notes, change to release process only


feat: astro-font - optimize fonts & prevent CLS

Astro Font: https://www.launchfa.st/blog/building-astro-font
Changes
This PR integrates astro-font which automatically generates the fallback font and pass it as the CSS Variable.

@rishi-raj-jain thank you for contribution with your package, it is really helpful 😄


i dont can install voyager-frontend,Help me

D:\majidmohammadpanah>composer require pvtl/voyager-frontend
Using version ^0.9.1 for pvtl/voyager-frontend
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- teamtnt/tntsearch v1.4.0 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.6 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.5 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.4 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.3 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.2 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.1 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.3.0 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.2.0 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.7 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.6 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.5 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.4 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.3 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.2 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.1 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- teamtnt/tntsearch v1.0.0 requires ext-sqlite3 * -> the requested PHP extension sqlite3 is missing from your system.
- pvtl/voyager-frontend 0.9.1 requires teamtnt/laravel-scout-tntsearch-driver ^3.0 -> satisfiable by teamtnt/laravel-scout-tntsearch-driver[v3.0.0, v3.
0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.1.0, v3.2.0, v3.2.1, v3.2.2, v3.3.0].
- teamtnt/laravel-scout-tntsearch-driver v3.3.0 requires teamtnt/tntsearch 1.4.* -> satisfiable by teamtnt/tntsearch[v1.4.0].
- teamtnt/laravel-scout-tntsearch-driver v3.0.6 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.0.7 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.0.8 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.1.0 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.2.0 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.2.1 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.2.2 requires teamtnt/tntsearch 1.3.* -> satisfiable by teamtnt/tntsearch[v1.3.0, v1.3.1, v1.3.2, v1.3.3, v1
.3.4, v1.3.5, v1.3.6].
- teamtnt/laravel-scout-tntsearch-driver v3.0.5 requires teamtnt/tntsearch 1.2.* -> satisfiable by teamtnt/tntsearch[v1.2.0].
- teamtnt/laravel-scout-tntsearch-driver v3.0.0 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1
.0.4, v1.0.5, v1.0.6, v1.0.7].
- teamtnt/laravel-scout-tntsearch-driver v3.0.1 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1
.0.4, v1.0.5, v1.0.6, v1.0.7].
- teamtnt/laravel-scout-tntsearch-driver v3.0.2 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1
.0.4, v1.0.5, v1.0.6, v1.0.7].
- teamtnt/laravel-scout-tntsearch-driver v3.0.3 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1
.0.4, v1.0.5, v1.0.6, v1.0.7].
- teamtnt/laravel-scout-tntsearch-driver v3.0.4 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1
.0.4, v1.0.5, v1.0.6, v1.0.7].
- Installation request for pvtl/voyager-frontend ^0.9.1 -> satisfiable by pvtl/voyager-frontend[0.9.1].
To enable extensions, verify that they are enabled in your .ini files:
- C:\xampp\php\php.ini
You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.

That error suggests:
teamtnt/tntsearch v1.4.0 requires ext-sqlite3 * and the PHP extension sqlite3 is missing from your system.

i.e. enabling the PHP extension sqlite3 should fix the issue.
I believe it's used by Laravel Scout as the search driver.
If this fixes, can you please submit a PR to add SQLite3 PHP Extension to the Prerequisites?

Follow the instructions mentioned in below link:
https://stackoverflow.com/questions/12492908/sqlite-does-not-work-on-localhost-in-windows-7-php/29884323#29884323
It works like a charm.


Make Tobira harvest API work with multi-tenancy

This is technically a breaking change in that with this PR, it is not possible anymore to get all events or playlists from all orgs via the harvest API. However, the series were already filtered by org, so the API always just returned the series for one org. So I really don't see how anyone could have relied on the old behavior of getting all events and playlists of all orgs, but only series for one org. So I think it's totally fine to merge this into 16. I don't even think anyone with multi-tenancy is already using Tobira right now anyway.
I would invite the reviewer(s) to review these few lines carefully to make sure I didn't screw something up. This is security-related and I really don't want to accidentally expose stuff via the Tobira API.
Your pull request should…

[ ] have a concise title
[ ] close an accompanying issue if one exists
[ ] be against the correct branch
[ ] include migration scripts and documentation, if appropriate
[ ] pass automated tests
[ ] have a clean commit history
[ ] have proper commit messages (title and body) for all commits

TU Wien is using multi-tenancy and Tobira. I will ask @geichelberger if he wants to take a look when he is back from vacation.


Image hyperlink is not working without https://

Jodit Version:  3.4.xxxxx
Browser:
OS:
Is React App:
Code
// if I add hyperlink with out https or http it not working
link is appeinding to the current url like this 'https://xfqokc.csb.app/www.google.com'.
How to append https to the url if URL not having the https

Expected behavior:
hyperlink should work if user missed to eneter https
Actual behavior:
hyperlink is not working if user missed to enter https

it is not always possible to guess whether this is a local image image.jpg or a site like that https://image.com. Added a little heuristic.


fix: reset notes on every step

This ensures that the proper notes are shown when navigating backwards. To accomplish this, I've added an items prop to the <Steps> component. Each item is wrapped in the new <Step> component in order to ensure that every <Notes> component has access to its associated step. Finally, reset meta.notes to an empty string on every slide/step change.
If you have a better solution in mind, let me know! 👍
It also allows for per-step notes:
import {Steps} from 'mdx-deck'

<Steps
  items={[
    null, // Render nothing on first step
    <Notes>Foo</Notes>,
    <Notes>Bar</Notes>,
  ]}
/>

Thanks for putting this together and sorry for the delay! Going to close this out in favor of the refactoring in #392


Add newline support

When writing tests with nested contexts, it's pretty easy for tests to become hard to read. Newline support cleans this up. By adding support for \\n to represent a new line, we can convert tests that look like this:

to this:

Why not just \n? We can easily replace it as easily as \\n.

I have know idea why I originally though \\n instead of \n was a good idea. Updated the branch to use the \n approach.

Squashed and merged into 4342fe917aea1bde03c878fa6067ca2b7a510b90. Thanks!


Python exposure tests

Added some python tests to check that spatial classes are well exposed in python.
Modified some exposition of class member ( through .def_readwrite instead of .add_attribute for aligned datas).

minor correction of the names of Frame members

Coverage increased (+3.6%) to 89.018% when pulling bc0c6e281a359b7a678a0a684ea6b5bca9c1c33b on fvalenza:devel into c68e5bfac2a2e547ce5466e7dcc09f145292ff11 on stack-of-tasks:devel.

Coverage increased (+3.6%) to 89.018% when pulling c7f846a123d71e3d9d452d742667c62602dbb384 on fvalenza:devel into c68e5bfac2a2e547ce5466e7dcc09f145292ff11 on stack-of-tasks:devel.

Coverage decreased (-85.4%) to 0.0% when pulling 83f6dabb3e35db1c00ef4b63a4ec52ec84586418 on fvalenza:devel into c68e5bfac2a2e547ce5466e7dcc09f145292ff11 on stack-of-tasks:devel.

Coverage increased (+3.6%) to 89.018% when pulling 793807978b4225254114261abbdf4ef24360d00e on fvalenza:devel into c68e5bfac2a2e547ce5466e7dcc09f145292ff11 on stack-of-tasks:devel.

The decrease of coverage is, i think, due to the new files for python unittesting ( binding_geometry_object.py, and bindinf_frames.py) that are not tested because they are not imported due to hpp-fcl not installed


Passing violation counts, fees and  request for reduction as hidden variable

Right now we are streamlining data presented to the user to simplify the experience, but we will still need for that data to be included in the final submission for the judge's to see.
We will need to pass the following the variables in the submissions:

This is complete, except that I don't see a place in their request API to send in the violation count. I can follow up by email.


Found 1 prod dependencies used only in dev paths: ext-amqp

This is a false positive, because it is used in prod (src) as well.
We're using symfony/amqp-messenger and have the following code:
<?php # src/Shared/Infrastructure/Messaging/MessageBus/Symfony/Middleware/NewRelicTrackingMiddleware.php

declare(strict_types=1);

namespace Shared\Infrastructure\Messaging\MessageBus\Symfony\Middleware;

use Override;
use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpReceivedStamp;
use Symfony\Component\Messenger\Envelope;
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
use Symfony\Component\Messenger\Middleware\StackInterface;
use Symfony\Component\Messenger\Stamp\ReceivedStamp;
use Throwable;

final readonly class NewRelicTrackingMiddleware implements MiddlewareInterface
{
}

<?php # tests/Unit/Shared/Infrastructure/Messaging/MessageBus/Symfony/Middleware/NewRelicTrackingMiddlewareTest.php

declare(strict_types=1);

namespace Shared\Infrastructure\Messaging\MessageBus\Symfony\Middleware;

use AMQPEnvelope;
use LogicException;
use Mockery;
use Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration;
use Mockery\MockInterface;
use Override;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpReceivedStamp;
use Symfony\Component\Messenger\Envelope;
use Symfony\Component\Messenger\Stamp\BusNameStamp;
use Symfony\Component\Messenger\Stamp\ReceivedStamp;

final class NewRelicTrackingMiddlewareTest extends TestCase
{
}

$ vendor/bin/composer-dependency-analyser
Using config composer-dependency-analyser.php

Found 1 prod dependencies used only in dev paths!
(those should probably be moved to "require-dev" section in composer.json)

  • ext-amqp

(scanned 18970 files in 2.376 s)

$ vendor/bin/composer-dependency-analyser --dump-usages 'ext-amqp'
Using config composer-dependency-analyser.php

Dumping sample usages of ext-amqp
(2 usages of 1 symbol in total)

  • ext-amqp
      AMQPEnvelope
        tests/Unit/Shared/Infrastructure/Messaging/MessageBus/Symfony/Middleware/NewRelicTrackingMiddlewareTest.php:73
        tests/Unit/Shared/Infrastructure/Messaging/MessageBus/Symfony/Middleware/NewRelicTrackingMiddlewareTest.php:105

But there is no ext-amqp symbol usage in src, right? You just use symfony/amqp-messenger which has its own require of ext-amqp. Thus you dont rely on ext-amqp directly. In theory, symfony/amqp-messenger could change its implementation not to rely on that and your code would still work, right?


Incorrect testnet installation path for genesis.json and config.json

I've noticed that the installation path for genesis.json and config.json files for the testnet is incorrect.
Currently, the installation path for these files is set as https://files.deploy.aurora.dev/testnet-new-rpc/, which results in an error when trying to install them.
The correct installation path for the testnet files should be https://files.deploy.aurora.dev/testnet/.
Please update the installation path for these files so that users can install and use the testnet without any issues.
Current: Not available paths
https://files.deploy.aurora.dev/testnet-new-rpc/config.json
https://files.deploy.aurora.dev/testnet-new-rpc/genesis.json.gz
To be:
https://files.deploy.aurora.dev/testnet/config.json
https://files.deploy.aurora.dev/testnet/genesis.json.gz

thank you @nujabes403, pushed to pipe-line


bug: the RTL direction does not work on ion-slides in ionic 5

Bug Report
Ionic version:

[x] 5.x
Current behavior:
the slides does not slide correctly when thr dir="rtl" is set. first i had an issue with the re-initializing of the slides but this solution fixed my problem
https://github.com/ionic-team/ionic/issues/20356#issuecomment-605272125
but now the rtl direction does not work
Expected behavior:
i need the slides to be able to slide to the right when the direction is set to rtl because i have arabic images that i need to display it was working fine in the ionic 4 but when i upgraded to ionic 5 and added this dev build it seems not working anymore
Steps to reproduce:
add a slider and the dir="rtl" on it
Related code:

        <ion-slides [dir]="direction" slider [options]="slideOpts" (ionSlideDidChange)="slideChanged($event)">
            <ion-slide *ngFor="let image of images">
                <img class="book-pages" [src]="image" alt="">
            </ion-slide>
          </ion-slides>

Other information:

Ionic info:

Ionic:

   ionic (Ionic CLI)          : 4.1.2 (C:\Users\hanna\node_modules\ionic)
   Ionic Framework            : @ionic/angular 5.1.0-dev.202003271919.8a161f0
   @angular-devkit/core       : 9.1.1
   @angular-devkit/schematics : 9.1.1
   @angular/cli               : 9.1.1
   @ionic/ng-toolkit          : not installed
   @ionic/schematics-angular  : not installed

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.1.4
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 13 other plugins)

System:

   NodeJS : v12.15.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.10.2
   OS     : Windows 10

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.1.4
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 13 other plugins)

System:

   NodeJS : v12.15.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.10.2
   OS     : Windows 10

Can you provide a full reproduction? RTL is working fine for me when I test it.

i fixed it, the initialization of the direction for the slides was in the wrong place, thank you for your time and for checking it

Glad to hear it is working now!


forge build --sizes ignores contents of at least one sol in the project

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (31d6498 2023-06-28T00:10:20.700537031Z)
What command(s) is the bug in?
forge build
Operating System
Linux
Describe the bug
There is a bug in forge build which prevents it from outputting at least --sizes info for a .sol files in my project. Dunno if the abi is valid (I'll try to figure that out tomorrow). No syntax errors or warnings are emitted. Is there a way for me to get forge to output the solc command line it's using so I can see if solc is emitting some console output that may be a hint?
library { ... }
contract {
 erc20 stuff...
 other stuff...
 struct localVars {}
 function problemFunction(... calldata params ... ) public view returns (SomeOtherStruct memory ret) {
    ... body that uses localVars / body may be removed...
  }
}

The out/ directory contains abi for the affected file. I've tried removing parts of the file to see if it's something about the contents. I placed a certain function definition at the bottom of the contract. If that function appears, no output from --sizes occurs UNLESS it's the only function defined in the file (other than a few generic IERC20's at the top). I can remove the BODY of the function and it still causes problems with --sizes output if other stuff... is in the file. If other stuff... does not appear, then irrespective of the existence of the body, --sizes contains a line for the file.
This would seem to imply there is some interaction with what's in the body of the function and other stuff... , but what kind of interaction would cause NO warnings or errors to be emitted and forge build --sizes to not work? Again, the abi seems to exist, and it is too late right now for me to verify what's in it.
Let me know what to look for. This sounds like a problem with forge interpreting the abi output.
using solc 8.19

Well, it looks like the issue is actually this:

    event TestEvent(address indexed);
    function test() public {
        emit TestEvent(msg.sender);
    }

If this is included in the contract, forge build --sizes shows no output for the file.
If forge is triaging things simply based on the word "test" appearing in places, that's just (IMHO) ... wrong.

can you prepare a repro please

The issue here is because the method is named test, so forge thinks it's a test or script contract and excludes it from the size check:
https://github.com/foundry-rs/foundry/blob/642376210f0151794e1bb34c9448c2ee30ab0d88/common/src/compile.rs#L150-L160
https://github.com/foundry-rs/foundry/blob/642376210f0151794e1bb34c9448c2ee30ab0d88/common/src/traits.rs#L63-L65

If forge is triaging things simply based on the word "test" appearing in places, that's just (IMHO) ... wrong.

test is a special function prefix used by forge to identify test functions to execute. Without a special prefix UX would be worse. An alternative is to identify test/script contracts exclusively on the presence of the IS_TEST and IS_SCRIPT method, but tests still need the special test prefix, so also using that is more robust since the user's test contract might not have that method. Additionally, there's not really use cases where a production contract needs to have a method that starts with test so this heuristic seems ok, but other ideas welcome :)

It's not clear whether this is a "wontfix" or some change to resolve what's a test class differently, has been made?
Lets not make a big deal over trivial things but come on. As developers of potentially foundational technology the attitude of making statements like "there's not really use cases where a production contract needs to have a method that starts with test" is simply inappropriate. Contracts may be deployed to either private or public blockchains for any reason and naming conventions that are not limited by the EVM itself should not be limited by the tooling, if reasonably possible.
Also, you seem to be conflating the naming of test functions with the marking of the entire contract as a test contract. I am not sure what UX you are referring to. There seem to be much better ways to potentially decide that a contract is a test contract, including whether it exists in the test/ directory, whether it derives from Test, etc etc.
It would be MUCH better IMHO to tag a contract as a special contract type based on available information about the devops environment (such as filesystem location), or the presence of forge-specific contents in the ABI, such as a solitary/single method of some special name, preferably one that is extremely unlikely to be important in a production deployment, such as "____is_test()" rather than a multitude of methods such as "anything that starts with test"
Imagine a contract with function testValidityOfSignatureForThisTransaction()
Anyway, not a big deal, but I do want to push back on the implied attitude towards imposing naming conventions globally on projects by excluding any prefix across a large number of possible function names, particularly when the prefix is a natural language word.

It's not clear whether this is a "wontfix" or some change to resolve what's a test class differently, has been made?

Sorry, maybe I misunderstood the issue. I thought the scope was confusion about why it seemed forge build --sizes was ignoring a contract. The answer to that was: this is expected behavior based on how test contracts are identified, and not a bug. Which is why I closed this.

As developers of potentially foundational technology the attitude of making statements like "there's not really use cases where a production contract needs to have a method that starts with test" is simply inappropriate. Contracts may be deployed to either private or public blockchains for any reason and naming conventions that are not limited by the EVM itself should not be limited by the tooling, if reasonably possible.

Agreed that wanting to name something like function testValidityOfSignatureForThisTransaction() is certainly valid. Note that the behavior used to identify test contracts does not affect deployment in any way. The contract can still be tested and deployed like any other contract. I believe the only place the test function name prefix would have a noticeable impact on users is this exclusion from the forge build --sizes output.

It would be MUCH better IMHO to tag a contract as a special contract type based on available information about the devops environment (such as filesystem location), or the presence of forge-specific contents in the ABI, such as a solitary/single method of some special name, preferably one that is extremely unlikely to be important in a production deployment, such as "____is_test()" rather than a multitude of methods such as "anything that starts with test"

First you have to define "what is a test contract". Is it only a contract that has executable tests, or does it include helper contracts that have no tests themselves? How do mock contracts fit in? The answer depends on the use case: you may want a different definition for running tests than for identifying contracts to exclude from  the forge build --sizes output. So we use IS_TEST as a broad way to identify all test contracts (and similarly for scripts). But if a user is using their own assertion framework and forgets IS_TEST, ideally you still want to be able to find/run the tests, which is why the test function prefix is also used.
So you can see it gets a bit complicated, then you also need to consider that users may use different folder structures, various kinds of helper contracts (mocks, test helpers, script helpers, etc).
All that to say: maybe we should change what forge build --sizes uses to exclude non-src contracts, and I'm open to ideas there if you have suggestions.


Update iosevka-comfy to 0.2.1

Description of changes
Changelog: https://github.com/protesilaos/iosevka-comfy/releases/tag/0.2.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 179839 run on x86_64-linux 1

5 packages built:

iosevka-comfy.comfy
iosevka-comfy.comfy-duo
iosevka-comfy.comfy-fixed
iosevka-comfy.comfy-wide
iosevka-comfy.comfy-wide-fixed


⚠ ClamAV has degraded performance

In 73f08d8, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 79 ms

Resolved: ClamAV performance has improved in 458f90e after 5 minutes.