[Slide] Documented property offset not being used

Problem description
The Slide transition documentation says that you could use the offset property, but in fact the property isn't used anywhere in the code:
https://github.com/callemall/material-ui/blob/9a6a3dde01d51de89c0b7ef3fd911cb3b8c798f4/src/transitions/Slide.js#L176-L204

Right, do you want to submit a PR to remove it from the docs? :)

Is there any plans to respect it? Or should I remove it anyway?

There is no plan for it. I'm not sure to grasp the expected behavior. What do you have in mind?

The translate value is calculated by getTranslateValue function. I thought about checking for the offset property first and making it clear in the docs that the offset property will be used instead of the direction property if sent. Something like this (untested code).

@gfpacheco This makes sense. What's your use case?

It's a component with a small slide and fade animation in the middle of the screen (not coming from outside).

Nevermind, I just realized that Fade and Slide transitions can't be nested since they both set the transition for their properties only (opacity and transform, respectively) and only one of them become active. That's something that needs to be achieved first.

I just tested my code and it works if only the Slide transition is used.
But now I thought about a more complex scenario when the user could use the offset property to move the component in both horizontal and vertical axis. Something like offset="50px 100%", that would be nice.
I guess it's just getting more complicated, let me know if you have anything in mind.

Interesting, I think that we should begin with updating/fixing the documentation. I'm not sure we want our Slide/Fade component to support complex use cases, there are already great libraries available to do so.


Check for qwMemorySize on Windows

The nvidia-smi integration vastly improved the NVIDIA GPU data we get from systeminformation. (We're primarily focused on GPU name, VRAM, and driver version.) Unfortunately, we continued to receive a lot of error reports for AMD GPUs. Notably, the VRAM always seemed to be capped at 4GB for higher spec cards. Turns out, the AdapterRAM property on win32_VideoController is a uint32 (docs)!
I didn't find much via Google searching for an alternative and more accurate data source, but I found several blog posts pointing back to a Super User thread with this short snippet:
$qwMemorySize = (Get-ItemProperty -Path "HKLM:\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*" -Name HardwareInformation.qwMemorySize -ErrorAction SilentlyContinue)."HardwareInformation.qwMemorySize"
[math]::round($qwMemorySize/1GB)

The magic {4d36e968-e325-11ce-bfc1-08002be10318} guid identifies Microsoft's class identifier for display adapter INFs. Within the referenced keys, the HardwareInformation.qwMemorySize property contains a copy of the reported VRAM, but it's stored as a QWORD.
I've only been able to test this on Windows 10 with a handful of different NVIDIA and AMD GPUs. We incorporated this changeset into our app, and the results so far have been really positive. It tries to fail gracefully and just fallback to the existing AdapterRAM property if a corresponding HardwareInformation.qwMemorySize property cannot be found.

@seniorquico Thank you! Will check this improvement here on my machines the next few days. After checking I will release a new version.

Just a follow-up... We've been receiving very positive feedback about this change. Out of tens of thousands of users, we're down to a single digit number of users reporting that it hasn't fixed the VRAM detection. For these users, the HardwareInformation.qwMemorySize value is the same value as AdapterRAM (even though their GPUs have more than 4GB of VRAM). In this case, this change doesn't make it worse, but it doesn't fix it since the underlying data appears to be incorrect. We're asking these users to try reinstalling their drivers to see if it fixes the values Windows keeps in these keys.

@seniorquico perfect. Tests also here on several machines and this works well. Will add this to the repo soon. And of course: Thank you!!!

@seniorquico version 5.7.1 just released. Thank you for your contribution!


pds4_create_xml_index should print a message when no index file is generated

pds4_create_xml_index.py:
During the meeting today, we discuss that when --output-headers-file is provided but --output-index-file is not, the behavior is to not output an index file. However, @matthewtiscareno also suggested printing an explicit message saying that an index file is not being generated to make sure there is no user confusion. Such a message would say something like:
No index file generated because --output-headers-file was provided without --output-index-file

By the same token, there should always be something like the following when an index file is written, even in non-verbose mode:
Wrote index file:  path/filename

By the same token, the tool should always print something like the following when an index file is written, even in non-verbose mode: Wrote index file: path/filename

This was already done in the final version tonight.


Support loading parameters from properties for Type=Class.

When authoring a Task in an assembly, task parameters are declared
simply by creating public properties. CodeTaskFactory instead requires
the user to manually declare all properties in a
element. This is tedious when using Type="Class" because the
parameters must be listed both as property declarations and in
. Also, this requirement increases maintenance when
using inheritence to extend or intercept an existing Task from another
assembly.
This change adds an AutoDetectParameters="True" option to the
element for Type="Class". When enabled, simple reflection is used to
calculate the parameters and any parameters provided via
 are ignored.
Fixes #33.

@jeffkl Thanks for taking time out of your vacation to respond!

Okay I'm back.  I'll preface this with an apology that I just happened to be on vacation when you submitted the issue and this pull request.
After thinking about it, I'm of the opinion that when a user specifies CodeTaskFactoryCodeType.Class, that they should not have to specify the parameters at all.  I would say we have no AutoDetectParameters attribute and instead its just be automatic.  As you've pointed out, at the moment users have to specify the parameters in XML and in code already.  We might as well just use reflection and make it automatic.  If a user specifies the parameters in XML, we could just ignore it or log a message saying they were ignored.  This would have no breaking change because existing <UsingTask /> definitions already have all parameters defined and when a user is specifying a whole class they have their parameters defined.  I think having to opt-in to this automatic behavior would be hard to discover and instead we could just make it opt-in if they specify a whole class.
What do you think?

I think making it fully automatic should be fine.
Warning that they’re ignored if specified would be the best behavior because users will wonder why removing a parameter from that list fails to remove the parameter from the created task (using the <ParameterGroup/> to prevent public properties from being treated as parameters is the only use case I can imagine and I don’t know how that would even be useful). For people switching to/from the MSBuild .netfx built-in CodeTaskFactory and RoslynCodeTaskFactory, the warning may be annoying but will at least permit them to test this out without making additional changes.
This would need to be documented in a list of behavioral differences between RoslynCodeTaskFactory and .netfx CodeTaskFactory.
I can update my PR but it might take me a day to find the time to do so.

Okay no hurry.  I'm in the process of porting my code task factory directly into MSBuild: https://github.com/Microsoft/msbuild/pull/3175
I'll port your change into that submissions as well after we've merged this.  Thanks for the contribution!

I’ve updated  to have a warning an ignore any supplied <ParameterGroup/> when Type=Class. I’ve removed the README edits for now, not sure they make sense and probably at least doesn’t need to be part of this particular PR. Let me know if there’s anything else I can do to help get this functionality in :-).


Present a warning dialog on a pre-release page

This warning will show up when there is a pre-release version that is newer than the latest stable release.
Fixes #1529

@dstufft how can I review this in dev?  I just want to check the colors

@nlhkabu You can see it with the latest release of the jira-cli package in dev:


Upgrade stable to k8s version 1.27.3 if 1.25.x will retire on 2 January 2024

          Shouldn't we also upgrade stable if 1.25.x will retire on 2 January 2024?

Originally posted by @almadigabor in https://github.com/eclipse-tractusx/sig-infra/issues/319#issuecomment-1805438880

So maybe here we should align with release management and find a window when stable can be upgraded. Probably before the deployment starts for release 23.12 components.

how is in change in those meetings? guess we can assign them directly to discuss with us, when we could upgrade...

There are no meetings in this topic anymore. Maybe we can mail the release management with it.

FYI @Siegfriedk @mabige @RolaH1t

IMHO it makes sense to combine this with setup of STABLE 23.12. (Timeline currently under clarification)
Is INT still on 1.25.x?

Int should be on 1.27 and stable should/will be upgraded to the same version before we move the apps to stable for 23.12

IMHO it makes sense to combine this with setup of STABLE 23.12. (Timeline currently under clarification) Is INT still on 1.25.x?

INT aka hotel-budapest is currently on 1.27.3 see #319

It the timeline for release 23.12 allow us to upgrade the stable cluster before 2nd of January 2024? That's the latest date we have to upgrade.

It the timeline for release 23.12 allow us to upgrade the stable cluster before 2nd of January 2024? That's the latest date we have to upgrade.

Stable is getting less important closer it gets to the next release. I'm currently not 100% when the official release date is, but we will just do the upgrade before 2th of jan or Microsoft might do it for us. I think that overlap will be fine

Task was assigned today at Consortia Operative Status Sync to RM @kelaja  to define how long Consortia Stable 23.09 will be needed and at which date the set-up of Consortia Stable 23.12 can be started.
Open: Setup of Consortia Stable 23.12 from scratch or as an upgrade of 23.09

first update for alignment for the cluster is prepared see https://github.com/catenax-ng/cloud-infra/pull/11

Stable cluster now on version 1.27.3
nice info from the task to verify current available version in Azure as a Calender
https://learn.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-kubernetes-release-calendar


MySQL too many connections from pre-receive hook

Gogs version (or commit ref): <IP_ADDRESS>8
Git version: <IP_ADDRESS>
Operating system: RHEL 7.3
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[X] No
[ ] Not relevant

Log gist (usually found in log/gogs.log): https://gist.github.com/stevenbarrehpas/e051eb3cfc58259f2f37b9be3e95a85b

Description
When pushing over SSH receive error repeated 150 times
remote: Gogs: Internal error

Hi, please go to path/to/gogs-repositories/{owner}/{repo}.git and delete custom_hooks directory, then the problem should be solved.

Woot. That did work. Where did those come from?

@stevenbarrehpas this problem should only for users who are following to develop branch a few days ago where the migration was not correctly handled (then fixed). Not sure if it's your case?

I think so. Thanks for the quick responses!


Update README: change zone_awareness_enabled to bool

what
In the example use zone_awareness_enabled is passed to the module as string, when bool is expected.
Changed to bool.
why

Consistency.

/test all

/test all

@Zaargh Thanks for you contribution


[prover] Parse prover postconditions in Move IR parser

Created an AST for the specification language that includes all of the major directives from the MVS specification language: requires <spec_exp>, ensures <spec_exp>, aborts_if <spec_exp>, and succeeds_if <spec_exp>
Implemented a parser for all of the directives and most of the spec_exp language. The parser handles everything that doesn't involve thinking about precedence; the only features that are missing are binary/unary operators (which will be added in a follow-up).
Added tests for all the parsing behavior. These test only that the parser accepts the new constructs, not that it turns them into the right ASTs, since the functional testing framework doesn't let us say that.

Motivation
Working toward unifying the Move prover with the Move language toolchain.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
New E2E tests.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

@bors-libra r=

:pushpin: Commit 0ad10da has been approved by ``

@bors-libra r=wrwg

:pushpin: Commit 0ad10da has been approved by wrwg

:hourglass: Testing commit 0ad10daf2d4db0ec969653c04a54c34e3dc78cd9 with merge f6051ba8f5b29c460a234ac3e03eeb371b1f7e0a...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: wrwg
Pushing f6051ba8f5b29c460a234ac3e03eeb371b1f7e0a to master...


feat(spell-out): Slot Elicitation Style Support

AWS just announced support for a new spell-by-letter and
spell-by-word slot elicitation style that can be used to
prompt the user to spell out their required input (i.e.
name or postal code) 1.
Add a new enumeration for the slotElicitationStyle property
and default the value to 'Default' - this is the same value
the lex service uses when a slot elicitation style is not
yet set 2.
Allow for slot_elicitation_style to be (optionally) defined
for ElicitSlot responses.

Nice addition!


RHOARDOC-1547: Follow-up version string update

LGTM, merging. @inoxx03, please note it in the FMP 4 JIRA that the value in the Thorntail guide needs to be undefined, thanks.

@tradej Thank you, I updated the JIRA: https://issues.jboss.org/browse/RHOARDOC-1573?focusedCommentId=13725930&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-13725930


Iris data model goes over and beyond CF

I do enjoy using iris, but I must also say that sometimes it tests my patience.
I typically work on projection data from different modelling institutes, which all aim at following the CMIP and CORDEX data specs to the letter. But now and then they miss out on some detail that slip through the CMOR and other quality control tools. But these mistakes invariably show up as problems in iris when merging cube lists and similar operations. But alright, this is something one have to live with, and as long as the mistakes are in parts covered by the CF Conventions or the CMIP/CORDEX data specs it could actually be a good thing.
But I find it more difficult to like is that iris also refuses to merge cubes where non-CF attributes do not agree perfectly. Here is an example from a recent attempt to merge three cubes:
time:units                    days since 1949-12-01 00:0...  days since 1949-12-01T00:0...  days since 1949-12-01 00:0...
latitude:long_name                               'latitude'          'latitude coordinate'                     'latitude'
longitude:long_name                             'longitude'         'longitude coordinate'                    'longitude'
grid_longitude:long_name      'longitude in rotated pole...  'longitude in rotated pole...  'longitude in rotated-pole...

gives the following error:
MergeError: failed to merge into a single cube.
  Coordinates in cube.aux_coords (scalar) differ: time.
  Coordinates in cube.dim_coords differ: grid_latitude, grid_longitude.
  Coordinates in cube.aux_coords (non-scalar) differ: latitude, longitude.

It would be helpful if iris could issue a warning (specifyng what it finds different) rather than just throw an error (that is only moderately helpful) when differences are found in parts not covered by the CF Conventions.

Hi @larsbarring, have you tried applying iris.util.describe_diff to your example?

If it helps, I wrote a function to compare two coordinates.

Thanks Ruth, this was good help (again)!
A couple of thoughts so far:

Ruth's function finds several differences in the cube coordinates (still working on sorting these), but the iris.util function found none. Maybe ideas from the former could be used in the latter?
Some modelling institutes prefer the proleptic_gregorian calendar even though the simulated period is not even near the julian/gregorian calendar shift date. This means that for those datasets the proleptic_gregorian is the same as the gregorian calendar, and it should not be flagged as an incompatibility.
The CF Conventions does not mandate, to my knowledge, the precision or encoding (e.g. float32 or float64) of the coordinates (CMIP/CORDEX might do that), so such differences should be flagged as warnings and points compared at the lower precision.

I am not much of a python programmer (:-(  so I cannot contribute in that respect, only in the more limited sense that I report use cases and make suggestions.

@bjlittle did mention an intention to retire describe_diff (among others) over on #2992/comment.  So I believe he has a plan in mind to do this better.  However, describe_diff does not seem to be marked as deprecated by Iris 2.4, so I guess the plan is not as advanced as he would have liked.

deprecated by Iris 2.4
Actually, as we have a major version coming up (Iris 3.0), a lot of things will change, and deprecation is not strictly required ...
Can't say exactly how that might affect this, though.  @bjlittle what are the plans ?

Closing this as it is too unspecific, and underlying problems was solved with help of @rcomer's comment


Updates to accumulator documentation to reflect changes from clara-ru…

…les issues https://github.com/rbrush/clara-rules/issues/102 , https://github.com/rbrush/clara-rules/issues/189, and https://github.com/rbrush/clara-rules/issues/190

+1
I think these are useful additions to the docs!

Merged! Looks great; thanks for writing this up.


fix fio issue in clusterbuster

This PR should fix clusterbuster fio issue:
Raised during Perf CI
      0:06 fio-kata-0000-1P
Run took 3:05:38 (Failed)
Traceback (most recent call last):
  File "/tmp/OpenShift4-tools/analyze-clusterbuster-report", line 29, in <module>
    data = ClusterBusterLoader(args.files).Load()
  File "/tmp/OpenShift4-tools/lib/clusterbuster/loader/ClusterBusterLoader.py", line 96, in Load
    i[1](report, answer).Load()
  File "/tmp/OpenShift4-tools/lib/clusterbuster/loader/uperf_loader.py", line 37, in Load
    root['ops_sec'] = job['ops_rate']
KeyError: 'ops_rate'

Clusterbuster version: v1.1.6-kata-ci should fix this issue.

xref https://github.com/RobertKrawitz/OpenShift4-tools/releases/tag/v1.1.6-kata-ci

The actual diagnostic message was:
Run failed:
clusterbuster-sync   clusterbuster-sync                 0/1     Error               0          4s
*** Bootstrap running payload: /var/tmp/sync.pl -f /tmp/syncfile -t /tmp/timing.json -d 0 -D 0 7778 1 18
sync 2022-09-13T16:36:34.065876 Clusterbuster sync starting
sync 2022-09-13T16:36:34.066283 Waiting to receive controller time data
sync 2022-09-13T16:36:35.066463 Timestamp data:
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/vendor_perl/JSON.pm line 190.

The failure listed in the PR was secondary to this.  The issue is not related to the particular workload (fio vs. anything else); any ClusterBuster workload was vulnerable.


Support non-rectangular TMAs

The current TMA script assumes that the TMA is roughly rectangular. For TMAs which are mounted on a slant, this results in a high error rate for automated naming. This PR updates the logic for the TMA renaming to require 4 corners of the array to be defined, rather than just two.

Added tests for validate_tma_corners and generate_x_y_fov_pairs_rhombus. Updated the test in tma_generate_fov_list (renamed generate_tma_fov_list in tiling_add) to support the new 4-FOV TMA format.

Looks good. You can resolve the merge conflicts, then once Adam looks it over again merge it in.

I've refactored all the tests with a ton of params to use pytest_cases, let me know how it looks now @ackagel.


Question about generating proposals

Thanks for your wonderful work.
I have a question in clusters proposal section. In your original paper, you proposed a cluster proposal method. I think, knn is not involved in that section. However, in your code proposals/generate_proposals.py, knn method with parameters knn_method='faiss' and k=80 is used. I am wondering, what this knn method is used for and why you choose k=80.
Thanks for your time.

@honglongcai You're right that knn is not part of cluster proposal algorithm. In proposals/generate_proposals.py, it actually involves two parts, i.e., build affinity graph and generate proposals. The parameters associated with knn is involved in the first part.
Specifically, (1) knn_method helps us to find the k-nearest neighbors of each node and k determines the number of neighbors. By connecting each node with its k neighbors, we get the affinity graph. (2) faiss is one of the most efficient knn method which is capable of dealing with millions of nodes. It can also be replaced with other knn algorithm such as hnsw. (3) In our experiments, we found the choice of k is not very sensitive, as long as it is in a reasonable range (30~100).

Got it, thanks for your reply.


Add consul kv replace function

This will allow to reduce pressure on consul by storing a value
if and only if it is different from what is in the kv

I'm not convinced we should do this in this lib, and especially in base.py (maybe somewhere else?).
The "spirit" of this file is to wrap the Consul API, nothing else.


Allow not joining any update channel

At the moment, the latest beta is broken for me and I wish to revert to a previously working one. The issue is that you cannot opt-out from the update channels (at least I couldn't find any information about it).

What is broken? Which canary version exactly? Which OS?
All required/needed informations to understand your issue accurately (even to switch your update channel), are the informations asked in our issue template. Please fill a new issue with these informations and we'll be happy to help you. 🙌


Object detection approaches

Another way to contribute is training an actual object detection model, which does not require the hotspot detections. The input is an image, the output is a set of bounding box. I would consider this more difficult then the hotspot classification, but I would be happy to work with people on this task as well. First ideas for action items:

Cropping large patches (such as Full HD) out of all images and making a nice dataset with a reasonable number of seals in it.
Converting the annotations in a common object detection dataset format, such as VOTT or Coco
Training an off-the-shelf CNN object detector. If you have never worked in this area before, you could use the tensorflow detection API (https://github.com/tensorflow/models/tree/master/research/object_detection) as it is very complete and nicely written.  If anybody knows an easy to use framework, please mention it below.
On the long-term / more advanced: training of a cascade of detector, which allows for scanning huge amounts of images. The first detector is very fast, but has a high false positive rate. It is used to discard images which certainly do not contain seals. The second detector is slower and only scans images, which were not discarded by the last detector, and so on. This is similar to the Haar cascade for face detection.

I got the tensorflow object detection working at one point.  Someone mentioned that Azure release an objection detection that work quite well when they tried it.
https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/python-tutorial-od
I'll see if I can sometime to experiment with these.

I added a detection code based on PyTorch so people can get started quickly: https://github.com/Microsoft/arcticseals/tree/master/src/SealDetectionRCNN  please refer to the README.md on how to get everything running. We will soon also upload a nice dataset of all the labels we have.


Secret change detection: Unit testing

Webhook and Operator included!

Specification for this feature has been changed and its progress is tracked in another project.


Add instantiator concept

Allow to intercept internal dozer instantiation, which allowing to create proxy object.
For example Create an abstract (not abstract class, abstract concept) of a Converter and create a proxy for dozer implementation

@diorcety ; although this is a nice idea, its currently tied to the singleton internals which we want to move away from, so for that reason wont be accepting PR.

Closing as we've moved away from singletons. Happy for you to raise PR based on current thinking.


chore: let pylance use sub-level logger of logging

cc @westonpace @wjones127 Please have a look, thanks.


Add [pnpm] - Azure DevOps

Tool name
pnpm
Tool license
MIT
Add or update?

[X] Add
[ ] Update

Desired version
latest v7.x.x release
Approximate size
No response
Brief description of tool
pnpm is fast, disk space efficient Node package manager.
today, many monorepo developers use this pnpm. (vite, svelte, ...)
I also use it. very fast and helpful.
Please see the link below for more information.
https://pnpm.io/motivation
https://pnpm.io/feature-comparison
URL for tool's homepage
https://pnpm.io/
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[X] Azure DevOps
[ ] GitHub Actions

Runner images where you need the tool

[ ] Ubuntu 18.04
[X] Ubuntu 20.04
[X] Ubuntu 22.04
[X] macOS 10.15
[X] macOS 11
[X] macOS 12
[X] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
The documentation says to run "npm install -g pnpm" to install it.  We have a stance of not installing tools during runtime, but rather baking them into the image.  To keep pipelines from altering the base OS and tools installed.

https://pnpm.io/installation

Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

Greetings,
I created this request as a duplicate of #2279 , but for Azure DevOps usage.  Rather than for Github Actions.  Sorry if this is also a duplicate, but I'm unaware of functionality to specify pnpm as the package manager like what's described for the Github Action.

@egg-r
Hi! Yes, it is still a duplicate of #2279. And yes, for Azure DevOps there really is no separate module that can install the requested tool in "one line" or something like that. But you can look at the official instructions for use or the example of use in the community.


Query routes

Initial commit for find_by_date_order() method

I don't see test for this new filter.

Please add test coverage for this.

Thanks - added.


Removed deprecated api

Codecov Report

Merging #1982 into master will increase coverage by 0.08%.
The diff coverage is 92.2%.

@@             Coverage Diff             @@
##             master   #1982      +/-   ##
===========================================
+ Coverage     97.92%     98%   +0.08%
+ Complexity     5202    5174      -28
===========================================
  Files            92      91       -1
  Lines         11837   11788      -49
  Branches       1534    1530       -4
===========================================
- Hits          11591   11553      -38
+ Misses          126     116      -10
+ Partials        120     119       -1

Impacted Files
Coverage Δ
Complexity Δ

vavr/src/main/java/io/vavr/collection/List.java
99.61% <ø> (-0.01%)
260 <0> (-1)

vavr/src/main/java/io/vavr/control/Validation.java
99.05% <ø> (-0.01%)
55 <0> (-1)

vavr/src/main/java/io/vavr/control/Option.java
100% <ø> (ø)
44 <0> (-1)
:arrow_down:

vavr/src-gen/main/java/io/vavr/Tuple8.java
100% <ø> (ø)
63 <0> (-1)
:arrow_down:

vavr/src-gen/main/java/io/vavr/Tuple3.java
100% <ø> (ø)
33 <0> (-1)
:arrow_down:

vavr/src/main/java/io/vavr/collection/Tree.java
97.8% <ø> (ø)
116 <0> (ø)
:arrow_down:

...rc/main/java/io/vavr/collection/LinkedHashMap.java
98.52% <ø> (+0.85%)
129 <0> (-2)
:arrow_down:

vavr/src/main/java/io/vavr/collection/Seq.java
98% <ø> (+2.91%)
50 <0> (-1)
:arrow_down:

vavr/src-gen/main/java/io/vavr/Tuple7.java
100% <ø> (ø)
57 <0> (-1)
:arrow_down:

vavr/src/main/java/io/vavr/collection/HashSet.java
95.78% <ø> (ø)
138 <0> (ø)
:arrow_down:

... and 28 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 0473233...c2adfc8. Read the comment docs.


Local chain implementation & tests

Closes: #158

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #422 (53f97f6) into master (b1b37f5) will increase coverage by 22.7%.
The diff coverage is 67.8%.

@@            Coverage Diff            @@
##           master    #422      +/-   ##
=========================================
+ Coverage    13.6%   36.3%   +22.7%
=========================================
  Files          69     155      +86
  Lines        3752   11136    +7384
  Branches     1374    4134    +2760
=========================================
+ Hits          513    4051    +3538
- Misses       2618    6438    +3820
- Partials      621     647      +26

Impacted Files
Coverage Δ

modules/src/events.rs
0.0% <0.0%> (ø)

modules/src/ics02_client/events.rs
0.0% <ø> (ø)

modules/src/ics02_client/msgs.rs
0.0% <0.0%> (ø)

modules/src/ics02_client/raw.rs
0.0% <0.0%> (ø)

modules/src/ics03_connection/error.rs
13.6% <0.0%> (-19.7%)
:arrow_down:

modules/src/ics04_channel/error.rs
75.0% <ø> (+50.0%)
:arrow_up:

...odules/src/ics04_channel/msgs/chan_open_confirm.rs
61.9% <ø> (ø)

modules/src/ics04_channel/msgs/chan_open_init.rs
67.0% <ø> (ø)

modules/src/ics04_channel/msgs/chan_open_try.rs
67.0% <ø> (ø)

modules/src/ics04_channel/msgs/recv_packet.rs
63.5% <ø> (ø)

... and 285 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 9963c4a...53f97f6. Read the comment docs.


hevm: unbreak on aarch64-linux

Motivation for this change
I did a few PRs (merged) to make hevm work on aarch64-linux so this is no longer needed.
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

If you run ./maintainers/scripts/haskell/regenerate-hackage-packages.sh it will regenerate the
pkgs/development/haskell-modules/hackage-packages.nix file and actually fix up the platform stuff.
@ofborg build haskellPackages.hevm haskellPackages.sbv

It looks like ofborg timed out on aarch64-linux before fully finishing the build of hevm and sbv, but it made it far enough that it appears to be working.
I cherry-picked this as 44a74d1b8f7 in https://github.com/NixOS/nixpkgs/pull/152408.


Early termination by thresholding when signal is still relatively high

In a couple of calcein data sets the image fitting terminates early but the signal in the peak region is still relatively high near the point of termination. This should be investigated to see if there is a bug in applying the thresholding used to determine when to terminate the fitting early.

I checked into this and for the particular cases where this was happening the standard deviation in the tail region which is used to define the noise for thresholding was relatively high. This is why they were terminating early. Not an actual bug, but we considered that maybe a different noise estimation could be worth trying.  As such,  in PR https://github.com/NTBEL/diffusion-fit/pull/12 a new input option was added for fitting which can be used to set the noise to be estimated as the standard error instead of the standard deviation in the tail region. The standard error is determined as std-deviation/sqrt(N_values) where N_values is the number of pixels in the tail region. The standard error will always be much smaller.
Anyways, I'm closing this issue. It can be reopened if there are similar problems later on.


Plugin incompatible with OpenTelemetry InfluxDB Receiver?

When trying this plugin to send Jmeter results to an InfluxDB Receiver in the OpenTelemetry Contrib Collector the results are rejected with a HTTP response code 400. Is there any intention to support this connectivity? I had a look at the error and it seems to be related to the Measurement Names this plugin uses but there may be other issues

Hi @perrinj3, the plugin was not used with OpenTelemetry InfluxDB, no tests were performed to check that compatibility.
Can you please share any docs to read how OpenTelemetry InfluxDB Receiver is used and why?
BR,
Mike

Hi Mike
Thanks for the response. We use an OpenTelemetry collector to receive metrics from K6 and JMeter for export to both InfluxDB and Prometheus (and then visualisation with Grafana). We chose the Influxdb Receiver for the OpenTel collector as both K6 and JMeter can export using the influxdb line protocol.
Refer to https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/influxdbreceiver
This works fine for K6 and many Jmeter Backend listeners but in your case I think there is an issue in how Opentelemtry selects the correct schema. I think with your backend listener the measurement needs to be set to “prometheus” so the OpenTel receiver can select the correct schema. If I change the JMeter Plugin code for measurement from “rawResults” to “prometheus” it works fine.
We’d really like to use your plugin as it has many great features.
The other thing we do is run OpenTelemetry in an Openshift container and the destination port is exposed in the endpoint. Ie we don’t specify the port in the Backend Listener configuration , just the url. I couldn’t see a way to not specify the port in your BEL. It defaults to 8086 is no port is specified. I changed the code to remove this but it would be good to have the option for no port as there must be other people using OpenShift.
I’m trying to get a response from OpenTel about the receiver but no luck so far.
Any advice or help would be appreciated
Regards,
John
From: Mike Derevyanko @.>
Sent: Monday, November 14, 2022 9:50 PM
To: mderevyankoaqa/jmeter-influxdb2-listener-plugin @.>
Cc: John Perrin @.>; Mention @.>
Subject: Re: [mderevyankoaqa/jmeter-influxdb2-listener-plugin] Plugin incompatible with OpenTelemetry InfluxDB Receiver? (Issue #78)
Hi @perrinj3https://github.com/perrinj3, the plugin was not used with OpenTelemetry InfluxDB, no tests were performed to check that compatibility.
Can you please share any docs to read how OpenTelemetry InfluxDB Receiver is used and why?
BR,
Mike
—
Reply to this email directly, view it on GitHubhttps://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/issues/78#issuecomment-1313467931, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASE3UA2UXJRCDQWPJUDQM2TWIIKLXANCNFSM6AAAAAAR3554XE.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>This e-mail and any attachments to it (the "Communication") is, unless otherwise stated, confidential, may contain copyright material and is for the use only of the intended recipient. If you receive the Communication in error, please notify the sender immediately by return e-mail, delete the Communication and the return e-mail, and do not read, copy, retransmit or otherwise deal with it. Any views expressed in the Communication are those of the individual sender only, unless expressly stated to be those of Australia and New Zealand Banking Group Limited ABN 11 005 357 522, or any of its related entities including ANZ Bank New Zealand Limited (together "ANZ"). ANZ does not accept liability in connection with the integrity of or errors in the Communication, computer virus, data corruption, interference or delay arising from or in respect of the Communication.


Is it possible to remove the "third_party directory"?! [An attempt to package for Ubuntu]

Hi guys,
We have successfully used C/C++ API as shared library in our applications, but there are some issues like this one which my colleages ran into.
Simultaneously, I was working to distribute the whole work as a debian package for Ubuntu 16.04, and I found that it is very annoying that you have used many external dependencies under the "third_party" directory. I'm trying to remove these dependencies one by one, which is a little bit troublesome but I think is possible. I am packaging anything else needed on my way.
The question is, do you have any advise on this? What should have been taken care of? And why in first place you put these in your repo instead of leading the users to install specific versions on their system as build dependency? I think that having external header files under the directory after build does not make sense at all! Please lighten me up.
Thanks for your great work, Google and The Community!

The tensorflow executable relies on a hermetic build, to ensure that we build the dependent libraries at the right version that we test, and using the right compilation flags. For instance, LLVM libraries typically requires -fno-rtti, which requires careful compilation. We link statically to these dependencies, making your executable effectively unstable if you link with these libraries outside of tensorflow.
Technically the right thing is to seal up tensorflow with -fvisibility=hidden to avoid polluting the linkage namespace. It is not a difficult thing to do but we have been postponing the fix.
CC: @keveman @skye

I have been looking into your binary distribution (libtensorflow-cpu-linux-x86_64-1.1.0.tar.gz) and one of the first thing for integration I looked into symbol visibility. Please use -fvisibility=hidden and only make globally visible symbols from API. There is a good fraction of externals that we already link to (jemalloc, Eigen, etc) thus it would be nice if tensorflow library would be sealed up.

I tried to hide google::protobuf in version script, but it didn't work, I don't know exactly what to hide! I tried to keep only _TF* symbols like in the c_api, but the resulting binary was useless. Please let me know what approximately I have to put in my version script so I will figure it out.

@nkhdiscovery, @girving is going to do this as part of #9525. It's not a trivial change and it's probably better if we did this on our end.
I'm going to close this in favor of #9525 so that every can keep track of progress there.
Thanks.


Sometimes the log files will be greater than the string limit of 6,000,000

Maybe the script could check the length first and only convert to string if it fits.
If it doesn't, then prompt the log file URL on the debug log so the person can try downloading it via Workbench.
Unfortunately, there isn't a way to truncate a blob, which could remediate this limitation.

Hi @Fernando-Fernandez. Unfortunately, the problem is not just the string length for a single log entry, it is with the Apex heap space. Even if we read log entries one by one, a number of things are added to the heap (the blob and the string...) and we can't measure memory in a fine grained approach.
This project is just a bit of Apex to do a quick diagnose but for large production logs, I recommend to switch to an external client using the API instead of Apex.

I was thinking of querying for the LogFileLength first and only if it is within a certain size, then retrieving LogFile, doing that check before line 24.

Sure, this would be the way but TBH I don't know what would be the max number to check against before hitting the heap space limit.


feat(extractor): add a flag for filtering on input file size

Allow filtering by file size in Bazel extractor.

None of the extant filters log when rejecting a file, but it might make sense to do so here.


State abstraction

Solves #300 by creating a qibo.abstractions.AbstractState object and the corresponding core objects:

VectorState: returned by standard circuits that use state vectors,
MatrixState: returned by circuits that used density matrices,
DistributedState: returned by the DistributedCircuit.

VectorState and MatrixState contain the state vector / density matrix tensor by default. DistributedState contains the state pieces and creates the full tensor only if the state.tensor is explicitly called for memory efficiency (this functionality already existed).
The main change from the user perspective is that now all circuits return state objects (which inherit the AbstractState) regradless of whether measurements are used or no. If measurements are used then the resulting state provides the .samples and .frequencies so the experience should be the same with what we have now. If no measurements are used and one tries to access .samples or .frequencies a RuntimeError will be raised. The state vector/density matrix is still accessible via state.tensor, state.numpy() or np.array(state) and indexing is also supported (eg. state[0] or state[1:5]) in all cases (with or without measurements).
Regarding today's discussion on whether measurements should be part of the circuit or no, in principle the functionality implemented in this PR simplifies things because states have a .measure method allowing the following manipulation:
# execute a circuit without measurements
c = Circuit(4)
c.add(...)
final_state = c()

print(final_state.numpy()) # will print the final state vector as np.array
print(final_state.samples()) # will raise RuntimeError because samples are not available

# measure the state independently of the circuit
mgate = gates.M(0, 2) # measurement gate on qubits 0, 2)
final_state.measure(mgate, nshots=100)

print(final_state.numpy()) # will print the same state vector as above (no collapse)
print(final_state.samples()) # will print the samples as a tensor of shape (100, 2)
print(final_state.frequencies()) # will print the corresponding bitstring frequencies

One can also pass registers in the .measure method:
mgate = gates.M(0, 1, 2, 3)
registers = {"a": (0, 1), "b": (2, 3)}
final_state.measure(mgate, nshots=100, registers=registers)

@stavros11 thanks for the implementation. I have some practical usage comments:

in VectorState I think looks better to have .wavefunction() or .state(numpy=True) instead of .numpy.
we could have a __call__ which prints the .numpy by default, or even better, a dict with the 3 output values ['numpy', 'samples', 'frequencies'] so we reduce the number of instructions required by the user to see the result.
if I do c.add(gates.M(0)), this seems to breaks final_state.samples(), I would prefer to maintain both approaches.

in VectorState I think looks better to have .wavefunction() or .state(numpy=True) instead of .numpy.

I implemented a .state() method which returns the state vector/density matrix and updated the docs to the following proposed usage:
c = Circuit(2)
c.add([gates.H(0), gates.H(1)])
result = c()

print(result.state()) # tf.Tensor([1, 1, 1, 1])
print(result.state(numpy=True)) # np.array([1, 1, 1, 1])

we could have a __call__ which prints the .numpy by default, or even better, a dict with the 3 output values ['numpy', 'samples', 'frequencies'] so we reduce the number of instructions required by the user to see the result.

I implemented the __repr__ method to match the tensor representation. From the user perspective it now looks exactly the same with the current master:
result = c()
print(result) # prints tf.Tensor([...])

Similary if one executes just result in a notebook cell it will print the tf.Tensor as it does now.
I am not sure if the __call__ method would be useful because it would mean that one has to do result() which is not valid with our current API anyway.

if I do c.add(gates.M(0)), this seems to breaks final_state.samples(), I would prefer to maintain both approaches.

The following works for me:
from qibo import models, gates

c = models.Circuit(2)
c.add((gates.H(0), gates.H(1)))
c.add(gates.M(0))

result = c(nshots=100)
print(result) # prints tf.Tensor([1, 1, 1, 1])
print(result.state()) # prints tf.Tensor([1, 1, 1, 1])
print(result.samples()) # prints tensor with samples

Note that in order to get measurements (samples and frequencies) you have to pass nshots when executing the circuit. If you do result = c() it will ignore the measurement gate and the resulting state will not have samples (so result.samples() will raise error).
This is also the behavior of our current master: c() without shots returns just a tf.Tensor with the state vector and there are no samples.

Thanks, look good. I am still not fully convinced about the .summary method, let me propose to remove it.


api: Fix response object for various APIs

Description
This PR fixes the API response objects specified in the APICommand annotation, which is used by listAPIs. This is in-turn used by cloudstack-go SDK to generated the structures to represent the response. Incorrect responseObjects result in issues parsing the response.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

Tests written for the cloudstack-go SDK ran successfully:
listAPIs for the corresponding APIs reflects the correct details:
for eg.,

Prior Fix:
(primateqa) 🐱 > list apis name=resetApiLimit
{
  "api": [
    {
      "description": "Reset api count",
      "isasync": false,
      "name": "resetApiLimit",
      "params": [
        {
          "description": "the ID of the acount whose limit to be reset",
          "length": 255,
          "name": "account",
          "related": "enableAccount,listAccounts,listAccounts",
          "required": false,
          "type": "uuid"
        }
      ],
      "related": "getApiLimit",
      "response": [
        {
          "description": "the UUID of the latest async job acting on this object",
          "name": "jobid",
          "type": "string"
        },
        {
          "description": "seconds left to reset counters",
          "name": "expireAfter",
          "type": "long"
        },
        {
          "description": "the current status of the latest async job acting on this object",
          "name": "jobstatus",
          "type": "integer"
        },
        {},
        {
          "description": "the account name of the api remaining count",
          "name": "account",
          "type": "string"
        },
        {
          "description": "number of api already issued",
          "name": "apiIssued",
          "type": "int"
        },
        {},
        {
          "description": "currently allowed number of apis",
          "name": "apiAllowed",
          "type": "int"
        },
        {
          "description": "the account uuid of the api remaining count",
          "name": "accountid",
          "type": "string"
        }
      ]
    }
  ],
  "count": 1
}

Post Fix:
(localcloud) 🐱 > list apis name=resetApiLimit
{
  "api": [
    {
      "description": "Reset api count",
      "isasync": false,
      "name": "resetApiLimit",
      "params": [
        {
          "description": "the ID of the acount whose limit to be reset",
          "length": 255,
          "name": "account",
          "related": "enableAccount,listAccounts,listAccounts",
          "required": false,
          "type": "uuid"
        }
      ],
      "response": [
        {},
        {
          "description": "the UUID of the latest async job acting on this object",
          "name": "jobid",
          "type": "string"
        },
        {
          "description": "the current status of the latest async job acting on this object",
          "name": "jobstatus",
          "type": "integer"
        },
        {
          "description": "true if operation is executed successfully",
          "name": "success",
          "type": "boolean"
        },
        {
          "description": "any text associated with the success or failure",
          "name": "displaytext",
          "type": "string"
        },
        {}
      ]
    }
  ],
  "count": 1
}

Same holds true for the other APIs

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 1558

@blueorangutan test

yes, that makes sense @DaanHoogland. I'll spend some time later this week to test some of the operations that use these APIs/ responses and share the details. I may reach out for help (if that's alright).

Trillian test result (tid-2404)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36032 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5573-t2404-kvm-centos7.zip
Smoke tests completed. 90 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_05_rvpc_multi_tiers
Failure
236.43
test_vpc_redundant.py

test_05_rvpc_multi_tiers
Error
236.44
test_vpc_redundant.py


#152799758 Implement Create Center Route

What does the PR do?
Implement api endpoint for admin user to create new centers
Description of task to be completed

Add api endpoints for adding new center
Implement middleware for validating endpoint

How should this be manually tested?

Clone the project repository
$ git clone https://github.com/AppCypher/EventsManager

Checkout into the proper branch
$ git checkout ft-add-center-endpoint-152799758

This project requires Nodejs and it is expected to run in Nodejs version 6 or higher

Install project dependencies by running
$ npm install

There project bundles task runners that make trying out parts of the project easy to use

Below is a list of some of the available task runners

server to start the server

test:api to run the api test suite

build to start webpack build on all server, frontend and test suite code

build:server to start webpack build on server code

build:client:dev to start webpack build on client code under a dev environment variable

build:client:prod to start webpack build on client code under a production environment variable

To run the server or test suite, the project code needs to be built
$ npm run build

Background context

Tests scripts need to return lcov.info for proper test coverag with code climate

Relevant pivotal tracker stories
152799758

Coverage decreased (-16.6%) to 66.368% when pulling 9ed604306c2e84cffbb10751ab3dc546f972290a on ft-add-center-endpoint-152799758 into 44118b408b4155a52fed466ebb8c58ad53b420e7 on dev.


Infer Sendable for enums that have a Sendable raw type

An enum that has a Sendable raw type can't meaningfully evolve into something that it non-Sendable (e.g., it can't add non-Sendable state), so infer that it is Sendable even if it is public.

@swift-ci please smoke test

Raw-valued enum types can evolve in a way that doesn't break the API contract and introduces non-Sendable state, so I'm abandoning this idea


Add a visual indication on the ground after a moving order as been clicked

Idea : Do the opposite of what @draaxk said, so it will make the circle contracting to where the user clicked, then leave the circle with a cross on that position (as long the users keep the selection).
As all unit can't sit on the desired location the users selected location have to be considered as the average goal position for all unit.
This for the next part is important as, when the user selection change, the position will be relocated to match the new selection, This is interesting as when the user select 1 or a thousand unit he will always have an idea of the current goal of his selection without having 1 cross for each unit, (as side note maybe some user will want to have the accurate version of this, by that i mean having 1 cross for each unit)
This might solve the point from @methusalah
Et sinon starcraft le fait mais que lorsque l'utilisateur utilise le system de waypoint en gros quand tu maintient maj... sinon pour un seul ordre non il le fait pas. (Salut les gars :D)

It's impossible to set a cross for each unit, because you can't nor decide neither predict where each unit will finally land.
I agree, however, that when you select a group in which units have different goals (which surely is a rare case), all goals must be drawn on the field.
(et pour les waypoints, on vera plus tard ! :))

why not possible ? the engine know it no ?

If the group can keep its formation all along the path then yes, the engine can ask to each unit to go to an offseted goal. It means no obstacles and no turn. This particluar but very common case still has to be managed.
Else, if the group formation is broken, the unit motion become unpredictable and the placement of units at arrival will depend on many things : available place around the goal, size and speed of the units, obstacles... it's stochastic.

I don't get how the pathfind work so :/
I though it was calculated for individual unit, it isn't the case ?

You may want to read that wiki's page about the motion : https://github.com/methusalah/OpenRTS/wiki/Unit-and-projectile-motion
Wathever the pathfinder, each unit has the clicked location as goal. But as you've mentionned, all units won't be able to stand at this precise location at the same time. When the firt arrives, it stops and lets pass allies. The second pushes it away to get to the point. The third pushes the two as well and so on.
In the current implementation, which may be not the best, a unit consider to be arrived when it reaches the point OR when one of the very close ally has reach the point. It doesn't yet consider its location as its post. It waits for the entire group to have reach the location in one way or the other before considering to have found a place to stay and hold.
For a large group of zergling, nobody can predict where that post will be before all the group has reach the average and acceptable destination.

The AI is based on that ? http://gamedevelopment.tutsplus.com/series/understanding-steering-behaviors--gamedev-12732
The explanation you did there helped me more than the one on the wiki maybe adding it as introduction to that wiki part will be nice.
To get back to the subject, following the way the pathfind work i don't know, xD

I've indeed read this learning guide, a long time ago, but I've been more inspired by the flocking article of the same site : http://gamedevelopment.tutsplus.com/tutorials/the-three-simple-rules-of-flocking-behaviors-alignment-cohesion-and-separation--gamedev-3444
The wiki article only talk about motion, which is not considered as "intelligence" but more as a behavior. Here we also talk about what I called post. The post is the location a unit intend to stand on. If the unit is pushed away by passing allies, it come back to its post.
In the first implementation, the units was always considering the target as their post, so that in large groups, units where fighting continously for the closest place : https://www.youtube.com/watch?v=OzB0FvhB5rM#t=0m7s
You're right to say that the wiki artcile lack some explanations about the post mechanism ^^


add emit_excinfo_store_with_md for all excinfo-related store instructions

fixes #9550
This bug is introduced between numba upgraded to llvm14 (https://github.com/numba/numba/pull/8535) and added the dynamic exception info feature (https://github.com/numba/numba/pull/8134).

BTW, can I be upgraded to a collaborator? or can I be given the permission about marking issues and PRs? I can only use this permission to mark the issues and PRs opened by myself.
Ha, just asking...

Oh, if possible, I think this fix should be put in release ASAP, perhaps 0.60?
For my use-cases (heavily using various numba containers and structref), my performance could be hurt by 2~3x times, since un-removed refcount pairs.

Oh, if possible, I think this fix should be put in release ASAP, perhaps 0.60? For my use-cases (heavily using various numba containers and structref), my performance could be hurt by 2~3x times, since un-removed refcount pairs.

This release is closed now, unfortunately. I've restarted CI and marked this as needing a review.

BTW, can I be upgraded to a collaborator? or can I be given the permission about marking issues and PRs? I can only use this permission to mark the issues and PRs opened by myself.
Ha, just asking..

Would suggest to join a dev meeting or office hour and ask about this.

I think if the jitted code is related to structref or container types, then the code logic can touch the dynamic exception info generation, then we can find a simple test case for it. Need to make up one.

reopen...


Padded decimal and hexadecimal text builders

In Data.Text.Lazy.Builder.Int, the functions decimal and hexadecimal are available. Sometimes, I need to zero pad my decimal and hexadecimal representations to a certain length. I propose adding the following two functions to this module:
paddedDecimal :: Integral a => Int -> a -> Builder
paddedHexadecimal :: Integral a => Int -> a -> Builder

The behaviors of these would be:

The padding occurs on the left.
The padding adds zeroes until that cause the builder to be of the desired length.
The padding happens after the minus sign in the event that the number is negative.

Examples of expected behavior:
> paddedDecimal 3 5
005
> paddedDecimal 6 (-103)
-000103
> paddedDecimal 2 1039
1039
> paddedDecimal (-5) 1
1

If this would be a welcome addition, I am already familiar with the integral text builder code, and I would be happy to add these functions. The only place where I am uncertain of how to proceed would be writing a performant specialization for Integer.

It makes some sense, but I have questions :-)

For naming, similar functions refer to "justification".
From your examples, it looks like the sign character does not count towards the width.
What about left-justification with spaces? That's a much more common need, in my experience (and would mess with your sign placement here).
Is this likely to end up faster or simpler than writing a version that renders to a Text and uses some of the existing justification functions?

Concerning naming, I'm fine with justify instead of pad, since justify is a more precise term.
The sign character is a bit of an annoying issue. I do not have much personal interest in the behavior for negative numbers. What I don't like about my original proposal is that inserting zeroes after the sign character means that paddedDecimal 6 does not reliably create Builders where the Text length is 6. It could be 6 or 7 (or higher if you provided a number that requires more the six digits to represent). For hexadecimal representations, we have convenient precedent that hexadecimal simply fails for negative inputs. This is becoming a ramble, so I'll turn to the next question.
I agree that left justification with spaces is a common need as well. Being able to pad with something other than zero would be nice.
It would be faster, but it would definitely be less simple. To use the existing justifyRight, you would have to first convert the decimal builder to strict text so that you could learn its length, and then justifyRight would create an additional copy of the Text which would get turned into a builder. I've not profiled this, so I do not know how significant this would end up being. It might end up being a negligible difference. On previous occasions, I've had poor performance when concatenating lots of small chunks of text, so I try when possible to work on MArrays.
Also, I probably should have included this to begin with, but my main inspirations for this were:

Hexadecimal in a MAC address requires leading zeroes. People usually write memory addresses in hex with leading zeroes.
People almost always write the minutes and seconds in a timestamp with leading zeroes.
W3C datetimes have an offset that looks like this: +04:00, +13:00, -07:00. (Although this doesn't really fit what I suggested because of the leading plus sign).

I'm going to put this on hold for the moment. I've been playing with some ideas for a strict text builder which may subsume what I suggested and simplify the implementation. I might bring it up in another issue once I'm confident in the implementation.


Recover from error by resetting stream in ResumableUpload.

/cc @jonparrott

After discussing with @jonparrott, this fix doesn't make sense. This is because the upload will be in an unknown state and a "resume" request needs to be sent.


Grant application-manager access to all resources

The application controller will list and update resources.
Without the access, the controller will fail to fetch or update the
resources with the following errors:
controllers.Application	deployments.apps is forbidden: User "system:serviceaccount:application-system:default" cannot list resource "deployments" in API group "apps" in the namespace "default"

/assign @barney-s

/lgtm
/approve


Array vars missing from module 2

[12:05 PM] Dowling, Kelsey (NIH/NCI) [C]
Hi Jake, I noticed there's some changes going on to the flattened tables. I'm hoping this will be resolved once Fire/BQ properly relink again but wanted to let you know. All these variables below are now missing (looks like as of today or yesterday) and is now replaced in BQ as "D_745268907_D_543780863_string" in the flattened table
D_745268907_D_543780863_D_543780863_D_441493408,
D_745268907_D_543780863_D_543780863_D_612012325,
D_745268907_D_543780863_D_543780863_D_100752105,
 D_745268907_D_543780863_D_543780863_D_207913198,
 D_745268907_D_543780863_D_543780863_D_863920008,
D_745268907_D_543780863_D_543780863_D_787142499,
D_745268907_D_543780863_D_543780863_D_205223932,
D_745268907_D_543780863_D_543780863_D_817131019,
D_745268907_D_543780863_D_543780863_D_807835037,
D_745268907_D_543780863_D_543780863_D_684201296,
D_745268907_D_543780863_D_543780863_D_535003378

Hi Kelsey, I deleted D_745268907_D_543780863_string from the query and added the array variables, which were definitely missing from the query.
# Deleted from M2-variables.csv
D_745268907_D_543780863_string

# Added to M2-lists.js
  'D_745268907.D_543780863.D_543780863': [
    441493408, 612012325, 100752105, 207913198, 863920008, 787142499, 205223932,
    817131019, 807835037, 684201296, 535003378]

I updated the query and table in prod, but I will not update stg and dev now due to the upcoming changes in the Firestore to BigQuery transfer.


Allow jump to definition to jump to Python stub (.pyi) files

Elevator Pitch
If .py files or some variable/definition in them aren't available, but they exist in a .pyi file, it'd be great to have jump to definition detect .pyis in the environment and jump to those instead.
Motivation
I work with several libraries developed using Python extensions (e.g. Cython, Boost.Python) whose source code may not be available or detectable by jupyterlab-lsp, but which may come with public interfaces in the form of stubs (.pyi files). Navigating to the interfaces would be a nice fallback if the source code can't be jumped to.
I don't know how much work this would take, but it seems like jupyterlab-lsp is fully aware of .pyi stubs already and uses them for other kinds of code analysis, given how the autocomplete works on attributes which don't exist at runtime (ast.NodeVisitor.visit_* only exists in typeshed stubs, not at runtime):

Design Ideas
This is a screenshot from VSCode's Go to Definition, which brings up the exact requested functionality. visit_Load doesn't exist at runtime, so it uses the typeshed stub ast.pyi as a fallback. If you did Go to Definition on visit instead, which does exist at runtime, it'll jump to the function of the runtime module in ast.py instead.

The fallback jump is nice but not necessary - I would be happy to see another jump option which is equivalent to VSCode's Go to Declaration instead, which just looks for .pyi files.

Sorry! I just realised that Go to Definition already does all of this for the typeshed bundled in jedi, so the problem is more of how to get jupyterlab-lsp to discover other type information as specified in PEP 561 (e.g. stubs only packages or stubs bundled inside runtime site-packages).

Whoops - it seems like the issue is not with .pyi discovery outside of jedi either. Jump to Definition will not jump to .pyi for the following package arrangement:
📂site-packages
 ┗━📂my_package
   ┣━📜__init__.py
   ┣━📦my_compiled_python_extension_module.so
   ┗━📜my_compiled_python_extension_module.pyi

I'll post another issue about this.


Minor Update

grammar fixed in the readme
some changes in package.xml
some changes in CMakeList.txt
add .gitignore file

Thanks a lot!!


defining min_itemsize creates "data_columns"

I am trying to write results from a dataframe to hdf using the append (or .to_hdf) function. A few of my columns are large string whose length will vary (around 1k characters). Because its length will vary, I have to set, min_itemsize, for each of the variable columns. I do not want these fields to be treated as data_columns, but each time I define the column in the field min_itemsize, they become data_columns when looking at the result in hdf.
>>> df = pd.DataFrame(columns=['long string', 'a', 'b', 'longstring2'])
>>>df.to_hdf('test', 'key', data_columns=['a'])  # => only a is a data_column
>>>df.to_hdf('test', 'key', data_columns=['a'], min_itemsize={'long string': 1000, 'lonstring2': 1000}) # => now a, longstring2, and long string are datacolumns.

Is there any way to define min_itemsizes but not make those fields data_columns? I ask because when I make them data_columns I get warnings that my rowsize is too large.

this is by-definition. Specifying min_itemsize stores this as a separate fixed-width column (as opposed to storing with other string columns).
Not sure you should actually care about this as its an implementation detail. The warnings are because you are truncating. You are ultimately storing in a fixed-width column, so you must truncate (or you can pre-truncate).

All I am aiming to do is store very large tables containing millions of rows and about 10 string columns (strings in most columns will vary in string length) to a file, and later retrieve subsets of all of the information very rapidly using a well defined fixed column (not the long string columns mentioned above). But currently performance seems not as fast as just dumping everything to a csv file and then sorting that csv file on the specific column outside of python...I don't really want to do this because its hacky.
Based on your response, I feel as though I may be using the wrong strategy/implementing to_hdf incorrectly.

First, when you say "I must truncate"  I assume this means that, if i truncate, when I try to retrieve that record at a later time, I will only be shown a truncated version of the string? If so that is not an option for me as the entire string is important, but in the past when I have set the min_itemsize for a column string to an extremely long length then I get an error, not a warning.

With regard to it being an implementation detail, will adding these large strings as data_columns impact my query performance if I am querying on a separate column? Or is the warning message about I/O performance and memory usage not actually relevant in this situation.

In the end is there any way to use  to_hdf but have a string column not be a data column and its length be 'variable'?

@costas821 if the warnings bother you then you can truncate. If you don't it WILL be truncated. So you need to choose a min_itemsize that encompasses your entire width you want to save. These are saved as fixed-width strings. Storing variable length strings is not supported.
You can try using categoricals if you have some repeats.
making this a data_column will not be a problem for query performance.
You must have something funny going on. HDF write perf is WAY faster than csv.

@jreback
Maybe you can see if Im doing something wrong. I did some time tests below to get an idea of what to expect
df.shape = (235114, 12)
Just using to_csv: ~ 18 seconds
t1 = time.time()
for i in range(5):
    if i == 0:
        df.to_csv('testdf.txt', sep='\t')
    else:
        df.to_csv('testdf.txt', sep='\t', header=False, mode='a')
t2 = time.time()
t2-t1

Using to_hdf where we set item_sizes: ~ 115 seconds
# I only really care about indexing columns c5-c8, but will ignore for now
max_item_sizes = {
    'c1': 60,
    'c2': 10,
    'c3': 1000,
    'c4': 1000,
    'c5': 10,
    'c6': 10,
    'c7': 15,
    'c8': 15,
    'c9': 25,
    'c10': 25
}
t1 = time.time()
for i in range(5):
    df.to_hdf("testhdf.h5", 'df', min_itemsize=max_item_sizes,  data_columns=None, append=True, format='t')
t2 = time.time()
t2-t1

Using to_hdf where we ignore item_sizes (raises an error if appending columns with different lengths later on): ~ 46 seconds
t1 = time.time()
for i in range(5):
    df.to_hdf("testhdf2.h5", 'df', data_columns=None, append=True, format='t')
t2 = time.time()
t2-t1

@costas821 you should need to show something that creates a facimile of your data.
So here's a little sample. You basically are exceeding the limits of PyTables. Storing very wide text data (which you are doing) is not that efficient, nor fast. This is designed really for mostly numbers. That said it will work.
In [10]: df = DataFrame({ c:''.join(['A'] * v) for c, v in max_item_sizes.items()},index=range(10000))

In [11]: df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 10000 entries, 0 to 9999
Data columns (total 10 columns):
c1     10000 non-null object
c10    10000 non-null object
c2     10000 non-null object
c3     10000 non-null object
c4     10000 non-null object
c5     10000 non-null object
c6     10000 non-null object
c7     10000 non-null object
c8     10000 non-null object
c9     10000 non-null object
dtypes: object(10)
memory usage: 859.4+ KB

In [12]: df.head()
Out[12]:
                                                  c1                        c10          c2                                                 c3                                                 c4  \
0  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
1  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
2  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
3  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
4  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

           c5          c6               c7               c8                         c9
0  AAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAA
1  AAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAA
2  AAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAA
3  AAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAA
4  AAAAAAAAAA  AAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAAA

In [13]: %timeit df.to_csv('test.csv')
1 loop, best of 3: 317 ms per loop

def f():
    store = pd.HDFStore('test.h5',mode='w')

    for c, mi in max_item_sizes.items():
        store.append(c,df[c],min_itemsize=mi)

    store.close()

In [29]: f()

In [30]: %timeit f()
1 loop, best of 3: 508 ms per loop


[6200] - expose all training routes for TeachFirst trainee registration

Context
If a user is aligned to the provider: Teach First, when they create a a draft trainee, the only course route they can select is HPITT. This is out of date now: the Teach First provider now have "normal-route" options that they advertise via Publish and we import these trainees from Apply. This is new for 23/24.
Changes proposed in this pull request
simplifies training route list to display "HPITT" training route in addition to other routes only if provider is TeachFirst.
Guidance to review

create draft trainee with non-TeachFirst provider attached to user and see no HPITT training route option in list
create draft trainee with TeachFirst provider attached to user and see HPITT training route option in addition to regular list

 Update Teach First's 'create draft trainee' conditional logic


Dialog component - validateDOMNesting(...):  cannot appear as a descendant of

The problem I am experiencing is with the dialog component.
Diving into the component, the dialog uses the radix-ui DialogPrimitive.Trigger
const DialogTrigger = DialogPrimitive.Trigger;
This renders a button in the html.
I want to be able to pass a button to my custom dialog component so I can use the variants, etc. Here's my reusable dialog component
import { DialogTitle, DialogTrigger } from "@radix-ui/react-dialog";
import type { ReactNode } from "react";
import React from "react";
import {
  Dialog,
  DialogContent,
  DialogDescription,
  DialogFooter,
  DialogHeader,
} from "../../../@/components/ui/dialog";
import VButton from "../button/VButton";

interface VDialogProps {
  trigger?: ReactNode;
  triggerClassNames?: string;
  description?: string;
  buttonText?: string;
  isLoading?: boolean;
  title: string;
  hidePrimaryButton?: boolean;
  onPrimaryClick?: () => void;
  children: ReactNode;
  primaryButtonDisabled?: boolean;
  menu?: ReactNode;
  open?: boolean;
  onClose?: () => void;
}

const VDialog: React.FC<VDialogProps> = (props: VDialogProps) => {
  const handleDoneClick = () => {
    props.onPrimaryClick?.();
  };

  return (
    <Dialog
      open={props.open}
      onOpenChange={(open) => {
        if (!open) {
          props.onClose?.();
        }
      }}
    >
      {props.menu}
      {props.trigger && (
        <DialogTrigger className={props.triggerClassNames}>
          {props.trigger}
        </DialogTrigger>
      )}
      <DialogContent className="max-h-[calc(100%-100px)] overflow-y-auto">
        <DialogHeader>
          <DialogTitle>{props.title}</DialogTitle>
          {props.description && (
            <DialogDescription>{props.description}</DialogDescription>
          )}
        </DialogHeader>
        {props.children}
        <DialogFooter>
          {!props.hidePrimaryButton && (
            <VButton
              onClick={handleDoneClick}
              disabled={props.isLoading || props.primaryButtonDisabled}
              isLoading={props.isLoading}
            >
              <p className={`text-base-100`}>{props.buttonText ?? "Done"}

            </VButton>
          )}
        </DialogFooter>
      </DialogContent>
    </Dialog>
  );
};

export default VDialog;

Does anyone have any suggestions how I can get rid of the warning? I'd like to be able to pass a custom button to my dialog component.

Can you share a demo link showcasing the issue?

The default elementType for the DialogTrigger component is button, It looks like you're nested another button inside of it, so you should be able to remove the top level Button by adding asChild attribute to <DialogTrigger/> tag

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Fixes #5725 allowing multiple language changes

When selecting multiple languages while uploading media, selecting a new language can result in the old language still showing as selected and not being able to be selected again.
Fixes #5725
What changes did you make and why?
UploadMediaDetailAdaptor.java:

Made it the HashMap storing the currently selected language is cleared when a new language is selected both in full list of languages and the recent languages list by modifying the OnClick listeners for both.

Tests performed (required)
Tested ProdDebug on Samsung S23 SM-S911B with API level 34 by selecting many various languages from both the full language list and recent language lists, as shown in the screenshots section below
Screenshots (for UI changes only)
https://github.com/user-attachments/assets/0d855664-f4d0-419f-8948-2a23342a284c

Thanks @cambo14 !


[WIP] feat: add support for v2 wearables

We are now adding support for v2 wearables. It will be disabled by default, but there is a feature flag that can turn it on
Feature flag
Profile ownership sanitization (this means removing wearables that are not longer owned by the user from their profile):
If the feature flag is off:

Sanitization will be done on the explorer, by querying wearables-api
Profile fetching is done by querying /profile lambda

If feature flag is on:
Profile fetching will be done by querying /profiles lambda, that already filters wearables by ownership
Wearable fetching
If the feature flag is off:
Fetching will be done from the catalog, that is pre-loaded with all wearables from the wearable-api
If the feature flag is on:
Fetching is done from the catalyst server, on-demand
Wearable ownership
If the feature flag is off:
Owned wearables are calculated by the wearable-api
If the feature flag is on:
Owned wearables are calculated by the catalyst
Mappings
The new v2 wearables are different both in id and payload from the current v1 wearables. So the approach will be the following:

The renderer will continue to get both the legacy id and payload. We will translate the ids both in the wearable and profiles
When fetching by wearable id on the catalysts, we will translate from legacy id to urns
In the future, when we delete the feature flag, we can update the renderer and remove the mappings

Testing
Link V1: https://play.decentraland.zone/branch/feat/wearables-v2?CATALYST=peer-testing.decentraland.org&ENV=org
Link V2: https://play.decentraland.zone/branch/feat/wearables-v2?CATALYST=peer-testing.decentraland.org&ENV=org&ENABLE_WEARABLES_V2

Replaced by https://github.com/decentraland/explorer/pull/2172


”TĂLMACIU”, ”Colonia Tălmaciu”, ”Tălmăcel” are listed in the drop-down menu

Description:
When user writes ”TĂLMACIU”, ”Colonia Tălmaciu”, ”Tălmăcel” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "TĂLMACIU"

Expected results
The location appears in the drop-down menu as "Oraș TĂLMACIU, SIBIU (TĂLMACIU)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Colonia Tălmaciu"

Expected results
The location appears in the drop-down menu as "Sat Colonia Tălmaciu, SIBIU (TĂLMACIU)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Tălmăcel"

Expected results
The location appears in the drop-down menu as "Sat Tălmăcel, SIBIU (TĂLMACIU)".

ENVIRONMENT: ui.orase
BROWSER: Google Chrome
Device: Laptop
OS: Windows 10 Pro
STEPS TO REPRODUCE:
Open URL in browser.
Type "TĂLMACIU" in the search bar.
EXPECTED RESULTS:
The location appears in the drop-down menu as "Oraș TĂLMACIU, SIBIU (TĂLMACIU)".
ACTUAL RESULTS:
The location appears in the drop-down menu as "Oraș TĂLMACIU, SIBIU (TĂLMACIU)" and as " Oraș TĂLMACIU, SIBIU"


When are reports considered different bugs?

Hello,
While playing around with an Android app causing reports to be send, I noticed that even though the Exceptions are different and also the stack trace sizes are different the bug counter still remains 1, just the report counter goes up. I would have assumed that Acrarium, when seeing different exceptions being reported, counts these as different types of defects?
I'm using the latest docker image (the about box tells me Running version 0.10.9)

Stacktraces are considered the same if they are x% identical, where x is the configured bug matching value (95 by default).

I understand your choice as it's very tricky to come up with an algorithm that would be more accurate.
On a Galaxy/Android-10, 2 different exception but with an otherwise almost identical stack trace were seen as identical.
On the other hand, the same 2 defects, one coming from an LG G5/Android-8 and the other from a Galaxy/Android-10 were seen as different.
Of course the defects were inflicted hence a bit artificial, in a real app likely these side effects occur less.

Yeah, in the end whatever algorithm you choose, you'll end up with some manual work. You can also basically disable this feature by setting the matching value to 100.

On the other hand, the same 2 defects, one coming from an LG G5/Android-8 and the other from a Galaxy/Android-10 were seen as different.

Different Vendors often implement android differently, leading to vastly different stacktraces. Not much to be done in this case.

Stacktraces are considered the same if they are x% identical, where x is the configured bug matching value (95 by default).

Would you be able to add something like this to the setting description? I couldn't figure out what the "Score" meant so I came here to search and see if I could find it.


Flag code fence with more than three backticks

I've come across this in the docs and it can cause rendering issues.  CC @lamebrain @jamarw

Closing as a stale issue. Please open a new issue if this is still a problem.


Update README.md

Related issue

What changes does this PR do?
Screenshots (If any)
Questions

Thank You 👍

Thank You 👍 I wanted to ask that: Like here as my PR is approved, so does this mean my name is added in the Members list ?? So, is my proposed change been made in EddieHubCommunity Repo branch ??

Your PR has been merged. You can now see your name in the list.
Thank you, EddieHub.


feat: adding a receiver as parameter in the accept swap function

There is no reason why not allowing to choose the receiver when calling acceptSwap, which is currently setting msg.sender as the receiver of the assets.
Proposal:

add an address type into the acceptSwap parameter with the name of receiver.
instead of sending the assets to the msg.sender, send it to the receiver instead.

Hey @0xneves I wanna work on this

Hey @blackbeard002
I was waiting your PR 🙈

This task is not hard, come'on guys

@0xneves @blackbeard002
HEY HEY GUYS
I saw that this issue is stopped a while and I did it guys :)
PR with all documentation about: https://github.com/blockful-io/swaplace-contracts/pull/149


update cuda requirement to 9.0, fixes #2791

Thanks! I restored the sample blob comment for use in future updates.

Ah, then the sample blob comment should be showing CUDA 9.0 or 9.1 instead of 8.0

I think it's fine -- it is just a "sample" after all, not necessarily the current values.


mission 2: find the goal anywhere on the boundary of the level

need to place goal randomly for each mission and each level is of random size

replace with src/patrol.py


Increasing of direction step size

The current step size for changing the direction value is 1, see:

I propose to increase the step size a bit, maybe to (2 or) 5 (or 10)?
Who even still what's to use a more detailed figure below a raster of 5 would still have an option to manually enter a more detailed value in the left box directly.

Some field like electricity output or water tank volume are measured in the thousands so an increment of one is a bit trite.

Agreed. Voltage might need different increments in different ranges. Sometimes it's a multiple of 10, sometimes 100, and sometimes 1000.


[feature](jdbc catalog) support db2 jdbc catalog

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


pool cluster no response on WRITER

Hi,
I have set up an AWS Aurora MySQL (v5.7) with WRITER/READER and tried to connect from my nodejs (v8.5.0) using mysql version 2.14.1.
const mysql = require("mysql")
const poolCluster = mysql.createPoolCluster()
poolCluster.add("WRITER", {
  connectionLimit: 5, // 10 by default
  host: <link to Aurora WRITER>,
  user: 'myuser',
  password: 'mypass',
  database: 'mydb'
})
poolCluster.add("READER", {
  connectionLimit: 5, // 10 by default
  host: <link to Aurora READER>,
  user: 'myuser',
  password: 'mypass',
  database: 'mydb'
});

function query2(q) {
  console.log(new Date())
  console.log("[ query2 ]", q)

  return new Promise((resolve, reject) => {
    const type = q.search(/^[^\w]*\(?SELECT/) == 0 ? "READER" : "WRITER"

    poolCluster.getConnection(type, (error, connection) => {
      if (error) {
        console.log(new Date(), "[ query2 ] failed to get connection from", type, q)
        reject(error)
      }
      else {
        console.log("[ query2 ] acquired", type, connection.threadId, q)

        connection.query(q, (error, results) => {
          if (error) {
            console.log(new Date(), "[ query2 ] failed to query on", connection.threadId)
            reject(error)
          }
          else {
            /*
             * return the connection to the pool
             * otherwise, new connection will be made until `connectionLimit` is reached => max `connectionLimit` queries are run!
             */
            connection.release()
            // connection.destroy() // when pool has no connections, the program ends!

            console.log(new Date(), "[ query2 ] result on", connection.threadId)
            resolve(results)
          }
        })
      }
    })
  })
}

query2 has been working fine for a week, until recently, it stops responding with all INSERT/UPDATE query, such as:
await query2("INSERT INTO ...")
This causes all commands after this await hangs up, not executing!
Please note that when this happened, event loop still worked as my nodejs program still received commands from client and ran SELECT query successfully.
I have some questions:

What could cause my INSERT/UPDATE hang up? Is it because its connectionLimit: 5 was too few? I increase it to 10 in the meantime my issue is responded.
Is this regex ok to use const type = q.search(/^[^\w]*\(?SELECT/) == 0 ? "READER" : "WRITER" in my query2? As I read from this link, the author suggests regex should be avoided. But as I have noted, when this happened, the event loop still worked, and SELECT queries still ran well.
Anyway, I still change it to const type = q.startsWith("SELECT") || q.startsWith("(SELECT") ? "READER" : "WRITER"

Looking forward to your reply.

Have a look at waitForConnections and queueLimit pool options. Your queries should not hang but fail :wink:
You can also listen the pool events to get an idea what the problem could be.
I'm not into the AWS stuff, but in the end you have to debug why your queries take that long.
BTW: You don't release the connection in case of an error. I think you can move connection.release() to the top of the (inner) callback method:
connection.query(q, (error, results) => {
    connection.release()
    if (error) {
        console.log(new Date(), "[ query2 ] failed to query on", connection.threadId)
        reject(error)
    } else {
        // ....
    }
}

Have a look at waitForConnections and queueLimit pool options. Your queries should not hang but fail 😉
You can also listen the pool events to get an idea what the problem could be.
I'm not into the AWS stuff, but in the end you have to debug why your queries take that long.
BTW: You don't release the connection in case of an error. I think you can move connection.release() to the top of the (inner) callback method:
connection.query(q, (error, results) => {
    connection.release()
    if (error) {
        console.log(new Date(), "[ query2 ] failed to query on", connection.threadId)
        reject(error)
    } else {
        // ....
    }
}

waitForConnections and queueLimit are now default.
How should I look at their values in real time?
By the way, is there a way to read the current number of active connections in a pool cluster, for READER and WRITER?
Much appreciate for the hint connection.release(). This is probably the root cause since when no connections are available (due to some stuck, probably at database side), new requests just wait there.
I also updated mysql to version 2.18.1
Regards,

waitForConnections and queueLimit are pool configuration options. They change the way the pool reacts to increasing waiting connections. You don't need to watch them in realtime :wink:
For debugging purposes you could output the size/length of these arrays: https://github.com/mysqljs/mysql/blob/master/lib/Pool.js#L15 (maybe in an interval).


Add steps for publishing the API and generating credentials

Corrects https://github.com/wso2-enterprise/choreo/issues/6922

Corrects https://github.com/wso2-enterprise/choreo/issues/6922

Now all looks good @RukshiW


Function fields on blob auto-capture self?

It's a bit tiring to always have to write
self: !A = nil
self = A {
    answer: 42,
    f: fn -> int {
        self.answer
    },
}
self

self := A {
    answer: 42,
    f: fn -> int {
		self.answer
	},
}
self

Self refers to the closest parent blob instance.

After some late night discussions and 8 hours of sleep here is the summary:
This feature is possible to implement at a ~15% blob creation time loss. It would also come with another quirk. Some programs should be possible but will not be, e.g.
A :: blob {
    a: int,
    f: fn -> int,
}
start :: fn do
    A {
        a: 1,
        f: fn ->
            fn -> int do self.a end
        end()
    }
end

Basically self cannot be used except in methods, though the example demonstrates a method that is not possible. Now, we had an idea about using the dependency checker to solve this, but just allowing basic methods is the easier alternative.
It should be noted that there are similar programs that are not allowed by the dependency checker that should be. We conjectured that these "invalid" programs are rare and that there are workarounds in that case.
There were some other alternatives but they had similar problems. What do you think @sornas ?


Updated sample project for iOS 17.0

Summary
Version 2.2.0 of the SDK requires iOS 17.0.
Updated sample project deployment target to iOS 17.0.
Removed the hard-coded deployment target in SampleAppUIKit so it inherits the project settings.
Tested scenarios
Can now build and run on iOS 17 devices.

hey @ls-philippe-casgrain
thank you for contributing!