Tree's Row select mode also selects all the individual columns of a TreeItem

Godot version
v4.0.alpha.calinou [b25c7fef0]
System information
Windows 10 21H2; Vulkan Clustered, GTX 1060 6GB, Driver version 456.71
Issue description
(Note: The images below will be using the Godot 3 theme, as I feel it shows the issue a little more clearly, but the issue occurs on the new Godot 4 theme as well.)
When using the Row select mode in the Tree node, the Tree also draws selection boxes around all of the columns in that row:

This makes the Row selection look rather ugly. In an attempt to work around this, I tried setting the TreeItem's columns to be unselectable, but found myself unable to select the row. I found that the only way to make the row selectable is to set column 0 to selectable:

...which still incurs the problem of an additional selection box appearing around column 0. Also, the text in the unselectable columns is not lightened up, unlike when they're selected.
I would expect the Row selection mode to work as follows:

Selecting any column in a row, whether that column is selectable or not, selects the entire row.
A selection box is only drawn around the entire row, and not around the individual columns too.
Column 0 should not need to be selectable for the entire row to be selected.

But instead it works as follows:

Selecting any selectable column selects the entire row. Selecting an unselectable item does not select the row.
A selection box is drawn around the entire row, and around the individual columns too.
Column 0 needs to be selectable for the entire row to be selected. Otherwise, only the selectable columns will be selected.

Steps to reproduce

Create a Tree node, and set its Select Mode to Row.
(Optional, but helps the issue to be seen) Give the Tree multiple columns.
Add some TreeItems to the Tree.
Run the scene, and note that selecting a row will select all the individual columns of that row, rather than just the row.

In the details box below is a pre-made script that will set up the scene for you if attached to a Tree node:

tree.gd
extends Tree

func _ready():
	# Optional, but makes this look nice
	self.column_titles_visible = true
	self.hide_root = true
	self.select_mode = Tree.SELECT_ROW

	# Set up the columns
	self.columns = 4
	# Column 1
	self.set_column_expand(0, false)
	self.set_column_title(0, "")
	# Column 2
	self.set_column_expand(1, false)
	self.set_column_title(1, "Date")
	# Column 3
	self.set_column_expand(2, false)
	self.set_column_title(2, "Change")
	# Column 4
	self.set_column_title(3, "Reason")

	var root = self.create_item()

	for i in range(5):
		var item = root.create_child()
		# Column 1
		#item.set_selectable(0, false)
		item.set_text(0, str(i+1))
		# Column 2
		#item.set_selectable(1, false)
		item.set_text(1, str(randf()))
		# Column 3
		#item.set_selectable(2, false)
		item.set_text(2, str(randi() - randi()))
		# Column 4
		#item.set_selectable(3, false)
		item.set_text(3, "Some reason")

Minimal reproduction project
godot tree issues.zip

Column 0 should not need to be selectable for the entire row to be selected.

In this case, how can individual rows be made non-selectable?

In this case, how can individual rows be made non-selectable?

By separating the row's selectability from column 0's selectability. The two should not be tied anyways, as the developer would expect to be able to set column 0 to unselectable while still allowing the row to be selectable.

I think you can file a new issue for this in the godot repo. I'd tag it enhancement but I think it's simple / consensual enough not to require a dedicated proposal, it's just a tiny adjustment to make to existing logic.


[Blocker][JMS] Cannot set and get JMS headers

Tried setting and getting JMS header types as follows.
set headers:
messages:setHeader(queueMessage,"JMSType", "AAA");
get headers:
string jmsType = messages:getHeader(m,"JMSType");
Issue
ballerina.lang.errors:Error, message: header 'JMSDestination ' not present in the message
        at getHeader(<native>:0)
        at jmsService.onMessage(QueueSubscriber.bal:29)

@dilinisg, PR is merged Can you verify this?

Issue still presents in 0.93-SNAPSHOT. Tested on 23/08

There are ten JMS Headers. We are only supporting those headers with this fix. "AAA" is not a standard JMS header. Need to use JMS properties to set custom values.
Supported JMS headers and the supported actions (set or get) is mentioned in the wiki. [1]
[1] https://github.com/ballerinalang/ballerina/blob/master/docs/server-connectors/jms-server.md#ballerina-native-functions

Thanks, @Asitha  for the explanation. I tested with given headers. It is working.


Assistance Required for Installing Plug-ins on MacOS

Hi,
Thank you very much for creating this plugin.
I am struggling to install the following plug-ins required to use 'deepness': opencv-python-headless and onnxruntime. I've attempted to install them manually, but I haven't been successful so far.
I noticed that you have provided installation steps for Linux and Windows, but not for macOS. It would be incredibly helpful if you could provide the steps for macOS as well.
Alternatively, I would greatly appreciate any other resources or references that could assist me.
Thank you for your help.
Best regards,
Jenis

I was able to install the additional package manually after following help from online resources.

I was able to install the additional package manually after following help from online resources.

Hi,
I have uninstalled Qgis by mistake,  after reinstalling everything I am not able to run the plugin again. I am getting error because of 'libprotobuf.22.dylib'. I am using macOS with M1 chip. The version of 'protobuf' on mysystem is '27.3.0'.
It would be great help if someone help me resolve this issue?

I'm also having some issues ... I have a brand new MAC, and installed QGIS 3.36 "Maidenhead', and get the following stack trace when I try to load the module:
deepness_errs.txt

ok - had to set my PATH to:
/Applications/QGIS.app/Contents/MacOS/bin/
manually remove:
/Applications/QGIS.app/Contents/MacOS/lib/site-packages/opencv_contrib_python-<IP_ADDRESS>-py3.9-macosx-10.13.0-x86_64.egg
and THEN:
pip install opencv-contrib-python
and now it installs
:-)
looking forward to playing with it!
Chris
p.s. -
on a separate but related note, is it conceivable to author/calibrate models in 'Deepness'/QGIS, and run the results in a batch-oriented/headless configuration?  I'm thinking Airflow, within the context of 'Ecoscope', as per:
https://ecoscope.io/en/stable/

Hi,
good to hear it worked and thanks for providing tips for others! We have a headless batch mode in our roadmap, but the closest you can get right now is looking at unit tests, as they run the models without UI.
Cheers
Przemek

I was able to install the additional package manually after following help from online resources.

Hi, can you help me please, how did you do it?

did you try what I wrote above, i.e.

set PATH to:
/Applications/QGIS.app/Contents/MacOS/bin/

manually remove:
/Applications/QGIS.app/Contents/MacOS/lib/site-packages/opencv_contrib_python-<IP_ADDRESS>-py3.9-macosx-10.13.0-x86_64.egg

3):
pip install opencv-contrib-python

The path and the instalation is using terminal?

yes; in finder, go to Application > Utilities > terminal
try running:
export PATH=/Applications/QGIS.app/Contents/MacOS/bin/:$PATH
rm /Applications/QGIS.app/Contents/MacOS/lib/site-packages/opencv_contrib_python-<IP_ADDRESS>-py3.9-macosx-10.13.0-x86_64.egg
pip install opencv-contrib-python

Followed the above but results in
RuntimeError: module compiled against ABI version 0x1000009 but this version of numpy is 0x2000000

Hi everyone its works, thanks a lot to everyone.
I made a tutorial and share it:
https://www.youtube.com/watch?v=kWplkzpC3mQ


15 setnx

Add SETNX method in HazeDatabase and execute command in main.

For test I have used Jedis from https://github.com/kappsegla/Build23/tree/redis

Would it be possible to add some functionality to retain more than one value?
In this code in the getValueIfExists method it only collects value if the size is == 3
In issue #14 we need to add delete functionality, which can have n parameters.
Otherwise we would have to add the functionality later and possibly cause a merge conflict.
Or maybe add an extra if statement saying something in the lines of if(DEL) then save all the keys to a string which we then can split into each single keys for the HazeDatabase.del method?


docs: add new layout to quickstart

This will add a new layout to the Quickstart as previously thought on #4419.
The idea behind it is to improve the UX by allowing the user to scroll while maintaining the content and the editor in the same viewport.
Before making this change, we must modify every .mdx file in the quickstart, as the PoC is only implemented in the quickstart-publish.mdx file.
BTW took my time to ship this one as I wanted to maintain the current sidebar + avoid breaking the current structure of the .mdx files as having the ability of writing the docs in markdown is key.
Signed-off-by: Julián Cruciani<EMAIL_ADDRESS>

Here's the link with the new Layout.

Added layout to the caching step to show how clicking a tab in the embed modifies the content too.

loved the new design! LGTM to migrate all the other quickstart pages.

Looking good in general! I only have a couple of small comments for your further review:

When viewed on mobile in landscape mode, it's quite hard to read the code and scroll because of the limited space. Does it make sense to keep the single column layout for mobile devices and only use the two column layout for larger screens?
Also related to above, the column with the play button occupies a lot of space relative to the code window. Maybe we can scale the size of that button/column?
Possible bug: When you click Play -> Login -> new login popup opens -> close the popup without actually logging in, the message in the embed says "You're authenticated".

I think we should have the embed available when the viewport is >1250px, and maybe also between 600px and 900px, before the sidebar reappears. WDYT?

I'm not really an expert on front-end UX so I'll defer to your judgement on this.

I decided on showing the embed on the right in big screens only (>1200px), because the editor content wouldn't be readable enough otherwise.
After adding the spinner to the <iframe> inside the content column, we'll be ready to start migrating the .mdx files.

@vikram-dagger @crjm regarding UX/UI question, you can also ask Camille.

@slumbering
Thanks for the review and sorry for not replying earlier. This was still a WIP and wasn't ready for review (the reviews that I asked for were to validate the layout mostly, instead of the implementation).
As for the UX review, thanks for your input @Camille-Elairin. :heart:
This is the general idea: to have a terminal on the right that follows the user scroll. This allows reading the quickstart without loosing the position of the editor.
The only problem I encountered was that medium screens <1200px would require, in a horizontal space, to render sidebar + content + editor, making the editor almost unreadable. This is why I decided to keep the editor floating on the right only when the screen is >1200px.

(maybe displaying a small message saying there is an editor for bigger screen size?)

This is something similar to what Stripe has in the quickstart we were benchmarking. You can see that as you shrink horizontally, a warning appears.

I was also wondering if you could display the editor in full width below the text

The editor will remain visible on smaller screens, but not on the right. It will be in the content column. You can see the current state here (not all steps in the quickstart have that format yet).

@Camille-Elairin LMK what you think and if it looks ok to you!
@vikram-dagger after confirmation from Camille, I'll start migrating the quickstart steps to the new format and make this PR ready for review.

@crjm seems good to me :)

:wave:  @slumbering

The editor width seems to be very small (side effect ?)

This is because the only guides that have been migrated to the new Layout are quickstart-caching.mdx and quickstart-publish.mdx. Besides these two files, the rest should not render correctly.
Now that @Camille-Elairin gave the ok, I'll start migrating the new format to all the Quickstart files.

@slumbering @vikram-dagger this is now ready for review.

@crjm embed ids will change after https://github.com/dagger/dagger/pull/4632 is merged


Docker save errors when using sha256 imageId

Output of docker version:
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 38
Server Version: 1.10.3
Storage Driver: aufs
 Root Dir: /home/marcos/docker/aufs
 Backing Filesystem: extfs
 Dirs: 298
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 3.19.0-51-generic
Operating System: Ubuntu 15.04
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.704 GiB
Name: XPS
ID: LHF6:NIMP:TNYU:QXAA:KXZP:RRV5:MJUB:GIZG:GZGQ:MFE3:H3WN:WPN7
Debug mode (server): true
 File Descriptors: 19
 Goroutines: 36
 System Time: 2016-03-21T18:54:46.651897632-03:00
 EventsListeners: 0
 Init SHA1:
 Init Path: /usr/bin/docker
 Docker Root Dir: /home/marcos/docker
Username: marcosnils
Registry: https://index.docker.io/v1/

Additional environment details (AWS, VirtualBox, physical, etc.):
Steps to reproduce the issue:
1.docker images --no-trunc
REPOSITORY                             TAG                 IMAGE ID                                                                  CREATED             SIZE
mantika/moderations-landing            master              sha256:7ea5c2193566e60519813e317184c2dd2dac367ba13e22707e3fe7ba8dd716ba   About an hour ago   256 MB

docker save 7ea5c2193566 >> Works
docker save 7ea5c2193566e60519813e317184c2dd2dac367ba13e22707e3fe7ba8dd716ba >> Errors
Describe the results you received:
Error response from daemon: Invalid repository name (7ea5c2193566e60519813e317184c2dd2dac367ba13e22707e3fe7ba8dd716ba), cannot specify 64-byte hexadecimal strings
Describe the results you expected:
As it works with the short imageId i'd expect to work with the long format.
Additional information you deem important (e.g. issue happens only occasionally):

Thanks for reporting; I think this is similar to https://github.com/docker/docker/issues/20972, and may be resolved by https://github.com/docker/docker/pull/21002, but I'm not sure if that also fixes this issue for docker save, so
/cc @tonistiigi

@thaJeztah seems like it will be resolved by #21002 per https://github.com/docker/docker/pull/21002/files#diff-0e1bc2b0323f2b28cefb8eac65ca152c
Thx!.

Oh! You're right, thanks!


Update load-balancer-configure-ha-ports.md

Removed HA Ports feature registration part, no longer applicable.

#sign-off

@RamanDhillon : Thanks for your contribution to the Azure documentation! The author, @rdhillon, has been notified to review your proposed change.


trace: emit an error when setting up the trace client when user doesn't have trace API turned on

Currently it only gives error when it trys to upload spans.

Is there a way to check this without uploading any traces? Unfortunately the same problem exists for other clients as well and in the past we couldn't find a good solution to improve the developer experience.
/cc @jba

This package has been obsoleted by  go.opencensus.io/trace.


Importing modules/packages from src into notebooks

I am inspired by this tool (but haven't used it yet). I am wondering, how do you import code from ./src into a notebook located in ./notebooks?

There's a snippet for doing this in the docs here:
https://drivendata.github.io/cookiecutter-data-science/#notebooks-are-for-exploration-and-communication
Note it uses%aimport with the assumption things in src are being actively developed. If not, just a normal import works as well.
Enjoy!


Make /review with proj id arg throw no errors

/review #project-id throws
*Error:* Invalid arguments. Try `--help` for usage.. Try `--help` for usage.

Instead it should summarize the review for the project.

This is a duplicate of https://github.com/LearnersGuild/game-cli/issues/42
We just haven't implemented that functionality yet.


i used docker-compose to deploy a tidb-clsuter，but when

i edit the spark-defaults.conf and add a line : spark.tispark.pd.addresses <IP_ADDRESS>:2379
./spark-shell
`
scala> import org.apache.spark.sql.TiContext
import org.apache.spark.sql.TiContext

scala> val ti = new TiContext(spark)
18/11/08 04:09:20 WARN KVErrorHandler: Failed to send notification back to driver since CacheInvalidateCallBack is null in executor node.
18/11/08 04:09:20 WARN KVErrorHandler: Store Not Match happened with region id 6, store id 1
18/11/08 04:09:20 WARN KVErrorHandler: Failed to send notification back to driver since CacheInvalidateCallBack is null in executor node.
`

WARN KVErrorHandler: Store Not Match happened with region id 6, store id 1 WARN KVErrorHandler: Failed to send notification back to driver since CacheInvalidateCallBack is null in executor node.
i don't know how the troubles can be shooting. who can help me ?

Hi, @yangxu1362850636 . Thanks for your feedback.
Can you provide the version of TiSpark you are using? You may directly use ti.version.
I recommend you to use version no less than 1.1 if you are using Spark 2.1, or version no less than 2.0 if you want to try out some new features in Spark 2.3.

Issue Closed.


fix scs sources cannot be appended to Kafka binder context (#31715)

cherry pick commit https://github.com/Azure/azure-sdk-for-java/commit/f7119244ffffec31f25228abe7fb808b00c4de50 from main.

/azp run java - spring - ci

API change check
APIView has identified API level changes in this PR and created following API reviews.
spring-cloud-azure-autoconfigure

/azp run java - spring - ci


Lower bleson logger verbosity

Codecov Report

Merging #24 (9695b3c) into master (18d2533) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #24      +/-   ##
==========================================
+ Coverage   95.60%   95.65%   +0.04%
==========================================
  Files           2        2
  Lines          91       92       +1
==========================================
+ Hits           87       88       +1
  Misses          4        4

Impacted Files
Coverage Δ

custom_components/ruuvi/sensor.py
95.60% <100.00%> (+0.04%)
:arrow_up:

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 18d2533...9695b3c. Read the comment docs.


R.add is inconsistent with documentation

The documentation for R.add states that it works with numbers.
The type signature is:  Number → Number → Number
Was surprised it silently worked with Strings, which then made me consider whether it would work with arrays too. It does, but not how you might expect...
 it('should work with different types', () => {
      expect(add(1.2, 1.3)).to.eql(2.5);
      expect(add('hello ', 'world')).to.eql('hello world');
      expect(add('1', '2')).to.eql('12');
      // expect(add([1, 2, 3], [4, 5, 6])).to.eql([1, 2, 3, 4, 5, 6]);
      expect(add([1, 2, 3], [4, 5, 6])).to.eql('1,2,34,5,6');
    });

Interactive example here
My point here is that R.add is behaving incorrectly - either it works 'polymorphically' for different types (for example Array concatenation) or it should be restricted to just working with Numbers. It shouldn't be returning non-sensical String values regardless of whether "this is how plain JS works with + operator..." unsafe and ambiguous.
Comments welcome.

My $0.02:
it would be nice, but at what cost? type coercion in JS is an unfortunate fact of life. I have absolutely no interest in run-time type-checking and enforcement. The majority of lines in the library would become type-checks. No thanks. For example, what about this:
filter(whereEq({x: 0}), () => 1);
that was almost certainly an invalid argument, right? Or was it? And what about:
prop(10, {'10': 'ten'})
Should that evaluate to a type error or 'ten'?
I've played with the idea of implementing Algorithm W to do type inference for ramda. But this implies a build step to do the type-check. In that case, there's no reason to use JS.
If you really want real, comprehensive type safety I think you should use a language that will actually help you. There are plenty. JS will not help; in fact, it will fight you every step of the way. Pursuing real type-safety from JS is the road to madness.

@buzzdecafe - thanks for your reply. Am happy to close this issue, I actually thought twice about raising it. I was playing around with ideas out of Haskell to some extent, and add is often used as a showcase for various qualities from category theory (which you are no doubt familar with chapter and verse):
 it('should simple category theory ideas from maths', () => {
      expect(add(1, 1)).to.eql(2);
      // associative
      expect(add(add(1, 2), 4)).to.eql(add(1, add(2, 4)));
      // commutative
      expect(add(4, 1)).to.eql(add(1, 4));
      // identity
      expect(add(1, 0)).to.eql(1);
      // distributive
      expect(multiply(2, add(3, 4))).to.eql(add(multiply(2, 3), multiply(2, 4)));
    });

Off the back of that, some documentation I was following (from brian lonsdorf) was using add as an example to illustrate generics regarding type etc, and that was when I noticed the behaviour of add in ramda didn't do what was being explained. Mind you, I understand your position on this. Thanks again.

add is often used as a showcase for various qualities from category theory (which you are no doubt familar with chapter and verse)

No indeed -- i have a lot to learn about all of this stuff. My ignorance is exactly what got me interested in this project to begin with. I agree with you that the unintentionally polymorphic behavior of add is a problem. I just don't see a clear way to "fix" it in a js lib.
On the other hand, experience has taught me that I'm often wrong. So I am interested to hear if others want to contribute on this subject.

Further playing around... I think I might have closed this issue too early. Insultingly simple demo admittedly but..:
const _Identity = function (value) {
  this.value = value;
};

_Identity.prototype.map = function (fn) {
  return new Identity(fn(this.value));
};

const Identity = function (value) {
  return new _Identity(value);
};

The problem with add really starts to show itself when you use the algebraic data types, in particular with nested functors. Take a look at this example:

 R = require('ramda'),
  map = R.map,
  compose = R.compose,
  add = R.add,

it('should handle single functor map', () => {

      const inc = add(1);
      expect(map(inc, Identity(4))).to.eql(Identity(5));
    });

So far so good. Now, we have nested functor to map, and mistakenly get it wrong:
  it('should handle nested functor map', () => {

// note 4 is wrapped inside a singleton array
      const broken = map(inc, Identity([4]));
      console.log(broken.value);
       // => 14  !!!!!!!!     // oh dear...
    });

Of course, what we wanted was to map twice and increment the value inside the singleton array inside Identity:
it('should handle nested mapping', () => {

      const res = map(map(inc), Identity([4]));
      expect(res).to.eql(Identity([5]));

    });

I am really started to be skeptical that these algebraic types make much sense unless Type support is available. Otherwise, it is just so easy to go wrong without any compile time or (perhaps even) runtime errors to indicate something has gone wrong.
Feedback most welcome.

I am really started to be skeptical that these algebraic types make much sense unless Type support is available

yep. ultimately, the onus is on the user to be the type checker.

@buzzdecafe - Agree with you here, thanks for the input. Perhaps overstating the problem, as this isn't so different from the risks inherent in JS full-stop. Do find in this language I have to aim for very high test coverage to remediate bugs that can be identified early. But this algebraic stuff isn't that easy to reason about when it starts dealing with nesting, maps, flatmaps, compositions etc.
Will leave this issue open for another day in case others wish to contribute. Satisfied I know where I stand on this - proceed with caution.

Satisfied I know where I stand on this - proceed with caution.

I think that is one of the lessons to take with you when working in a dynamically typed language.  But many people find that these sorts of issues have little practical import for them.
I absolutely love what @davidchambers is doing with Sanctuary, and it does help add some sanity to the process.  But I feel that so long as the base language is JS, it's a fool's errand to expect strong type safety.
As to something like add, I'm perfectly happy with caveat emptor.  We create a function, tell you the types it's designed to work on.  That it manages to have some interesting behavior when you supply other types, appropriate or not, is happenstance.  Don't count on that behavior remaining the same on the next release, though.

Thanks for comments. Closing, as this is expected behaviour.


Wallet creation using NEP-6

Reopening #69 with the new target.
Also removed mixed codes from other issues that were all together in simplitech:wallet2

Copying Discord interface proposal by @lock9 here so we keep things together.
ricklock — Yesterday at 8:29 PM
HI Erik, this is the interface we plan to use: (using python naming conventions)
Wallet:
- [#59] NewWallet (location: string) : Wallet
- [#78] NewWalletFromFile (location: string) : Wallet
- [#68] CreateAccount(name: str, passphrase : str)
- [#63] AddAccount(acc: Account)
- [#63] RemoveAccount(address: str)
- [#70] Save()
- [#70] JSON()
    - [#72] AddToken(scriptHash: UInt160)
    - [#72] RemoveToken(scriptHash: UInt160)

Account:
- [#71] NewAccount()
- [#61] Decrypt(passphrase string)
- [#61] Encrypt(passphrase string)
- [#71] NewAccountFromWif(wif: string)
- [#68] NewAccountFromEncryptedKey(nep2: string, password: string)
- [#71] NewAccountFromPrivateKey()
    - [#66] SignTx(magic: Magic, tx: Transaction)
    - [#66] GetVerificationScript()
    - [#67] ConvertMultisig(m int, publicKeys : publicKey[])

I have a slightly different view on the interface which I'm going to describe below and then we can discuss how to get to the best of both worlds. Note I just found it easiest to type it in my IDE, this is by no means final.
class Account:
    def __init__(self, password: str):
        # create a new account encrypting the key with password
        self.is_default: bool
        self.address: str
        self.public_key: ECPoint
        self.encrypted_key: bytes

    @property
    def script_hash(self) -> UInt160:

    def export_private_key(self, password: str) -> bytes:
        # decrypts the encrypted key

    def sign_tx(self, tx: Transaction, password: str, magic: int = settings.network.magic):
        # single accout signing

    def sign_multisig_tx(self, tx: Transaction, password: str, ctx: SigningContext, magic: int = settings.network.magic):
        # multisig signing

    def token_add(self, token_hash: UInt160) -> bool:
        # true if added, false if already exists

    def token_delete(self, token_hash: UInt160) -> bool:
        # true if deleted, false if failed if not found

    def token_delete_by_name(self, token_name: str) -> bool:
        # true if deleted, false if e.g. not found

    @classmethod
    def from_encrypted_key(cls, private_key: str) -> Account:
        # from nep2 key

    @classmethod
    def from_private_key(cls, key: bytes, password: str) -> Account:
        # we never store private key in plaintext and encrypt using password

    @classmethod
    def from_wif(cls, wif: str, password: str) -> Account:
        # we never store private key in plaintext and encrypt using password

    @classmethod
    def watch_only(cls, hash: UInt160) -> Account:

    @classmethod
    def watch_only_from_address(cls, address: str) -> Account:

    @staticmethod
    def address_to_script_hash(address: str) -> UInt160:

    @staticmethod
    def script_hash_to_address(script_hash: UInt160) -> str:

class Wallet:
    def __init__(self):
        # default empty wallet with no account

    def account_new(self, label: str, password: str, is_default=False) -> Account:
        # if first account, also set to default

    def account_add(self, account: Account, is_default=False) -> bool:
        # true if ok, false if duplicate (any other possible reasons? otherwise we need to throw exceptions)

    def account_delete(self, account: Account) -> bool:
        # return success or not
        # if it was the default account, select a new one

    def account_delete_by_label(self, label: str) -> bool:
        # return success or not
        # if it was the default account, select a new one

    def save(self, path: str = None):
        # default = save to disk at current location (.) with default name 'wallet.json'
        # parameterized = save to disk at specific location
        # we do not care about json extension as an extension does not guarantee valid contents. We just need a file
        # descriptor and attempt to read data as json

    def set_default_account(self, account: Account):

    def to_json(self) -> dict:

    @classmethod
    def from_json(cls, json: dict) -> Wallet:

    @classmethod
    def from_file(cls, path: str) -> Wallet:

    @property
    def account_default(self) -> Account:
        # there should be only 1 account that is used by default for payment

    @property
    def accounts(self) -> Iterator[Account]:

To me a Wallet is by default an empty container that can hold Accounts. One of the "biggest" differences with @lock9 's interface is that we make no assumption that a wallet will be persisted to disk. Instead a Wallet is defaulted to be an in-memory object. This is reflected in not taking any path argument and instead asking for a path when calling save().
The function naming is a bit different because I like 1. self-explanatory names without duplication 2. easy to find with auto complete. Hence we have account_new/add/delete/default instead of new_account, add_account etc.
On the Account side my main objective was to never keep the private key in plaintext in memory and only decrypt when needed. This resulted in functions like from_private_key() to have a password argument with which the private key will be encrypted before storing internally. Also the signing functions require the password of the private key in order to sign.
There is no direct equivalent of [#66] GetVerificationScript() on any of the two objects. Instead one can use account.public_key in combination with the existing create_signature_redeemscript()
I'm unclear what [#67] ConvertMultisig(m int, publicKeys : publicKey[]) is supposed todo, but I assume it is the equivalent of create_multisig_redeemscript().
Looking forward to your feedback :-)

Changing scrypt parameters to default is good for me as well.

On 28 Apr 2021, at 17:13, Mirella de Medeiros @.***> wrote:

@meevee98 commented on this pull request.
In neo3/wallet/wallet.py:

       scrypt: a ScryptParameters object which describes the parameters of the SCrypt algorithm used for encrypting

               and decrypting the private keys in the wallet.

       accounts: an array of Account objects which describe the details of each account in the wallet.

       extra: an object that is defined by the implementor of the client for storing extra data. This field can be

              None.

   """

   self.path = path

   self.name = name

   self.version = version

   self.scrypt = scrypt

   self.accounts = accounts if accounts is not None else []

   self.extra = extra

@classmethod
def default(cls, path: str, name: Optional[str] = None) -> Wallet:
This seems fine to me

Just one more thing: if the user would call init, what about changing scrypt with a default value as well?
By setting its default as scrypt: ScryptParameters = ScryptParameters(), so the user isn't forced to set the script parameters by themself.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or unsubscribe.

To me a Wallet is by default an empty container that can hold Accounts. One of the "biggest" differences with @lock9 's interface is that we make no assumption that a wallet will be persisted to disk. Instead a Wallet is defaulted to be an in-memory object. This is reflected in not taking any path argument and instead asking for a path when calling save().

I've talked with @lock9 and we don't think it is a good idea for a wallet to be an in-memory object by default. Persisting the wallet in each change avoids the user having losses in case of unexpected errors.

On the Account side my main objective was to never keep the private key in plaintext in memory and only decrypt when needed. This resulted in functions like from_private_key() to have a password argument with which the private key will be encrypted before storing internally. Also the signing functions require the password of the private key in order to sign.

Yeah, I agree with this. Should we keep the public key as well, since we can't get the private key from it?

I've talked with @lock9 and we don't think it is a good idea for a wallet to be an in-memory object by default. Persisting the wallet in each change avoids the user having losses in case of unexpected errors.
Fair point. However, I still do not want to decide for the user that they must persist to disk, so we'll have to make it optional or configurable. I'll come back with an idea later on.

Should we keep the public key as well, since we can't get the private key from it?
I think having the public key accessible is useful. For example say you're generating an account which you want to use as consensus node, or voting. There is also no risk with it being in memory as it's supposed to be shared publicly

I've talked with @lock9 and we don't think it is a good idea for a wallet to be an in-memory object by default. Persisting the wallet in each change avoids the user having losses in case of unexpected errors.

Fair point. However, I still do not want to decide for the user that they must persist to disk, so we'll have to make it optional or configurable. I'll come back with an idea later on.

To continue the above discussion on wallet saving logic here's a user-story that would not work with forced persisting to disk.

As an exchange I want to create many wallets and save them in a format of my choice

The above format of choice could be binary or more likely some database that you can query. You don't want to search json files on disk for the wallet of a specific user. In my eyes NEP-6 only specifies a common import/export format that allows users to easily take a wallet from program A to program B, it does not mandate saving to disk.
New interface idea
While at first I wanted to avoid a base class with specialisations, perhaps it is inevitable. How about the following (only kept functions related to saving)
class Wallet:
   def __init__(self):
      pass
   def save(self):
      pass
    def __enter__(self):
       return self
    def exist(self, exc_type, exc_val, exc_tb):
       self.save()

One can now use the context manager to automatically save the wallet e.g.
with Wallet() as wallet:
   wallet.account_add(acc)

or
with Wallet.from_json({'some': 'json'}) as wallet:
   wallet.account_add(acc)

If you want to persist to disk, then create a specialised Wallet class and override the save() method.
I believe the above satisfies all needs? Let me know what you think.
Note; I currently do not see a realistic case where not persisting after every change will result in losses with any damage. E.g. If I create a wallet with a new account using the context manager (as above), then it is virtually impossible to have funds send to this new account, then have some exception occur that will fail to run save() or crash the program and therefore lose keys + the funds.

This seems a very nice solution. I'm going for it.
Just one more thing: as you suggested, if one wanted to persist the wallet saving the nep6 in a file, it should create a specialized class. I'm going to do this, but I'm not sure if I put this class in the test package (just for testing the actual nep6) or if I include this specialized wallet in the wallet module
Note: About this class, @lock9 and I agreed that using Nep6Wallet as the name doesn't seem right, but we couldn't think of another name, if you have any suggestions I will appreciate it.

I'm going to do this, but I'm not sure if I put this class in the test package (just for testing the actual nep6) or if I include this specialized wallet in the wallet module

In the wallet module is fine. It is likely going to be a much used class if there will be a cli + it can serve as a reference

Note: About this class, @lock9 and I agreed that using Nep6Wallet as the name doesn't seem right, but we couldn't think of another name, if you have any suggestions I will appreciate it.

Yeah that's a hard one. The best I can come up with now is Nep6DiskWallet or Nep6MediaStorageWallet, but they're not really pretty 😅


Add Configuration server Verticle

The configuration information which is currently configured with a property file and copied verbatim to the car should be made available via a Verticle. The idea is to use a in memory graph database for this and other information so that logging and other services can also be added by this design.
The first test case will be to transmit the raspberry PI camera url this way which is still hard coded in the front end since it's too much effort to read the ini file from javascript. Getting the data via the eventbus should be viable.

According to https://vertx.io/docs/vertx-core/java/ it's possible to pass configuration information to a verticle. The verticle.config() method makes this configuration accessible. So we'll simply add a asJsonObject to Enviroment and make available the properties from the dukes.ini file this way.

The configuration is now send in json format to the remotecar on startup by default. There is no special verticle but the server verticles carserver or app will send configurations. The webcontrol can receive the configuration on request and forward it to the remote car.


Fix warning because of duplicate Copy Headers entry

The MMDrawerController+Subclass.h is duplicated in the Copy Header section of the generate Pods project.

Got this in a different PR. Thanks!


docs(deployment): add GitHub Pages guide

Check List
Please read and check followings before submitting a PR.

[x] Others (Update, fix, translation, etc...)

Continue from https://github.com/hexojs/site/pull/1084
Adapted from this blog post (disclosure: I'm the author) with more clarifications and removed node installation guide.

Merged, ignored the netlify fails as it is system error.


Fix readonly form data return

The typings for ReadOnlyFormData's get and getAll methods are wrong, as they both return undefined when there is no value for the given key. This results in a loss of type-safety and misguided programmers, as at least I have thought that they return the empty string/array when there are no values.
This PR changes the behavior of these methods so they are identical to the spec's FormData ones: get returns null if no value is present, getAll returns an empty array. This is the way I expected, and I think everyone coming to Svelte, it should work, especially given that for endpoints we pass FormData as the Input type parameter for a RequestHandler. It is also a breaking change, as it results in some errors from Typescript (even in this codebase, see commit ae40649).
EDIT: I also wonder if the types for RequestHeaders are also incorrect, as both Node's IncomingHttpHeaders and spec's Headers objects return either undefined or null when the header is not present.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Thank you!


Headset Pro 930 MS Duo is a device certified for Teams

Can you please confirm if the Headset Pro 930 MS Duo is a device certified for Teams?
Arcoding to the list below it's not certified:
https://docs.microsoft.com/en-us/microsoftteams/devices/usb-devices
Acording to the list below it's certified:
https://www.microsoft.com/en-us/microsoft-365/microsoft-teams/across-devices/devices/product?deviceid=69
https://www.microsoft.com/en-us/microsoft-365/microsoft-teams/across-devices/devices/category?devicetype=36&filterIds=27&page=1&sortBy=3

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

ID: b118e0a7-1fef-feae-6c6d-e24c4485a5b9
Version Independent ID: ae18e2db-fbbf-f30c-3c56-17dd0d2b85d1
Content: Phones and Devices for Microsoft Teams - Microsoft Teams
Content Source: Teams/devices/usb-devices.md
Service: msteams
GitHub Login: @mattpennathe3rd
Microsoft Alias: v-mapenn

@tiagoroxo Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Codesigning broke

Hi there and thanks for the great tool. I have been using it to package and notarize Loungy , but somehow suddenly codesigning broke.
ERROR Failed to run codesign utility: File exists (os error 17)

Not sure how to debug this. Would appreciate any pointers :)
https://github.com/MatthiasGrandl/Loungy/actions/runs/8936082856/job/24545757123

can you run the packager with verbose output? cargo packager --release -vvv maybe we can get more information about it

packager-dump.txt
here you go and thanks for looking into this!


Use http.Header for MultiValueHeaders

Issue #, if available:
Description of changes:
Use http.Header type for MultiValueHeaders field in the following types:

APIGatewayProxyRequest
APIGatewayProxyResponse
APIGatewayV2HTTPResponse
APIGatewayWebsocketProxyRequest
APIGatewayCustomAuthorizerRequestTypeRequest

The change is backwards compatible and makes it easier to work with headers in requests and responses. By allowing developers to do response.MultiValueHeaders.Set("Content-Type", "plain/text") or better yet response.MultiValueHeaders.Add("Set-Cookie", "ping=pong")
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #352 (add658f) into master (b3dd246) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #352   +/-   ##
=======================================
  Coverage   72.22%   72.22%
=======================================
  Files          19       19
  Lines         738      738
=======================================
  Hits          533      533
  Misses        138      138
  Partials       67       67

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 b3dd246...add658f. Read the comment docs.

Codecov Report

Merging #352 (add658f) into master (b3dd246) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #352   +/-   ##
=======================================
  Coverage   72.22%   72.22%
=======================================
  Files          19       19
  Lines         738      738
=======================================
  Hits          533      533
  Misses        138      138
  Partials       67       67

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 b3dd246...add658f. Read the comment docs.

while useful, this change would not be backwards compatible.
package main

import (
	"fmt"
	"net/http"
)

type Response struct {
	headers http.Header // program fails to compile
	// headers map[string][]string // program compiles
}

type MyMapType map[string][]string

func mutate(x MyMapType) {
	x["hello"] = []string{"hello"}
}

var _ = http.StatusOK // prevent unused import error

func main() {
	r := &Response{headers: make(map[string][]string)}
	mutate(r.headers)
	fmt.Printf("r = %v\n", r)
}

./prog.go:23:10: cannot use r.headers (type http.Header) as type MyMapType in argument to mutate

Go build failed.

ref: https://play.golang.org/p/Wh_3UIjeYFH
It's a little bit more typing, but you can still get the UX you desire in your code by adding a type cast
package main

import (
	"fmt"
	"net/http"
)

type Response struct {
	MultiValueHeaders map[string][]string
}

func main() {
	r := &Response{MultiValueHeaders: make(map[string][]string)}
	http.Header(r.MultiValueHeaders).Add("Set-Cookie", "ping=pong")
	http.Header(r.MultiValueHeaders).Add("Set-Cookie", "foo=bar")
	fmt.Printf("r = %v\n", r)
}

r = &{map[Set-Cookie:[ping=pong foo=bar]]}

ref: https://play.golang.org/p/Bfd_-ZO5Z2K


No Compile Nerves

Hi, I got this error trying to build with Nerves and a custom image. Help would be very useful.
exqlite
c_src/sqlite3_nif.c c_src/sqlite3.c == /Users/joserodriguez/nerves-fw/in2_firmware/in2_firmware/_build/rpi4_dev/lib/exqlite/obj/sqlite3_nif.o /Users/joserodriguez/nerves-fw/in2_firmware/in2_firmware/_build/rpi4_dev/lib/exqlite/obj/sqlite3.o == c_src/sqlite3.c c_src/sqlite3_nif.c
--sysroot=/Users/joserodriguez/docker_stuff/nerves_system_rpi4/staging
 CC sqlite3_nif.o
 CC sqlite3.o
In file included from c_src/sqlite3.c:27215:
/Users/joserodriguez/.nerves/artifacts/nerves_toolchain_armv7_nerves_linux_gnueabihf-darwin_arm-1.6.1/lib/gcc/armv7-nerves-linux-gnueabihf/11.3.0/include-fixed/pthread.h:40:10: fatal error: bits/types/struct___jmp_buf_tag.h: No such file or directory
   40 | #include <bits/types/struct___jmp_buf_tag.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [/Users/joserodriguez/nerves-fw/in2_firmware/in2_firmware/_build/rpi4_dev/lib/exqlite/obj/sqlite3.o] Error 1

asdf current
elixir          1.12            /Users/joserodriguez/nerves-fw/in2_firmware/in2_firmware/.tool-versions
erlang          23.3.4          /Users/joserodriguez/nerves-fw/in2_firmware/in2_firmware/.tool-versions

Oh, @joserpintuitivo something is wrong with your pthread installation. That header is emitted from that library.

I found the solution to the problem. As I am using Erlang 23. I was using a very new Nerves Toolchain. You see to do a downgrade to version 1.4.1


Revert version number to 1.1.0

The travis push build failed because there had been a branch with the same name on this repository, but I deleted it and pushed to my fork first to test here and then made this PR.


smoothness_priors fix

smoothness_priors_fix.docx
Change the shape of matrix B so that the number of rows matches the length of the interpolated input signal.

Thank you very much @jrushing99!


Refactor file browser

Fixes #303.
This adds back in FileBrowser.vue, and adds a new girder state property currentDandiset, instead of hackily using selected, which is meant to be used by the hierarchy widget.

@dchiquit Good suggestions, I applied those changes.


Can expose the contextmenu interface?

monaco-editor version: 0.13.1
Browser:chrome
OS: windows 10
Steps or JS usage snippet reproducing the issue:
now,I want to customize the contextmenu included the embedded contextmenu(eg:copy ,cut),but I just only can add addtional contextmenu and can't remove or update the contextmenu which is embedded.

I had the same problem with typescript

I solved the problem with patch-package, it can overwrite third-party libraries


Sunil kumar/issue306: To implement /v1/bequeath-your-data-and-die

Fixes: https://github.com/openBackhaul/TypeApprovalRegister/issues/306
Reviewer is @PrathibaJee

Need to change the base branch, so closing this PR and raising a new PR


Build native image on GitHub Actions

Getting weird error on Windows "Invalid thread stack size: -Xss4m":
Run sbt -v -Dfile.encoding=UTF8 nativeImage
[addJava] arg = '-Dfile.encoding=UTF8'
[residual] arg = 'nativeImage'
No extra sbt options have been defined
No extra sbt options have been defined
Detected sbt version 1.4.5
Downloading sbt launcher for 1.4.5:
  From  https://repo.scala-sbt.org/scalasbt/maven-releases/org/scala-sbt/sbt-launch/1.4.5/sbt-launch-1.4.5.jar
    To  /c/Users/runneradmin/.sbt/launchers/1.4.5/sbt-launch.jar
Downloading sbt launcher 1.4.5 md5 hash:
  From  https://repo.scala-sbt.org/scalasbt/maven-releases/org/scala-sbt/sbt-launch/1.4.5/sbt-launch-1.4.5.jar.md5
    To  /c/Users/runneradmin/.sbt/launchers/1.4.5/sbt-launch.jar.md5
/c/Users/runneradmin/.sbt/launchers/1.4.5/sbt-launch.jar: OK
Using jvm options defined in file .jvmopts
# Executing command line:
java
-Xss4m
-Xms1G
-Xmx4G
-XX:ReservedCodeCacheSize=1024m
-XX:+TieredCompilation
-XX:+CMSClassUnloadingEnabled
-Dfile.encoding=UTF-8
-Dsbt.supershell=false
-Dfile.encoding=UTF8
-jar
/c/Users/runneradmin/.sbt/launchers/1.4.5/sbt-launch.jar
nativeImage

saving stty:
Invalid thread stack size: -Xss4m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Error: Process completed with exit code 1.


update README.md

Codecov Report

Merging #141 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #141   +/-   ##
=======================================
  Coverage   72.03%   72.03%
=======================================
  Files          40       40
  Lines        2750     2750
=======================================
  Hits         1981     1981
  Misses        624      624
  Partials      145      145

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 35acf82...8790390. Read the comment docs.


[Xcodeproj] Be resilient against failures when checking for ignored f…

…iles
This also makes the extra files feature work skip submodules.
rdar://problem/49281285 Xcodeproj's skip extra file feature doesn't work correctly when there are submodules

@swift-ci smoke test


AIMA4e reimplement Fig 6.5 Backtracking-Search from AIMA3e branch

Is this issue still open ?

Yes, though we are still working on stabilizing our APIs on the 4e branch.

@ctjoreilly I am really interested in contributing . Can you point out some beginners issue , so that I may get started. I have set up the environment but I do not have much knowledge of AI. I have a good knowledge of Java and I am currently working on a GSoC 16 project with Systers as my mentoring organisation.

@yatna I have sent you a direct email with some suggestions.
Best
Ciaran


Ability to bypass hyprlock by running it again?

Regression?
No
System Info and Version
 System/Version info
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

System Information:
System name: Linux
Node name: xps
Release: 6.9.3-3-MANJARO
Version: #1 SMP PREEMPT_DYNAMIC Mon Jun 10 09:50:04 UTC 2024

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:191b] (rev 06) (prog-if 00 [VGA controller])

os-release: NAME="Manjaro Linux"
PRETTY_NAME="Manjaro Linux"
ID=manjaro
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="32;1;24;144;200"
HOME_URL="https://manjaro.org/"
DOCUMENTATION_URL="https://wiki.manjaro.org/"
SUPPORT_URL="https://forum.manjaro.org/"
BUG_REPORT_URL="https://docs.manjaro.org/reporting-bugs/"
PRIVACY_POLICY_URL="https://manjaro.org/privacy-policy/"
LOGO=manjarolinux

Description
Given the following hyprland.conf:
$mainMod = SUPER
bind = $mainMod, L, exec, hyprlock

when I hit SUPER+L, I see the hyprlock screen as expected. But when I hit SUPER+L again, while hyprlock is active, it closes itself as if I have typed in the password. And when I do that, I can't enable it again (the keybind seemingly stops doing anything).
How to reproduce
I haven't tried on other systems, but this happens every time for me.
hyprland.conf:
$mainMod = SUPER
bind = $mainMod, L, exec, hyprlock

Hit SUPER + L  to trigger lock screen
Hit SUPER + L again to close it

Crash reports, logs, images, videos
No response

Old version. It doesn't seem to happen on 0.41.1.

update


Use Intl.Collator instance for case-insensitive comparison

What
Use an Intl.Collator instance for case-insensitive comparison for better performance.
Context
See this Slack thread and this gist if you want to test this out on your local machine.
On my machine, the tests in the gist came back with the following results.

Test
Avg duration across 3 runs

toLowerCase
80ms

localeCompare
7,500ms

collator
73ms

Interesting find!
Out of curiosity I benchmarked creating a collator instance inside a loop and got similar results to localCompare which suggests that's what's happening internally.
    const result = await measureExecutionPerformance(3, () => {
      for (const id of contactIds) {
        contacts.some((x) => {
          const collator = new Intl.Collator(undefined, { sensitivity: 'base' })

          return collator.compare(x.id, id) === 0
        }) || throwError(new Error('Match not found'))
      }

      return Promise.resolve()
    })


No place to report a bug for bundles or bundle creation

Bug report template says:

Please file new issues at https://bugs.launchpad.net/charmed-kubernetes.

However, there is no project to report a bug about bundles or bundle creation in https://launchpad.net/charmed-kubernetes
Can you please create a project in Launchpad under charmed-kubernetes and close this issue?

Project created: https://launchpad.net/charmed-kubernetes-bundles


refactor(nodebuilder/tests/swamp): Wait til height 2 to begin filling blocks

Resolves flakiness for macos users. Originally part of #1548.

Codecov Report

Merging #1847 (7267626) into main (e48ffd5) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1847      +/-   ##
==========================================
+ Coverage   57.11%   57.24%   +0.12%
==========================================
  Files         242      242
  Lines       16189    16186       -3
==========================================
+ Hits         9247     9266      +19
+ Misses       5988     5966      -22
  Partials      954      954

Impacted Files
Coverage Δ

share/p2p/peers/pool.go
94.82% <100.00%> (-0.14%)
:arrow_down:

share/eds/byzantine/pb/share.pb.go
34.84% <0.00%> (+1.96%)
:arrow_up:

share/availability/discovery/discovery.go
56.34% <0.00%> (+2.38%)
:arrow_up:

share/eds/byzantine/bad_encoding.go
69.00% <0.00%> (+3.00%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


In Random Battle, Zoroark causes team pane to misformat

In random battles, when a Zoroark is switched in for the first time, its Illusion takes up one slot in the team pane. Then, when Illusion fades, Zoroark takes up another slot. This means that Zoroark takes up two slots when it should only be taking one, so the last slot does not show up at all.

Here, I had Muk in the 7th slot, but it's blocked out since Cofragius appears twice (once as Zoroark's Illusion, once as itself).

Yeah, I got a report on Twitter about this, too.
Unfortunately, this isn't very easy to fix. What should be done here, do you think?

The only fix is probably to allow more than 6 pokemon in the team list, if there's a Zoroark involved.

Do you have a replay link, by any chance?

Okay, I found a replay:
http://replay.pokemonshowdown.com/gen7randombattle-787021610
(You actually posted it in Dev but forgot to put it here. Remember, every little thing helps, and replays are basically required if you want us to fix anything.)

I fixed the worst bug, which made it so pokemon beyond the 6th weren't showing up. Now they are showing up.
I think on top of that, I'd want to combine multiple species into a single entry, if Species Clause is on. Only one will be the "real" Cofagrigus, but that can just be noted in the tooltip.

Besides the obvious lack of team preview, the other reason this is specific to randbats is that in normal battles, you almost always use nothing but L100s, so a Cofagrigus shows up as "L100 Cofagrigus" and then a Zoroark that disguises in that slot will also appear as "L100 Cofagrigus", which are indistinguishable. For all the team tracker knows, those slots are one and the same.
In randbats, though, you can have a L80 Cofagrigus, but a Zoroark will appear as a L78 Cofagrigus instead (an interaction that was recently set right by #4764 ), so the team tracker can be certain that whatever's going on, that accounts for two distinct party slots. The really ugly case is where Zoroark leaves without its illusion being formally broken, then comes back later in the battle disguised as something else; there's no real good way to present such a case to the opponent unless you give them a "cheat sheet" tipping them off to the current implementation of randbats and specifically pointing out when a Pokemon shows up with the "wrong" level for its tier.
Hackmons and Custom Game formats are a different beast entirely, since there you can't even constrain that an Illusion user must be Zorua or Zoroark. But the ability might be on its way out of BH soon, and Custom Game was never meant to be played seriously, so any illusion bugs affecting those formats can be treated as a lower priority.

Yeah, I don't like how correct mechanics makes randbats Zoroark useless. I might actually set up an Illusion Clause Mod for randbats specifically.

I ended up setting Illusion Clause Mod which was immediately reverted. The new compromise was to set Zoroark's level to the level of the last Pokémon.
This wouldn't prevent this issue from appearing, but at least it will be less common, now.

Closing; this will be tracked in:
https://github.com/Zarel/Pokemon-Showdown-Client/issues/1149


Detector output missing group number

When running pack,
[detector] Trying group of 2...

should read
[detector] Trying group <some number> of 2...

@djoyahoy Not seeing the right output based on @ameyer-pivotal's comment.  Here's my detector output (running  pack-0.1.0-build.94-darwin)
===> DETECTING
[detector] Trying group of 8...
[detector] ======== Results ========
[detector] Cloud Foundry OpenJDK Buildpack: pass
[detector] Cloud Foundry Build System Buildpack: pass
[detector] Cloud Foundry JVM Application Buildpack: pass
[detector] Cloud Foundry Azure Application Insights Buildpack: skip
[detector] Cloud Foundry Debug Buildpack: skip
[detector] Cloud Foundry Google Stackdriver Buildpack: skip
[detector] Cloud Foundry JMX Buildpack: skip
[detector] Cloud Foundry Procfile Buildpack: skip

@mgibson1121 This would be a lifecycle changes so you'd need to select a builder with the right lifecycle binaries. Let me see if I can get you a builder with the latest lifecycle binaries.

After pairing with @djoyahoy, accepting this story

fixed on master


feature: help with winui 3 support

Is your feature request related to a problem? Please describe.
Currently there is no support for winui 3.
Describe the solution you'd like
I have ported the existing UWP-integration to winui (or to be more precise: to Microsoft.WindowsAppSDK).
Mainly I had to change the imports.
I could create a PR that integrates it directly
OR publish it as a standalone package.
OR use some conditional compilation magic and reuse 99% of the existing code.
I happy to do necessary changes (PR) for either solution :)
Regardless of the outcome, I also stumbled across a few design choices (in the original UWP code) which I do not understand.
Could someone of the maintainers answer them please? I am curious :)

DependencyResolverMixins.cs:  RegisterNavigationView(..., Func<TView> navigationViewFactory) accepts a factory method which is called inside the method.
That's effectively the same as passing in the final value. I used an Lazy<(TView, ViewStackService)> instead. Worked flawlessly, but I do not understand why it's designed to work this way?
Sextant's NavigationView is barebone navigation component and works well. But there's also the native NavigationView which could have been extended instead. It's always possible to use a custom navigation component but this is not clearly documented either.

Thank you for this amazing package and best regards,
Gitii

@Gitii We would gladly work with you to get what you have integrated into this package.  Should be just a PR probably with a WinUI3 platform, or a separate Sextant.WinUI project.  If we need to do more or something different to support it easier, we'll assess after we get your PR in.

It was designed that way because of simplicity and a lot of the legacy Splat container registrations use a Func implementation when you have to construct your ViewModel.  I think a Lazy implementation either alongside or replacing it should be just fine.  Splat doesn't have a very good Lazy story, so it was probably just to keep things simple.
This question is a bit more in-depth.  This is really a platform-specific thing.  The Xamarin Forms implementation does extend the Xamarin.Forms NavigationPage, so I think doing that for WinUI is fine.

It exists. Look at reactiveui.winui nuget package

I have created the PR: https://github.com/reactiveui/Sextant/pull/561


[CI] Adopt GitHub actions

Motivation
We want to switch our CI to GitHub actions.
Modification
This PR sets up the reusable workflows from NIO.
Result
More modern CI.

API break is expected since I removed @_unsafeInheritExecutor from the deprecated APIs.


Stall command

Add a command to allow tickets to go to archive with a time limit to auto close or to be manually close. This should allow the user who opened a ticket time to reopen the ticket before the ticket auto closes or is manually closed. This will make it so users can reopen an unresolved issue without cluttering up active tickets and not having to explain a deleted issue again. This would reflect the common opendesk and helpdesk closed with reopen options.
Although probably not the intent and out of scope for a discord system, but having a backend that logs ticket conversations so old issues can be read would help too.

Let's call this command stall, and add configuration values for STALL_LIMIT which is an integer value of the time in seconds to allow a ticket to remain open and STALL_AUTOCLOSE which is a boolean and determines if the tickets will stall forever or will auto close.

LOL You could call it ghost busters too or even lasers. as long as it does something like described above...

LOL You could call it ghost busters too or even lasers. as long as it does something like described above...

I wanted to name it stall because there is already an archive command planned and stall clarifies that it is being stalled due to inactivity


Is EF Core (formerly called EF7) supported?

Thanks,

+1.
Any chance of having this ported to Core? We're using this wonderful library very extensively in many of our projects.

+1

+1

+1

https://github.com/scaredfinger/LinqToQuerystring/pull/1

@everyone - it looks like MSFT is one step ahead already of us.
I stumbled across  'Microsoft.AspNet.WebApi.OData' today and realized that much of the functionality I was looking for here from 'LinqToQuerystring' looks to be handled there.
Checkout:

(Microsoft.AspNet.WebApi.OData)[https://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData/]
(Microsoft.OData.Stack)[http://odata.github.io/]

HTH!


all: preallocate slices with known size

This avoids reallocations in loops, cf. #10056
Found using github.com/alexkohler/prealloc

test-me-please

Can we add this as a checker?

Will look into it, yes. But there are some cases in which preallocation doesn't make sense, i.e. the slice is rather small and/or the capacity cannot be estimated reliably. Thus the prealloc results need manual inspection, e.g. I left out these:
pkg/datapath/linux/node_addressing.go:39 Consider preallocating addresses
pkg/endpoint/bpf.go:258 Consider preallocating updatedStats
pkg/envoy/server.go:1031 Consider preallocating policies

Not sure how to tell the checker to ignore these cases.

Can we add this as a checker?

Will look into it, yes. But there are some cases in which preallocation doesn't make sense, i.e. the slice is rather small and/or the capacity cannot be estimated reliably. Thus the prealloc results need manual inspection, e.g. I left out these:
pkg/datapath/linux/node_addressing.go:39 Consider preallocating addresses
pkg/endpoint/bpf.go:258 Consider preallocating updatedStats
pkg/envoy/server.go:1031 Consider preallocating policies

Not sure how to tell the checker to ignore these cases.

I guess there isn't a tag to ignore false positives.

Coverage decreased (-0.008%) to 45.502% when pulling d01e76c745677fc5e31b3f7ceebaad584bdb27b7 on pr/tklauser/prealloc-slices into 7c023b53832de6c6e6fb825d5c678925e34b27ef on master.

I guess there isn't a tag to ignore false positives.

Doesn't look like it :disappointed:

Found some other cases using the -forloops flag, please have another look.

test-me-please

test-me-please


Plugin 'pytest-splinter' could not be loaded

Requirement.parse('selenium>=3.141.0'), {'splinter'}

Can you provide some more information about the issue you are experiencing?

I'm closing this due to inactivity.


Update start stop api to use pod status function.

Update the start and stop api to validate pod status based on status functions
rather than iterating over all the containers in the pod. (Addressing the TODO)
Signed-off-by: Sujil02<EMAIL_ADDRESS>

/ok-to-test

@sujil02 needs a rebase.

/retest

/approve
LGTM on my end

/lgtm


Transition Azure Pipelines to Github Actions

Migrates Azure Pipelines to GitHub Actions.
Some benefits:

You can now cancel a job at any point.
More storage (14GB instead of Azure's 10GB) (sources: azure, github actions).
Jobs will no longer run on push. They will only run if there is an update to a pull request.
Previous of a PR jobs are automatically canceled if an update has been made.
Fails fast. If one job fails, the entire pipeline will cancel.
You can re-try failed jobs.

alternative to hacky solution for setting docker image name vars: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#creating-configuration-variables-for-a-repository

I'm not sure how to remove the azure pipeline LLNL.serac from the ci checks.


Create use-contractkit library for react native

Exploration. What do we want to do?
Output: Design doc (draft is fine)

So Alex and I chatted about this, and we have come to the conclusion that this library might not make sense to use.
However, I do want others' thoughts, so will discuss at next Monday's DevX meeting or async on slack.
Notes and my thoughts here

Hey @medhak1 the notion is private so I cannot view. I also chatted with Alex and had some thoughts here if we decide to not provide an opinionated modal:

Valora couldn't be a "top-level" option. This means deeplinking to Valora would be difficult. -- This could be addressed by creating a wallet connect endpoint that prompts users to select their wallet.
There wouldn't be an extensible modal standard that other wallets could promote dapp developers to add their wallets as "top-level" options (less important, but maybe there would be dapps that would want to do this)
Alex made a great document/tutorial on how to implement WalletConnect. Wondering if this still provides any additional ease to just have a plug-and-play library? (i'm not sure how complex the code is here)
We should have a doc page to consolidate the Dapp-to-Wallet integration that directs them to:  web developers --> use-contractkti, mobile developers -->


Port local accounts

Definition of Done
Port the following account-related APIs:

[ ] eth_accounts
[ ] eth_sign
[ ] eth_signTypedData_v4

https://docs.rs/secp256k1/latest/secp256k1/struct.Secp256k1.html#method.sign_ecdsa


chore: format every possible file on pre-commit and then lint ts files

Description

This fixes the gitHook pre-commit lint-staged setup.
It was kinda miss-configured. Now it formats every file if it founds any file in the stage commit.
Also it runs eslint correctly at least for src ts files.
Additional context

I will improve the eslint stage in a next PR, cause it detects to many errors/warnings right now.
And this prevents me from committing, and I would like to not change to many files at once.

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

@sodatea Patak told me you may potentially have some knowhow about lint-staged/husky, if so could you have a look and review my changes (package.json)?

@sodatea Would you like to refresh your review?


Enhanced Recurring Donations - Work In Progress (Part 9)

Critical Changes
Changes
Enhanced Recurring Donation Changes

Add support and validations for Fixed Length Recurring Donations #5108
Automatically close a Fixed Length RD when the Number of Paid Installments reaches the Number of Planned Installments #5108
Disable Refresh Opportunities button functionality when Enhanced Recurring Donations is enabled. #5127
When Enhanced Recurring Donations is enabled, set the default Installment Frequency to 1 if it is null on an insert operation. Validate that the Installment Frequency is within allowed range. #5102
When enabling Enhanced Recurring Donations, use the updated and final URL for Metadeploy to deploy the required special configuration for Enhanced Recurring Donations. #5145

Issues Closed
Community Ideas Delivered
New Metadata
Apex Classes:

RD_AddDonationsBTN_TEST

Deleted Metadata
Unaggregated Pull Requests

RD2: Fixed length Validation and Auto-Close Completed RD [PR5108]
RD2: Update metadeploy url [PR5145]

Thanks for reviewing @RadSFDeveloper. I'll merge this today so it's ready for the release.


plugin should add mod automatically

Some server admins forget to add it, look into having the plugin add it automatically.

Is it possible to set mod to public again?
Otherwise torch can not find the mod and does not start.
Or is there a setting for non anonymous login?

The mod is not hidden, just unlisted (https://steamcommunity.com/workshop/filedetails/?id=3037359638) so it doesn't appear in searches or my profile because it's just a companion mod, the mod doesn't do anything by itself, it needs the plugin.
I don't know about Torch not resolving the name in the gui, that would be something to report with Torch directly


Add images for Version Release

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Extract constants for printing colors

Resolved here https://github.com/antonrotar/command_runner/pull/16.


fix(rendering/#878): use 1.0 as default scale factor for Linux

See #878 for more details :)

Thanks for the detailed investigation in #878 , @taylon - the conclusion and proposed fix makes sense to me 👍  Really appreciate you diving in and fixing this!

There was an issue with the Windows build, so I'm kicking that off again to validate... but once that's good, I'll bring this in

CI is green 🎉
Bringing this in now - thanks again for your investigation and fix here, @taylon !


Crash when casting Fireball

When i try to cast the Fireball the game crashes instant
Using newest Runology and Lodestone version
latest.log

Fixed in 1.0.6


AWS: docker-machine fails on apt-get

I seem to be experiencing an error randomly when created a machine through docker-machine on AWS
Sometimes, (maybe 2 times out of 5) I will get the error below, if I rerun the same command it will work the next time.
It seems like docker-machine is executing "apt-get update" too quickly?
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Error creating machine: Error running provisioning: Error running apt-get update: ssh command error:
command : sudo apt-get update
err     : exit status 100
output  : Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:3 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [474 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [188 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [7,176 B]
Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,396 B]
Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [396 kB]
Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [149 kB]
Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [8,080 B]
Get:11 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [211 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [3,580 B]
Get:13 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [88.5 kB]
Get:14 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [6,828 B]
Get:15 http://security.ubuntu.com/ubuntu xenial-security/restricted Translation-en [2,272 B]
Get:16 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [73.8 kB]
Get:17 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [41.7 kB]
Get:18 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2,744 B]
Get:19 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1,232 B]
Reading package lists...
E: can not open /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_InRelease - fopen (2: No such file or directory)

The default lines below are for a sh/bash shell, you can specify the shell you're using, with the --shell flag.

sudo: docker: command not found
exit status 1

+1. Happens once or twice  every 5 times

+1 i don't know how to handle this kind of problem.

I am currently handling the issue within a quick and dirty bash script. If the docker-machine command returns a non-zero error value, I try again up to 3 times.
totalTries=1
while : ; do

	docker-machine create --driver amazonec2 \
	--amazonec2-access-key $ACCESS_KEY \
	--amazonec2-secret-key $SECRET_KEY \
	--amazonec2-region $AWS_REGION \
	--amazonec2-root-size $ROOTSIZE \
	--amazonec2-instance-type $INSTANCE_TYPE \
	--amazonec2-vpc-id $VPC_ID \
	--amazonec2-request-spot-instance $SPOT \
	--amazonec2-spot-price $SPOT_PRICE\
	MY-MACH

	# Check if above machine was created successfully
	machCheck=$(echo $?)
	echo $machCheck $totalTries

	# If non-zero status, then delete machine and try again
	if [ $machCheck -eq 0 ]; then
			break
	else
   		docker-machine rm -f COR-BOSS-$VERSION_PAR
	fi

	# If non-zero status, then delete machine and try again
	if [ $totalTries -gt 3 ]; then
			break
	fi

	# Count total tries
	totalTries=$((totalTries+1))
	sleep 20

done

It can be an issue related to apt; IIRC, it can "asynchronously" (_POSIX_SYNCHRONIZED_IO, fsync(2)) write meta-data files, so that files maybe not really ready when apt-get update is done.

Adding a sync seems to help, at least for the cases I've seen.


refactor: Improve EventStreamManager

This PR:

removes manual event unmarshalling in favour of using Pydantic
re-adds exception handling in EventStreamManager.run

@matthewelwell This has been tested with a staging project, yes.


[BUG] blogController.js isn't working properly

Description
err variable is null when you attempt to access err.message
when i add a new blog the server crashes
Screenshots

Any additional information?
No response
What browser are you seeing the problem on?
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

@ANJALIJAISWAL4213 are you uploading pdf instead of image

No it's an image

I am getting no such error in my local set up


[druid] optimize Druid queries where possible

Using faster timeseries, topn Druid-type queries where possible, falling back on current 2-phases
groupby only where needed
fixes https://github.com/airbnb/caravel/issues/1002

LGTM

that 10000 really stands for "Inifity", not something someone would tweak in their config


feat: add report an issue button

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request?

Added report an issue button

What changes did you make? (Give an overview)

added button that allows pre filling data while creating bug reports in eslint repo

Related Issues
fixes https://github.com/eslint/eslint.org/issues/598
Is there anything you'd like reviewers to focus on?

pre-filled the reproducible example url field
pre-filled output field

should we do it for any other field?

Is it possible to also include the configuration information in the issue?

Is it possible to also include the configuration information in the issue?

The playground link will have the configuration. Should we add the configuration inside What did you do? in case we want it apart from having it in playground @nzakas

+1
We should be able to get the necessary configuration information from the playground link, which should be sufficient I guess. If you'd like, we can also include the configuration details explicitly. We already have the configFileContent that we use for downloading the configuration, so we can use the same approach for this.

Yes, I think it would be nice to output the configuration into the issue as well. It just makes it easier when reading the issue.

To prefill the configuration to description box need to merge this https://github.com/eslint/eslint/pull/18817. This was a miss as last time I thought we wouldn't want to prefill description. Should we add ids to all elements?

We will now add configuration file's content to report what did you do section. When lot of rules are selected the content becomes pretty long and github breaks when we try sending pretty long code through params. That is why I haven't added formatting to the config.

Unfortunately, the configuration really isn't readable like this if there's more than a couple of rules. Is it not possible to add the three backticks before and after, or otherwise to format it a bit?
Can we include the code, too?
And can we include the playground link to jump right back to it?

Unfortunately, the configuration really isn't readable like this if there's more than a couple of rules. Is it not possible to add the three backticks before and after, or otherwise to format it a bit?

If we add formatting to the rules and there are huge number of rules (seems like it breaks when I added more than 53 rules) then Im getting this while I redirect to github for creating a new issue.

Can we include the code, too?

Same for code if we start adding more code we would not be able to create a gh issue. Seems like its same with TSESLint's playground as well it breaks when we hit a limit :(

And can we include the playground link to jump right back to it?

we are adding the playground URL in the Link to Minimal Reproducible Example section

Should we disable the button with some error message when the users add many rules (i.e. more than 53 rules)?

It might be nice to just check the length of the URL and show an error message in the playground when they click Share URL

Im not sure about the length that github supports. I can see that TSESLint playground also has the same issue where if we write way too much code we get the exact same error in github.

Should we disable the button with some error message when the users add many rules (i.e. more than 53 rules)?

it also depends on how much code the user has written so we can't rely only on the number of rules the user has selected.
Im not sure about the length that github supports. I can see that TSESLint playground also has the same issue where if we write way too much code we get the exact same error in github.

Yes, we can't display an error message based on the number of rules, but we can validate the length of the URL and ensure it doesn't exceed a certain limit.

Yes, we can't display an error message based on the number of rules, but we can validate the length of the URL and ensure it doesn't exceed a certain limit.

That seems like a good idea. Just pop up an error if the URL gets too long. I think that's a better experience than letting the browser error out.

Prettier playground saves the issue body to the clipboard when it's too long:

The total supported length of the search param seems to be 8148 characters. I'll add a comment like @mdjermanovic has shared that says paste from clipboard. This will allow users to paste the config into the issue? is that fine?

fixed it

@eslint/eslint-tsc can we close this please?


RouteLocatorBuilder does not use route order property

First, I'm not sure if this is a bug, or a lack of documentation, but when you use the RouteLocatorBuilder, the routes are never sorted, so using the route.order() method has no affect. I'm actually ok with this behavior, but if it is unintended I will future proof our configuration to add the order, even if it is not used at the moment.
The relevant bit in RouteLocatorBuilder:
        public RouteLocator build() {
            return () -> {
                return Flux.fromIterable(this.routes).map((routeBuilder) -> {
                    return (Route)routeBuilder.build();
                });
            };
        }

You are right, it seems a bug.

They are sorted later https://github.com/spring-cloud/spring-cloud-gateway/blob/67b612d4af1ad9882a95cd7db0025ef0c7633089/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/route/CachingRouteLocator.java#L62-L68

@spencergibb , it is expected that someone doing code based config manually use instantiate the CachingRouteLocator? Here's my bean definition
@Bean
fun routes(routeLocatorBuilder: RouteLocatorBuilder, config: RouteConfig): RouteLocator {
    val routes = routeLocatorBuilder.routes()
    config.userContexts.forEach { routes.addPathFor(it) }
    config.serviceRoutes.forEach { routes.addPathFor(it) }

    config.thirdPartyServers.forEach { thirdParty ->
        routes.addMissingSlashPath(thirdParty.path)
        routes.route { predicate ->
            predicate.path("${thirdParty.path}/**")
                .uri(thirdParty.service)
        }
    }
    return routes.build()
}

Which, by itself, never touches the CachingRouteLocator, and from what I can see nothing automatically wraps it in one either. It looks like it's easy enough to just new up the caching version with results from build(), but the difference in behavior between the two is never called anywhere, that I'm aware of.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Controller input unavailable on certain screens

On certain screens, the controller doesn't give any input, and since mouse input in the settings gets disabled when a controller is active, you are essentially softlocked unless you quit or turn off bluetooth which disconnects the controller. The two screens where ive seen this happen is book  and quill/ lectern screen and mod config screens that come with the Mod Menu mod(I understand you are creating a native mod menu for the mod, so this is lower priority).
I also reccomend implementing a way to temporarily disable the controller state to avoid further soft locks in other screens that haven't been documented.

It has not been completely fixed, but I will work on fixes for these screens that present these problems, for now you can activate the cursor by associating a button or key with this mapping, which will workaround most of these


Add default tooltip to pydeck

For #2929

Change List

Supports a tooltip in Jupyter notebook and standalone rendering pydeck
environments

CSS suggestions are welcome and appreciated

Coverage decreased (-0.2%) to 79.793% when pulling 658a86fc3a0c655e0c63f2ff8b1d578148528458 on ajd/pydeck-tooltips into 3aadfa14795ade1b0d0484e7c517679c701250c6 on master.


Terracotta tools uncraftable

Hi, me again. So in testing my modpack, I found that while you can smelt the Terracotta heads for tools, you can't use them to craft the actual teracotta tools in the current release. This could possibly be a mod conflict on my end, but I don't really think anything I have would cause that.

I'm not actually using the github version, I'm using the latest from Curseforge, so I'm not sure what's going on there.

well oops lol guess that problem has been around longer than I thought

guess there's gonna be a update soon


Validate errors retrieved during emulated testing

Checks if all errors we get during emulation testing can be explained by the configuration of the authenticator.

Upon further review, I'm doing some more work, including randomizing the userAgentConformance.