test: GtfsRouteTableLoader

closes #570
Please review this PR after #626
Summary:
This PR provides additional unit test for GtfsRouteTableLoader class
Expected behavior:
No code change, tests should pass
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[x] Format the title like "feat: -new feature short description-" (PR title must follow the conventional commit specification)
[x] Linked all relevant issues
~[ ] Include screenshot(s) showing how this pull request works and fixes the issue(s)~

Test might be fixed by #626.

Test might be fixed by #626.

Closing as a trivial test to avoid artificially inflating the code base.

Closing as a trivial test to avoid artificially inflating the code base.


Request Logging

Could the graphql-hive server instances log their requests?  status code, runtime, information about the caller, e.g. adding something like https://github.com/mgcrea/fastify-request-logger ?  Currently I'm just using raw timestamps to try and correlate logs from client requests to the instance that I'm hosting

We might move away from fastify soon, but it could be opt-in, yes. You want to create a PR?

If graphql-hive is moving away from fastify then a new logger must be sourced as well right?
Perhaps you would consider using a logger that can support shipping logs to logstash? :)


Json Validation

Something is wrong in the json validation for an album:

Ah, in this case it's because the "Beamdog" org doesn't exist, and vgmdb.net has changed to link to a search page instead of omitting a link. I'll fix the handling for this case.
Thank you for bringing this bug to my attention!


Update of Fragged Empire 2E HTML

Submission Checklist
Required
FraggedEmpire2E.html
Bugfixes and Updates

[X] The pull request title clearly contains the name of the sheet I am editing.

[X] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).

[X] The pull request makes changes to files in only one sub-folder.

[X] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

[X] I have followed the Character Sheets Standards when building this sheet.

[ ] I have authorization from the game's publisher to make this an official sheet on Roll20 with their name attached.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Fixed several bugs in the character sheet as well as some typos. Streamlined some of the operations on the sheet as well.

Character Sheet Info Roll20 Internal Use only.


Fix a potiental goroutine leak by using buffer channel.

See https://code.uberinternal.com/T254764 for details.

For the benefit of those without access to Uber's internal systems:
This fixes a bug that caused goroutine leakage on forwarded requests. When a forwarded request timed out, the goroutine would hang indefinitely, as the parent call would never read the result from the channel.
The fix here creates a buffered channel so that the goroutine in MakeCall can always write to it without being blocked. In the case where a timeout occurs, the result will never be read, but the goroutine will be able to return appropriately.

LGTM. :+1:

LGTM

I feel that this is not addressing the root of the problem. There should be a consistent way of ending a forwarded request whether it's a result of a valid response or a timeout. The way that interact with the underlying should be consistent in either case.
The problem is not necessarily that the channel is unbuffered. The problem is that we are inconsistent in how we consume from the channel.
I understand that this is a quick fix, but I'd prefer to see an alternate solution. Thoughts from @thanodnl @dansimau @sunzl1989?

Following up on my previous comment. This is a quick fix. The non-quick fix will likely be less quick........ We'll merge this and tackle improving how we interact with our forwarding channels in another PR.
@sunzl1989 Thanks for your contrib.


monitor: Improve NodePort tracepoint reliability

This commit improves the reliability of the TRACE_TO_NETWORK monitor
trace point for NodePort reply traffic by moving it to after the tail
call.  This addresses a concern was raised during code review [1].
Namely, before this commit, the datapath would emit the
TRACE_TO_NETWORK event for NodePort reply traffic before it performed
a tail call to tail_rev_nodeport_lb[46](). If that tail call failed
for any reason, the trace event would still be emitted, even though the
packet was dropped without a notification. This is not desirable as it
looks like the packet was forwarded, when in fact it was dropped.
We originally deemed it to complicated to move the trace event to after
the tail call, as it would have required us to pass the conntrack state
(ct_ret and monitor) through the tail call to the receiver. However,
it turns out that rev_nodeport_lb[46]() also performs a conntrack
lookup, and thus allowing us to use the state retrieved from the
conntrack lookup performed there.
It should be noted that the conntrack entry used in this commit is
different from the entry used previously. Previously, we used the same
ENTRY_INGRESS conntrack entry for monitor aggregation in both
directions (ingress and egress), while this patch switches the reply
trace event to contain the status of the ENTRY_EGRESS entry (see
example below). Using a different entry for the egress path than for the
ingress should be okay as monitor aggregation uses separate fields in
the entry ({rx,tx}_seen_flags) depending on the direction. The
approach of using two entries also seems consistent with pod-to-pod
traffic, where we also seem to be populating send_trace_notify from
two different entries (one for ingress and one for egress)
By moving the trace point to after the tail call, we loose access to the
destination security identity (the dst_id value passed to
send_trace_notify), but we gain access to the index of the interface
(ifindex) on which the reply packet is being sent. This is consistent
with other TRACE_TO_STACK/TRACE_TO_NETWORK trace points. If the
destination security identity is missing, Hubble will fall back on a
user-space IPCache lookup when populating the flow metadata.
Overview of connection tracking entries involved:

ct_lookup4(.., CT_SERVICE):
    1. tuple = (saddr=client,daddr=svc,flags=TUPLE_F_SERVICE,dport=client_port,sport=svc_port)
       nothing found
ct_create4(.., CT_SERVICE)

ct_lookup4(.., CT_EGRESS):
    1. tuple = (saddr=client,daddr=pod,flags=TUPLE_F_IN,dport=client_port,sport=80)
       nothing found
    2. tuple = (saddr=pod,daddr=client,flags=TUPLE_F_OUT,dport=80,sport=client_port)
       nothing found

ct_create4(..., CT_EGRESS):
    key = tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,dport=80,sport=client_port) <-- ENTRY_EGRESS
    val = entry=(rev_nat_id=$SVC_ID,node_port=1,ifindex=FOO)

ct_lookup4(.., CT_INGRESS):
    1. tuple = (saddr=client,daddr=pod,flags=TUPLE_F_OUT,dport=client_port,sport=80)
       nothing found
    2. tuple = (saddr=pod,daddr=client,flags=TUPLE_F_IN,dport=80,sport=client_port)
       nothing found

ct_create4(..., CT_INGRESS):
    key = tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,dport=80,sport=client_port) <-- ENTRY_INGRESS
    val = entry=(rev_nat_id=0,node_port=1)

ct_lookup4(.., CT_EGRESS)
    1. tuple = (saddr=pod,daddr=client,flags=TUPLE_F_IN,dport=80,sport=client_port)
       finds ENTRY_INGRESS
             ^-- before this patch, this entry is used to determine the `monitor` value on the reply path

-send_trace_notify(TRACE_TO_NETWORK, ...) <-- removed by this patch

ct_lookup4(.., CT_INGRESS)
    1. tuple = (saddr=pod,daddr=client,flags=TUPLE_F_OUT,dport=80,sport=client_port)
       finds ENTRY_EGRESS
             ^-- after this patch, this entry is now used to determine the `monitor` value on the reply path

+send_trace_notify(TRACE_TO_NETWORK, ...) <-- added by this patch

ct_lookup4(.., CT_EGRESS)
    1. tuple = (saddr=client,daddr=pod,flags=TUPLE_F_IN,dport=client_port,sport=80)
       nothing found
    2. tuple = (saddr=pod,daddr=client,flags=TUPLE_F_OUT,dport=80,sport=client_port)
       finds ENTRY_EGRESS

ct_entry_keep_alive(ENTRY_INGRESS)

ct_lookup4(.., CT_INGRESS):
    1. tuple = (saddr=client,daddr=pod,flags=TUPLE_F_OUT,dport=client_port,sport=80)
       nothing found
    2. tuple = (saddr=pod,daddr=client,flags=TUPLE_F_IN,dport=80,sport=client_port)
       finds ENTRY_INGRESS

[1] https://github.com/cilium/cilium/pull/18454#discussion_r786959078
Co-authored-by: Martynas Pumputis<EMAIL_ADDRESS>Signed-off-by: Martynas Pumputis<EMAIL_ADDRESS>Signed-off-by: Sebastian Wicki<EMAIL_ADDRESS>/cc @joestringer who initially raised the concern addressed by this PR

There seems to be an inconsistency with this approach. The new trace point seems to be using the daddr before NAT (i.e. the NodePort IP instead of the backend service IP):
Jan 20 17:59:56.060: <IP_ADDRESS>:56192 -> <IP_ADDRESS>:8080 to-endpoint FORWARDED (TCP Flags: SYN)
Jan 20 17:59:56.061: <IP_ADDRESS>:56192 <- <IP_ADDRESS>:32342 to-network FORWARDED (TCP Flags: SYN, ACK)

There seems to be an inconsistency with this approach. The new trace point seems to be using the daddr before NAT (i.e. the NodePort IP instead of the backend service IP):

Don't you mean, after reverse NAT?
I think that this is probably more accurate at the packet level: The application sends a reply to an incoming nodeport connection, so on the way out of the node towards the network, we will reverse the NAT so that the packet that we hand to the stack is in fact coming from the NodePort IP/Port and towards the destination IP.
Typically for this case in the past, what we will do is emit the notification with the current packet contents, but also include the orig_addr for the original pre-NAT address. This way, cilium monitor or Hubble can have all of the information: Both the actual measured packet contents as the packet leaves the node, as well as the original address (for easier correlation with the other direction tuple).

Don't you mean, after reverse NAT?

Yep.
It's interesting that we didn't see this behavior (i.e., we saw the pod IP addr as the src IP addr) when we initially tested the patch. @gandro Could be that you were testing the case when the backend was running on a different node than the one which received the request? We set the SECLABEL, so I assume that Hubble should have been able to set the correct src metadata for the reply.

Yes, sorry, I meant after reverse NAT.
What bothers me most about the current solution is that request and reply do not have the same IP for the server (one has the pod IP, the other the NodePort IP). I think whatever solution we come up with, we want to be consistent such that both packets show the same saddr/daddr pair. Need to figure out if I can fix this via orig_addr - I'm not even sure if Hubble correctly reads that field anymore.

I just tested this change locally, and both directions (ingress and egress) are consistent:
May 24 23:03:00.379: <IP_ADDRESS>:43862 <> default/service:30905 from-network FORWARDED (TCP Flags: SYN)
May 24 23:03:00.379: <IP_ADDRESS>:43862 -> default/pod2:80 to-stack FORWARDED (TCP Flags: SYN)
May 24 23:03:00.379: <IP_ADDRESS>:43862 <> default/pod2:80 from-network FORWARDED (TCP Flags: SYN)
May 24 23:03:00.379: <IP_ADDRESS>:43862 <> default/pod2:80 from-stack FORWARDED (TCP Flags: SYN)
May 24 23:03:00.379: <IP_ADDRESS>:43862 -> default/pod2:80 to-endpoint FORWARDED (TCP Flags: SYN)
May 24 23:03:00.380: default/pod2:80 <> <IP_ADDRESS>:43862 from-endpoint FORWARDED (TCP Flags: SYN, ACK)
May 24 23:03:00.380: default/service:30905 <> <IP_ADDRESS>:43862 to-network FORWARDED (TCP Flags: SYN, ACK)

from-network mirrors to-network and to-endpoint mirrors from-endpoint.
Should this not be the expected behavior? Without this change, it's hard to determine if reverse NAT worked correctly.


User agent

Hello! Are you can change user-agent for requests to Google? If you set to Googlebot 2.1 the problem with urllib.error.HTTPError: HTTP Error 429: Too Many Requests seems to be solved in Firefox but i don't know how to set it in Katana :D.

considering that!


Use type system parameter

related to #506
Contributor Checklist:

[x] I have added myself to the creators.json file

Thank you for your PR! I think the branch was created on top of the branch of your last PR - this now creates a conflict as it contains identical changes as the previous PR. Maybe you can try to rebase your changes on top of the current master branch. Thanks!

Yes after re running mypy with this version it is showing less error messages, some of them I fixed in this version and I did not find how to fix other errors.

Thanks, will merge after CI succeeds!

Merged, thank you for your patience!


VS Code : Unable to load schema when behind a proxy

I can't have intellisense when using the Adaptive Card Viewer extension behind a proxy.
I get the error "Unable to load schema from ....".
VS Code : 1.13.0-insiders
Adaptive Card Viewer : 1.0.7

Hmm that's kind of a bummer. I'm not sure there's anything particular we can do to enable this then. Perhaps you can file an issue with VS Code?

Closing stale issue, please re-open if more information is found


Adds missing obsolete attributes to member that depend on obsolete types

Added obsolete attribute to classes that use obsolete objects from Configuration.
Added pragma to avoid warnings in test code.
Checked the dotnet samples and the deprecated members don't seem to be used there
Fixes #5996

/azp run

Pull Request Test Coverage Report for Build 279663

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage remained the same at 78.779%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.AI.LUIS/LuisApplication.cs
1
97.37%

/libraries/integration/Microsoft.Bot.Builder.Integration.ApplicationInsights.Core/ServiceCollectionExtensions.cs
4
90.91%

Totals

Change from base Build 278820:
0%

Covered Lines:
24783

Relevant Lines:
31459

💛  - Coveralls


Write content for feature list

Clean Scan
A scanner in your pocket

Auto-Edge Cropping  https://material.io/tools/icons/?icon=crop&style=baseline
OCR, Extract text from Images       https://www.seekpng.com/ipng/u2q8t4a9e6i1o0e6_lasso-ocr-icon-parallel/
Auto-enhance image quality  https://fontawesome.com/icons/bolt?style=solid
Share your scans  https://material.io/tools/icons/?icon=share&style=baseline
Create PDFs from Documents  https://fontawesome.com/icons/file-pdf?style=regular
Organize like a pro  https://fontawesome.com/icons/th-list?style=solid


Total available IOC changes when wallet is staking

I've just upgraded from protocol 60017 to 60018 and noticed that the total available IOC changes after some time (on the order of hours) while staking.  I haven't tried to test if this is the case if I don't stake.  If I restart the wallet, the correct available IOC is displayed and matches the value on the IOC block explorer.
The last difference was +97.14 IOC (will confirm/update if it occurs again). This value does correspond to a transaction (staking reward) I received 2 days ago

When staking overall balance splits into change and stakes, therefor overall balance will go into staking into smaller amounts. If you see missing balance you might have bad blocks and can do ESC, repairwallet command in the wallet. Thanks

It wasn't a missing balance, it was additional balance that corresponded to a previous stake reward (double counted).  I deleted the html5wallet_data folder and it seems to be fine so far (1 stake reward so far), will close issue if I don't see it again.

Deleting html5wallet_data and restarting wallet seems to have fixed it.


Fix typo in readme

Hey, I came across your package and noticed a small typo in the readme. Changed it quickly.

thx


Please review commit for the xor function and related helpers

Ref commit is dd3a5b972835a9445eb11bb8cd7f6ec6f7ada5bf

Ref commit is dd3a5b972835a9445eb11bb8cd7f6ec6f7ada5bf

Note the the function uint8xor has been renamed to byteXor and moved to Eth2Types.dfy in commit 155979b5681ba8a6eb07ded0e496458ea14926f7

These functions are not used.


[Bug]: NPE in BallerinaSymbol

Description
In the following scenario, we've used http:ClientRequestError as a parameter and when we try to take completions inside the function we get a null pointer exception.

In BallerinaSymbol.java, we're taking symbol.pos, and for the above scenario we receive null for symbol.pos
Steps to Reproduce
import ballerina/http;

public isolated function getError(http:ClientRequestError requestError) returns string {
    <cursor>
}

Affected Version(s)
2201.8.0-SNAPSHOT
No response
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

I checked this with the current master and 2201.8.2, but I couldn't reproduce it. @mindula Can you please verify whether it is fixed or not?

This is fixed. Will close this issue


To test in live

@Deveshshankar
need to ensure that when live goes out, a user is able to use both assisted keys in the same vault.

Completed


Add a shouldDelete method in the provisioner Qualifer interface

background describe in https://github.com/kubernetes-incubator/external-storage/issues/1044

@wongma7 , mind helping taking a look ? thanks !


[docs] tauri how to generate windows minidump?

tauri how to generate windows minidump?

call MiniDumpWriteDump upon panics using catch_window


throughput_mode elastic is not supported

Found a bug? Maybe our Slack Community can help.

Describe the Bug
throughput_mode supports only provisioned and bursting
Expected Behavior
throughput_mode supports only provisioned and bursting , should be supporting elastic as well
Steps to Reproduce
module "efs" {
source  = "cloudposse/efs/aws"
version = "0.31.1"
throughput_mode= "provisioned/bursting/elastic"
}
When we do a terraform plan. It shows that the elastic mode is not supported yet.
Screenshots

Terraform plan gives: -
Acquiring state lock. This may take a few moments...
╷
│ Error: expected throughput_mode to be one of [bursting provisioned], got elastic
│
│   with module.block_efs.module.efs.aws_efs_file_system.default[0],
│   on .terraform/modules/block_efs.efs/main.tf line 13, in resource "aws_efs_file_system" "default":
│   13:   throughput_mode                 = var.throughput_mode
│
╵
Releasing state lock. This may take a few moments...

Anything that will help us triage the bug will help. Here are some ideas:

OS:  Linux
Version : 0.31.1

There are no restrictions on the throughput mode in the code.
Upgrade AWS provider - https://developer.hashicorp.com/terraform/tutorials/configuration-language/provider-versioning#upgrade-the-aws-provider-version

Hey  @ByJacob , Thanks for pointing it out.
I upgraded the version : terraform init -upgrade .
I was able to create efs with throughput mode as elastic post that.
Thanks again .


Doc: improve docstrings adding type hints

Hello @jiri-otoupal,
This PR adds type hints to the shortcut module BUT this is not supported before Python 3.5 and the package aims to support python>=3.4.
I propose that because Python 3.4 and 3.5 have reached their end of life.
Ref: https://devguide.python.org/#status-of-python-branches

I've seen the deepsource comments about style. Do you mind if I apply black (code formatter from the Python Software Foundation) to the whole codebase?

I've seen the deepsource comments about style. Do you mind if I apply black (code formatter from the Python Software Foundation) to the whole codebase?

Please do apply black, it was in the scope a long time

@jiri-otoupal do not merge, I messed up with git conflicts. Sorry... Tryng to fix it.

No worries just let me know when u fixed it 😊

Can you please remove the walrus, for the compatibility with version 3.6 ?

I can but I'm not the one who introduced it. I suggest you remove it by yourself in a separate branch.

Can you please remove the walrus, for the compatibility with version 3.6 ?

I can but I'm not the one who introduced it. I suggest you remove it by yourself in a separate branch.

Yes i will remove it


i2c: Take pins in DefaultMode rather than Output

Putting pins into open-drain mode causes them to be pulled low, which
can confuse other devices on the bus.
This is a breaking change. Calling code can be fixed by not calling
into_open_drain_output() on pins when setting up I2C.
Fixes #87

I'm happy to make this a non-breaking change if you'd prefer. Restoring the pin mode in the release method would be the most complicated part. I think I'd need to create a new trait that reinitializes the current mode of the pin then implement that for Analog and Output.

I think we can easily allow such breaking change. @dotcypress?

This is breaking change, but I'm inclined to merge this anyway, cause this level glitch on i2c initialization phase is something that we need to remove asap.

Ok, now I'm 99% sure that using OpenDrain mode for i2c was my design mistake. I'll mention that breaking change on release notes for the next release.

Looks like i2c stop working after merging this PR, I will dive in to find a root cause.

@davidlattimore @andresv I rolled back this commit before I found a solution.

No problem. I just updated our application to use the HAL with this commit and it seems to be working for me. I'll be interested in what you find.

@davidlattimore I just try to run https://github.com/dotcypress/minesweeper with that change and display stop working.
I believe we still need to switch mode to OpenDrainOutput before changing alt function.
The mistake I've made: forcing user to switch pin mode to OpenDrainOutput. Instead we need to use DefaultMode and change mode to OpenDrainOutput internally, with High level by default. It will take some changes on i2c macro, I will try some ideas and ping you.

It looks like into_open_drain_output is enabling the internal pull-up resistors for the pin. I couldn't tell from looking at minesweeper whether you had external pull-ups or not. The internal pull-ups are fairly weak, so not sufficient for many applications (by my limited understanding of this stuff), but perhaps they're enough for your application depending on the I2C speed and timing settings.
We're using 2.2K resistors on our I2C bus, which perhaps explains why it still works for us.
Assuming that is the problem, do you think it should be left up to the user code whether to enable the internal pull-ups or not? Perhaps a config option, then passing an argument to SDAPin::setup.

I've tried with resistors(2.2K) and without: not working on both cases.
I think this happens because pin was switched to open_drain_output with default value is LOW, pull pin down, then after set_alt_fuction was called, i2c engine start controlling output.


Fine tunne telemetry (3)

Jira: https://keboola.atlassian.net/browse/PSGO-180
Changes:

Various metrics fixes.

Ad User a Application exception, ok, upravim to v samostatnom PR


sorting on Time collected in Fcirc view

BUG DESCRIPTION
Problem
A bird's-eye summation of what the problem is.
Steps to reproduce

Advanced Search
Select Fcirc output
for Study is "exp024_michael lactate timecourse".
Click on Time Collected header

Current behavior
Does not appear to sort on the column (either ASC or DESC)?
)
Expected behavior
Sorting correctly
Suggested Change
A guess at what might fix the issue.  Pseudocode encouraged.
Comment
Any other relevant context or links to what you were working on when you
discovered the problem.

ISSUE OWNER SECTION
Assumptions

List of assumptions made WRT the code
E.g. We will assume input is correct (explaining why there is no validation)

Requirements

[ ] 1. List of numbered conditions to be met for the feature
[ ] 2. E.g. Every column/row must display a value, i.e. cannot be empty
[ ] 3. Numbers for reference & checkboxes for progress tracking

Limitations

A list of things this work will specifically not do
E.g. This feature will only handle the most frequent use case X

Affected Components
A list of repository items, dependencies, etc, labeled with add, delete, or
change.  One item per line.  (Mostly, this will be a list of files.)

change: File path or DB table ...
add: Environment variable or server setting
delete: External executable or cron job

DESIGN
GUI Change description
Describe changes the user will see.
Code Change Description
Describe code changes planned for the feature. (Pseudocode encouraged)
Tests

[ ] 1. A description of at least one test for each requirement above.
[ ] 2. E.g. Test for req 2 that there's an exception when display value is ''
[ ] 3. Numbers for reference & checkboxes for progress tracking

This was fixed by #521


[Breaking] All backpack contents disappear when equipping the backpack in latest update

Issue
When equipping a placed backpack while there are contents inside of the backpack, all items inside disappear.
Steps to Reproduce

Fill backpack with items
If backpack is not already placed on the ground, place it on the ground via keybind or by dying
Equip the backpack with the keybind

Note: this bug was introduced in the latest release, it seems it does not exist in the previous version

Minecraft 1.20.1
Fabric loader 0.15.7
Fabric API 0.92.0
Beans Backpacks 20.1 - 0.15-v2

I hate these are the circumstances we always get to meet but good to see you again! :P
I accidentally removed-ish the code that adds the items into your Back-Slot inventory while changing Ender Packs since Ender Data doesn't care what's in the backpack cause its items are stored elsewhere. So when equipping the All backpacks the contents would be ignored when it should just ignore Ender Packs.
Will be fixed in 20.1-0.16-v2

Nice thank you for the quick updates on these features/fixes.

I hate these are the circumstances we always get to meet but good to see you again! :P

avid beans backpacks enjoyer and bugtester lol. Seriously though, good work on the mod so far


Robot Name Test case there can be many robots

https://github.com/exercism/xecmascript/blob/master/exercises/robot-name/robot-name.spec.js#L28
This test is assuming global state of usedNames. In JS5 this this the way it is because var is global. I don't think that should be the case for ES6+. I think part of it is that the class name is Robot instead of RobotName. Something like usedName or similar should be encapsulated inside the class to avoid global state.
related:
https://github.com/exercism/xjavascript/issues/105
https://github.com/exercism/xjavascript/blob/master/exercises/robot-name/robot-name.spec.js#L35

I'm not sure if I understand you. That test has nothing to do with global state. That test checks if the class Robot creates a new and different name each time a new instance is created.
As it was discussed on exercism/xjavascript#105, one way to check more or less this, is to create a big number of instances and check that there are no repeated names. So, the test creates 10000 instances of Robot, and it adds them to a Set (that takes care automatically of duplicated values). If the set has a length of 10000, each Robot instance generated a different name. If the length is less than 10000, there were a repeated name.
Sorry, but I don't see any global variable here. usedNames is a variable outside of the for loop, where generated robot names are added, but it's not a global one.
For me, the test provides great value to the exercise, because it forces you to use some kind of randomness in your implementation to generate robot names. Maybe, we should hear other @exercism/javascript members.

My understanding is that usedNames being outside of the class will keep its state even was the Robot instance is destroyed?
https://github.com/exercism/xecmascript/blob/master/exercises/robot-name/example.js#L3

@masters3d @rchavarria I think you are each referring to two different usedNames variables.  In the robot-name module, usedNames is created when the module is imported to the test suite.  It's not global per se, but more like a class-level variable (EG Java static.)  This is intentional, so that when new robot instances are created within the suite, we still know if the name was used previously by any other instance.
@rchavarria refers to usedNames within the test suite, which is not global, and he correctly describes its use there.
@masters3d do you have a suggestion for a better way to generate random, non-sequential names from the Robot class?  You'd be welcome to make a pull request!

@matthewmorgan The reset test already makes sure that the names are random and non-sequencial. The different robots names test only checks there is some kind of "global" state after an instance is destroyed.

Personally I don't think requiring a class variable or global variable adds anything to this exercise. If anything it adds confusion and to some it is an antipattern
The issue is that we are creating Robots when the object we should be creating is a RobotNameGenerator.

Sorry @masters3d, I thought you were talking about usedNames in the spec file. My fault. @matthewmorgan stated very well.
I don't think different robot names checks there is something global. But it's true that Robot implementation uses a static/global/module-level variable to be sure it generates different robot names each time a new instance is created or reset is called. Any improvement on this will be welcome, for sure.
Now, looking at the tests about reset and different robot names, they look almost the same, and they probably test the same piece of code in Robot implementation, but each one demonstrate a different spec to accomplish. So I see both tests useful.
About RobotNameGenerator, it can be thought as a helper class, used by Robot, to get names. But it doesn't need to be tested separately. It can be tested through Robot (both constructor and reset method).
Any idea about how to avoid that variable at scope level?

Perhaps encapsulating the global state implicitly into an object like RobotNameGenerator that is then explicitly required by a Robot  in order to initialize it.
class RobotNameGenerator {
  usedNames = {}
  //other state or methods
}

class Robot {
// require a name generator instance to initialize.
}

//usage

  xit('there can be lots of robots with different names each', () => {
    const NUMBER_OF_ROBOTS = 10000;
    const usedNames = new Set();
    const generator = new RobotNameGenerator(); // added

    for (let i = 0; i < NUMBER_OF_ROBOTS; i++) {
      const newRobot = new Robot(generator); // changed
      usedNames.add(newRobot.name);
    }

    expect(usedNames.size).toEqual(NUMBER_OF_ROBOTS);
  });

In the case above the Robot class is only holding the name which is not too useful. The exercise is about generating robot names not robots themselves.  Alternatively, You can just create a RobotName class that only generates names.
https://github.com/masters3d/xtypescript/blob/master/exercises/robot-name/robot-name.test.ts

I understand the idea of RobotNameGenerator to generate robot names and to store generated names, to avoid repetition. It's nice.
But, I'm not sure about passing it through the constructor of Robot (or RobotName). This RobotNameGenerator depends on how we (track maintainers) solve the problem. But that doesn't necessarily needs to be how Exercism users will solve the problem. Forcing them to pass a generator to Robot will force them to use a similar solution to the one in the track.
And, it will force them to implement the solution in two different files, but when you submit a solution, you usually submit just one file (I don't know if users can submit several files).
What do you think @matthewmorgan ?

I am not proposing that solution per se. I think the best solution is to get rid of it thus the PR.
Just feel free to close it if you are not in accordance.
I guess the next step would be to make the canonical data not introduce JS's shenanigans. :) I just don't have time for that right now.

@rchavarria @masters3d I think there's semantic value in creating a class that manages the generation of robot names.  It is a bit more sophisticated approach and I agree that it would require the submission of two classes, or functions would serve also in JavaScript.
I don't think deleting the test is the way to go.  Making some attempt to test for randomness is worthwhile, if for no other reason than to provoke thought and discussion about how difficult the problem of testing for randomness is.
@masters3d you've indicated that you don't have enough time to explore this further  Thanks for bringing it up, and if you do find time to work on it, we would welcome further discussion.

Making some attempt to test for randomness is worthwhile, if for no other reason than to provoke thought and discussion about how difficult the problem of testing for randomness is.

We are not on the same page. As I indicated here,  randomness is being tested twice. The different robots test doesn't add anything that the reset test doesn't already catch as far as randomness goes. The tests are identical except for one tracking global state.
The implicit global state is what is confusing because different robots requires global state.
@matthewmorgan How does requiring global state add to the randomness in this problem?

@masters3d the reset test is not intended to test randomness, but simply that:

Resetting the name name of a given Robot instance
Ensuring that the new name does not equal the previous one.

In fact, the reset test is not even remotely sufficient to make sure the names generated are random--  it only tests two names.  Even testing 10,000 names, as the current test for randomness does, is not sufficient to guarantee the algorithm that the user has chosen is generating random names, underscoring my point about how difficult it is to ensure randomness, a point that is well worth discussing in the exercise, but really isn't currently.
What you refer to as "global" state is not "global" at all.  It's a variable that exists during the life of the module in to which it is imported (the test suite) and keeps track of all the names ever generated by Robot instances during those tests.  It is not available to other modules that are imported into the same test suite, but only to instances of Robot.  It is shared among instances of the class or prototype-- as I said earlier, like a private, class-level static in Java.
My earlier comments probably missed the mark on the next point: The usedNames variable is not in fact required for the generation of random names, but for the generation of unique names.  We must have some mechanism for keeping track of generated names within the Robot class that is independent of the number or lifespan of Robot instances.  Without that mechanism, name generation could be perfectly random, and even non-sequential, but wouldn't be guaranteed to be unique.  Uniqueness is one of the requirements of the exercise, to cite the README:

Your solution should not allow the use of the same name twice when avoidable.

I assert that avoiding the use of the same name is entirely avoidable in the implementation of a solution, and that's what usedNames facilitates.  We are of course open to other ways to make it happen.
If I confused this discussion by asserting that usedNames and its implementation were for random name generation rather than unique name generation I apologize for the lack of specificity.

What about adding a hint file describing the requirement to never repeat a name?
https://github.com/exercism/x-common/pull/728#issuecomment-287468275

@masters3d there is currently a requirement to that effect in the description.md file, are you suggesting we put it in a hint file as well?
If we were to do that, I would think that some language that makes it clear that in ES it is possible to ensure unique name generation, and that the tests look for that would be appropriate.
Does it seem like we're repeating ourselves if we do this, or clarifying something that is currently too vague?

I didn't know hints could be added to single exercises.
I don't like to provide too many hints, so that exercises remain as open as possible. That helps generating discussions in the platform. But I don't see a big issue about adding them (some users will read them, some users don't).
It feels a bit of duplication, but, as I see it, it could be done this way: the gerenal README file states that no name should be repeated; the HINT file provides some tips about how to achieve that: module level variable,... (more or less what @masters3d pulled on https://github.com/exercism/x-common/pull/728).

"In some exercism language tracks there are tests to ensure that the same name is never used twice."
Thats not a requirement. Thats opt in.

And given the limitation, it is not possible eventually, as we run out of space... it is a discussion point that comes up on the site occasionally, depending on how they are doing on exploration.

@rchavarria it sounds as if we need to make a decision as to whether we think that the presence of the "same name is never used twice" language in the description is enough, or if we need to add a HINT.md file.  Personally I have no strong feelings about it either way.
I would not want us to use the adjective "global" to describe a potential solution, as global values should be discouraged as a matter of conveying best practices.  And, with due respect to @masters3d , I stand by my assertion that including a module or "class private" level variable is not the same as introducing a global variable.  I do agree with @masters3d that if we were using global values, that would be bad, but we're not.

@rchavarria said:

I don't know if users can submit several files from this comment

I just wanted to answer "yes" to that doubt.  It is possible.  Here is an example of doing such a thing.

@kotp thanks for your help!

In some exercism language tracks there are tests to ensure that the same name is never used twice

Ok, it's not a requirement, it's optional, but this track has opted for it. Sorry, I don't remember when, or who, but the test is there, and I'd like to keep it. I think it provides some value to the exercise.
But, I think adding a hint is a good idea. The hint could say that this track has chosen to ensure that the same name is never used twice, so the user needs to implement something to obey that: module level variables, external generator,...
@masters3d What do you think about that? Would you like to add that hint file?

Would you prefer a comment or a hint file?
https://github.com/exercism/xocaml/blob/master/exercises/robot-name/test.ml#L37
Optionally: make this test pass.
There are 26 * 26 * 10 * 10 * 10 = 676,000 possible Robot names.
This test generates all possible Robot names, and checks that there are
no duplicates. It's harder to make pass than the other tests, so it is left
as optional.
To enable it, uncomment the code in the run_test_tt_main
line at the bottom of this module.

Whoa! The comment idea is very interesting. Ok, nobody takes comments seriously, but it's interesting :stuck_out_tongue_closed_eyes:
What about both? hint and comment. In fact, they could be very similar.

I think since the practitioner is going to edit the tests, they are likely to comment out the skips as they are used to doing, they are going to be in that file, when their tests fail, and that test doesn't look like the others, they are likely to read the comments.  Or at least more likely, at that point.
People are funny though, sometimes they can't see the ketchup in the door for the ketchup on the second shelf of the fridge.


Implement Observable.catch()

We still don't have Observable.error() operator. This is need to catch some error which can recover from a fatal.

s/Observable<T>.error()/Observable.catch()/

oops. Sorry. I missed https://github.com/ReactiveX/RxJS/blob/master/src/operator/catch.ts


Add gradient border to navbar and rewrite to CSS

Navbar Border Gradient
https://github.com/EthanThatOneKid/acmcsuf.com/assets/112128328/a6d37828-6835-4039-9195-94e541c5711d
Rewrote the entire navbar component from SCSS to CSS as well!

Thanks karni, I will merge this now (praying nothing breaks unexpectedly)


Write a set of code solutions: "aiohttp client example" (python-aiohttp)

Please write code solution for this topics:
aiohttp client example (technology: python-aiohttp)
Fast way
Just write the code solution(s) in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments explain solution.
Link to this issue in comments of pull request.

How to create a Python aiohttp client session?
How to use a Python aiohttp client?
How to set a timeout for a Python aiohttp client?
How to use a proxy with a Python aiohttp client?
How to create a Python aiohttp websocket client?

How to create a Python aiohttp client session?
How to use a Python aiohttp client?
How to set a timeout for a Python aiohttp client?
How to use a proxy with a Python aiohttp client?
How to create a Python aiohttp websocket client?


Tokenomics Model Changes

This is 2 fold. Right now the current model is (1) too easy/money-based and so easy to game and (2) too steep of a distribution in that early participants will get too much rewards when compared to latter participants.
First, the 'random-users' that the mint goes to should switch to recent recent NFT actions. Particularly 1 mint to a recently minted Scion NFT and another mint to the OG NFT that it came from.
Then for flattening the distributions, we need to some more serious statistics to predict what it should look like and/or a blocker to cap the amount of ALEX that can be minted at one time.

Hello, I tried to solve the issue.
This is what I did:
Modified the random user selection to choose from recent NFT actions and implemented a cap on ALEX minting to flatten the distribution.
You can review changes in this commit: https://github.com/lkilu6456546/AlexandriaDAO-core-66/commit/27dcfdd6c28d09f258a2e10f51e19db0bf59f8c4.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.


Real Time report error

Am trying to generate a real time report but keep getting an error
This is the command I am using on Centos running Cloud Linux
goaccess -f /usr/local/apache/logs/access_log -o /usr/share/nginx/www/rt.goaccess.io/report.html --real-time-html --ws-url=http://northcoastinternet.com.au/report.html --log-format=COMBINED

What am I doing wrong? IS the host URL correct? tried without setting that but not sure what URL i need to use to access the real time report on?

Please take a look at the FAQ, how to generate a real-time report.
In your case, it seems you are almost there, however, don't need http on the ws-url option. Please try:
goaccess -f /usr/local/apache/logs/access_log -o /usr/share/nginx/www/rt.goaccess.io/report.html --real-time-html --ws-url=northcoastinternet.com.au --log-format=COMBINED

That assumes northcoastinternet.com.au or <IP_ADDRESS> is the server where GoAccess is parsing access logs and that you have port 7890 opened.
Also, v1.0.2 does not support accessing the report via HTTPS, so when you access the report through your browser, you will need to do it through HTTP.  Issue #474 will address this soon.

Closing this. Feel free to reopen it if needed.

Hi i just tried your suggestion and it parses the report no problem but nothing happens (blank page) when i visit northcoastinternet.com.au:7890 or <IP_ADDRESS>:7890
i tried both your suggestion outputting to your shared folder and also mine outputting to the goaccess folder on my server. Port 7890 is open on my firewall and restarted iptables to be sure.
goaccess -f /usr/local/apache/logs/access_log -o /usr/share/nginx/www/rt.goaccess.io/report.html --real-time-html --ws-url=northcoastinternet.com.au --log-format=COMBINED
goaccess -f /usr/local/apache/logs/access_log -o /root/goaccess-1.0.2/report.html --real-time-html --ws-url=northcoastinternet.com.au --log-format=COMBINED
How do i specify the location the report.html gets saved in?

You can output to your documentroot, or to the same path you did with this report. The report is placed in the path specified with -o, for instance,  -o /usr/share/nginx/www/rt.goaccess.io/report.html
I just opened the report above and I checked the browser dev tools and I got this:
WebSocket connection to 'ws://host:7890/' failed: Error in connection establishment: net::ERR_NAME_NOT_RESOLVED

So it seems you are specifying an invalid host in --ws-url. Try --ws-url=<SERVER_IP>and check your browser console for any possible errors.

i give up, can't get it working after a week of trying.


Update service to support MUR collection

Add support for MUR-JPL-L4-GLOB-v4.1 collection and provide sample output to DAS team

First attempt at converting a MUR image resulted in an error that still needs investigating.

        """
        # Complex-valued rasters can have real-valued nodata
        if str(new_dtype).startswith("c"):
            nodata = original_nodata
        else:
            original_nodata = float(original_nodata)
>           nodata = numpy.dtype(new_dtype).type(original_nodata)
E           ValueError: Could not convert object to NumPy timedelta

../../../../Library/Caches/pypoetry/virtualenvs/net2cog-MeQz-rfm-py3.10/lib/python3.10/site-packages/rioxarray/raster_writer.py:128: ValueError

@voxparcxls was able to replicate the same error shown above.  Also testing with Measure data.

MEaSUREs data ssh_grids_v2205_1992101012.nc was converted successfully per @voxparcxls

Re. the error shown above -

XArray reads in the MUR data file and interprets the NetCDF & CF conventions, noting that the dt_1km_data is in units “hours” and interprets as NumPy TimeDelta64[ns].
RioXArray tries to establish a valid no-data setting (GeoTIFF conventions)
I’m not entirely familiar with the Python Types & DType handling, but RioXArray fails when attempting to coerce the original nodata value into float and then into TimeDelta64 – which requires numeric values to be supplemented by a designation of units - hours, min, sec, etc.

I don't have a work-around or quick fix for this.  The RioXArray code seems a bit naive in its attempt to establish "proper" no-data values - it does not work for time/date/time-delta data, and it leaves me a bit concerned about what other NetCDF/CF data might cause problems.  This is perhaps overstating the problem, but it is a concern.

I recommend removing the code that sets CRS to Web Mercator in the absence of any CRS in the source data.

HyBIG will reproject if necessary.
Most often, the absence of an explicit CRS implies Geographic (LatLon) projection, not Web-Mercator.
RioXarray (CoGeo? - Cloud Optimized GeoTIFF package) interprets correctly without CRS.

A possible fix to RioXArray might be to revise the _ensure_nodata_dtype method:
def _ensure_nodata_dtype(original_nodata, new_dtype):
    """
    Convert the nodata to the new datatype and raise warning
    if the value of the nodata value changed.
    """
    # Complex-valued rasters can have real-valued nodata
    new_dtype_str = str(new_dtype)      ###v
    if new_dtype_str.startswith("c") \
         or "date" in new_dtype_str  \
         or "time" in new_dtype_str:    ###^
             nodata = original_nodata
    else:
        original_nodata = float(original_nodata)
        nodata = numpy.dtype(new_dtype).type(original_nodata)
        if not numpy.isnan(nodata) and original_nodata != nodata:
            warnings.warn(
                f"The nodata value ({original_nodata}) has been automatically "
                f"changed to ({nodata}) to match the dtype of the data."
            )
    return nodata

This code change in rioxarray does work. So this seems like a shorter work around than reprojecting data, though like you said it might not be for every case.
BUT the .tif has issues, the map gets blocked out. Maybe some incompatibility..
Patch for net2cog:
https://github.com/podaac/net2cog/blob/rioxarray_netcdf_patch/net2cog/rioxarray_raster_patch.diff
Here's Cog generation from a couple of files. Previously errored for MUR netcdf generates TIF.

MUR & other Collection examples

20230917090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1_analysed_sst.tif

I wonder if that is just a problem displaying the tiff file?  I have one that looks like that in mac's preview, but opens fine in QGIS.
Even simply running file on it shows issues, like a negative width:
mur_analysed_sst.tif: TIFF image data, little-endian, direntries=19, height=17999, bps=16, compression=deflate, PhotometricIntepretation=BlackIsZero, width=-29536

Like the inverted image, this is an issue with using a basic tiff viewer (MacOS Preview) on these geotiff files, and not evident in GIS viewers (QGIS).  I agree, however, that something is fishy here.  I'm suspicious that there is a mask layer or setting with improper values (fill?), or something like that. And curious if it is specific to COG settings, as I don't see this on plain gdal_translate to GTiff.  ~So maybe that no-data value is not that good a solution.~. It is independent of the no-data fix above as it appears on all of the outputs, not just dt_1km_data.

Okay, it looks fine when opened with Safari or mac photos. Haven't tried QGIS
The cog generation was a selection of all variables below:

I'll check for the band selection and other defaults in the net-cog process, see whats up.


Apple TV: TouchableOpacity and Button need hasTVPreferredFocus support

Motivation
Give TouchableOpacity and Button the same TV focus support as is already present in TouchableHighlight.
Test plan
Manual testing on TV simulator and devices.

@hramos could you please try importing this again?

Update, this failed internally with the following:
2 Flow errors detected!
=====Flow error #0====
/Libraries/Components/Button.js line 59 col 22-3: property `hasTVPreferredFocus`
Property not found in
react.js line 79 col 35-46: object type
=====Flow error #1====
/Libraries/Components/Button.js line 98 col 7-25: property `hasTVPreferredFocus`
Property not found in
/Libraries/Components/Button.js line 101 col 9-18: object type

Thanks @hramos , I just submitted what I think is the fix.  My environment is giving me a flow version mismatch and hundreds of flow errors, so it's hard to run those tests locally :)

Quick update: this is waiting on some internal snapshot tests we need to update, to account for the new prop. It's on my todo list.

This is hopefully landing tonight. Sorry for the delay.


Reorder general remarks

MVP Priority: Medium

[ ] Reorder general remarks

General remarks appear in random order. Is it possible to make them appear in order of date? I'm not sure how what is the best order. In "Edit" the new ticket is added to the bottom. But in "Record View" the new ticket is added to the top.
Example: DiRf-2
Actual Results
2003 Remark
2023 Remark
2017 Remark
2018 Remark
2003 Remark
Expected Results
2003
2003
2017
2018
2023

There is no provision for this in Arches Core. We'll need to figure out how to do this.

I think this can be done through drag and drop in the tree to reorder.


[WIP] Add RSpec

default Rake task runs Test::Unit & RSpec, then sends combined
coverage data to Coveralls
RSpec: before(:suite) & after(:each) hooks set Faker::Config.locale = nil to
prevent carryover of state between examples. Tested in rspec_locale_hooks_spec.rb
all rake tasks consolidated in Rakefile

Running specs, either alone or together with Test::Unit gives gems/simplecov-0.10.0/lib/simplecov/defaults.rb:50: warning: global variable $ERROR_INFO' not initialized` warning at the end. This seems to affect no functionality as far as I see, but I'll try to fix it.

I've gotten nowhere with that warning. Google only returns links to other people's Travis runs where the same warning was raised.

This looks good.  I'm not seeing the $ERROR_INFO warning.

Odd, because it shows up on Travis too https://travis-ci.org/factory-helper/factory-helper/jobs/62906845#L158. Anyway, I'm removing the [WIP]

:shipit:


Do we have best practices for rendering Kubernetes resources, such as rendering the env list in a pod?

https://www.kcl-lang.io/zh-CN/docs/user_docs/guides/working-with-k8s/generate-k8s-manifests
This example is too simple and does not involve operations with , list, and if for...

For Kubernetes resource rendering, here are some more examples

Konfig and some best practices for abstraction: https://www.kcl-lang.io/zh-CN/docs/user_docs/guides/working-with-konfig/overview
PodInfo application configuration (including dynamic input variables and Kubernetes resource rendering, it looks a bit like a Helm Chart): https://github.com/kcl-lang/modules/tree/main/podinfo

If you have more specific scenarios, please let me know and we can further discuss.


Disable storage account cross tenant replication

What is being addressed
Disable storage account cross tenant replication.
The Azure TRE does not use cross tenant replication and it the feature is typically flagged in security posture guidance to disable if not being used, e.g. https://www.trendmicro.com/cloudoneconformity/knowledge-base/azure/StorageAccounts/disable-cross-tenant-replication.html

Not sure why tflint is failing now for my change.  I have changed this file (by adding cross_tenant_replication_enabled = false) but not changed the tags.
Happy to fix the tag issue if necessary?  I presume it just needs the tre_id wiring through as a TF variable.
2024-11-04 08:54:14 [INFO]   File:[/github/workspace/devops/terraform/main.tf]
2024-11-04 08:54:14 [ERROR]   Found errors in [tflint] linter!
2024-11-04 08:54:14 [ERROR]   Error code: 2. Command output:
------
WARNING: "tflint FILE/DIR" is deprecated and will error in a future version. Use --chdir or --filter instead.
4 issue(s) found:

Notice: The resource is missing the following tags: "tre_id". (azurerm_resource_missing_tags)

  on main.tf line 10:
  10:   tags = {
  11:     project = "Azure Trusted Research Environment"
  12:     source  = "https://github.com/microsoft/AzureTRE/"
  13:   }

Reference: https://github.com/terraform-linters/tflint-ruleset-azurerm/blob/v0.22.0/docs/rules/azurerm_resource_missing_tags.md

Notice: The resource is missing the following tags: "tre_id". (azurerm_resource_missing_tags)

  on main.tf line 19:
  19: resource "azurerm_storage_account" "state_storage" {

Reference: https://github.com/terraform-linters/tflint-ruleset-azurerm/blob/v0.22.0/docs/rules/azurerm_resource_missing_tags.md

Notice: The resource is missing the following tags: "tre_id". (azurerm_resource_missing_tags)

  on main.tf line 33:
  33: resource "azurerm_container_registry" "shared_acr" {

Reference: https://github.com/terraform-linters/tflint-ruleset-azurerm/blob/v0.22.0/docs/rules/azurerm_resource_missing_tags.md

Notice: The resource is missing the following tags: "tre_id". (azurerm_resource_missing_tags)

  on main.tf line 45:
  45: resource "azurerm_container_registry_task" "tredev_purge" {

Reference: https://github.com/terraform-linters/tflint-ruleset-azurerm/blob/v0.22.0/docs/rules/azurerm_resource_missing_tags.md

Ah this would be the reason...
        uses<EMAIL_ADDRESS>        env:
          VALIDATE_ALL_CODEBASE: false

...didn't realise the linter only processed files changed.

Not fixing the linting issue above as per:
https://github.com/microsoft/AzureTRE/issues/4117

@tim-allen-ck ok to get this one merged?

/test

/test c0a474b88d7d7cbb27334650bf4d419cf899425d


Remove titles in Simulation views

The other views does not have title

Closed due to release v1.4


First learning model doesnt work.

On your first learning model at roughly 4:45:00 into the video. Google colab is having an issue with I believe the model.fit(X, y, epochs=5) .
I have adjusted the code a few times, trying to debug the system. Though am still very new at this. Any advice would help.

Can you please share the screenshot.

Can you please share the screenshot.

I think your model is correct but the X or y maybe in incorrect shape , This is the part of his udemy course and I didn't had this error their, Can you share X and y as well? Your model is ok here.

replace X with tf.expand_dims(X) it will do it

Closing this, as thank you for the fix @AmanAdastra
This is also documented here in case anyone wants to know why it happened (it was a change in TensorFlow 2.7) - https://github.com/mrdbourke/tensorflow-deep-learning/discussions/278


Can't get card details in response after handleCardPayment Stripe request

Guys, I changed usage of your component by docs to support SCA
on frontend ( "react-stripe-elements": "^4.0.0" ):
injection stripev3 into hmtl :
<script src="https://js.stripe.com/v3/"></script>

into my react app:
      <Elements>
      	<StripePaymentForm > // with injectStripe HOC
      		<CardNumberElement />
      		<CardExpiryElement />
      		<CardCVCElement />
      	</StripePaymentForm>
      </Elements>

into backend (PHP: "stripe/stripe-php": "^6.43") side:

route for paymentIntent creating (+customerid if exist and 'setup_future_usage' = 'off_session' arguments) ( PaymentIntent::create )
route for add card after success payment with payment mehtod attaching to customer

$stripe_payment = PaymentMethod::retrieve($payment_method);
$stripe_payment->attach(['customer' => $paymentUserId] );

my steps:

created paymentintent into backend by loggedin user .
create handleCardPayment (with clientSecret after paymentIntent creating) after filling stripe's elements (CardNumberElement, CardCVCElement, CardExpiryElement)

I see in admin panel payments and customers but can't to get card details into server response and I'm not sure that I made correct implementation (based on comment  https://github.com/stripe/react-stripe-elements/issues/215#issuecomment-515491674 )

try this it worked for me. https://github.com/stripe/react-stripe-elements/issues/354#issuecomment-492995707

Closing this as this project has migrated to React Stripe.js. If you believe this is still important, please re-open it there.


Update vulcanize version to 0.7.5

Vulcanizing a large web application with gulp-vulcanize resulted in the following error:
Uncaught HierarchyRequestError: Failed to execute 'appendChild' on 'Node': Nodes of type 'HTML' may not be inserted inside nodes of type '#document'.

When I used the vulcanize binary on version 0.7.1, I got the same error, but updating the binary to 0.7.5 fixed the issue.

Not needed: https://nodesource.com/blog/semver-tilde-and-caret

Thank you for the link; was not aware of that aspect of version notation in package.json. I will reinstall gulp-vulcanize locally.
Thanks for the quick response.


Enable cloneElement to handle children given as Array

Hey there! I ran into this compatibility issue with a library I use which makes heavy use of React.cloneElement. Let me know what you think!

Hi @mhink!  I'm actually hoping we can account for nested Arrays in Preact's core rather than in preact-compat.  There's a PR that implements it here:  developit/preact#279, however the size is currently too large.  I might apply your technique there if that's alright!  Just a note: ideally we'd flatten an Array of Arrays, since it's possible to pass that as well (not just an Array of vnodes).
Cheers!

@developit oh, right on. I'd be happy to implement it over there, if you like. +1 on array flattening, that'd actually make things easier on my end.

That'd be awesome!  Ideally it'd be great to have it implemented within h() (aka createElement), since that's where the current single-level flattening is being done:
https://github.com/developit/preact/blob/master/src/h.js#L34
I'm thinking you could get away with something like this, but I'd have to check if it's a huge performance hit:
if (p.join) arr = [].concat.apply([], p);

Fixed in preact 6.2!


Easiest/best way to refresh an instance and it's relations?

Let's say that something like this does exactly what you'd think it would do (all of this is hastily written, not validated code):
let parentId = 123,
  parent,
  child,
  grandChild;

Parent
  .query()
  .eager('child.grandchild')
  .where({id: parentId})
  .then(p => {
    parent = p;
    child = parent.child;
    grandchild = child.grandchild;
  });

Earlier today, after making an API call that changed parent, child and grandchild in the DB, I found myself just naturally whipping out the following in order to refresh them in my scope:
parent
  .$query() // Fetch a fresh instance of 'parent'
  .eager('child.grandchild') // Fetch some relations as well, please!
  .then(...);

This, unfortunately, didn't do what I thought it would: it only updated parent and not [parent.child and parent.child.grandchild]. I think the eager() was just ignored (maybe it should have errored?). I guess I don't think I've seen anywhere that this would work, but it felt natural...anyway, I looked at and weighed $loadRelated and $relatedQuery and Parent.query().eager(...).where(...) /* all over again */ as possible fixes, and ended up writing:
parent.
  .$query()
  .then(p => {
    parent = p;
    return parent
      .$relatedQuery('child')
      .eager('grandchild');
  .then(c => {
    child = c;
    grandchild = child.grandchild;
    ...
  );

I guess my question is: is there a better way to refresh an instance and its child relations? I'd like to utilize that, if so...and I'd probably see about adding it to the docs!
Thanks for all your help!

This should work
parent
  .$query() // Fetch a fresh instance of 'parent'
  .eager('child.grandchild') // Fetch some relations as well, please!
  .then(...);

Are you using JoinEagerAlgorithm? If not, there's probably a bug.

I wrote this test:
      return Model1
        .query()
        .findById(1)
        .then(model => {
          return model
            .$query()
            .eager('[model1Relation1, model1Relation2.model2Relation1]');
        })
        .then(model => {
          expect(yaddaYadda)
        })

And it worked. Is there something special about your query or the models? Any hooks or modified query builders or something like that?

Oh, but I just realized that the model .$query() is called, doesn't get updated.

What the? I just went back and wrote a standalone-ish, deliberate test and it worked as it should/as you said. Maybe my brain is on drugs...again.
I came to the conclusion that something was wrong while working out of a tiny cafe with no wifi jacked up on coffee waiting for my motorcycle to get all fixed up, so I was not as clear-headed as I can be, but I'll go back and double check the area that I originally "discovered" this issue, and see if I was just being dumb.
Either way, I've got a few questions:

If the parent.child.grandchild refresh does work as expected via instance.$query().eager('child.grandchild'), is that use case documented and/or tested? I can try to at least write the docs, if not...you may already have just written the tests!
In the docs, the instance.$query().then(...) as a "refresh" tactic has an example titled "Re-fetch the instance from the database:" and it doesn't explicitly show that the original instance will be updated (it uses the instance passed to the resolution). I think the fact that it did not update the original instance chafed me originally until I noticed that nuance in the docs, but once I realized how it worked I thought of it less like a "bug" and more like something that could have been slightly more clearly documented. Plus, if you change Objection to update the original instance, it becomes much more laborious to have the old an new instances around at the same time if you so desired (I'm thinking toJSON -> fromJSON or worse, right?).  I guess what I'm saying is that "fixing" this behavior may be a worse idea than simply updating the docs and leaving it be...plus it would certainly piss a lot of people off if not carefully considered.

I'll circle back with whether this whole thing was a wild goose chase...wouldn't be my first one in here. Many thanks...

Yeah, the parent.child.grandchild refresh does work as expected...

Yeah, maybe it's better to not change it. I just thought it would have made it consistent with update and insert, but let's change if more issues pop up.
The current behaviour is tested already. This could be documented better though.


bug: shortcuts are not working again

Version
v1.20.0
Describe the bug
https://github.com/sourcegraph/cody/assets/6785110/2196fa85-ff5b-463a-95a5-6fa2619a67b7
Expected behavior
it should work
Additional context
No response
### Tasks

maybe a hint:


Increasing snapPoint height shows bottom sheet when closed

Hello I am having an issue with changing the snapPoint values. If I increase the height of an "open-state" snap point the bottom sheet will show. This happens even when I am at the "closed-state" snapPoint (0).
ex.
Starting with snap points [0, 100, 100] and initialSnap 0
now I change to [0, 300, 300]. My current snapPoint is 0 but 200px of the bottom sheet will now show.
I have created a sample app to debug. Using the debug app, just input a bigger height in the text input and press Set height.
Looks like this may be related... https://github.com/osdnk/react-native-reanimated-bottom-sheet/issues/45
Thanks.
import React, {useState, useRef} from "react";
import {
	View,
	TouchableOpacity,
	StyleSheet,
	Text,
	TextInput
} from "react-native";
import BottomSheet from "reanimated-bottom-sheet";

const Button = ({text, onPress}) => (
	<TouchableOpacity onPress={onPress} style={styles.button}>
		<Text>{text}</Text>
	</TouchableOpacity>
);

const renderContent = () => {
	return (
		<View
			style={{
				width: "100%",
				backgroundColor: "blue",
				height: 1000,
				borderRadius: 10
			}}
		/>
	);
};

const BottomSheetTest = () => {
	const bRef = useRef();
	const [bottomProps, setBottomProps] = useState({
		renderContent,
		initialSnap: 0,
		snapPoints: [0, 200, 200]
	});
	const showBottomSheet = snapPoint => bRef.current.snapTo(snapPoint);
	const closeBottomSheet = () => bRef.current.snapTo(0);

	const [height, setHeight] = useState("200");

	const setSnapPoints = () =>
		setBottomProps({
			...bottomProps,
			snapPoints: [0, parseInt(height), parseInt(height)]
		});

	return (
		<View
			style={{
				flex: 1,
				backgroundColor: "white"
			}}
		>
			<View style={{flexDirection: "row"}}>
				<Button onPress={() => showBottomSheet(2)} text={"Open"} />
				<Button onPress={() => closeBottomSheet()} text={"Close"} />
			</View>
			<TextInput
				onChangeText={val => setHeight(val)}
				value={height}
				style={styles.input}
			/>
			<Button onPress={() => setSnapPoints()} text={"Set height"} />
			<BottomSheet ref={bRef} {...bottomProps} />
		</View>
	);
};

const styles = StyleSheet.create({
	button: {
		flex: 1,
		height: 50,
		maxHeight: 50,
		margin: 10,
		backgroundColor: "teal"
	},
	input: {
		margin: 10,
		flex: 1,
		maxHeight: 60,
		borderBottomWidth: 2,
		borderBottomColor: "teal"
	}
});

export default BottomSheetTest;

I have the same problem... :(

E.g. [300, 200, 0]. Points for snapping of bottom sheet coomponent. They define distance from bottom of the screen. Might be number or percent (as string e.g. '20%') for points or percents of screen height from bottom. Note: Array values must be in descending order.

Btw I am setting opacity of bottomsheet to zero when callbackNode === 1 to workaround this.

I am having the same issue


Add npm-asset and bower-asset types for frontend libraries

There is a very popular composer repo called https://asset-packagist.org/
to install a library from npmjs.org or bower.io.
To be able to install it in custom path a plugin is needed "oomphinc/composer-installers-extender".
I think it will be better if this two types where recognized in this repo as an "official" type.

I agree, it will be useful.

+1. This would be very helpful!

IMO this is a bad idea and I don't really want to encourage it. Frontend deps should be installed via npm/yarn, not cobbled up together via Composer.


How to deal with integer limits?

Hi, we have to deal with Money and store it in database. In that process we came up with a few issues that I'd like to discuss so that maybe we can find "best practices" on how to deal with all that.
First there's the problem of integer limits in memory. On a 32bits system the amount will be stored as an integer up to something like 21 million $/€/… (because it's stored as cents). That's not much and can be a real problem in some applications, I wonder if that should be mentioned in the README? Is the Money class only appropriate for 64b systems (where the limit is much less of a problem for most cases)? Should the amount be stored differently on 32b? (for our team it won't be a problem because we use only 64 bits systems)
Then there's the question of how to store it in database. For example in MySQL you can use the integer type which has the same limit as a 32b PHP integer. So obviously it's much better to use BIGINT which is the equivalent of a 64b integer.
However if you use Doctrine (quite popular in the PHP world), the entity manager will map a SQL BIGINT to a PHP string in order to be compatible with 32b systems… So Money will end up with a string instead of an int as the amount, which is an issue I guess because the class expects to have an int there (I expect things to break/not behave correctly). So we have several options, like storing the whole Money object serialized (we see that the class even implements Serializable in the next version) but it comes with a lot of other issues, creating custom Doctrine types to map SQL BIGINT to actual PHP integers (i.e. it assumes a 64b system is used), store the object as a string (e.g. 12 EUR), etc. Is there some kind of best practices for that? Obviously storing as integer/bigint is great because it allows filtering, ordering, etc in SQL queries, but is that a big "no no" (just like storing money in float is a big "no no")?

You are right in everything you say. Unrestricted integer support has been discussed before and would be possible with something like bcmath (https://github.com/mathiasverraes/money/issues/7), but it just hasn't been implemented.
I think that we should add a clear message in the README that money sizes are limited by integer size in your environment (32bit vs 64bit), and if you are using a database the same holds true for that.
There are also some other things to be aware of, if you look over at the @sebastianbergmann implementation of Money, I added a bunch of failure states when arithmetic on money would cause loss of precision (and sometimes completely crazy values).
https://github.com/sebastianbergmann/money/commits?author=camspiers
These changes should probably be ported over to this library too. These problems become particularly pernicious when dealing in currencies like bitcoin, but they are also a huge problem if people don't validate ecommerce inputs well.
To give an obvious scenario, imagine a product worth $5000, on a 32 bit system, adding 500000 of these items to your cart will cause your cart to have a negative total, WTF, let's just hope that people have their systems setup well to catch this stuff.
https://github.com/mathiasverraes/money/blob/master/lib/Money/Money.php#L216

Thank you for the great answer! Those check you implemented on Sebastian Bergmann's implementation are indeed pretty great. We ended up rolling our own implementation 100% based on that implementation, minus the currency (we don't have to deal with currencies).
For the database I map PHP's integers to BIGINT. At any point (from DB, to DB, etc.) if there's an int overflow there will be an exception, so at least there won't be any silent data corruption/wtf.
It would indeed be good to implement such checks in this library too.

You're welcome. I don't have bandwidth at the moment, but I am fairly confident that were you to provide a PR @mathiasverraes would be keen to add the changes. Good luck.

Recently I saw this being discussed on Twitter too. I believe the overall conclusion is that best thing to use would be GMP, if it is not available on the system switch to BC Math. Other libraries seem to prioritize this way too.
However, there might also be reasons for using BC Math over GMP because GMP only deals with integers, and not with decimals (there is a proposal for the GMP implementation). For another money library this was a reason to choose BC Math over GMP.
Taking into account the feature state of this library, I would say that best thing to prioritize as follows: GMP, BC Math and finally the (current) native PHP method. I am happy to implement and push a PR soon.

Please do :)
On 25 Nov 2015 10:38, "Frederik Bosch"<EMAIL_ADDRESS>wrote:

Recently I saw this being discussed on Twitter too. I believe the overall
conclusion is that best thing to use would be GMP
http://nl3.php.net/manual/en/book.gmp.php, if it is not available on
the system switch to BC Math http://nl3.php.net/manual/en/book.bc.php.
Other https://github.com/ircmaxell/PHP-PasswordLib/pull/10 libraries
seem to prioritize this way too.
However, there might also be reasons for using BC Math over GMP because
GMP only deals with integers, and not with decimals (there is a proposal
https://wiki.php.net/rfc/gmp-floating-point for the GMP
implementation). For another money library this was a reason to choose BC
Math over GMP https://github.com/ulabox/money.
Taking into account the feature state of this library, I would say that
best thing to prioritize as follows: GMP, BC Math and finally the (current)
native PHP method. I am happy to implement and push a PR soon.
—
Reply to this email directly or view it on GitHub
https://github.com/mathiasverraes/money/issues/111#issuecomment-159550703
.

Should we have a separate class for this (like the BigMoney idea)?

Not in my opinion. I would rather build this in. Why would you want to consume another api for larger values? Who knows when to use BigMoney? It would lead to unexpected results in the Money class, because you would have throw exceptions when you cannot calculate a result because the resulting or initial value is too large. The developer does not know when that is happening in developing time. How would a new BigMoney class interoperate with a Money class?
My idea was to pick a strategy in the constructor. Something like.
$calculators = [new GmpCalculator(), new BcMathCalculator(), new PhpCalculator()];
foreach ($calculators as $calculator) {
  if ($calculator->isSupported()) {

  }
}

BigMoney is something different: it means money with unlimited division.
You may want to work with something smaller than 1 cent, and round only
when you make an actual payment. That is fundamentally different behaviour
from Money, which always works with the smallest denomination.
That said, I agree the name BigMoney is confusing. I took from the java
implementation but PreciseMoney is probably a better name.
Both Money and PreciseMoney should be implemented with the better math
libs. Please PR against the nextrelease branch.
—
Mathias Verraes
Software Consultant
Value Object Comm.V http://value-object.com
Blog http://verraes.net/ - Email<EMAIL_ADDRESS>-  Twitter
http://twitter.com/mathiasverraes - LinkedIn
https://www.linkedin.com/in/mathiasverraes
On 25 November 2015 at 12:43, Frederik Bosch<EMAIL_ADDRESS>wrote:

Not in my opinion. I would rather build this in. Why would you want to
consume another api for larger values? Who knows when to use BigMoney? It
would lead to unexpected results in the Money class, because you would have
throw exceptions when you cannot calculate a result because the resulting
or initial value is too large. The developer does not know when that is
happening in developing time. How would a new BigMoney class interoperate
with a Money class?
My idea was to pick a strategy in the constructor. Something like.
$calculators = [new GmpCalculator(), new BcMathCalculator(), new PhpCalculator()];foreach ($calculators as $calculator) {  if ($calculator->isSupported()) {  }}
—
Reply to this email directly or view it on GitHub
https://github.com/mathiasverraes/money/issues/111#issuecomment-159581749
.

Just created a PR for this feature.

This one can be closed.

Closed in #115


Prompt to disable extension vs. pack

Issue Type: Bug
Testing #54865
This is hard to understand without the underlying technical background:

Why not always disable the entry pack and not offer the other option? Packs will usually not contain any functionality themselves, so it won't make sense to only disable the extension.
VS Code version: Code - Insiders 1.26.0-insider (5fae91d61f12726e149fe5baed342eac2fbf8f88, 2018-07-25T01:56:56.548Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
4, 4, 4

Memory (System)
16.00GB (0.58GB free)

Process Argv
/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron

Screen Reader
no

VM
22%

Extensions (21)

Extension
Author (truncated)
Version

999-pack1
chr
0.12.0

regex
chr
0.2.0

ssh
chr
0.0.4

vscode-eslint
dba
1.4.12

Spot
der
0.4.0

ghlink
dt
1.0.2

EditorConfig
Edi
0.12.4

tslint
eg2
1.0.34

rest-client
hum
0.19.0

vscode-azureappservice
ms-
0.9.0

vscode-azurefunctions
ms-
0.10.0

vscode-cosmosdb
ms-
0.8.0

azure-account
ms-
0.4.2

azurecli
ms-
0.4.2

github-issues-prs
ms-
0.9.0

PowerShell
ms-
1.8.1

debugger-for-chrome
msj
4.8.2

vscode-docker
Pet
0.0.27

vscode-versionlens
pfl
0.21.1

vscode-open-in-github
sys
1.7.0

azure-iot-toolkit
vsc
1.1.0

Similarly: Don't ask if the pack should be uninstalled, always uninstall the extension only:

That will make the interaction simpler. A user intending to uninstall the pack...needs to uninstall the pack.

Makes sense

@chrmarti you said:

Packs will usually not contain any functionality themselves, so it won't make sense to only disable the extension.

That this is not the case I learned from the Java Debugger, which is a pack and a debugger: if you disable the debugger (and you are not aware that this is a pack) it is good to have the choice of keeping the Java extension still enabled.
With your suggestion there would be no way to only disable the debugger.

@weinand Removing the prompts as proposed by #55055 will simplify the UX. With that to allow for uninstalling the Java Debugger without uninstalling the Java extension, there will be two options:

The Java Debugger declares the Java extension as a dependency (not part of a 'pack'). (Preferred if the Java Debugger requires the Java extension to be present.)
We introduce a Java Extension Pack with the Java extension and the Java Debugger as part of the pack. (Preferred if the two extensions do not require the other extension being installed.)


[AutoComplete] Issue with the controlled behavior / clear

I have an autocomplete field which uses
        searchText = {this.state.searchText}

like this;
          <AutoComplete
            floatingLabelText='agent input'
            ref='agentInput'
            hintText="type response"
            multiLine = {true}
            fullWidth = {true}
            searchText = {this.state.searchText}
            onNewRequest={this.sendAgentInput}
            dataSource={this.agentCommands}
          />

but when I update the
 this.setState({searchText: null })

in the onNewRequest func
it will clear the autoComplete once, but not the second time.
it seems some internal caching happens?
how to call internal methods of the MUI components?
mat-ui components more general question:
Is there a way to call the methods on that object directly like setValue?
https://github.com/callemall/material-ui/blob/master/src/auto-complete.jsx#L244-L248
I tried something like
    var field = (
        <AutoComplete
          searchText = {this.state.searchText}
          dataSource={this.agentCommands}
      />
    );

    field.props.setValue("");

but that doesn't work. Given an instance of a component how would I access its methods?
this is a more general question, i could add it to the docs if someone could illuminate me.

how to call internal methods of the MUI components?

This is rather react related not material-ui
you cannot call methods on elements rather on instances referenced with ref, for more information please read through this awesome blog post by the react team here.

@alitaheri how would you suggest we get / set the ref on the autocomplete input given the only API we have access to is <AutoComplete />?

@joncursi Take a look at react's docs: https://facebook.github.io/react/docs/more-about-refs.html#a-complete-example

I guess what I'm trying to say is that Material UI does not expose the <input> element for us to assign a ref. It's bundled underneath the <AutoComplete /> component. How do we pass the ref through AutoComplete to input?

right right. You can't do that but you can use setValue and getValue the same way see here thought the will warn you not to use them. I would advise against it too, you should follow react's idiomatic flow of data. use searchText prop instead of calling imperative methods.

Hey, I am trying to use the props searchText, and on onNewRequest I set my searchText to (empty string) but AutoComplete still shows what the string was prior to me setting the searchText

It is happening here:
https://github.com/callemall/material-ui/blob/master/src/AutoComplete/AutoComplete.js#L266

What if we do something like this there:
    const currentSearchText = this.state.searchText;
    this.timerTouchTapCloseId = setTimeout(() => {
      if(this.state.searchText === currentSearchText) {
        this.setState({
          searchText: searchText,
        });
      }
      this.close();
      this.timerTouchTapCloseId = null;
    }, this.props.menuCloseDelay);

Can we just add a boolean prob that, when set to true, will prevent the asynchronous setState inside handleItemTouchTap?

A short-term workaround is to give your auto complete component a ref, then manually call setState to reset searchText.
this.refs.autoComplete.setState({ searchText: ''})

Thanks @greypants! Your approach worked for me.

Even if you are controlling the AutoComplete with the searchText prop, that asynchronous setState still gets fired.

@jlroettger I completely agree, that setState shouldn't be called at all when the component is controlled.
That issue has been discussed here https://github.com/callemall/material-ui/pull/5627.
However, In order not to introduce breaking changes, I think that the following change would address the issue:
  handleItemTouchTap = (event, child) => {
    const dataSource = this.props.dataSource;

    const index = parseInt(child.key, 10);
    const chosenRequest = dataSource[index];
    const searchText = this.chosenRequestText(chosenRequest);
+
+    this.setState({
+      searchText: searchText,
+    });
+    this.props.onUpdateInput(searchText, this.props.dataSource, {
+      type: 'selected',
+    });

    this.timerTouchTapCloseId = setTimeout(() => {
      this.timerTouchTapCloseId = null;
-
-      this.setState({
-        searchText: searchText,
-      });
      this.close();
      this.props.onNewRequest(chosenRequest, index);
    }, this.props.menuCloseDelay);
  };

For some reason, this issue still persisted for me. There are different arguments to the third parameter depending on whether you're typing or selecting a menu item. I just honed in on that action to only set the state when it is a change event
const handleUpdateInput = (attributeName, _, { source }) => {         if (source === 'change') {           this.setState({ attributeName })         }       }

As the components are now functional, setState is no longer working, do we have any alternative solution?

@sirajalam049 The components can still be used in class components, only our demos can't. This is very handy for the legacy part of your codebase (assuming you write everything in hooks now).


Adds support for KH3 Steam

Since Steam cloud saving carries over the graphic settings too, unless it gets fixed with a future update this script does it's job just fine.

Thanks! Can you update the README with the game and then I'll merge this?

Sure, it's done, I'm just testing RN cause I got told that if with %STEAMID% it doesn't work on Steam Deck and you have to use the numbers directly.
So on PC it works fine but the Steam Deck won't back it up if using the variable.

I'll try to look into it sometime this weekend

@Abelatox Can you try this version of the script? It should fix the issue. https://raw.githubusercontent.com/tmplshdw/cloud_config_workaround/fix-STEAMID/cloud_config_workaround.sh

All good now! Thanks!


debug: Add missing debug logs for LE Meta Events

This adds debug logs for LE Meta Events.
Those are not too heavy to limit the console output.
@sjanc @rymanluk

Added conditional preprocessor directives to exclude Extended Advertising related events if BLE_EXT_ADV is not set


code autocomplete inserts extra characters

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
code autocomplete inserts additional characters that look like markup:
"def init(${1:self})$0" instead of "def init(self)"
tested on two machines with miniconda (windows and ubuntu)
What steps reproduce the problem?

type "def __i" under class definition
press ctrl+space
"def init(self)" is correctly suggested
when suggestion is selected, "def init(${1:self})$0" is inserted instead of "def init(self)"

What is the expected output? What do you see instead?
when suggestion is selected, "def init(${1:self})$0" is inserted instead of "def init(self)"
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version: 4.0.0
Python version: 3.6
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

The Kite team saw a piece of feedback on this issue as well.
"If you have typed more than the minimum number of characters required for Kite to suggest a completion, Kite will insert the suggestion before the characters typed after the minimum count. This results in errors most of the time and using completions slows down my typing speed rather than speeding it up and simplifying it."

I encountered the same problem, when the function starting with an underscore and this function had parameters, there was a problem with function code completion.
See #10924

This was fixed by PR #11400.


[Candidate 1v1 Dry River ZH v4] Oil Derrick at bottom left has unaligned rotation

Observed behaviour
Oil Derrick at bottom left has unaligned rotation.
Expected behavior
Oil Derrick is rotated in 45 degree step.
Screenshots

fixed can be closed


Add handleUndeleteRequest method to AmbryRequests

Adding handleUndeleteRequest method to AmbryRequests class to handle undelete requests from ambry-frontend.
Add unit test and integration test for handleUndeleteRequest
Change some of the Store implementation in replication test, but since we are not change replication logic for undelete now, we don't change those implementation to support undelete for now.

Codecov Report

Merging #1379 into master will increase coverage by 0.06%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##             master   #1379      +/-   ##
===========================================
+ Coverage     72.13%   72.2%   +0.06%
- Complexity     6815    6822       +7
===========================================
  Files           490     490
  Lines         38712   38782      +70
  Branches       4928    4935       +7
===========================================
+ Hits          27925   28001      +76
+ Misses         9440    9433       -7
- Partials       1347    1348       +1

Impacted Files
Coverage Δ
Complexity Δ

...a/com.github.ambry.server/AmbryServerRequests.java
94.08% <100%> (ø)
76 <0> (ø)
:arrow_down:

.../java/com.github.ambry.protocol/AmbryRequests.java
85.68% <100%> (+1.61%)
77 <8> (+9)
:arrow_up:

...in/java/com.github.ambry.commons/ErrorMapping.java
82.75% <100%> (+2.75%)
3 <0> (ø)
:arrow_down:

...ain/java/com.github.ambry/config/ServerConfig.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

...n/java/com.github.ambry.commons/ServerMetrics.java
100% <100%> (ø)
15 <0> (ø)
:arrow_down:

.../java/com.github.ambry/server/ServerErrorCode.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

.../main/java/com.github.ambry.router/EncryptJob.java
94.59% <0%> (-5.41%)
5% <0%> (-1%)

...github.ambry.rest/AsyncRequestResponseHandler.java
87.87% <0%> (-2.36%)
21% <0%> (ø)

.../java/com.github.ambry.router/DeleteOperation.java
93.43% <0%> (-1.46%)
44% <0%> (-1%)

.../src/main/java/com.github.ambry.store/Journal.java
85.54% <0%> (-1.21%)
29% <0%> (-1%)

... and 8 more

Continue to review full report at Codecov.

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


Backlog is not initialized

I can't figure out why this is happening, but there are no crash logs or any errors. This works locally but not on a production machine. Here is a log of what I run:
(bidbox@<IP_ADDRESS>)4> Url2 = buoy_utils:parse_url(<<"http://localhost:7949/recommend">>).
{buoy_url,<<"localhost:7949">>,<<"localhost">>,
          <<"/recommend">>,7949,http}
(bidbox@<IP_ADDRESS>)5> buoy_pool:start(Url2, [{pool_size, 16}]).
ok
(bidbox@<IP_ADDRESS>)6> buoy:post(Url2, [{<<"content-type">>, <<"application/json">>}], <<"{}">>).
** exception error: bad argument
     in function  ets:update_counter/3
        called as ets:update_counter(shackle_backlog,http_localhost_7949_13,
                                     [{2,0},{2,1,1024,1024}])
     in call from shackle_backlog:check/2 (/opt/bidbox/_build/default/lib/shackle/src/shackle_backlog.erl, line 73)
     in call from shackle_pool:server/1 (/opt/bidbox/_build/default/lib/shackle/src/shackle_pool.erl, line 96)
     in call from shackle:call/3 (/opt/bidbox/_build/default/lib/shackle/src/shackle.erl, line 52)

Some more info:
(bidbox@<IP_ADDRESS>)9> ets:tab2list(shackle_backlog).
[]
(bidbox@<IP_ADDRESS>)10> ets:tab2list(shackle_pool).
[{http_localhost_7949,{pool_options,1024,buoy_client,16,
                                    random}}]
(bidbox@<IP_ADDRESS>)11> ets:tab2list(buoy_pool).
[{{http,<<"localhost">>,7949},http_localhost_7949}]

and some system info:
(bidbox@<IP_ADDRESS>)13> erlang:system_info(system_version).
"Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:10] [hipe] [kernel-poll:true]\n"

I think i have figured out the issue. relx is not including metal because of an issue in the .app.src file. I will verify and open PR in there.

Ah, good catch. I'll push a fix shortly.

Fixed in https://github.com/lpgauth/buoy/releases/tag/0.1.2

Awesome, thanks. But I think there is one more thing to be fixed now that metal is being included.
===> Errors generating release
          metal: Missing parameter in .app file: mod

I think the mod field is expected to be a tuple not a list in https://github.com/lpgauth/metal/blob/master/src/metal.app.src#L8.


Add RPGLE language

Description
Add support for IBM RPGLE (IBM documentation) to help make the language more discoverable in the open source world.
This language is still widely used in insurance and financial institutions and it is a shame more people don't know about it.
Checklist:

[x] I am adding a new language.

[ ] The extension of the new language is used in hundreds of repositories on GitHub.com

I am not quite sure how to get a unique count of repos using advanced search, is there a different magic url for it?
Search results for each extension:

(rpgle - 40K files) https://github.com/search?q=extension%3Arpgle+extension%3ARPGLE+NOT+nothack&type=Code
(sqlrpgle 4K files) https://github.com/search?q=extension%3Asqlrpgle+extension%3ASQLRPGLE+NOT+nothack&type=Code

[x] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

sms.sqlrpgle
sms_h.rpgle
anilist.sqlrpgle
bfint.sqlrpgle
ifsread.rpgle

Sample license(s):

RPGLE-Twilio (MIT)
Anilist-IBMi (MIT)
RPGLE-BF (MIT)
All other sample files included were written today from scratch to finalize my grammars.

[ ] I have included a change to the heuristics to distinguish my language from others using the same extension.
[x] I have included a syntax highlighting grammar: https://github-lightshow.herokuapp.com/?utf8=✓&scope=from-url&grammar_format=auto&grammar_url=https%3A%2F%2Fraw.githubusercontent.com%2Fbarrettotte%2Fvscode-ibmi-languages%2Fmaster%2Fsyntaxes%2Frpgle.tmLanguage.json&grammar_text=&code_source=from-url&code_url=https%3A%2F%2Fraw.githubusercontent.com%2Fbarrettotte%2FAnilist-IBMi%2Fmaster%2Fsrc%2Fanilist.sqlrpgle&code=

Now this is surprising... the vast number of uses of these extensions are isolated to a surprisingly few number of repos:

.sqlrpgle

Total files found: 127
Unique public user/repos: 43
Unique owners: 33

.rpgle

Total files found: 25540
Unique public user/repos: 103
Unique owners: 96

.RPGLE

Total files found: 15083
Unique public user/repos: 48
Unique owners: 42

.SQLRPGLE

Total files found: 4480
Unique public user/repos: 53
Unique owners: 47
Unfortunately none in sufficient numbers for inclusion just yet as we use 200 unique user/repo as the threshold for the "hundreds of repositories" requirement for each extension.

@lildude Ah darn, so each extension listed (including the uppercase variants) would have to have 200 unique users/repos each to be included? Despite all extensions using the same grammar file and classified as the same language?
I was actually under the impression there were more RPGLE repos floating around out there than that, but today I learned something at least lol. Thanks for looking!

Sorry, yes, I meant to say Linguist is not case-sensitive when I made my comment. Thanks pointing that out @Nixinova 🙇

I assume that if/when this gets included, it will also be available to GitHub Enterprise users.  That being the case, I don't suppose there's a way to see counts from GHE repos?  My company has a number of repos in GHE with RPGLE code that we'd love to have recognized.   Our main repo has 1600 sqlrpgle and 4000 rpgle files.

*.rpg (as well as the 36/38 variants) is probably another valid extension; but that probably implies fixed format which I don't know if this PR covers.
It doesn't really help that most RPG is internal rather than freely available; I'd expect more GH Enterprise users.
I'd also mention there are other i-specific syntax that might be worth covering later (i.e menus, linker scripts, etc.); the system's scripting language often has *.clp, which gets it mistagged as CLIPS.

I assume that if/when this gets included, it will also be available to GitHub Enterprise users.

Yes, but only the most recent version of GitHub Enterprise Server (GHES), currently 3.0.x, gets Linguist updates.

That being the case, I don't suppose there's a way to see counts from GHE repos?

Nope. GHES is deliberately designed to be completely independent of GitHub.com so no information on GHES is searchable on GitHub.com, unless your instance has GitHub Connect with search enabled, but even then, the search is limited to members of your organisation and not the general public.

Oh Yeah!! This is will be great!!!
Up!

@lildude Thanks for posting on this PR with that update. I believe I have fixed the merge conflicts and removed the hello world samples as requested. Please let me know if I can help any other way.

🤦 I have no idea why the indentation has gone wonky on the grammars.yml. I'll sort it now.

🤦 I have no idea why the indentation has gone wonky on the grammars.yml. I'll sort it now.

I do now. https://github.com/github/linguist/pull/5240/commits/fef64e937a8b4bf4e557c79142ef64c2df76ebfb is what intro'd it.

🤦 I have no idea why the indentation has gone wonky on the grammars.yml. I'll sort it now.

I do now. fef64e9 is what intro'd it.

Oh man...sorry I really should have saw the line count on that file and knew something was wrong. Any suggestion on what I should do to fix it? I'm assuming this means I didn't re-sync my fork properly?

Any suggestion on what I should do to fix it? I'm assuming this means I didn't re-sync my fork properly?

Fixed. I think you may have the grammars.yml file open in your editor and it automatically indented things.


task 868-871 SQL and MSMARCO

@danyaljj Update on previous failing tests: fixed.

@ghlai9665 Wondering if you can review this PR?

@ghlai9665 Wondering if you can review this PR?

@danyaljj of course. I can take a look on Tuesday afternoon / night. Is that ok with you?

Thanks, to clarify:
870 For example, in P2, your query is "how long does broken ribs take to heal"- so are most queries in this format across instances? If so, you need to include in your definition that the queries may not follow proper grammatical structure or be complete sentences. If not, capitalization/grammar fixes are needed on the instances where it is missing.
871 Still see the word 'question' in the definitions, please fix that.

extended description for 870, replaced occurrence in 871. If there's anything I've missed, please let me know.


Update Readme

Updated the readme to remove some of the details of the build instructions (pointing towards the dedicated build page) and links towards the step-by-step contribution guide. I'm not super happy with my writing, so I'm more than happy to hear any feedback.

@JamesDearlove i know you also have access to the merge button