Number Base Converter - Custom base

What's the Problem?
No response
Solution/Idea
Now number base formatter allows only converting between binary, octal, decimal and hexadecimal number bases. But It is possible to use different bases, e.g. 7, 3 or 12. How about allowing to decide about input and output number base for conversion by typing number between 1 (unary system) and (let's say) 36 (all uppercase alphanumerics).
Alternatives
Using this website
Priorities

Capability
Priority

Allow to choose input and output number base
Must

Properly handle negative numbers
Should

Have no upper limits of numbers
Could

Allow to add "another" row with different (or same...) number base output
Could

DevToys Version
Version <IP_ADDRESS> | X64 | RELEASE | 7c7c02a | 7c7c02a
Comments
No response

I have something like this already done, @veler I would like to take this issue. Here are some interesting details like having a custom character dictionary to map the input to a custom base.
If you agree to implement this, I could have a fully working PR in a couple of days.

Glad to hear you want to implement this, @youkai95! Can you please, for clarity, share the UI you are going to implement, to be able to debate over it?

@Andret2344 honestly I think it is time to remake this UI. Now with a custom base it would see too awkward with 4 fixed bases to convert and a text input accepting/showing the value converted to a custom base.
With this feature an input for the base number will be needed, and we could accept another input for the conversion dictionary, if we want to. This could break the limit of the maximum base size. Anyways it is true that this UI could lack of UX if I just add a couple of fields for this... I am not sure about how to make this comfortable for the user, in addition to the fact that I am not very skilled with xaml UI designs. If you want to lend me a hand with this, I will gladly accept it!
(I could upload an image later with a mock if you wish, here are 3:30am)

Yes, just an image with placeholders would be great.
I'm not skilled in C# at all, so I cannot offer any support, unfortunately.

Yes, just an image with placeholders would be great.
I'm not skilled in C# at all, so I cannot offer any support, unfortunately.

@Andret2344 Ok, no problem. Now I am going to sleep... In a while I will upload a mock of what I have already done.

Maybe some inspiration here

Sorry for the delay, I had some affairs to attend. @Andret2344 this could be a mockup of how could we get things done. I tried to include all the possible features on it.
This design could have a few problems, in example: the format option could lead to problems if we use custom base dictionaries as there could exist differences between characters case for the conversion. I could work on a dictionary input validation to accept formatting conversions, perhaps I dont feel like having this feature included...
Maybe we should discuss a bit more this feature before pushing a solution to the repo. Please, @veler I would like to have some considerations from you. I have already done the code to convert from/to a custom base using a custom dictionary, this is more a UX discussion.
This could be a mockup for this new changes, and if we accept to do something like this, I consider that my previous PR could be closed without merging it.

The UI is generally great, IMO. If it comes to the dictionary, In fact, the dictionary field could accept only uppercase letters, I mean changing the input case to upper case. Then a and A both will be A. Additionally, every char in the field must be unique.
The format option seems useless now, as there is no way of formatting a number of a base 7. On the other hand, converting to common base would be nice to have the output formatted.
@veler We would be really happy to hear your opinion and suggestions, because there are a few doubts

Why not leave the current UI as-is and add a collapsible section for "misc number bases" that include also other endian types, and among one of them could be "custom:"

Why not leave the current UI as-is and just Add an "Other Number Bases" collapsible section for things like different big/little endian types (and maybe signed unsigned etc) and among them could also be a more involved "custom" base one?

Yes, I agree with this. The current base converter UI works pretty well and covers the vast majority of use cases for the tool.
I also share @veler's curiosity about how important aritrary bases and dictionaries are to our target users. I get that arbitrary bases are possible and arbitrary dictionaries are cool, but could you offer us a use case for, e.g., using a base 7 number system which would just be stored in 8 bits of memory anyway? Or storing numbers in arbitrary base encoding dictionaries? 🤔 Is there some obvious and important reason to use arbitrary bases and dictionaries that I'm missing here?
I suspect truly arbitrary number bases maybe belong in a hypothetical MathToys project, and our UI should be focused on the developer domain. Adding useful base dictionaries like those RFC4648 implementations, which are designed to minimise letter ambiguities like 0 O, etc, is far more useful to 99% of developers.

Also, small point, there's no need for a field to enter the base for a custom dictionary. The length of the dictionary determines the base. 😊 0123456 -> base 7, etc.

Hi all, thanks for taking part in the discussion.
Reading all your comments, I must admit the UI is really simple and simple enough for most users and use cases and adding them custom base to choose would only confuse newbies etc. So how about creating a switch labeled as "advanced mode" that would replace the current simple UI with the advanced on suggested by @youkai95?
Now, answering the @veler's doubts, the custom base wouldn't be widely used as it's not generally needed, and we should keep the current simple UI. The reason why custom base is needed is quite simple: learning and teaching. At the university, we were obliged to convert number in base 23 to number in base 7, or from base 19 to base 9. The only way to verify it was to convert calculations to base 10. On the other hand, as I'm teaching the conversions, it'd be very handy to simple convert it.

As @veler said, me neither had the need of converting a number to a base out of the common ones. I am not sure how much this change could be used, however as it is not something hard to do and there are people requesting it I decided to give it a try and look for a clean solution.
Maybe completely change the UI could be challenging for some dev that are not adapted to work with that level of customization. Also, expose the digits dictionary it is more like an entertainment than a feature because many people could confuse or make a wrong use of it (in addition, I do not think that someone could go out of [0-9a-f]).
If you prefer I could make a PR only with functionalities and leave the UI design to other person. As @xeonmc said, we could use a collapsible section and leave this level of customization out of the common features. Or even we could give this a workaround and use a new section...
@jwfxpr what if I decide to use a personal numeric alphabet? Among all the weird things, this is a weirdest one, but ok... I could leave an open door for it XD Also, that accepts the possibility to change between different base64, base128 dictionaries as stated in RFC4648.

That seems like the best compromise to me, @xeonmc. Minimal clutter, and the flexibility's there for those who need it. I think a drop-down is a good way to fold them together, and leaves us room if for some reason we have reason to implement other number base standards in future👍
@Andret2344, @youkai95, thanks for engaging with us on this, it will be good to have the extra features implemented into the tool. 😊
For the "Custom base", I don't know of any standardized base alphabets beyond 64, so I think we should allow bases 2–64 and just use a basic<PHONE_NUMBER>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/ alphabet.

Just one question. How about allowing to add an extra line with another IO field? Something like this (with removing them as well... somehow)

How about allowing to add an extra line with another IO field?

Are you talking about allowing as many "Other" IOs as the user decides?

How about allowing to add an extra line with another IO field?

Are you talking about allowing as many "Other" IOs as the user decides?

yes, indeed

some refinement:

I propose also adding a "Roman Numerals" base

Hello,
I would prefer to keep the current UI for the "base" case and add a advanced mode switch.
This way we could switch between base (current UI) and advance (new UI) and you can add all the fields you need without reducing the margin between them.
The Advanced mode should be a new ViewModel and a new View.
What do you think?

Hello,
I would prefer to keep the current UI for the "base" case and add a advanced mode switch.
This way we could switch between base (current UI) and advance (new UI) and you can add all the fields you need without reducing the margin between them.
The Advanced mode should be a new ViewModel and a new View.
What do you think?

I suggested it a few comments above

Hi all, thanks for taking part in the discussion.
Reading all your comments, I must admit the UI is really simple and simple enough for most users and use cases and adding them custom base to choose would only confuse newbies etc. So how about creating a switch labeled as "advanced mode" that would replace the current simple UI with the advanced on suggested by @youkai95?

And I agree it would also work, but the solution suggested by @xeonmc would also work. Now we only need to decide which solution is to be implemented. @veler, I guess your vote is deciding now

Yes I know @Andret2344 just can quote on the mobile app don't know why 😁.
We need to check the render in compact mode too 🙂

Hello,
Like @btiteux and @Andret2344 suggested, I'd also prefer a toggle switch that would enable an Advance mode where the UI could, if we want, completely different.
UI
The default UI could like exactly like the current one, but with an extra option on the top:

Once "Advanced mode" is enabled, it could switch to a different UI like the following:

While I now do see the value for converting in more base than the 4 most we allowed by default, I'm still not convinced by the custom dictionary approach though. Except for study purposes, does anyone here ever need a custom dictionary of characters after doing a number base conversion?
PS: @youkai95 , what did you use to make your mock above? It looks nice. I used PowerPoint because I didn't feel like it worth using Figma, but your mockup look much fancier. 🤣
Implementation
Because it would have a different UI with a different mechanism, I'd suggest splitting the UI into 3 different views.

1 User Control that would only have the Advanced mode and Format number options.
1 User Control for the non-advanced view, which would have the Hexadecimal, Decimal, Octal and Binary text boxes.
1 User Control for the advanced view, which would have the Input base number option, Input, Output...etc.

The last 2 User Control could be placed into a Border/Grid/ContentPresenter in the 1st one, and the Advanced Mode option would simply show one while hiding the other.
Each User Control should have its own View Model. The advanced and non-advanced User Control's View Model should be able to listen to the Format Number option so they react when the user interact with it. You can use Events or Messenger for this. Please put the common conversion logic into NumberBaseHelper and refactor whatever's needed to make both modes working smoothly without too much duplicated code. :)
Here is an example of how we send messages between View Models:
https://github.com/veler/DevToys/blob/07d84344352d2036fa1bd290607a4da444305c09/src/dev/impl/DevToys/ViewModels/Tools/GroupToolViewModelBase.cs#L25-L26
https://github.com/veler/DevToys/blob/07d84344352d2036fa1bd290607a4da444305c09/src/dev/impl/DevToys/ViewModels/Tools/GroupToolViewModelBase.cs#L36
https://github.com/veler/DevToys/blob/4cfcbbaf5004d61eca530791c6ce79653ffda86c/src/dev/impl/DevToys/ViewModels/MainPageViewModel.cs#L41
https://github.com/veler/DevToys/blob/4cfcbbaf5004d61eca530791c6ce79653ffda86c/src/dev/impl/DevToys/ViewModels/MainPageViewModel.cs#L371
What do you folks think about?

I feel like having a dropdown defaulting to Base-64 makes sense as a reasonable "fifth conversion". The user ignoring the dropdown and just doing his thing will just see it as yet another esoteric conversion. The user clicking on the dropdown out of curiosity will see all those options and, if he is confused, at least the burden of confusion has a cognitive cause-and-effect of "ok this dropdown is some weird stuff but I can just ignore it".

Implementation
Because it would have a different UI with a different mechanism, I'd suggest splitting the UI into 3 different views.

1 User Control that would only have the Advanced mode and Format number options.
1 User Control for the non-advanced view, which would have the Hexadecimal, Decimal, Octal and Binary text boxes.
1 User Control for the advanced view, which would have the Input base number option, Input, Output...etc.

The last 2 User Control could be placed into a Border/Grid/ContentPresenter in the 1st one, and the Advanced Mode option would simply show one while hiding the other.
Each User Control should have its own View Model. The advanced and non-advanced User Control's View Model should be able to listen to the Format Number option so they react when the user interact with it. You can use Events or Messenger for this. Please put the common conversion logic into NumberBaseHelper and refactor whatever's needed to make both modes working smoothly without too much duplicated code. :)

@veler I'm not sure Format number should be a common part. Above we agreed that is quite hard to format number out of the set of standard bases, so I guess it should be a part of the non-advanced view.

@veler I'm not sure Format number should be a common part. Above we agreed that is quite hard to format number out of the set of standard bases, so I guess it should be a part of the non-advanced view.

Oh, you're correct! My bad!

Made a slightly different mockup:

I have to say I prefer the simplicity of a single fifth field at the bottom, as in @xeonmc's mockups. It's simple, self-explanatory, and more flexible. I don't see an obvious place for the RFC4648 specs in the advanced mode option, for example. Adding other things later becomes a fresh debate over which view to alter in which way, versus just adding another option to the drop-down. 😊
Also, yeah, what are we all using for these mockups? I'm curious too 😆

MSPaint

@veler a friend of mine shown me an app to make mockups and I just fallen in love with it. Its name is Balsamiq Mockups 3. I dont know if there is a new version but this one has everything needed for a good mockup. This app it is not free though...
If all of you agree I will just make a PR with the logic needed to convert from/to a custom base using a custom dict, then we could just use that logic in the way we think it will be the correct way. My point is to review the code while we decide how to use it. Later we could finish the PR with the UI we decide.

Hi all,
@youkai95 , thanks for the tip!
@xeonmc , @jwfxpr , @youkai95 , @btiteux , I think you folks convinced me. I think I actually prefer's xeonmc approach here now. Sorry for the change of mind so quickly.
That said, I'm concern by how this field would look like when DevToys is in Compact Overlay mode

I feel like the UI of this specific field will be too small (+ imagine if "Other" and "Custom Dictionary" are taking 2-3 times this space in some other languages).
While I'm pointing out this concern, I don't necessarily have a good answer to it right now. Have you folks thought about it already, and/or imagined a different layout that would work with a small UI like this?

The way it could be implemented is that there is always a persistent dictionary as a separate row atop the input, just that it is hidden unless the Custom Dictionary option is selected. Then all that happens when the user selects one of the preset dropdowns is changing the content of that persistent (but invisible) dictionary field. Likewise with the custom base input field, it is also persistent but only visible when the right dropdown is selected.
So the implementation logic would be something like

user selects a preset dropdown
the preset dropdown populates the persistent field with its associated dictionary
the base number is calculated from the populated dictionary field and updated
the visibility state of the two elements is updated based on the selected dropdown-option's associated config

Personally, I find the standard Windows calculator ( calc.exe ) to have the best UI.
calculator
It has a simple UI, but also allows pasting and copying of values.

The compact mode will be complicated.
I made these wireframe to test with an Advanced Mode
Normal View

Compact View

We need to keep the UI consistent with the others tools.
So if we made some changes on component for this tool we need to see the impact on the other tools too.

Personally, I really like the @btiteux's UI mockup and in fact I was thinking about something exactly like this. The consistency is a really important argument. This approach also keeps the UI not overcomplicated with huge amount of fields to set it up

I wrote this code when I was interested in Base32, but there are several derivative versions of Base32.
https://github.com/niyari/base32-ts/blob/0cba699ea43986bc6cbab9558de8d08ffee413c8/src/base32.ts#L62

Type
Dic
Comment

RFC4648_HEX
'0123456789ABCDEFGHIJKLMNOPQRSTUV'

RFC3548 or RFC4648
'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'

Clockwork Base32
'0123456789ABCDEFGHJKMNPQRSTVWXYZ'
1 I i L l  = 1

crockford
'0123456789ABCDEFGHJKMNPQRSTVWXYZ'
Perhaps the specifications only contain numerical values.

Hello,
Sorry for the late answer.
I also prefer the last @btiteux mock up. The consistency is good, it works well with the Compact Mode and the Advanced option allows most users to have a restricted; not confusing UI on first place.
@youkai95 , would you like to have fun implementing it? :)

@youkai95 , would you like to have fun implementing it? :)

@veler I could give it a try but I have few experience working with UWP (however seems to be very similar to WPF), so I am not sure about how to correctly face this UI. I will use your previous recommendation as a guide.
I am pushing a draft PR (#430) for you to review what I have done at the moment while I begin with UI.

Hello,
Sorry for the late answer again.
UWP UI is quite similar to WPF, indeed.
To implement it, you can create 2 new UserControls, as I mentioned above. At the end of the day, there would be 3 UserControls in the Views\Tools\Converters\NumberBaseConverter folder.

NumberBaseConverterToolPage.xaml => This one would contains the common UI to the 2 mode. In short, it would have the Advanced mode option.
NumberBaseConverterSimpleView.xaml => this one would have the current UI that we have in DevToys.
NumberBaseConverterAdvancedView.xaml => this one would have the new UI when Advanced Mode option is enabled.

The 2 new user controls can be placed in the UI of NumberBaseConverterToolPage. You can use some binding along with a BooleanToVisibility converter to show/hide NumberBaseConverterSimpleView or NumberBaseConverterAdvancedView based on the value of Advanced mode option. There are plenty of placed where we use BooleanToVisibility in the solution. :)
Let me know if this help. :)


NSG Rule Requirement for Load Balancer

One or two years ago, when configure internal Azure standard load balancer, we have to allow inbound rule to reach to backend pool directly, but now seems it works fine with one rule to allow to inbound to LB IP from a source client, then another inbound rule to allow from LB IP to the backend pool.
Can you please point out where the rule requirement is documented and how does LB work behind the scene?
[Enter feedback here]

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

ID: dd59e134-be71-0ac8-bb71-abebb2ef16f5
Version Independent ID: a99d6a21-1c49-6bfc-9572-f7dfe8be8a4c
Content: What is Azure Load Balancer? - Azure Load Balancer
Content Source: articles/load-balancer/load-balancer-overview.md
Service: load-balancer
GitHub Login: @asudbring
Microsoft Alias: allensu

@Ronnie-personal Thank you for the feedback. We are actively investigating and will get back to you soon.

@Ronnie-personal , there is no defined set of NSG requirements for Load balancers as it differs from customer to customer with respect to their requirements. But the minimal NSG requirements for it work can be found in the below doc:
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-troubleshoot-backend-traffic#cause-2-network-security-group-is-blocking-the-port-on-the-load-balancer-backend-pool-vm
You can also refer the Azure security baseline for Azure Load Balancer for more information on how you can secure your cloud solutions on Azure.
Regarding your query "how does LB work behind the scene", you can refer the below docs for clarity:
https://docs.microsoft.com/en-us/azure/load-balancer/concepts
https://docs.microsoft.com/en-us/azure/load-balancer/distribution-mode-concepts
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-custom-probe-overview
We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Not importing  inside SFC file?

Clear and concise description of the problem
I have components that has

https://github.com/unplugin/unplugin-vue-components/issues/794
I have same problem, no idea how to solve it.


Oauth CLIENT_ID and CLIENT_SECRET

I get this error when i do 'node server' -
child "clientId" fails because ["clientId" is not allowed to be empty]
So i decided to mail sprintly to give oauth credentials to me.
But i got this reply

Hi Rnjai,
We currently aren't able to support local development of Kanban. We're sunsetting the feature, so this probably won't happen.
Betty Bair

Is there any workaround to this issue??

No, sorry. As we work on our new kanban feature, this code has become more of a reference. Thank you for the interest though :)

@nicholasserra I understand that your company doesnt have the time/ resource to spend on this project.
But since the company had decided to open source it, developers who would like to experiment with this project must be told how to use it if they face a problem.

@nicholasserra  It is just a one time effort in my opinion to just give a workaround for this issue so that developers can just look at the working of this application.

The issue is that there is no workaround. The kanban code is requiring that you provide sprintly oauth client keys that we are not set up to give out. So the repository, as it sits, is just an example application for reference.

@nicholasserra  there must be some code within this application that needs the oauth keys. I am asking if we can somehow suppress that so that people without oauth keys can use this open source project on their local machines.This will help tonnes of people and will make my day.

Throw back to this blog post -
https://sprint.ly/blog/kanban-open-source/

Our hope is that others in the React community will be able to learn from some of the problems we’ve solved. There’s a benefit for us as well! We’ll get help from the React community when they contribute bug fixes or features to our code.

Bump @nicholasserra

You are free to modify this code to suppress the necessity of the oauth keys.

Thanks i got that working somehow.
Could you please help out by telling what how to get API running on https://local.sprint.ly:9000/ ?

That comment is for sprintly developers. This is an oauth application that is meant to connect to the sprintly production server to pull data from the API. Since we are not allowing new oauth applications, as stated, it isn't possible to connect to the API. That's why this is now just example code.

Oh fine , got it !
I was asking because the page required calls to
https://local.sprint.ly:9000/api/user/whoami.json and https://local.sprint.ly:9000/api/products.json

Ended up using angular and have got things working.
FTW


fix(extension): [lw-10795] refresh delegation portfolio on account ch…

…ange
Checklist

[x] JIRA - LW-10795
[ ] Proper tests implemented
[ ] Screenshots added.

Proposed solution
Unnecessary check for delegationPortfolio has been removed from useSyncDelegationPortfolioStore hook since it's pointing to the value returned from walletStoreInMemoryWallet.delegation.portfolio$ observable and it might be null
Testing
Describe here, how the new implementation can be tested.
Provide link or briefly describe User Acceptance Criteria/Tests that need to be met
Screenshots
Attach screenshots here if implementation involves some UI changes

Allure Report
allure-report-publisher generated test report!

smokeTests: ✅ test report for 0aac75ad

passed
failed
skipped
flaky
total
result

Total
33
0
0
0
33
✅


Parent activity interface added + missing functions added

Added a small parent activity callback to forward create view / destroy view events of the slides:

id added to slides to distinguish the slides in the callbacks
added getter for each important view of the slides so that they can be used in the callbacks

Other small changes:

getCurrentSlidePosition added (people may want to scroll to next/previous page or want to handle the back press differently if current position == 0)
goToItem manually to scroll to any position

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.MichaelFlisar seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Great!! So everything left is signing the CLA and waiting the Travis build to finish 😃

I already signed it ;-)

Well that's weird.. The bot says it's not signed because it doesn't recognize you as GitHub user...

I see the message here as well, but when clicking details it tells me I have already signed it...

Have you checked your linked GitHub email: https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user/#commits-are-not-linked-to-any-user

Travis finished successful! 👍

Now I saw it, I somehow have committed with a different email address. Did not know that's possible, my github account does not know it... But found the reason now

@MFlisar you have to link the email address from your commits<EMAIL_ADDRESS>to your GitHub account. Then the commits should be recognized by GitHub (you can see that by checking if your GitHub avatar appears in the commit view).

I know. I would prefer to change the commit email though. But I'll add it for now.

That would work too


On Windows only: TOML parsing error: "Couldn't read config file pyproject.toml: Unescaped '' in a string"

I wrote out the details at nedbat/coveragepy#1481, as the problem was encountered during use of coveragepy in a Windows CI run. I don't have a local Windows environment handy to test with.
The meat of it is, I have this entry in a TOML file, and I think it's valid, and it parses fine on Linux and MacOS, but not Windows, using tomli 2.0.1:
install = "if [ $VIRTUAL_ENV ]; then pip install -r local-requirements.txt; else printf '%s\n' 'Please activate a venv first'; return 1; fi"

Result on Windows:
Couldn't read config file pyproject.toml: Unescaped '\' in a string (at line 62, column 21)

I unfortunately don't have a Windows machine at hand, so can't repro. One thing that would help is if you could test whether you get a failure when using tomli directly. I suspect this is related to the weird substitution stuff that coverage seems to be doing: https://github.com/nedbat/coveragepy/blob/57d86492daeca737ce4dfaff648d00dfe070b965/coverage/tomlconfig.py#L55
That is, do things fail with:
import tomli

with open("pyproject.toml", "rb") as f:
    tomli.load(f)

with open("pyproject.toml", "r", encoding="utf-8") as f:
    tomli.loads(f.read())

Thanks! I added your repro snippet as a nox session running with Python 3.10, and it ran successfully even on Windows.


Encoding of chapter content

 Line 49:    c1.content = div.encode('ascii')
.epub files should be encoded in "utf-8" or "utf-16" as non-ascii characters may appear in html files and wuxiaworld.com

@MrHaCkEr
Which encoding do you recommend ?
Checked this Stack Overflow Post which leads me to think utf-8 might be better.

I agree. UTF-8 does not waste to much memory while still maintaining high compatibility.

@MrHaCkEr :

I agree. UTF-8 does not waste to much memory while still maintaining high compatibility.
Thanks !
Do Check Out The Latest Update To 3.0 :smiley:

@MrHaCkEr :

I agree. UTF-8 does not waste to much memory while still maintaining high compatibility.
Thanks !
Do Check Out The Latest Update To 3.0 :smiley:


Not clear how to generate a list of arbitrary values

Working on the latest snapshot version, the new property based testing code does not appear to include Gen.list which could be used to create a list of values.
Is there another way to generate a list of values which in turn are generated from one of the arbitrary generator functions i.e. generate a list of random size of random integers?

I would say if you want to use prop testing you're better off on the existing release verrsion.
The property test code is undergoing a bit re-write. In fact, perhaps you'd like to comment?
https://github.com/kotlintest/kotlintest/issues/1121

Thanks for the information. Apart from time, is there any other reason why this hasn't been imported into the new package yet? Has any thought been given to how this might be implemented? For instance, would you expect an implementation for both the arbitrary and progressive generators?
The reason I ask is that we will probably end up implementing this for ourselves. And if our implementation is generic enough, I may be able to submit a PR. So any guidance on this would be helpful.

All the existing functionality will be ported. I just did the bare minimum to get an implementation out for discussion.

In the latest snapshot, most of the gens are now converted, including Arb.list and you can do .take(n) or .single().


PinJoint2D angle limits work incorrectly if NodeB parent node turns 180 degrees.

Describe the bug
If PinJoint2D has limits enabled with the following node hierarchy
Scene
- NodeA (RigidBody2D)
  - PinJoint2D
  - NodeB (RigidBody2D)

then when NodeA node turns over 180 degrees the PinJoint2D will lose track of where the limits are and begin spinning.
However, if NodeB is not child of NodeA then the limits will work correctly.

To Reproduce
Using the attached project turn the box around with left/right keys. When turned 180 degrees it should fail.
Expected behavior
Expected that the physics behavior is not affected by the node hierarchy.
Project
PinJointAngleBug.zip
Versions (please complete the following information):

OS: Windows
Godot v4.2 beta6
Box2d v0.9.0

Uh, this seems like a very tricky case. Am wondering what Godot does in this case for rigidbodies parented.
Anyway, I don't see a good use case for it anyway, I think you just shouldn't parent a rigidbody to another. Will ask around on the Godot Chat to see what happens in Godot when you do this(parent rigidbody with child rigidbody)

While this can be mostly avoided by not parenting NodeB to NodeA it might cause headache when trying to structure your scene. For example, when you want to combine multiple RigidBody2D based scenes to create a new scene.
When using Godot default physics the joint limits seem to always be relative to global origin. So, regardless of the "Cube"s orientation the "Antenna" will always point world up as the joint limits are set to [-10, 10]. I don't think that is good behavior but not sure if it is a bug or not.

Ok, while true it doesn't work, I would be careful anyway using this way. Rigidbodies should be separate. If you group them as you do, eg RigidbodyA parent and RigidbodyB child,
RigidbodyB will have its set_transform method called every frame. While it might be performance intensive, that's not that important really as it is that it's setting its transform instead of using the velocity. So the physics simulation quality will suffer also, resulting in a lot of jitter.
If you want to group Rigidbodies, I suggest having a parent Node2D for both Rigidbodies and create a scene with those, but dont have child Rigidbodies.
As for this bug, it seems that every time the body position is changed, the reference angle should be updated somehow too I guess, will have to look into it more. But since it's anyway not a use case that should be done, since as I said it's bad for performance and physical stability, not sure if it's worth investing time into fixing this one.


Keyboard Manager sometimes locks Shift key on, some key combinations don't work.

Microsoft PowerToys version
0.67.1
Installation method
GitHub
Running as admin
No
Area(s) with issue?
Keyboard Manager
Steps to reproduce
Italian/French keyboard layout. Running the application for a while, using different remapped keys
PowerToysReport_2023-02-15-18-12-55.zip

✔ Expected Behavior
Modified various bindings, both single keys and key combinations, such as AltGr+A=@, è=[ and Shift+è={
❌ Actual Behavior
Single key bindings work as expected, and Shift+[...] combinations as well, but not AltGr+[...] ones. Sometimes my Shift key will be locked on. I don't know what could be triggering this, running as admin doesn't appear to make a difference
Other Software
No response

/dup https://github.com/microsoft/PowerToys/issues/22346


handle login scroll on virtual viewport

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/41108
PROPOSAL: https://github.com/Expensify/App/issues/41108#issuecomment-2106336298
Tests
Precondition: install chrome on ios device

Open login page by chrome on ios device
Focus to input field to trigger keyboard open
Verify no blank space above keyboard and submit button is visible

[x] Verify that no errors appear in the JS console

Offline tests
QA Steps
Precondition: install chrome on ios device

Open login page by chrome on ios device
Focus to input field to trigger keyboard open
Verify no blank space above keyboard and submit button is visible

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

iOS: mWeb Chrome
https://github.com/Expensify/App/assets/11959869/76ac7f26-7c92-46c2-9e49-cd52ef143183

Android: Native
https://github.com/Expensify/App/assets/11959869/56ac4dd9-7eac-4d33-8a37-31db62902876

Android: mWeb Chrome
https://github.com/Expensify/App/assets/11959869/2100acb3-1997-4567-a542-589c40afee02

iOS: Native
https://github.com/Expensify/App/assets/11959869/5c960a47-8b9b-4063-ab12-ab594765d530

iOS: mWeb Safari
https://github.com/Expensify/App/assets/11959869/b876ee09-7125-4e51-977b-5228461a4713

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/11959869/7169c4c6-842c-4eed-a29e-b3a475e283e6

MacOS: Desktop
https://github.com/Expensify/App/assets/11959869/6aaa2254-50af-4ff0-80bf-67777794bf4a

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@suneox Android is not working
https://github.com/Expensify/App/assets/117511920/d9d6cc2f-4f70-49dc-ad6b-d781687d14a7

Did this PR introduce this behavior or is it already this was for those older devices?

@suneox Is it possible to follow Platform-Specific File Extensions to avoid introduce the regression?

@suneox Is it possible to follow Platform-Specific File Extensions to avoid introduce the regression?

@eh2077 I have update condition Browser.isMobileWebKit() before correct scroll position when focus

@suneox So the regression on Android native App is fixed right? I haven't tested your latest changes because my laptop has trouble to build the App.

@suneox I got following error when testing mobile Safari
SyntaxError: Invalid regular expression: invalid group specifier name

It seems the App use some regex expression which is not support in mobile Webkit. Did you face similar issue?

@suneox I tried restarting but still same error. I'm curious what's your iOS version? I found that Added support for RegExp lookbehind assertions. was added in iOS 16.4, see https://developer.apple.com/documentation/safari-release-notes/safari-16_4-release-notes#New-Features

I see changes of this PR should fine. Let me try switching to main and see what happens.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/madmax330 in version: 1.4.82-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.82-4 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Authorization JDBC column limits too small

Describe the bug
The oauth2_authorization.attributes, .access_token_metadata, and .oidc_token_metadata database columns are limited to 4000, 2000, and 2000 characters respectively.  When introducing a JWT customizer, the token claims set can increase the number of characters required to be stored in the two metadata columns above 2000 characters.  Also, the attributes columns includes the authorization request object, which contains "additional parameters" from the authorization request that could consume 2000+ chars by themselves. Any of these situations could result in an error such as:
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [UPDATE oauth2_authorization SET registered_client_id = ?, principal_name = ?, authorization_grant_type = ?, attributes = ?, state = ?, authorization_code_value = ?, authorization_code_issued_at = ?, authorization_code_expires_at = ?, authorization_code_metadata = ?, access_token_value = ?, access_token_issued_at = ?, access_token_expires_at = ?, access_token_metadata = ?, access_token_type = ?, access_token_scopes = ?, oidc_id_token_value = ?, oidc_id_token_issued_at = ?, oidc_id_token_expires_at = ?, oidc_id_token_metadata = ?, refresh_token_value = ?, refresh_token_issued_at = ?, refresh_token_expires_at = ?, refresh_token_metadata = ? WHERE id = ?]; Value too long for column "ACCESS_TOKEN_METADATA VARCHAR(2000)": "'{""@class"":""java.util.Collections$UnmodifiableMap"",""metadata.token.claims"":{""@class"":""java.util.Collections$UnmodifiableMap"",""su... (2119)"
To Reproduce
The simplest method would be to add a JwtCustomizer to the default implementation that adds a single custom claim with a value containing >2000 chars to the JWT context claims.
Expected behavior
Any database columns that store data that could either be customized (JWT/token metadata) or provided by an external party such as the client and/or user should not make any assumption as to the number of characters that the value may contain and should not be defined as VARCHAR data types with explicit limits, but rather should be defined as CLOB data types. This includes the three columns mentioned above and any others that might fall under this same scenario of unknown/undefined value length.
Sample
	@Bean 	public OAuth2TokenCustomizer<JwtEncodingContext> oAuth2TokenCustomizer() { 		return (context) -> { 			final char[] claimValue = new char[2000]; 			for (int i = 0; i < 2000; i++) { 				claimValue[i] = 'a'; 			} 			context.getClaims().claim("custom_claim", claimValue); 		}; 	}

Thanks for the report, @mikesaurus. Unfortunately, the JDBC implementation and specifically the corresponding schema are not necessarily able to provide a successful out of the box experience for some. We're aware of this issue, and are prioritizing a number of efforts to mitigate these issues for our community. We believe that when these efforts come together in the next few releases, things will be in a much better state.
As mentioned in this comment:

It is very difficult to provide an implementation that works out of the box for all databases. This implementation strives to use standard sql datatypes and is a simplified JDBC implementation. However, it is designed to be customizable so user's can provide customizations for database vendors that deviate from the standard sql types.

Note: In your case, this comment would also apply to issues with size of columns, etc.
You are free to change the size of columns to match your needs, or even consider changing column types. However, if you are unable to have success simply changing the database schema, take a look at JdbcOAuth2AuthorizationServiceTests.tableDefinitionWhenCustomThenAbleToOverride(), which provides a test on how to override the table definition altogether. There are tests in that class that demonstrate how to customize further.
You may also be interested in this gist which implements a JpaOAuth2AuthorizationService. Also, if you would like to see a guide for implementing the core services with JPA, please up-vote #545, as we're prioritizing what guides to work on for our reference documentation based on community feedback. Lastly, see #558 for ongoing discussions for supporting Redis and MongoDB among other NoSQL vendors. Note that implementations for those data stores will not be provided directly by this project, but community members like you may be interested in contributing them separately.
I'm going to close this for now, but if you are still having issues after you have tried out the proposed solutions we can re-open and discuss further.

Hey @sjohnr,
I did see some of the other items that you have out there related to the database and read the comments associated with them.  So, I understand what you're currently dealing with.  I was easily able to work around the issue by customizing the provided SQL scripts, but I just wanted to report this specific problem since the code provides hooks for customization (which is fantastic), but the ability to customize is limited by the provided data store definition.  I imagine that this is a problem that will be best solved through documentation though.
I did see your JPA implementation when we were talking about the NoSQL/Redis support.  Thank you for that and for pointing to the JDBC test behavior. Both are super helpful!

Thanks @mikesaurus. I was on auto-pilot a bit there finding references for you. You obviously knew about that one. 😅
We are definitely working on improving this situation, and are pretty well aware of the issues like the one you mentioned. But of course thanks for engaging in the project, we can't do this without people like you in the community!


Support more events

Currently the application supports the following high-level events:
    ThreeFingerSwipeLeft,
    ThreeFingerSwipeRight,
    ThreeFingerSwipeUp,
    ThreeFingerSwipeDown,

It would be nice to support more kinds of events in addition to the existing ones.

As of 0.2.0 (bulk of the functionality in #32), four-finger swipe is supported. Keeping the issue open as more events might be added.

Closing after supporting diagonal swipes at #139 - hypothetical future events to be tackled as separate issues.


Impl some unimplemented parsing methods

Fixes #120.

Some patterns are still not implemented, but the crashes pointed out in #120 have been fixed.


Types have separate declarations of a private property '_domElement'.ts

Hi there
I am getting an issue with webpartContext property.
Type 'import("c:/users/agaskell/source/repos/SPFxVideoReact/node_modules/@microsoft/sp-webpart-base/dist/index-internal").WebPartContext' is not assignable to type 'import("c:/users/agaskell/source/repos/SPFxVideoReact/node_modules/spfx-propertypane-filepicker/node_modules/@microsoft/sp-webpart-base/dist/index-internal").WebPartContext'.
Types have separate declarations of a private property '_domElement'.ts(2322)
IPropertyPaneFilePickerProps.d.ts(8, 5): The expected type comes from property 'webpartContext' which is declared here on type 'IPropertyPaneFilePickerProps'
protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
return {
pages: [
{
header: {
description: strings.PropertyPaneDescription
},
groups: [
{
groupName: strings.BasicGroupName,
groupFields: [
PropertyPaneTextField('description', {
label: strings.DescriptionFieldLabel
}),
PropertyPaneFilePicker('description', {
key: "filepicker1",
label: strings.DescriptionFieldLabel,
webpartContext: this.context,
onPropertyChange: this.onFileChange.bind(this),
accepts : [".gif", ".jpg", ".jpeg", ".bmp", ".dib", ".tif", ".tiff", ".ico", ".png", ".jxr", ".svg"]
})
]
}
]
}
]
};
}
Is this a known issue?
Thanks.

Hi there
I am getting an issue with webpartContext property.
Type 'import("c:/users/agaskell/source/repos/SPFxVideoReact/node_modules/@microsoft/sp-webpart-base/dist/index-internal").WebPartContext' is not assignable to type 'import("c:/users/agaskell/source/repos/SPFxVideoReact/node_modules/spfx-propertypane-filepicker/node_modules/@microsoft/sp-webpart-base/dist/index-internal").WebPartContext'.
Types have separate declarations of a private property '_domElement'.ts(2322)
IPropertyPaneFilePickerProps.d.ts(8, 5): The expected type comes from property 'webpartContext' which is declared here on type 'IPropertyPaneFilePickerProps'
protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
return {
pages: [
{
header: {
description: strings.PropertyPaneDescription
},
groups: [
{
groupName: strings.BasicGroupName,
groupFields: [
PropertyPaneTextField('description', {
label: strings.DescriptionFieldLabel
}),
PropertyPaneFilePicker('description', {
key: "filepicker1",
label: strings.DescriptionFieldLabel,
webpartContext: this.context,
onPropertyChange: this.onFileChange.bind(this),
accepts : [".gif", ".jpg", ".jpeg", ".bmp", ".dib", ".tif", ".tiff", ".ico", ".png", ".jxr", ".svg"]
})
]
}
]
}
]
};
}
Is this a known issue?
Thanks.

I fixed this by removing duplicated instance of sp-webpart-base which somehow got added to spfx-propertypane-filepicker\node_module@microsoft. Also found the following duplicated: @microsoft, @uifabric, whatg-fetch, es6-promise and tsconfig.json.
Having done all this the project builds OK but there are missing optional params for the original @pnp/spfx-controls-react/controls/filePicker e.g. hideLocalUploadTab, but I was able to take the source and modify it.
I hope this helps the author and anyone else reading this.


Could you include the minified versions in dist and build?

I noticed that the minified version of the distributable files are generated by grunt but stored in a ./tmp directory rather than ./dist and not included in the build. I could quite easily make a pull request to change this but it looks like someone has intentionally chosen to do this so was wondering why?
This also applies to https://github.com/rxaviers/cldrjs

Not including the minified files (in here and in cldrjs) has been a design choice #348.
I also believe that by not including the minified files, applications are encouraged to do the right thing: bundle+minify their applications as a whole.


Is it possible to link typescript interfaces to JSON files?

From @Sequoia on June 16, 2016 20:3
I know it's possible to do this with json schemas but is it possible to do this with a typescript interface?
Copied from original issue: Microsoft/vscode#7792

Hey @sandy081, can you elaborate on the specific request here?

@Sequoia is the original author of this issue.. Can you please help/reply to the above comment.
Thanks.

(Sorry, I might've just hit @s and pressed tab assuming it would auto-complete to @Sequoia)

Current behavior
{
   "$schema": "http://json.schemastore.org/coffeelint",
   "line_endings": "unix"
}

Requested
{
   "$schema": "./typings/foo/bar.d.ts#Bar"
   "version" : 0.1.2,
   "description": "It's a thing!!"
}

bar.d.ts:
export interface Bar {
  /** Version is the version number */
  version: number;

  description?: string;
}

Currently you can link an interface to an object in JS via
/** @type {Bar} */
var bar;

And get type hinting. I'm wondering if you can link an interface to an object serialized in a json file & get that same hinting.

I still can't tell what you're describing.

Actually I was looking for something similar. I will try to elaborate the idea using a practical example.
For any given project, for a particular JSON structure  that is known and expected, JSON schema or an TypeScript interface can used used to ensure correctness. If I'm editing a JSON data file locally, a JSON schema can be associated using "$schema" property. On the other hand, if I'm dealing with the JSON representation in code, I must use a TypeScript interface. In this case JSON schema and TypeScript are maintained separately. Any modification to the defined contract require a change in two places.
JSON data
{
  "logLevel": "LOG"
}

JSON schema
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {},
    "id": "http://example.com/example.json",
    "properties": {
        "logLevel": {
            "default": "OFF",
            "enum": [
                "OFF",
                "LOG",
                "DEBUG",
                "INFO",
                "WARN",
                "ERROR"
            ],
            "id": "/properties/logLevel",
            "type": "string"
        }
    },
    "required": [
        "logLevel"
    ],
    "type": "object"
}

TypeScript interface
export interface RootObject {
  logLevel:  'OFF' | 'LOG' | 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'
}

Is there a way to sync JSON schema and TypeScript interface?
Or generate JSON schema from TypeScript interface and be able to use it directly in JSON (using '$schema')
Or the other way around, generate a TypeScript interface from JSON schema.

I was thinking about something similar -- being able to substitute typescript .d.ts files instead of using JSON-Schema.
.d.ts files are a million times more readable than JSON-Schema, and there's really only a couple things that you can do in JSON-Schema that aren't covered in d.ts files.

I have manually taken schemas and output them to interfaces using json-schema-to-typescript though there are both examples of how to use it in browser as well as a server, which of course you could then do on the fly.

For our scenario, JSON-Schema is rapidly becoming a complete failure.  The Azure Resource Schemas have well over a hundred types (and if I actually include everything, hundreds )... which grinds VS's json editor into the ground.  (see https://github.com/azure/azure-resource-manager-schemas/blob/master/schemas/2015-01-01/deploymentTemplate.json#L40 )
Worse, because of the way that schema validation and 'intellisense' works, it gets pretty damn confused as what permissible values are in some cases.
And, to top that all off, upcoming work could explode that by an order of magnitude.
Which is why I'm looking at seeing if I can accomplish a similar feat using .d.ts files.

@ryancavanaugh I want to write a tsd and link to it via $schema from a json file like I would link to a json schema.
To think of it another way, I want to use tsd in a json file just as I can using @type to link a tsd to an object in a javascript file.

If I get it correctly, this proposal would mean extending TypeScript to support json as an input format and then making the Compiler API provide type information about it, as well as warnings and errors. Then someone could change VS Code and other IDEs to start using TypeScript as a linter/highlighter for JSON, instead of whatever library they used previously.
This would be a really cool feature and I, personally, would love to use it. But it also seems to be quite complicated to implement and it probably wouldn't be worth it, unless there is a great demand from the community…

@m93a what you are asking for was delivered in TypeScript 2.9 and closed issue #7071.  This is request is different.

For historical purposes: This was never a typescript issue and should not have been migrated here. Apologies for not noticing this sooner–it lead to the confusion around what I was asking for.
This was a VSCode feature request, the ability to add type hinting in JSON files by linking them via $schema to typescript definitions.

Write a tsd
If you have a javascript object in a javascript file, vscode can type-hint for that object
(desired): If you have a javascript object serialized in a json file, vscode can type-hint for that object

The behavior is almost the same, just s/in a javascript file/serialized in a json file/


Expansion for Subaru

I have just purchased a Subaru Solterra. I am aware that this care is a rebrand of the Toyota BZ4X. I am also aware the the Subaru Care app is directly accessing Toyota infrastructure rather than Subaru's own systems.
Is there any way that Subaru's can be incorporated into this plugin for retrieving information from the car? I note in the Android app that the domain list is as follows:
platform.tme-atp.eu
lexuslink-agg-acc.toyota-europe.com
myt-agg-acc.toyota-europe.com
subarucare-agg-acc.subaru-europe.eu
lexuslink-agg.toyota-europe.com
myt-agg.toyota-europe.com
subarucare-agg.subaru-europe.eu
cpb2cs.toyota-europe.com
cpb2csp.toyota-europe.com
cpb2csd.toyota-europe.com
cpb2csa.toyota-europe.com
The login process seems to access Toyota directly rather than Subaru, and I guess my hope is that by expanding the login to the domains above, retrieving information on the car might be relatively easy, though I am most likely being naive.
There are no other plugins available for this particular vehicle, the old Starlink mySubaru app does not work with this car.
If this is even possible, it would be great to see the expansion of vehicles the app can support expanded.

Before the Home Assistant integration can support Subaru, support must first be ensured in the mytoyota Python lib used.
Please create a feature request there again: https://github.com/DurgNomis-drol/mytoyota/issues
However, I think this might take a while. There have already been efforts to support Lexus as another brand, which are currently stagnating due to lack of developer time and too few people willing and able to test it.

Added as a feature request as suggested. Appreciate time and expertise and short. Unfortunately I can't help with the programming but can help with the testing if need be.


Update atbash-cipher tests

Per exercism/todo#69

All of the links on exercism/todo#69 are 404s

Add exercises/ before the name of the exercise in the URLs and they should work again.

I've updated the links in exercism/todo#69


Sidebar menu arrows

The sidebar menu arrows currently point down to indicate they can be "opened." Suggest a state when opened where the arrows point up to indicate that they can be "closed".

Er, forgot to say resolves #44 :)


Assert in Mesa due to VkImageViewUsageCreateInfo::usage not being a subset of VkImageCreateInfo::usage in some cases

In some games dxvk trips the following assert in Mesa:
../src/vulkan/runtime/vk_image.c:503: vk_image_view_init: Assertion `driver_internal || !(image_view->usage & ~image_usage)' failed.

In other words VkImageViewUsageCreateInfo::usage is not a subset of VkImageCreateInfo::usage flags.
I did a long overdue test run of Turnip with game captures I have and this came up on a few of them.
Software information
System information

GPU: Adreno a6xx, any new Radeon
Driver: RADV, Turnip - tip-of-main (a17317d2a0222b34a6723b68390eac4c090d31c8)
Wine version: 8.5
DXVK version: v2.1 or tip-of-master (6d14fff)

Apitrace file(s)
https://cloud.igalia.com/s/krzfAbWktfGGReE (apitrace of renderdoc capture of Disco Elysium)
Log files
Image usages under gdb:
508        assert(driver_internal || !(image_view->usage & ~image_usage));
(gdb) p image_view->usage
$2 = 16
(gdb) p image_usage
$6 = 7

Log of the run with validation layers enabled:
dxvk_with_valid_layers.log

do we have any idea what kind of image view this might be and what it is used for? Unfortunately there doesn't seem to be any way to get a useful stack trace from wine at all in this case so I'm not really sure how to debug this, short of adding hundreds of printfs everywhere to narrow it down.

The game doesn't specify D3D11_BIND_RENDER_TARGET for one of its resolve targets. Not sure if that's even legal in D3D11, but it's very annoying for us. If this is in fact legal, we would either need to create a temporary image and do a copy to perform the resolve, or create every image with a renderable format with COLOR_ATTACHMENT_BIT.

Hmmm, sounds nasty, let me check if any other traces have same issue. Maybe it was unique to this game issue. And since the capture is 3 years old, maybe the game was fixed since then.

Also, does this even cause any problems with release builds of Mesa? At least on radv the game has always worked fine and debug builds of Mesa also crash Doom 2016 and Doom Eternal due to asserts even when the relevant game bugs are harmless and caught by vulkan validation anyways..

We do not trigger the assert on release builds, but rendering to an image that does not have COLOR_ATTACHMENT_BIT set is scary and can easily lead to artifacting, so we should fix it.

No other traces I have exhibit this issue. (Game renders fine on Turnip with assert commented out btw)


2.15: build fails because missing sqrt() detection

[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ ninja
[1/4] Linking target utils/samples/roundtrip
FAILED: utils/samples/roundtrip
/usr/bin/gcc  -o utils/samples/roundtrip utils/samples/roundtrip.p/roundtrip.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none '-Wl,-rpath,$ORIGIN/../../src' -Wl,-rpath-link,/home/tkloczko/rpmbuild/BUILD/Little-CMS-lcms2.15/x86_64-redhat-linux-gnu/src -Wl,--start-group src/liblcms2.so.2.0.15 -Wl,--end-group
/usr/bin/ld: /tmp/cccFX0fz.lto.o: undefined reference to symbol 'sqrt@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
[3/4] Linking target utils/samples/wtpt
FAILED: utils/samples/wtpt
/usr/bin/gcc  -o utils/samples/wtpt utils/samples/wtpt.p/wtpt.c.o utils/samples/wtpt.p/.._common_vprf.c.o utils/samples/wtpt.p/.._common_xgetopt.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none '-Wl,-rpath,$ORIGIN/../../src' -Wl,-rpath-link,/home/tkloczko/rpmbuild/BUILD/Little-CMS-lcms2.15/x86_64-redhat-linux-gnu/src -Wl,--start-group src/liblcms2.so.2.0.15 -Wl,--end-group
/usr/bin/ld: /tmp/ccJqTE6T.lto.o: undefined reference to symbol 'sqrt@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

IIRC some parts of the libm on *BSD have been moved to libc so it cannot be just simple libm detection ad add missing -lm on linking.
Best would be use something like AC_SEARCH_LIBS() from autoconf however I cannot find something simillar in case of meson.

Thanks for reporting. I assume this only affects to meson build, which is sort of experimental right now.

I did not check GNU autotools and yes in this case it is about meson.

IIRC some parts of the libm on *BSD have been moved to libc so it cannot be just simple libm detection ad add missing -lm on linking.

It literally can be. :)
This was already detected and fixed in #362, by adding m_dep to additional targets that need it (already defined by the meson equivalent of AC_SEARCH_LIBS).

Cannot reproduce anymore


Client side only error

I get an error when I switch to client_side in file limenius_react.yaml. both and server_side works well.

Thank you.

Thanks for the report, fixed in fb91257


feat(stream): use memcomparable row as Cache key in GenericExtremeState

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
OrderedRow is a mem-consuming struct, as the size of the underlying OrderedDatum is that of the longest variant. So we use memcomparable as the key of the cache to reduce memory consumption.
Benchmark is on the way.
Checklist

[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)

Here's the benchmark result. I've run Nexmark Q5 for 1h30min on a c5.4xlarge machine.
Memory usage: main (above) vs. this PR (below) = 38MB vs. 8MB

To rule out the possibility that the throughput has dropped, I checked the memory usage of HashJoin, and they are basically the same.
(main vs. this PR)


Refactor Packages to use to Named Exports

Description
Replace our export * as... pattern to use named exports.

Hoping this fixes the auto import issues we are seeing in published packages used in our starter
This might also benefit package and size

Meeting notes:
- Auto imports aren't consistently working
    - Sourcemaps maybe?
    - huge package size?
    - nested packages are not doing this
        - workaround to add all in package.json
- package and app sizes
    - `export * as...`
    - refactor these to named exports
        - big lift in utils

// try one tree and bundle into an external app - check size to verify tree shaking

before tree shaking:

after named exports:

dist package size

utils got bigger
tx-builder stayed the same

adjusting the project.json - rootDir path
before:

after:

1.31.2023 recommendation:

move this to the bottom of the backlog
starter repos can include all packages in their package.json
test npm deploys in isolation after that

benchmark size
named export for auto completion
rootdir adjustment

OR

just test root dir adjustment in next npm publish to isolate that.

https://github.com/HausDAO/monorepo/tree/feature/named-exports

maybe we need named 'exports'
https://github.com/pooltogether/v4-utils-js/blob/e8b45cfbc9d7a5ee6e54d6b3c35ae47c4132983a/src/index.ts


import default support

Hello,
I've recently updated to babel6 + webpack.
I am getting the following error:
Uncaught TypeError: type.toUpperCase is not a function
It is caused because babel 6 no longer converts export default to module.exports.
I've found two possible workarounds.
Option 1: change all my export default class Foo to module.exports = class Foo
Option 2: reference all the imports using .default. ie:

<myComponent.default>some content</myComponent.default>
I was wondering it is possible to do a named import or perhaps a manual import to apply a cleaner approach.
Thanks!

see #125


Dear auther: can you share the T-SNE code?

Please refer to #3

Please refer to #3

I am sorry to take up your time.Did you get through the t-sne？which file that code should be added to？Thank you very much！

I am sorry to take up your time.Did you get through the t-sne？which file that code should be added to？Thank you very much！


Possible to add keep-alive agent to request?

Would it be possible to add an option to pass in a keep-alive agent to the request, so we can re-use sockets?

I have a sample of this working in #201, so it will be available in the 1.0.0 release.

Sample added, it's in the next branch.  This will be available in the next release.


Crash MongoRegex not found

Hi,
I've just installed mongoqp to profile my db. It looks really good.
I've found and isse just installing it and clicking a db name:

if I change the line 75 from:
isset($collection) ? "$database.$collection" : new \MongoRegex('/^' . preg_quote("$database.") . '/'),
to:
isset($collection) ? "$database.$collection" : new Regex('/^' . preg_quote("$database.") . '/'),
It's not crashing anymore, but I don't know if it keeps working as expected.

It looks like I forgot to fix that in 403e4e9543e6e0d502266a5a6ae3f33be0eb5b55.
Unlike MongoRegex, MongoDB\BSON\Regex takes the pattern and flags in separate arguments. The forward slashes should be omitted from the first argument:
new Regex('^' . preg_quote("$database."))

I'll fix this in the master branch and tag a new release shortly.

Fixed: https://github.com/jmikola/mongoqp/releases/tag/v1.1.1

Great @jmikola 🎉


EsmBot is down? WHY?!

Describe the bug
EsmBot does not reply when attempting to run a command.
Steps to reproduce

Post a command in any channel with EsmBot in the server
Watch EsmBot stop responding

Expected behavior
Replies to commands with result
Screenshots

esmbot down
Self-hosted instance?
No
Additional context
No response

ah yes

There's been quite a few image server latency issues, those should be fixed once the code in https://github.com/esmBot/azure-function-wrapper goes live

EsmBot pulled up an error for the &ssbu command how do i even get it to work
error.txt

why you never take image for explode

Slash commands pretty much give a response whether the bot actually responds or not, so I'm closing this issue for now. Check #301 and #310 instead if you're having this issue with slash commands.


HttpAgent fetch declaration

Is your feature request related to a problem? Please describe.
When I use pass fetch to create and HttpAgent in a NodeJS context with TypeScript I get following error:

TS2322: Type '(url: URL | RequestInfo, init?: RequestInit | undefined) => Promise' is not assignable to type '(input: URL | RequestInfo, init?: RequestInit | undefined) => Promise'.

Code
import {HttpAgent} from "@dfinity/agent";
import fetch from 'node-fetch';

const icAgent = (identity) => {
    return new HttpAgent({ identity, fetch, host: 'https://icp0.io' });
};

Stacktrace
TS2322: Type '(url: URL | RequestInfo, init?: RequestInit | undefined) => Promise<Response>' is not assignable to type '(input: URL | RequestInfo, init?: RequestInit | undefined) => Promise<Response>'.   Types of parameters 'url' and 'input' are incompatible.     Type 'URL | RequestInfo' is not assignable to type 'URL | import("/Users/daviddalbusco/projects/juno/observatory/functions/node_modules/node-fetch/@types/index").RequestInfo'.       Type 'Request' is not assignable to type 'URL | RequestInfo'.         Type 'Request' is missing the following properties from type 'Request': size, buffer

I've been recommending isomorphic-fetch or using the built-in fetch from node >17. Is there a reason those solutions don't work for your use case?

Closing due to inactivity


Updated versions

Update versions for:
micronaut => "3.10.1"
micronaut-test => "3.9.2"
micronaut-gradle-plugin => "3.7.10"
groovy => "3.0.19"
spock => "2.4-M1-groovy-3.0"
vertx-client => "4.4.5"
The update of the testcontainers-dependency also brought in the change of the hashicorpt-vault image name.
It changed from vault to hashicorp/vault, which is fixed in this PR.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: graemerocher:white_check_mark: acutillas-gs:x: codepitbullYou have signed the CLA already but the status is still pending? Let us recheck it.


[LEVEL]: Improve Tutorial Levels Progression

Description of what will be added or updated
A new tutorial progression system that slowly introduces players to the concepts of the game. Ideally, the tutorial system would only explain controls and nothing else, requiring players to figure out what to do on their own. This will make it easier to player to learn with reading the instructions.
Description of the scene/level to be added or edited
At least 3 new tutorial level, with one being the updated Tutorial Room Scene. Names to be decided by implementor.
Additional Information
TODO: Add Miro reference card(s)

Pause for now until we get designer's input on if we want to split the tutorial.


CClient: implementing bundlesFromAddresses API.

This API will be removed later in iota.js, and isn't much useful and slow. it's replaced by find_transactions and get_bundle in CClient.


Suggest failure resolution for known issues

particle flash --serial firmware.bin
Will fail currently if USB debugging is enabled.
Suggest applying the default tinker first over DFU to resolve.
particle flash --usb tinker

Is this a documentation change?


Question: batch_size=1 for Transporter models?

Thanks for open-sourcing this great work!
I noticed that all the Transporter models are trained with a batch size of 1. Is there anything preventing the use of larger batches other than memory?

Thanks Mohit! Other than memory, there shouldn't be anything preventing the use of larger batches. Note that the input rotations expand the batch size to the number of rotations (default 36). So a batch size of 2 should be expanded to 2 * n_rotations. To support this, you may need to make a few changes to the data preprocessing and loss function.

Awesome, thanks!

Hi Andy, sorry, just a quick follow-up: for the evaluations in Table 2 of the paper, were the agents trained for a fixed number of iterations (1k? 10k?). Or did you pick the agents with the best validation loss for each run?

Hi Mohit, I believe we trained the agents for multiple fixed iterations (1K, 2K, 5K, 10K, 20K, 40K), then picked the iteration with the best average validation loss between seeds.


TS2741: Property 'translate' is missing in type '{ ref: RefObject;

Error:
 TS2741: Property 'translate' is missing in type '{ ref: RefObject<HTMLFormElement>; name: string; hint: string; labeltext: string; validators: IValidationFunction[]; }' but required in type 'Pick<IFileField, "children" | "type" | "name" | "form" | "style" | "title" | "pattern" | "color" | "height" | "translate" | "width" | "defaultChecked" | "defaultValue" | ... 274 more ... | "value">'.

React version:
 "@types/react": "^16.9.11",
"@types/react-dom": "^16.9.3",
 "react": "^16.11.0",
"react-dom": "^16.11.0",

FileField is causing the error :
<FileField
        ref={teacherVideoClipRef}
        name="teacher_vid"
        hint="A short video of you. Must be an mpeg"
        labeltext="A short video of you"
        validators={[isFile()]}
    />

Temporary fix:
Add the translate prop:
 <FileField
                                        ref={teacherVideoClipRef}
                                        name="teacher_vid"
                                        hint="A short video of you. Must be an mpeg"
                                        labeltext="A short video of you"
                                        validators={[isFile()]}
                                        translate={null}
                                    />

The fix should update IFileField to set / override the translate attribute as an optional property

This bug is not present on react ^16.11.0 with react-bare-forms ^0.1.17.
If anyone requires a fix for earlier versions, let me know & i'll provide a fix for this.


add bmeng as owner

What type of PR is this?
(bug/feature/cleanup/documentation)
What this PR does / Why we need it?
Which Jira/Github issue(s) does this PR fix?
Resolves #
Special notes for your reviewer
Pre-checks (if applicable)

[ ] Ran unit tests locally
[ ] Validated the changes in a cluster
[ ] Included documentation changes with PR

Codecov Report

Merging #87 (39c3146) into main (cf0ee32) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main      #87   +/-   ##
=======================================
  Coverage   44.29%   44.29%
=======================================
  Files          38       38
  Lines        2312     2312
=======================================
  Hits         1024     1024
  Misses       1132     1132
  Partials      156      156

/lgtm


NBAsYouTypeFormatter: Lacks support for handling changes to the middle of a phone number string

If I use the NBAsYouTypeFormatter to format text as it is typed into a UITextField via textField:shouldChangeCharactersInRange:replacementString: there doesn't appear to be any methods that support changing digits in the middle of a phone number string, only support for adding or removing digits from the tail.
Something like:
- (NSString *)inputDigit:(NSString *)nextChar atPosition:(NSUInteger)position;

How about to use below method ?

(NSString *)inputString:(NSString *)string;
(NSString *)inputStringAndRememberPosition:(NSString *)string;

Will that work? How would I use that method to achieve this? I'm not sure I fully understand how inputStringAndRememberPosition: is intended to be used.

Just input whole string.
[asFormatter inputString:@"123412"];

I'll try that. Thanks

OK~, tell me if you have any issue.


KAFKA-9480: Fix bug that prevented to measure task-level process-rate

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Cherry-pick to 2.5


Make priority level and priority reason a required field

Depends on this Card

Input fields now has required warning in CI-Hawaii

Hawaii Staging
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/efea1213-d8fd-4b99-bdf1-c47572da902d

NO Staging
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/6abc45bd-4628-48c5-86f5-fdfd7eb8c5c5


Describe how to update dependencies

Coverage remained the same at 90.935% when pulling d5d93cdc0f7d73870d1090d431dc1125204c4753 on SAP:update-deps into fac126e6efced0e50b70e60f79586bc0cd714278 on cloudfoundry-incubator:master.


Bbox filters split 180-meridian-crossing boxes incorrectly

This demonstrates and fixes it: https://github.com/CartoDB/Windshaft-cartodb/commit/26c5bfb0e38630b84df4426f5182df5271965d18
Note a longitude range 90, 190 would be split into 90,180 and -180,10 while the latter should be -180,-170.
cc/ @rochoa

Nice catch! 😄
I cherry-picked it and created a PR.


Added unit tests for CampaignSummaryQueryHandler #863

Added unit tests for CampaignSummaryQueryHandler.

Please review and let me know if that's not sufficient.
Note: the code throws exception if ManagingOrganization returned in the snippet below is null.

Is it something that needs to be fixed?
Thanks

@tonysurma, do you need a code review for this?

@mgmccarthy if you could please

Thanks for the review, @mgmccarthy.
I've made changes as per your recommendations. Should be all good now.

@nedruk, nice job. Thanks for the contribution. @tonysurma :shipit:


Packet updates and better logging

Also fixes #134

If all the console logging is of the form warn or error, we should also be able to add an ESLint rule for no console.log in prod.

We do still use console.log for server startup and on client connection.

I'll merge this for now and then submit changes to QUERY_RESPONSE with the PR that fixes #133.


Resource unnecessarily clones

The Meta helper trait has the following signatures,
fn name(&self) -> String
fn namespace(&self) -> Option<String>
fn resource_ver(&self) -> Option<String>

All of these end up cloning the underlying thing they're returning; none of them need to; they could return &str references.
In my particular case, I'm iterating through every object of a particular resource type, this results in quite a few allocations that I end up never needing. (I'm just comparing the name, for example.)
This would be a breaking change, however, since kube-rs isn't at 1.0 yet, I thought I'd suggest it.

I did originally start out with references, but it made it hard to work with the big openapi struct because of borrows happening in many places, and a couple of extra copies didn't feel that worth optimizing for. Besides, you can always just reach into metadata directly if you are concerned about the cost of using Meta.
That said, you can try changing the trait and seeing how the examples expand. If it's not as bad as I originally felt it was, then we could possibly change it.

The experiments for this in https://github.com/clux/kube-rs/pull/311 did leave a lot to be desired in terms of usability (which is primarily why it still clones like it does today).
Resurrecting this discussion now as the trait is being proposed to be split into a more foundational one + a user-facing one in #486.
This type of split potentially opens up the door to having an alternative trait that does not clone as heavily (one that users can even define themselves, as it's not tied to how kube_runtime or kube uses it). Maybe if there's demand for such a trait, we could even have it in here as an alternate ResourceExt.

The experiment on this is closed for now, don't foresee us doing breaking changes of this nature, and my experiment was not even clearly better ergonomically.
For people where this allocation overhead matters you can, you can use a trait we made to optimise the reflector store (where it does matter); Lookup. This trait has a blanket impl of Resource and can in theory be used for much of the same stuff (and is used internally for places where it matters in the runtime).
Closing this  issue for now. Feel free to re-open more specific things.


⚠ Bofrost.fr has degraded performance

In a358689, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1597 ms

Resolved: Bofrost.fr performance has improved in ab66871 after 9 minutes.


Remove the carrd.co link

Hi, sorry but you can you remove the #BLACKLIVESMATTER link from the settings menu?
I don't support that at all.
Or how to recompile the project so i can remove it my self. Thanks.

I don't intend to do that, no. The project is open source, and you can build it the same way as most other javascript based projects (check the package.json).


Pin and update node version

Update and pin node version

@darrylmorton-digicatapult

Dockerfile npm version

Is changed to 8.x.x. What are you expecting?

@darrylmorton-digicatapult

Dockerfile npm version

Is changed to 8.x.x. What are you expecting?

My bad, couldn't see the change.

go single quotes!

I think that was my editor/extensions. I should probably change those back, if we have a pre-existing convention.


Redirect back to the page that triggered the login

As mentioned in #14 some system of redirecting back to the page that triggered the authentication would be nice. This cannot be done through the OAuth2 flow, so some other system would be needed.

Fixed in branch v1-rewrite


DIP1000 syntax changes are not supported

The Phobos style checker currently does not work due to parsing errors in std.utf

Github was a bit too eager to tie that libdparse issue to this one...


react-autowhatever component events

Hi,
I am working on an opensource project gathering reusable pure react components.
I tried to integrate this component react-autowhatever in react-storybook.
I faced a problem with the events: ('onMouseEnter', 'onMouseLeave', 'onMouseDown', 'onClick') are only attached to the 1st item.
Here are 2 examples:

Basic Example
Advanced Example

The problem is that when I click on the items, only the 1st item handles the events!
Any Idea please.

@amaalej If you are still experiencing this issue with Storybook 3, please re-open and we'll take a look! 👍


fix(iteration panel): Set WIT context for quick add when an active iteration is selected.

Set WIT context for quick add when an active iteration is selected.
Fixes https://openshift.io/openshiftio/openshiftio/plan/detail/1575

@nimishamukherjee fabric8/fabric8-ui:SNAPSHOT-PR-2283-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2283-fabric8-planner.badger.fabric8.io

@nimishamukherjee fabric8/fabric8-ui:SNAPSHOT-PR-2283-2 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2283-fabric8-planner.badger.fabric8.io

@nimishamukherjee fabric8/fabric8-ui:SNAPSHOT-PR-2283-3 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2283-fabric8-planner.badger.fabric8.io