Sonarqube Plugin missing annotation

In catalog-info.yaml I have this
kind: Component
metadata:
  name: "ship-01"
  description: "ship-01"
  annotations:
    github.com/project-slug: maurosala/ship-01
    backstage.io/techdocs-ref: dir:.
    argocd/app-name: "ship-01"
    backstage.io/kubernetes-id: "ship-01"
    sonarqube.org/project-key: maurosala_ship-01
spec:
  type: service
  lifecycle: experimental
  owner: "maurosala"

but in dashboard sonarqube plugin still saying "Missing Annotation"
Expected Behavior
I expect the plugin says code quality information

Current Behavior
You can view repository here https://github.com/maurosala/ship-01/blob/main/catalog-info.yaml
Steps to Reproduce

add sonarqube plugin https://www.npmjs.com/package/@backstage/plugin-sonarqube
add item with any template (e.g. create react app)
add annotation in catalog-info.yaml

This is the error

Could be related to this, can you try to do version bump.
https://github.com/backstage/backstage/issues/7058


Error during face_encodings - code: 7, reason: A call to cuDNN failed

face_recognition version: v1.2.2
Python version: 3.6.7
Operating System: Ubuntu 18.04 (Jetson Nano)

Description
Following the JetsonNano instructions and incorporating ZED Camera feed by replaced cv2.VideoCapture with cam.retrieve_image (https://www.stereolabs.com/docs/opencv-python/#capturing-video), I get a crash during face_encoding.
I've verified that the image is converted to RGB and scaled down to 1/4 original size, yet still get this crash every time. When I try the original example using the ZED camera as a Universal Video Camera (UVC) [https://www.stereolabs.com/docs/opencv-python/#uvc-capture] there are no issues.
Error:
Traceback (most recent call last):   File "facedetect.py", line 251, in <module>     main_loop()   File "facedetect.py", line 163, in main_loop     face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)   File "/usr/local/lib/python3.6/dist-packages/face_recognition/api.py", line 210, in face_encodings     return [np.array(face_encoder.compute_face_descriptor(face_image, raw_landmark_set, num_jitters)) for raw_landmark_set in raw_landmarks]   File "/usr/local/lib/python3.6/dist-packages/face_recognition/api.py", line 210, in <listcomp>     return [np.array(face_encoder.compute_face_descriptor(face_image, raw_landmark_set, num_jitters)) for raw_landmark_set in raw_landmarks] RuntimeError: Error while calling cudnnConvolutionForward( context(), &alpha, descriptor(data), data.device(), (const cudnnFilterDescriptor_t)filter_handle, filters.device(), (const cudnnConvolutionDescriptor_t)conv_handle, (cudnnConvolutionFwdAlgo_t)forward_algo, forward_workspace, forward_workspace_size_in_bytes, &beta, descriptor(output), output.device()) in file /tmp/pip-build-do6wa1sv/dlib/dlib/cuda/cudnn_dlibapi.cpp:1007. code: 7, reason: A call to cuDNN failed
What I Did (main_loop)
`def main_loop():
#conifgure ZED camera
init = sl.InitParameters()
cam = sl.Camera()
if not cam.is_opened():
    print("Opening ZED Camera...")
status = cam.open(init)
if status != sl.ERROR_CODE.SUCCESS:
    print(repr(status))
    exit()

runtime = sl.RuntimeParameters()
mat = sl.Mat()
print_camera_information(cam)

# ZED
# Get image size
image_size = cam.get_resolution()
width = image_size.width
height = image_size.height
left_image_rgba = np.zeros((height, width, 4), dtype=np.uint8)
# Prepare single image containers
left_image = sl.Mat()

# Track how long since we last saved a copy of our known faces to disk as a backup.
number_of_faces_since_save = 0

while True:
    # Grab a single frame of video (ZED)
    err = cam.grab(runtime)
    if err == sl.ERROR_CODE.SUCCESS:
        cam.retrieve_image(left_image, sl.VIEW.VIEW_LEFT)

    ## TODO: Look at what type the images are here. *******
    # Copy the left image to the left side of SBS image
    left_image_rgba[0:height, 0:width, :] = left_image.get_data()
    # Convert SVO image from RGBA to RGB
    left_image_rgb = cv2.cvtColor(left_image_rgba, cv2.COLOR_RGBA2RGB)

    # Resize frame of video to 1/4 size for faster face recognition processing
    small_frame = cv2.resize(left_image_rgb, (0, 0), fx=0.175, fy=0.175) #(ZED)

    # Convert the image from BGR color (which OpenCV uses) to RGB color (which face_recognition uses)
    rgb_small_frame = small_frame

    # Find all the face locations and face encodings in the current frame of video
    face_locations = face_recognition.face_locations(rgb_small_frame)
    print("Number of faces detected: ", len(face_locations))
    print(face_locations)
    print(rgb_small_frame.shape)
    face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)

    # Loop through each detected face and see if it is one we have seen before
    # If so, we'll give it a label that we'll draw on top of the video.
    face_labels = []
    for face_location, face_encoding in zip(face_locations, face_encodings):
        # See if this face is in our list of known faces.
        metadata = lookup_known_face(face_encoding)

        # If we found the face, label the face with some useful information.
        if metadata is not None:
            time_at_door = datetime.now() - metadata['first_seen_this_interaction']
            face_label = f"At door {int(time_at_door.total_seconds())}s"

        # If this is a brand new face, add it to our list of known faces
        else:
            face_label = "New visitor!"

            # Grab the image of the the face from the current frame of video
            top, right, bottom, left = face_location
            face_image = small_frame[top:bottom, left:right]
            face_image = cv2.resize(face_image, (150, 150))

            # Add the new face to our known face data
            register_new_face(face_encoding, face_image)

        face_labels.append(face_label)

    # Draw a box around each face and label each face
    for (top, right, bottom, left), face_label in zip(face_locations, face_labels):
        # Scale back up face locations since the frame we detected in was scaled to 1/4 size
        top *= 4
        right *= 4
        bottom *= 4
        left *= 4

        # Draw a box around the face
        cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)

        # Draw a label with a name below the face
        cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED)
        cv2.putText(frame, face_label, (left + 6, bottom - 6), cv2.FONT_HERSHEY_DUPLEX, 0.8, (255, 255, 255), 1)

    # Display recent visitor images
    number_of_recent_visitors = 0
    for metadata in known_face_metadata:
        # If we have seen this person in the last minute, draw their image
        if datetime.now() - metadata["last_seen"] < timedelta(seconds=10) and metadata["seen_frames"] > 5:
            # Draw the known face image
            x_position = number_of_recent_visitors * 150
            frame[30:180, x_position:x_position + 150] = metadata["face_image"]
            number_of_recent_visitors += 1

            # Label the image with how many times they have visited
            visits = metadata['seen_count']
            visit_label = f"{visits} visits"
            if visits == 1:
                visit_label = "First visit"
            cv2.putText(frame, visit_label, (x_position + 10, 170), cv2.FONT_HERSHEY_DUPLEX, 0.6, (255, 255, 255), 1)

    if number_of_recent_visitors > 0:
        cv2.putText(frame, "Visitors at Door", (5, 18), cv2.FONT_HERSHEY_DUPLEX, 0.8, (255, 255, 255), 1)

    # Display the final frame of video with boxes drawn around each detected fames
    # cv2.imshow('Video', frame)
    cv2.imshow("ZED", rgb_small_frame)

    # Hit 'q' on the keyboard to quit!
    if cv2.waitKey(1) & 0xFF == ord('q'):
        save_known_faces()
        break

    # We need to save our known faces back to disk every so often in case something crashes.
    if len(face_locations) > 0 and number_of_faces_since_save > 100:
        save_known_faces()
        number_of_faces_since_save = 0
    else:
        number_of_faces_since_save += 1

# Release handle to the webcam
#video_capture.release()
cv2.destroyAllWindows()
# Close (ZED)
cam.close()

`

Did you solve the issue? I'm facing the same issue.

can you provide the trace back of this program's output,
if cudnn failed that means the installation of cudnn failed,verify that with
nvcc -V
this should output the cuda version being used,then download the libcudnn files from nvidia developer site and install them,try the mnistcudnn test. If that throws any errors the installation is messed up.


Server side math

VERY basic switch to server side math. Right now the math is operating backwards, ( 8 / 4 = 0.5 ) and that is a known problem. I am really shaky on promises and operating on the server. I also have a few additional questions.

would it make sense to extrapolate the app.get server side functions? They look very similar.

Im still concerned with my file structure as it does not look like it is well made. Are they any resources that can help me with this problem?

I have a callback function manipulating a global variable (in the setCalculatorScreen function) that is causing me (maybe unnecessary) concerns. Would this still be defined as a pure function as it technically has one input and one output?

4)Any advice on this is greatly appreciated! my ZPD has been a 10 this week.

@jhallman5 re:global variable, yes having global variables are definitely a smell. You should try to encapsulate the global variables inside a function. You can try looking at the "module pattern" to accomplish this - http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html


Move hosts between environments (new UI term)

It would be very useful to be able to move a host between projects.  There does not appear to be any UI or API support for this at present.

This wouldn't be trivial to implement but does seem like a useful idea.  In the meantime, some of the enhancements to projects in 0.17 (later today) might mitigate your need for this somewhat, as you can now have multiple owners/members of a project.  More info in https://github.com/rancherio/rancher/issues/160#issuecomment-94979744

+1

:+1:
Or make it possible to have the same host in multiple environments.

Having a host exist on multiple environments would solve the following use-case for us:
Provision hosts and allocate them to teams (teams can with within their environment). Separately, have an "infrastructure" environment where we can deploy monitoring tools and have an overview of all hosts we have allocated to teams.
Right now, if I setup multiple environments (for resource isolation) it becomes harder to deploy monitoring tools and get an idea of our host fleet without visiting each environment.

The option to have a host exist on multiple environments would be great.

Agree! Let's consider if we can isolate user by environment in a same hosts. It's very practical.

+1

+1! Must have

a possible solution might be to re-register any host to any new environment. i'm guessing this would blow away /var/lib/rancher/state/

I have similar needs, but access permissions per stack would do me as good as sharing host across environments.

This would be a great feature to have. Just need to work out a way to manage all of the infra services. Some sort of isolation.

this would be a great feature in rancher..

I, too, would like the ability to migrate entire environments. Our initial evaluation used a beta server but now I've set up a HA cluster on production hardware and would like to migrate without having stacks break.
+1

Yes, please.  The current model is okay if you can provision hosts on the fly using a docker-machine-driver and you get billed by the hour, But when your provider is not as flexible or when you have dedicated servers things get a little bit weird. Say I have a bunch of dedicated machines doing some heavy lifting task either on premise or some dedicated provider, How would I efficiently transfer these hosts to another environment or share the same hosts between multiple environments without breaking the stack which I already have? In order to migrate would I have to go and delete the host on the previous environment and re-add it for the newer environment?  I think that it's a major problem with Rancher in the aforementioned use-case.

+1

+1, logical stack should not bind to physic hosts.

+1

+1

+1

:+1:

+1

+1

Would there be any issues with trying to do this by using Docker in Docker, so the host machine would boot up a container, each with its own Docker instance?

+1

+1
I would like to have a local and a swarm manager environments on a host but it is not possible at the moment as a host can only be attached to one of them..

+1

+1

+1

+1

+1

+1

+1

+1

Moving is not going to happen for 1.x.  In 2.0 hosts (nodes) belong to clusters and multiple environments (projects) can share the same cluster (and therefore nodes), so there should be little need to "move" one.


Upgraded to healthcheck version 1.0.0 and severity levels

What

Update to health check version v1.0.0
Added logging severity

How to review

Unit tests should pass
Logging severity as expected
/health endpoint should work as expected

Who can review
Anyone.

Just need to update your branch with develop


⚠ Bofrost.at has degraded performance

In fbb72ec, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2547 ms

Resolved: Bofrost.at performance has improved in c324800 after 6 minutes.


MGDOBR-723: OUIA in the  component

https://issues.redhat.com/browse/MGDOBR-723

Merge conflict resolved, branch is on the top of the main, build & quality checks are green.


libtock-rs is considered messy

According to https://github.com/tock/tock/pull/1637/files libtock-rs is considered being messy. I would like to use this issue to track why this is the case and what we can do about it without needing to rewrite everything.
First of all, it is very clear that libtock-rs isn't a perfect library. When @torfmaster and I started to work on this library, it was in a pure proof-of-concept state with certain language features not working, with no toolchain, no tests, no code style guidelines, a C-like API, etc. The user experience was really terrible. Despite all, we liked the idea of libtock-rs and put a lot of effort into fixing all those issues. With the exception of the relocaton problem (#64) which was driven by @jrvanwhy we got close to zero input from other people regarding the API design decisions we made. We even tried to encourage people to work on a design document (#20) without any success.
In total, most contributions to this library from other people are limited to minor technical fixes to make their own problem disappear. Really break-through PRs (e.g. the QEMU test suite #157) are a rare exception. Without visions and bigger contributions from other people it is no suprise that this library hasn't reached a high-quality grade. Indeed, it is hard enough to retain the current quality as people are trying to add gadgets or cool examples to the library before the bigger structures have been stabilized. This is absolutely no critique against those people (Every contribution is welcome!) but it demonstrates how, currently, there is no clear focus on the important parts.
To sum it up, I feel a bit sad about the fact that help was not really provided although the possibilities were given and that, now, a discussion about a rewrite is popping up. To solve this problem constructively, we should collect issues (What is messy? / What should be removed/changed/added?) and organize them in a project. torfmaster and I have collected a lot of experience when refactoring this library. We know that incremental changes of the library are easily doable and that libtock-rs has the perfect size for it. On the one hand, it is big enough to evaluate the effect of an incremental change. On the other hand, it is small enough s.t. incremental changes can be done with reasonable effort.

My primary concerns are as follows:

Code size: libtock-rs currently generates excessively-large applications, which is limiting (#156). I think we can improve it significantly, but there's a limit to how much we can minimize the size of apps that depend on futures. Based on the experimentation I've done and documented at design-explorations/size_comparison, incremental optimization will never reduce the cost of futures to an amount acceptable to our libtock-rs applications
Certifiability: Applications built on libtock-rs pull in a lot of complex, difficult-to-understand futures code. This makes security auditing difficult.
Complexity and bugginess related to futures: Adding futures support added bugs due to the increased complexity (#113). Maintaining tokio on Linux is already a full-time job. Maintaining futures support on Fuchsia is also a full time job -- I know because I've spoken with Fuchsia's futures maintainer. I don't think we have enough full-time contributors to maintain a high-quality futures and executor implementation.
Lack of testing: I would prefer to have much more thorough testing of the library, both at the unit test level and the integration test level.
Minimal documentation: The library is not well documented. A lot of general design points (such as the treatment of yield as unsafe) are not clearly documented and only come up during code review. This also leads to soundness issue, such as #129. libtock-rs's architecture is nontrivial to decode.

I think concerns 4 and 5 can be addressed through incremental improvements. I think that addressing concern 4 will resolve my concerns about buginess related to futures (part of concern 3), but the high complexity of libtock-rs will still hurt developer velocity.
I do not believe that concern 1 and 2 can be addressed without significantly restructuring libtock-rs. At worst, libtock-rs should be usable in a manner where its code size overhead is similar to that of Tock's kernel. Tock's kernel is generally lean, except it uses dynamic polymorphism for client callbacks in many places -- which brings in vtables (each vtable in Rust wastes 2 words too!) and inhibits optimidzation. I have an idea on how to do better, but I have not demonstrated that idea. Because I do not have a concrete design yet I haven't put forth a proposal on what libtock-rs should look like.
I think libtock-rs should be structured in two layers. The lower-level API for the library would be as low-cost as possible (minimal unnecessary code bloat, RAM usage, or cycles wasted). The higher-level API in libtock-rs would be futures-based. Applications that care about code size and certification would only use the low-level API, while other applications would be free to use the futures-based API.
The problem is if we create two APIs in isolation from each other, then applications authors have a difficult choice to make up-front. Using the low-level API from the start would hurt productivity for the application's authors. However, using the futures-based API from the start would risk forcing the application's authors to completely rewrite their app if they later run out of flash/RAM space.
Therefore, there needs to be a reasonable path for applications to migrate from the futures-based API to the low-level API. Then application developers can start writing apps using futures and migrate incrementally to the low-level API if they run into size constraints.
With that in mind, here's what I've been working on at the moment:

Create a prototype libtock-rs that uses a more efficient coding structure than Tock's kernel (no futures, no unnecessary vtables, no unnecessary dynamic polymorphism). Port OpenSK to my libtock-rs prototype to prove it is usable.
Build a futures-based API on top of the lower-level API.
Port OpenSK to the futures-based API then incrementally migrate it to the lower-level API to demonstrate that incremental migration is possible.

@jrvanwhy Thanks for your feedback. This is only a quick response. I will probably write some more text once I find the time for it.
My impression is that most of your concerns are related to futures. I do not consider them as something you must use in any case but as something a modern library should offer. If we throw away the block_on code in the panic_handler/alloc_error_handler and offer a yielding sleep_unsafe method, then it's completely up to the user whether he wants to use futures or not. Would this be a solution? It might not even be a breaking change.

I generally agree with @Woyten's statements about the issues with libtock-rs. I feel it's heavy and complex. I'm not sure it should be re-written though, instead I would like to see improvements made incrementally. If that ends up re-writing everything then that is fine, but a clean start seems like too much. There is still a lot of good things here.
I do like the layer approach though. It would be nice if libtock-rs was just entry code and wrappers around the syscalls (as small as possible), but included features that could be enabled. So if you want futures you can enable futures (which is supported in libtock-rs).

My impression is that most of your concerns are related to futures. I do not consider them as something you must use in any case but as something a modern library should offer. If we throw away the block_on code in the panic_handler/alloc_error_handler and offer a yielding sleep_unsafe method, then it's completely up to the user whether he wants to use futures or not. Would this be a solution? It might not even be a breaking change.

Whether that is a solution depends on what we want libtock-rs to handle. Should libtock-rs just be the Rust runtime (e.g. entry point) and syscalls (command, yield, allow, etc...), or should libtock-rs contain higher-level abstractions over each of the syscall APIs (e.g. a timer, a GPIO abstraction, buttons, etc).?
If libtock-rs is limited to the runtime and syscalls, then its futures support should be minimal but applications would need to interface with the syscall APIs themselves. If libtock-rs is responsible for providing higher-level abstractions then we should provide the same APIs in the low-cost and the futures-based layers.

Could you explain why you think libtock-rs is complex? I am aware that futures are considered complex and I kind of agree. But what about the remaining code and idioms?

Are you asking Alistair or me? I think there are 2 sources of libtock-rs's complexity:

Unavoidable complexity because libtock-rs is a language runtime and because libtock-rs provides FFI in the form of the system call interface.
Complexity due to the futures API.

Could you explain why you think libtock-rs is complex? I am aware that futures are considered complex and I kind of agree. But what about the remaining code and idioms?

I think the best answer to what I mean is the questions that I have asked myself in the past :) Mostly related to Futures though.

What is codegen?
Why is there a main in codegen and in my example?
What is this build.rs file?
How do I build my example for this platform?

I'm also +1 to libtock-rs just being syscall wrappers + a minimal entry point and having a separate place for higher level abstractions including Futures.

So, where's the complexity of the library - not the toolchain - apart from the futures?

I'm also +1 to libtock-rs just being syscall wrappers + a minimal entry point and having a separate place for higher level abstractions including Futures.

I agree that the split makes sense but shouldn't the high-level API keep the name libtock-rs? The low-level API could be named libtock-core or the like?

3\. Adding futures support added bugs due to the increased complexity (#113).

As far as I remember, this bug had nothing to do with futures.

I think we could offer a base lib/crate  ´libtock-rs-core` just wrapping the system calls. However, I would create at least some kind of convenience library containing drivers on top. When I look at the examples (which for me reflect real world applications) it would be horrible to write them just using syscalls (it would feel like writing unix applications just using syscalls and inline assembly).
I'm thinking of three layers here:  libtock-async ->  libtock-rs  ->  libtock-core. The api of  libtock-async  would be completely asynchronous. libtock-rs would contain most of the drivers to be used synchronously. No async main, no futures.  libtock-core would then contain the panic handler and the syscalls.

What is codegen?
Why is there a main in codegen and in my example?
What is this build.rs file?

I think these questions are not fair: Firstly, they refer to implementation details in the library upon first use (I would for example not ask which clobbers in the entry point are necessary, I just use the library). Moreover, these points are documented or basic Rust knowledge.

@jrvanwhy How does #113 relate to futures?

Maintaining tokio on Linux is already a full-time job. Maintaining futures support on Fuchsia is also a full time job -- I know because I've spoken with Fuchsia's futures maintainer. I don't think we have enough full-time contributors to maintain a high-quality futures and executor implementation.

I think maintaining block_on in async_std is not a full time job. Moreover, I don't expect more sophisticated executors to come.

I'm thinking of three layers here:  libtock-async ->  libtock-rs ->  libtock-core. The api of  libtock-async would be completely asynchronous. libtock-rs would contain most of the drivers to be used synchronously. No async main, no futures.  libtock-core would then contain the panic handler and the syscalls.

I agree, except that I think the no-futures drivers (which you called libtock-rs) to be asynchronous. We should support apps that need an async API but which cannot accept the code size cost of futures. This related to my previous point about migration from the futures-based to the non-futures-based API.
I don't think we need a separate synchronous API if it is easy to use the futures in a synchronous fashion (i.e. block_on is easy to use everywhere).

We should support apps that need an async API but which cannot accept the code size cost of futures.

For me async is tantamount with using futures, in particular != callbacks. Sorry for the confusion. So libtock-async would use futures, libtock-rs won't (although, of course, it supports asynchronous operations using callbacks).

Closing this issue, as libtock-rs was completely rewritten for Tock 2.0. While it isn't perfect now, the concerns described in this issue no longer apply.


Kache 3 fix maven dependencies

Fix dependencies
Upgrade a number of dependencies
Fix a Kotlin compiler warning that could lead to an error in future Kotlin version
Downgrade Java version from 13 to 11 for increased compatibility

(Java8 would not work with a number of the tests as they are currently written).

@tnleeuw throw a comment when you do the updates, so we can approve it and push it in. :)

@pavleprica I've pushed my latest changes to the project!
Keys should now be allowed to be nullable types again.

@tnleeuw Merging your changes. Though, I haven't setup the pipeline push to maven central. I will do it manually during the day for this one, and then setup an automatic push. :)


Mirror refactor of Google Login Service

This PR renames GoogleService to GoogleLoginService since the service is dedicated for Google Login.
This PR also removes unnecessary interface credentialRes.

I am against the idea to rename it to google login service. We have Google drive related features that would also go under this service. We may use google api for other usages as well.

I am against the idea to rename it to google login service. We have Google drive related features that would also go under this service. We may use google api for other usages as well.

That's a different GoogleService. That's why do we need to name them properly instead of just calling all of them "GoogleService".
In this PR, I'm trying to rename the google.service.ts to google-login.service on the frontend which is dedicated for google login service.
I'm going to introduce the other google services later such that this rename is necessary to avoid confusion.


SnpEff: Consider baking reference database into image

https://github.com/BD2KGenomics/cgl-docker-lib/issues/37#issuecomment-150264986

Wrong project.


Remove region restrictions?

What is the reason for the region restrictions defined in https://github.com/Particular/setup-cosmosdb-action/blob/config/azure-regions.config?
It makes using this action really much harder than needed, as for example during black friday, no new cosmosdb instances can be created in useast. The region override mechanism seems to be way to crude as you'd have to fixate a specific region while the actions runner could be in various regions. At first thought, I'd expect to always use the same region as the action runner calling this action?

It has been a long while since this was introduced, so our memory is hazy.
This was to resolve an issue with Cosmos being setup in regions where it wouldn't work. This may not be a problem anymore and be removed, or perhaps the action could be refactored to use a blacklist that is configurable (this action predates config values being supported).
We don't have any plans to update this action at the moment.


Handle HTML entities correctly

For example, — doesn't render correctly. See Chapter 2 of Design Methods.

This actually shouldn't be supported. People should just enter unicode.


Do not create new items if index is full

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report
Attention: Patch coverage is 78.12500% with 7 lines in your changes missing coverage. Please review.

Project coverage is 41.37%. Comparing base (ae356c5) to head (a46f531).
Report is 2 commits behind head on master.

Files
Patch %
Lines

internal/pool/pool.go
78.12%
7 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1408      +/-   ##
==========================================
- Coverage   41.92%   41.37%   -0.56%
==========================================
  Files         345      345
  Lines       35629    30103    -5526
==========================================
- Hits        14938    12455    -2483
+ Misses      20214    17170    -3044
- Partials      477      478       +1

Flag
Coverage Δ

go-1.21.x
42.84% <78.12%> (-0.56%)
:arrow_down:

go-1.22.x
41.35% <78.12%> (-0.57%)
:arrow_down:

macOS
42.84% <78.12%> (+1.40%)
:arrow_up:

ubuntu
41.35% <78.12%> (-0.05%)
:arrow_down:

unit
41.37% <78.12%> (-0.56%)
:arrow_down:

windows
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Feature to remove any noise from the output

With reference to wordlist generated at https://github.com/shriyanss/subdomains_wordlist/blob/main/wordlist.txt, add a feature, that will remove any UUIDs or hashes from the output
Noise includes:-

Hashes
UUIDs
Random numbers

Feature added in PR https://github.com/shriyanss/subdomain_wordlist_gen/pull/6


Add feature to define project extent by selecting EEZ or uploading shapefile

It's sometimes difficult to properly define the project extent because the basemap doesn't include EEZs. Seems like this could be solved by simply adding EEZs to the basemap. Better yet, we could add the ability to select an a specific EEZ. Could this facilitate automating sketch clipping?
It would also be nice to define project boundaries by uploading a shapefile (for planning regions that aren't defined by an EEZ).

I do think that seasketch specifying which eez to use (to preprocessors/geoprocessors), or providing a user-defined polygon in the absence of that, is what will start to unlock further automation.
Right now I hard code the bounding box and EEZ country name for every project.

I think I'll start this one by using the MarineRegions EEZ and having the user pick out a country code. This would be useful in basemaps to highlight the correct EEZ automatically, so that not everything has to be customized manually.
I can do some research and pick a column, but @twelch do you foresee a column value that would be more useful than others for reporting automation?  I'm thinking ISO_TER1.

ISO_TER1 seems reasonable

The UNION property is what's used for publishing subdivided dataset


2.2 Create private event on Sporta [backend]

As a Sporta User, I want to create a private event so that I can host an activity only for a selected audience
Story Points:
Priority:
Risk: High
Child of: https://github.com/SOEN490-SportsApp/SportsApp/issues/1
Task Breakdown:
front-end :
backend :
fields required: description, date, time, location, sport, total # of spots, event sign up cutoff time, recreational or competitive
optional fields: desired skill level, cost, users initially invited
Blackbox Testing:
Regression Testing:
Precondition:
To be successfully logged in to your Sporta account with a valid username and password.
Demo Steps:
Step 1: Go to Sporta dashboard
Step 2: Click on create event icon
Step 3: Toggle on private event
Step 4: Enter event description and all other mandatory fields
Step 5: Submit event

[duplicate] Has been merged into one issue in https://github.com/SOEN490-SportsApp/SportsApp/issues/103


Peddy ZeroDivisionError

Hi,
Sorry to bother again. After upgrading to the latest stable version (as per #2447 because of the issue reported there) I ran into a problem with Peddy.
[2018-07-18T00:59Z] peddy is not installed, not human or sample VCFs don't match, skipping correspondence checking for None.
[2018-07-18T00:59Z] peddy is not installed, not human or sample VCFs don't match, skipping correspondence checking for None.
[2018-07-18T00:59Z] Running peddy on /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.vcf.gz against /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.ped.
[2018-07-18T00:59Z] Uncaught exception occurred
Traceback (most recent call last):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command 'set -o pipefail; /mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/bin/peddy -p 16 --sites hg38 --plot --prefix /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/bcbiotx/tmpqDhzYL/HD_5pct_100ng /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.vcf.gz /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.ped 2> /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/bcbiotx/tmpqDhzYL/run-stderr.log
' returned non-zero exit status 1
[2018-07-18T00:59Z] 2018-07-18 08:59:43 n070 peddy.cli[186636] INFO Running Peddy version 0.4.2
2018-07-18 08:59:43 n070 peddy.cli[186636] WARNING 1 samples in vcf not in ped:
HD_WildType_100ng_OnBeads

2018-07-18 08:59:43 n070 peddy.cli[186636] INFO ped_check
2018-07-18 08:59:51 n070 peddy.peddy[186636] INFO plotting
2018-07-18 08:59:51 n070 matplotlib.legend[186636] WARNING No handles with labels found to put in legend.
2018-07-18 08:59:52 n070 peddy.cli[186636] INFO ran in 8.6 seconds
2018-07-18 08:59:52 n070 peddy.cli[186636] INFO het_check
2018-07-18 08:59:54 n070 peddy.pca[186636] INFO loaded and subsetted thousand-genomes genotypes (shape: (2504, 4)) in 0.6 seconds
2018-07-18 08:59:55 n070 peddy.pca[186636] INFO ran randomized PCA on thousand-genomes samples at 4 sites in 1.2 seconds
/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/decomposition/base.py:133: RuntimeWarning: divide by zero encountered in divide
  X_transformed /= np.sqrt(self.explained_variance_)
Traceback (most recent call last):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/bin/peddy", line 11, in <module>
    load_entry_point('peddy==0.4.2', 'console_scripts', 'peddy')()
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/peddy/cli.py", line 207, in peddy
    in ("ped_check", "het_check", "sex_check")]):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/peddy/cli.py", line 43, in run
    prefix=prefix, **kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/peddy/peddy.py", line 878, in het_check
    pca_df, background_pca_df = pca(pca_plot, sitesfile, gt_types, sites)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/peddy/pca.py", line 81, in pca
    pred = clf.predict(genotype_matrix)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/utils/metaestimators.py", line 115, in <lambda>
    out = lambda *args, **kwargs: self.fn(obj, *args, **kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/pipeline.py", line 307, in predict
    return self.steps[-1][-1].predict(Xt)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/svm/base.py", line 548, in predict
    y = super(BaseSVC, self).predict(X)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/svm/base.py", line 308, in predict
    X = self._validate_for_predict(X)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/svm/base.py", line 439, in _validate_for_predict
    X = check_array(X, accept_sparse='csr', dtype=np.float64, order="C")
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py", line 453, in check_array
    _assert_all_finite(array)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py", line 44, in _assert_all_finite
    " or a value too large for %r." % X.dtype)
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

Traceback (most recent call last):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/bin/bcbio_nextgen.py", line 242, in <module>
    main(**kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/bin/bcbio_nextgen.py", line 47, in main
    run_main(**kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 45, in run_main
    fc_dir, run_info_yaml)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 89, in _run_toplevel
    for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 190, in variant2pipeline
    samples = peddy.run_peddy_parallel(samples, run_parallel)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/variation/peddy.py", line 33, in run_peddy_parallel
    samples = parallel_fn("run_peddy", [[x] for x in to_run])
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
    return run_multicore(fn, items, config, parallel=parallel)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
    for data in joblib.Parallel(parallel["num_jobs"], batch_size=1)(joblib.delayed(fn)(x) for x in items):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 779, in __call__
    while self.dispatch_one_batch(iterator):
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 625, in dispatch_one_batch
    self._dispatch(tasks)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 588, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/_parallel_backends.py", line 111, in apply_async
    result = ImmediateResult(func)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/_parallel_backends.py", line 332, in __init__
    self.results = batch()
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 131, in __call__
    return [func(*args, **kwargs) for func, args, kwargs in self.items]
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 52, in wrapper
    return apply(f, *args, **kwargs)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 23, in run_peddy
    return peddy.run_peddy(*args)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/variation/peddy.py", line 88, in run_peddy
    do.run(cmd.format(**locals()), message.format(**locals()))
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; /mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/bin/peddy -p 16 --sites hg38 --plot --prefix /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/bcbiotx/tmpqDhzYL/HD_5pct_100ng /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.vcf.gz /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.ped 2> /mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/bcbiotx/tmpqDhzYL/run-stderr.log
' returned non-zero exit status 1

Could you help pls? Thank you!

Thanks! Is there any way you could pass on these two files:
/mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.vcf.gz

/mnt/projects/ngbhs/cirqseq/2017_bcbio/20180711_YF_onoffbeads/YF_onoffbeads/work/mutect2/HD_5pct_100ng-vepeffects-annotated.ped.

so we can try to reproduce and fix the issue in peddy?

files.zip
Hi here you go~

Hi how's this going?

Thanks for the test files and apologies the delay in resolving this. I pushed a fix which should skip peddy for this input. The underlying issue is that the sample has no non-filtered variants so nothing useful to process on. I've added a check for this case and generally tried to make the error reporting more robust and easy to understand.
Thank you again for reporting this and the detailed report. Please let us know if you run into any other issues.


Add marl::Event.

Event is a synchronization primitive used to block until a signal is raised.
Fixes: #46

friendly ping

Cheers, @digit-google !


[Question] Different lightness curves for grey and color scales

Hey, I've just spent some time reading over @NateBaldwinDesign awesome articles, as well as the spectrum documentation, and if you don't mind, I have some questions about putting it into practice using Leonardo

My understanding is that you guys are generating your grey color palette using a range of 11 target contrasts starting from grey-100, e.g. grey-100 => 1:1. And then further generating 14 tints and shades for colors using target contrasts against the previously selected grey-100.
Is that correct? As it doesn't seem to be possible to achieve using the leonardo UI, where one would need to be able to create a specific lightness/ contrast curve for the Grey background scale, and a second for the color scales.
Interestingly, the demo.html file does illustrate using different curves for grey and colors, but as a tool it's not as open to sharing or iteration.

Separately I have a question about Key colors, if hypothetically I have a static blue traditionally used by my brand, would this be a good value to specify when creating a Blue scale?

Hi @GeeWizWow sorry for the delay! Yes, that is correct. More work needs to be done in order to solve for the user experience in supporting multiple unique target contrast ratios in the Leonardo UI. With the latest refactor, it was simplified for the most common use-case, as we see most design systems have a single scale that is used for all colors. However, in the npm module, you can use completely unique target ratios for any and all colors, since they are parameterized individually.
The demo code helps to illustrate how an adaptive theme it is achieved using Leonardo & css properties.
As for key colors, a brand blue can be a very good color to use for your blues. But it really depends on your brand identity, and the goals/challenges you have designing the interface. Some blues may not work as well within UI as others (for example, highly saturated blues or very desaturated blues).


[WIP] Bugfixes and improvements for selectors

SpongeAPI | SpongeCommon (You're here!)
Improvements and fixes for selectors based on 1.9 and my own review of the code.
Selectors now use a List, the resolver returns the elements ordered properly as well as the right number of elements. Removed the force argument as I don't remember what it was really useful for.

Marking this as WIP since new selectors and values have been added and the API may need a redesign.

@kenzierocks Can you make the last modification and add new selector added in 1.12. Or I open a new push request to realize the modification ?

Due to little activity, superseded by https://github.com/SpongePowered/SpongeCommon/pull/1519


[Bug]: 'react/default-props-match-prop-types': [[GeneratorState]] is not present on O

Is there an existing issue for this?

[X] I have searched the existing issues and my issue is unique
[X] My issue appears in the command-line and not only in the text editor

Description Overview
eslint config
Nothing crazy, just following the README.md
{
  extends: [
    "eslint:recommended",
    "plugin:react/recommended"
  ]
}

What is happening? / What is the error?
I see the following error in console, ESLint is not able to initialize
Oops! Something went wrong! :(

ESLint: 8.52.0

TypeError: Error while loading rule 'react/display-name': `[[GeneratorState]]` is not present on `O`

What command(s) did you run to reproduce issue?
eslint --color --format codeframe --max-warnings=0 './**/*.{js,jsx,ts,tsx}'

Expected Behavior
I expect eslint to run and report Eslint errors, as it happens when I downgrade eslint-plugin-react to v7.33.1 (ignore the 560 errors, I cleaned up all other eslint rules to focus on the [[GeneratorState]] issue)

eslint-plugin-react version
v7.33.2
eslint version
v8.52.0
node version
v18.10.0

Are you using yarn? The only times this report has come in, it's because someone's using yarn, which sometimes installs an invalid dependency graph. What version of es-iterator-helpers do you have installed with v7.33.2?

Hwy @ljharb thanks for the quick response:
Yes, I'm using yarn
yarn -v
3.3.0

And the version of es-iterator-helpers installed is 1.0.15
yarn why es-iterator-helpers
├─ eslint-plugin-react@npm:7.33.2
│  └─ es-iterator-helpers@npm:1.0.15 (via npm:^1.0.12)

hmm, those versions do seem correct.
See #3624 - are you using PnP? which version of internal-slot is present?

Thanks for pointing out that link for me, I re-read it, and in my case, it was effectively an issue with yarn. It had installed two different versions of internal-slot which made this fail.
I synced the versions, and it's working fine for me

Glad to hear.
Duplicate of #3624, just another yarn bug.


Advection is broken on the GPU for the velocity field.

Advecting the density field works fine on the GPU, but advecting the velocity field does nothing.
I wonder if it has something to do with the Project method (since its part of the velocity step but not the density step). Must investigate further!

Fixed. Problem was I was marking all buffers for ComputeShader advection method as RWStructuredBuffer when I only needed one of them to be. I marked the readonly buffers as StructuredBuffer and it worked.


refactor(List): remove fontawesome use

Please check if the PR fulfills these requirements

[x] The commit(s) message(s) follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
Some components rely on fontawesome:

List
others ?

What is the new behavior?
No one rely on fontaweoms
Rely on TUX-172
Does this PR introduce a breaking change?

[ ] Yes
[x] No

rely on TUX-172

There are still components with fa- if you search this string in all src files

@jmfrancois can you take a look at my last commit and if you approve, we can merge this PR.

I will do that component per component.
So please all if you refactor a component take time to remove the font awesome on it ;)


About cam_pts_to_angle

https://github.com/astra-vision/SceneRF/blob/f55d944f7df49213332467e81e3b245301a40870/scenerf/models/spherical_mapping.py#L100C47-L100C47
你好，在看代码的时候这里的 X，Y 轴的方向定义我不太理解，因为相机坐标系下的 X 是向右的，Y 是向下的，Z 是垂直相机光心向外的，就像 KITTI 数据集中关于坐标系展示的那样。所以这里的关于 -Y 轴 以及 关于 X 轴角度的计算我不太理解。可以帮我看看吗，非常感谢！

Hi,
I don't use the coordinates in KITTI. I follow this to compute
https://math.libretexts.org/Bookshelves/Calculus/Calculus_(OpenStax)/12%3A_Vectors_in_Space/12.07%3A_Cylindrical_and_Spherical_Coordinates

Hi, I don't use the coordinates in KITTI. I follow this to compute (cartesian to spherical) https://math.libretexts.org/Bookshelves/Calculus/Calculus_(OpenStax)/12%3A_Vectors_in_Space/12.07%3A_Cylindrical_and_Spherical_Coordinates

Sorry, I still cannot grab the cam_pts_2_angle function, even though I know the sphere coordinate, I didn't get what the comment in code "wrt minus y direction" and "wrt to x direction"  means. I tried to draw a pic to lead my thought but failed, may you help me more. Thanks a lot!

For a ray through a pixel, The vertical angle is the angle of the ray with the -Oy axis (you can see I have -y here) of the camera coordinate. For example, if -Oy axis is the z axis in the picture then the vertical angle is $\varphi$

Similarly, the horizontal angle is w.r.t. to -Ox direction (even x without minus) since I have "180 -" before. I remember I need to add "180-" to make the image flip correctly in the horizontal direction.
However, since I compute the angle for all pixels and normalize by the max and min angle, the direction of -Ox and -Oy are not important .

Thanks  a lot! I got it! I was lost in some details before.


Attempt to move to vue3, stuck with element-ui

Currently stuck with this error:

I've tried to remove all the references to element-ui but the seem to always come back :(

Now working :)


🌱 index controller rename

Summary
This renames a couple of occurences of clusterworkspace.
Related issue(s)
https://github.com/kcp-dev/kcp/pull/2510

/lgtm
/approve

/retest


chat: send more facts to / subscriptions

Chat was already sending some updates (block & msg toggle changes) to the top-level subscription path (and surprisingly isn't sending those anywhere else), but wasn't doing the same for updates about individual chats.
Here, we chuck / into the list of paths to update for most response-level subscription updates, to mirror the "firehose" style that channels' / endpoint has.
Closes LAND-1880.

I think you want to add them for give-unread and di-give-writs-diff as well


[Feature] Allow graceful and dynamic handling of block IDs.

Pre-Request Checklist

[x] I have checked that I am on the latest version of Terra.
[x] I have searched github for similar features requests, including closed
ones, and found none.
[x] I believe this is within the scope of Terra.
[x] This feature request is for all of Terra, and isn't something that
should be implemented by a pack or addon.

Feature Description
Allow Terra config modpacks to fallback to a valid block when an invalid block is referenced, and/or allow config packs to reference blocks conditionally based on their validity.
What Problem Does This Solve?
Currently, a terra config pack must presume a select set of blocks. If a config is intending to represent a wide breadth of mods, they must either provide a plethora of config variants, or require a user to have the full breadth of mods installed, or worse have the user modify the pack themselves. Otherwise a crash occurs.
A Solution You'd Like
Terra should provide a fallback block parameter for config developers to define a block onto which any failed references can fall back to. Terra should default this to something sensible otherwise (maybe based on vanilla biome tags?)
Additionally, it'd be nice to allow config developers to conditionally refer to blocks within a new BLOCK: context where a fallback and a desired block can both be declared. An example:
- mod:block
- minecraft:block

The given example could also allow a fallback cascade. IE it fails from top to bottom as a list.
Alternative Solutions

Theoretically you could just hardcode a fallback block and call it good. It wouldn't be pretty imo, but it would work.
Allowing pack developers to check if a block is present then leaving it up to them on how to inject the blocks.
Potentially, if config packs could have their own add-on config packs, you could just have each mod have it's own add-on config pack. Though, this doesn't really solve the problem of missing blocks causing crashes.

I discussed this at one point, I think its a great idea, but I dont have the bandwidth to work on it right now.

I discussed this at one point, I think its a great idea, but I dont have the bandwidth to work on it right now.

That's entirely reasonable. I mostly wanted to submit the issue to keep track of it myself.


SV type inference and coverage depth

Hi, I have several questions and much appreciated if you can give me some ideas.

I didn't see inversion as SVTYPE in header of vcf file. How can I infer the inversion event?
I'd like to confirm that if the bed file is not provided and depth_support=False, no deletions and duplications can be inferred in VCF and SVTYPE will be BND.
I'd like to modify /nanosv/scripts/create_random_position_bed.py to generate the bed file for my reference genome (hg38). What I need to do are to modify the length of genome from 1 to 23 and change the simple_repeats_file and gaps_file. Are those right?

Thank you very much!

Hi
Answer1:
Inversion are reported as BND events. Those are reported on the same chromsome with one of the following ALT notation:

N]1:23456789] for (TT/3to3)
[1:23456789[N for (HH/5to5)

Answer2:
You're right if the depth_support=False, deletions will reported as BND with the following notation:

N[1:23456789[
and duplications:
]1:23456789]N

Answer3:
Yes indeed you only need to change the chromosome lengths and the two bed files

Hi, Thank you for the answers for DEL/DUP/INV events inference.
I still have two questions here:

I'd like to confirm that BND events reported on different chromosomes are then inter-chromosomal translocations.
I modified create_random_position_bed.py as following:
genome = {
1: 248956422,
2: 242193529,
3: 198295559,
4: 190214555,
5: 181538259,
6: 170805979,
7: 159345973,
8: 145138636,
9: 138394717,
10: 133797422,
11: 135086622,
12: 133275309,
13: 114364328,
14: 107043718,
15: 101991189,
16: 90338345,
17: 83257441,
18: 80373285,
19: 58617616,
20: 64444167,
21: 46709983,
22: 50818468,
23: 156040895,
24: 57227415
}
simple_repeats_file is from http://hgdownload.cse.ucsc.edu/goldenPath/hg38/database/simpleRepeat.txt.gz and gaps_file is from  http://hgdownload.cse.ucsc.edu/goldenPath/hg38/database/gap.txt.gz

However, I still got the error message:
Can't calculate coverage distribution. The bed file may be inappropriate for your bam file.
Is that due to I have chrM in the header of my bam file? If it is the reason, are there anything I can do without modifying the bam file?
@SQ	SN:chr1	LN:248956422
@SQ	SN:chr2	LN:242193529
@SQ	SN:chr3	LN:198295559
@SQ	SN:chr4	LN:190214555
@SQ	SN:chr5	LN:181538259
@SQ	SN:chr6	LN:170805979
@SQ	SN:chr7	LN:159345973
@SQ	SN:chr8	LN:145138636
@SQ	SN:chr9	LN:138394717
@SQ	SN:chr10	LN:133797422
@SQ	SN:chr11	LN:135086622
@SQ	SN:chr12	LN:133275309
@SQ	SN:chr13	LN:114364328
@SQ	SN:chr14	LN:107043718
@SQ	SN:chr15	LN:101991189
@SQ	SN:chr16	LN:90338345
@SQ	SN:chr17	LN:83257441
@SQ	SN:chr18	LN:80373285
@SQ	SN:chr19	LN:58617616
@SQ	SN:chr20	LN:64444167
@SQ	SN:chr21	LN:46709983
@SQ	SN:chr22	LN:50818468
@SQ	SN:chrX	LN:156040895
@SQ	SN:chrY	LN:57227415
@SQ	SN:chrM	LN:16569

Yes indeed BND events between two different chromosomes are inter-chromosomal translocations.
Your bam file has the chr* notation in front of the chromosome, and I think your bed don't have this notation. If you create the bed with the chr notation than it should work.

Got it! Thank you very much for the help.


store.js Can't find BehaviourSubject (moved in the lasts releases of rxjs)

seems like they moved BehaviorSubject from rxjs/subject to rxjs/ in 5.0.0-beta.5
I'm getting the error on store.js line 8
var BehaviorSubject_1 = require('rxjs/subject/BehaviorSubject');
works normally using rxjs 5.0.0-beta.3
using jspm with rxjs 5.0.0-beta.7
Windows 10 - Chrome
Node v4.3.1 - npm 2.14.12

I'm getting the same error after upgrading to rxjs 5.0.0-beta.7

currently you can not use angular beta 16.
discussed in #94

@littleStudent thanks, didn't see that.
I'm using angular2 beta 15 but the problem for me is with ngrx/store, but they already talked about that in that #94.


Image Encryptor and Decryptor

Description
Script to encrypt a given input image and also decrypt the encrypted image.
The script can generate a random noise image as a key and then use xor bitwise operation to encrypt the image.
And use a similar reverse process to decrypt it.
Technologies and Languages

Python

Using any other language and technology is also welcome.
Aditional Work
Make a GUI for this application

Interested. Can I please take this up?

sure. go ahead👍

Any update? Feel free to reach out to me if you need any help.

@Keerthana-Thiagaraj   Any progress?

@Keerthana-Thiagaraj  has been unassigned from the issue due to the absence of response since the last 24 hours, making this issue up for grabs for anyone interested in it.

hi @bislara can u explain the project and what is supposed to be done ?

you have to take input as an image and encrypt the image so that one can't know what the image is all about and then using reverse algo decrypt the encrypted image to get back the original one.

Hey can I take up this issue? I plan to convert image to a string and encrypt it with a basic cipher with a key. Only with that key, will the string be decrypted and converted to image again

No, that's fine. @namanshah01 , Go ahead. Waiting to see some awesome work. 🎉

Sure :+1:


coreferents() function to find tiers/items aligning to the same thing

In some cases, multiple kinds of annotations can align to the same thing, but not transitively. That is, instead of A->B->C, we may have A->C and B->C. In these cases, it would be useful to be able to find what items on A and B refer to the same things in C.
Maybe something like:
>>> query.coreferents(tier_a, tier_b, 'alignment')
[(<Item (id: a1) at ...>, <Item (id: b1) at ...>, [<Item (id: c1) at ...>]), ...]
>>> query.coreferrers(tier_c, 'alignment')
[(<Item (id: c1) at ...>, [<Item (id: a1) at ...>, ...], [<Item (id: b1) at ...>, ...]), ...]

This won't make it in time for the 1.1 release. Removing the milestone.


[Hub Generated] Review request for Microsoft.Maps/Microsoft.Maps to add version preview/1.0

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
[ ] Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

the linting appears to be due to changes in description made to elevation.json in https://github.com/Azure/azure-rest-api-specs/pull/14416
(that service is now uniquely different than all the rest.   if that PR was allowed, then this one should be as well)

/azp run unifiedPipeline

Issue to track the formatting update: https://github.com/Azure/azure-rest-api-specs/issues/14534


fix(http-client): declare replacer property

On a TypeScript project, in the need to have an Interceptor to transform content on every request/response one can set the HttpResponseMessage.reviver property with a custom reviver function, but setting HttpRequestMessage.replacer throws a compiler error: Property 'replacer' does not exist on type 'HttpRequestMessage'.
export class MessageInterceptor implements Interceptor {

  request(message: HttpRequestMessage): HttpRequestMessage {
    message.replacer = myReplacerFunc;
    // TS Error Property 'replacer' does not exist on type 'HttpRequestMessage'
    return message;
  }

  response(message: HttpResponseMessage): HttpResponseMessage {
    message.reviver = myReviverFunc;
    return message;
  }

}

This PR adds the replacer property to HttpRequestMessage.

@bryanrsmith Thoughts? Ok to merge?


Next to ARTEMIS version on frontend, output also the database version

Is your feature request related to a problem? Please describe.
It is useful to also know the exact database version on which ARTEMIS runs (NOT the .env variable but the actual version underneath!).
Also put quotes next to the ARTEMIS and db versions.
Describe the solution you'd like
ARTEMIS version 'release-1.1.0' | DB version '9'

so:
ARTEMIS version '<SYSTEM_VERSION>' | DB version '<VERSION_QUERIED_FROM_DB>'

Describe alternatives you've considered
N/A
Additional context
N/A

so in case of latest it will say ARTEMIS 'latest' (database 'v9')?
Maybe make it something like ARTEMIS version X | DB version Y

so in case of latest it will say ARTEMIS 'latest' (database 'v9')?
Maybe make it something like ARTEMIS version X | DB version Y

@slowr I updated the comment according to your recommendation


Decouple codegen from prost

prost is a great library and has already set a very good foundation for tonic. That said, we shoud look into enabling other types of codegen "drivers". This would allow us to have codegen that can create flatbuffers and json based grpc services.

Do we want to have codegen drivers live in their own crate or feature gated behind tonic-build?

cc @cpcloud

Feature gated imo

I'm partial to have codegen not 100% tied into tonic-build. If it is, I believe it should be developed in a way that allows it to easily be decoupled and extracted to its own crate if the community wants. Feature-gated at first will probably be easier, and provides a simpler experience for users.

Agreed^ It would be nice to try out rust-protobuf instead of prost for example. Or use JSON with serde_json by generating the services/models via OpenAPI, etc.

Agreed.  Most want a rust-grpc stack that does everything that tonic does.  The protobuf compiler piece is convenient until it's not and then it can be a blocker.
https://github.com/hyperium/tonic/issues/30#issuecomment-549720037

I am going to drop this from 0.1 looks like we will get a prost 0.6 soon and we can release more releases to support this.

This has been done over the course of a few PRs.


Will there be support for atlas based animation ?

For example adobe animate, it seems that current support types are all sprite sheets.

I'm sorry, I'm incredibly busy right now. I will only be able to answer you at the end of the week.
What is the atlas format that needs to be supported?
If this is a text file, and there are frame images next to it, then updates to individual images will not cause the animation to be re-imported. You'll have to launch it manually.
This is quite possible, but so far the addon has specialized in importing single files.


Embeddings.search leads to segfault error

Hi! When running one of the examples, I ran into an issue.
Issue
The following code crashes with a segfault error when search is called:
UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

from txtai import Embeddings

# Create embeddings model, backed by sentence-transformers & transformers
embeddings = Embeddings(path="sentence-transformers/nli-mpnet-base-v2")

data = [
  "US tops 5 million confirmed virus cases",
  "Canada's last fully intact ice shelf has suddenly collapsed, " +
  "forming a Manhattan-sized iceberg",
  "Beijing mobilises invasion craft along coast as Taiwan tensions escalate",
  "The National Park Service warns against sacrificing slower friends " +
  "in a bear attack",
  "Maine man wins $1M from $25 lottery ticket",
  "Make huge profits without work, earn up to $100,000 a day"
]

# Index the list of text
embeddings.index(data)

print(f"{'Query':20} Best Match")
print("-" * 50)

# Run an embeddings search for each query
for query in ("feel good story", "climate change", "public health story", "war",
              "wildlife", "asia", "lucky", "dishonest junk"):
    # Extract uid of first result
    # search result format: (uid, score)
    uid = embeddings.search(query, 1)[0][0]

    # Print text
    print(f"{query:20} {data[uid]}")

Environment info
Running on MacOS, M3, python version=3.10.14.
Venv:
aiohappyeyeballs==2.4.3
aiohttp==3.11.4
aiosignal==1.3.1
annotated-types==0.7.0
anyio==4.6.2.post1
async-timeout==5.0.1
attrs==24.2.0
certifi==2024.8.30
charset-normalizer==3.4.0
click==8.1.7
diskcache==5.6.3
distro==1.9.0
exceptiongroup==1.2.2
faiss-cpu==1.9.0
fasteners==0.19
fasttext==0.9.3
filelock==3.16.1
frozenlist==1.5.0
fsspec==2024.10.0
h11==0.14.0
httpcore==1.0.7
httpx==0.27.2
huggingface-hub==0.26.2
idna==3.10
importlib_metadata==8.5.0
Jinja2==3.1.4
jiter==0.7.1
joblib==1.4.2
jsonschema==4.23.0
jsonschema-specifications==2024.10.1
litellm==1.52.10
llama_cpp_python==0.3.2
lz4==4.3.3
markdown-it-py==3.0.0
MarkupSafe==3.0.2
mdurl==0.1.2
model2vec==0.3.2
mpmath==1.3.0
msgpack==1.1.0
multidict==6.1.0
networkx==3.4.2
numpy==2.1.3
openai==1.54.4
packaging==24.2
pillow==11.0.0
propcache==0.2.0
pybind11==2.13.6
pydantic==2.9.2
pydantic_core==2.23.4
Pygments==2.18.0
pymagnitude-lite==0.1.143
python-dotenv==1.0.1
PyYAML==6.0.2
referencing==0.35.1
regex==2024.11.6
requests==2.32.3
rich==13.9.4
rpds-py==0.21.0
safetensors==0.4.5
scikit-learn==1.5.2
scipy==1.14.1
sentence-transformers==3.3.1
skops==0.10.0
sniffio==1.3.1
sympy==1.13.1
tabulate==0.9.0
threadpoolctl==3.5.0
tiktoken==0.8.0
tokenizers==0.20.3
torch==2.5.1
tqdm==4.67.0
transformers==4.46.3
txtai==8.0.0
typing_extensions==4.12.2
urllib3==2.2.3
xxhash==3.5.0
yarl==1.17.2
zipp==3.21.0

Hello, thank you for the detailed report.
This is typically due to a known issue between Faiss and macOS (https://github.com/kyamagu/faiss-wheels/issues/100)
The usual mitigations are:
Issue
Segmentation faults and similar errors on macOS
Solution
Set the following environment parameters.

Disable OpenMP threading via the environment variable export OMP_NUM_THREADS=1
Disable PyTorch MPS device via export PYTORCH_MPS_DISABLE=1
Disable llama.cpp metal via export LLAMA_NO_METAL=1

Source: https://neuml.github.io/txtai/faq/
There is also this: https://github.com/kyamagu/faiss-wheels/issues/73#issuecomment-1913995571
export KMP_DUPLICATE_LIB_OK=TRUE

It would be great to have a programmatic solution as I'm sure there are plenty of macOS users that encounter this error and just move on to another library.

Hi @davidmezzetti, thanks for the detailed reply! The other backends indeed seem to work fine. I guess an alternative solution would be to have a different default for the index method (e.g. hnsw), but I guess that's not as nice as it would introduce more base dependencies for txtai. For now I'll just use a different backend as I would be using hnsw from faiss anyway, thanks!

In the past, I had setup.py conditionally install hnswlib for mac/windows and faiss for linux as the defaults. But that became confusing as the results were different based on the OS.
I've been hoping the upstream library would find a solution but I've been holding my breath for a while :smile:


Add function config values to function-worker-configmap.yaml

Previously config values for function were not being added to the K8s configmap even if they were set in the values.yaml under the functions section.
Motivation
I have been unable to configure Pulsar functions via the values.yaml( E.g. configuring runtimeCustomizerClassName) .
The values I set do not appear in the configmap that is generated by Helm in K8s, and therefore the changes are not reflected in Pulsar.
Modifications
I have changed the template for the function-worker-configmap.yaml so that it will add the correct config values to the k8s configmap.

will be clarified with #462


Can't execute ADA payment from wallet with multiple assets

Hi,
just got this error:
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: DeserializeError { location: Some("Transaction.body.TransactionBody.outputs.TransactionOutputs.TransactionOutput.amount.Value.coin.BigNum"), failure: CBOR(Expected(UnsignedInteger, Map)) }', src/transaction.rs:14:61
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: DeserializeError { location: Some("Transaction.body.TransactionBody.outputs.TransactionOutputs.TransactionOutput.amount.Value.coin.BigNum"), failure: CBOR(Expected(UnsignedInteger, Tag)) }', src/transaction.rs:14:61
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
2021-12-30 11:45:57 ERROR c.b.c.c.b.a.h.TransactionHelperService  Trasaction submission failed
Error Error while processing refund: Result{successful=false, response='{"error":"Bad Request","message":"\"transaction read error RawCborDecodeError [DecoderErrorDeserialiseFailure \\\"Byron Tx\\\" (DeserialiseFailure 0 \\\"end of input\\\"),DecoderErrorDeserialiseFailure \\\"Shelley Tx\\\" (DeserialiseFailure 0 \\\"end of input\\\"),DecoderErrorDeserialiseFailure \\\"Shelley Tx\\\" (DeserialiseFailure 0 \\\"end of input\\\"),DecoderErrorDeserialiseFailure \\\"Shelley Tx\\\" (DeserialiseFailure 0 \\\"end of input\\\"),DecoderErrorDeserialiseFailure \\\"Shelley Tx\\\" (DeserialiseFailure 0 \\\"end of input\\\")]\"","status_code":400}', code=400, value=TransactionResult(signedTxn=[], transactionId=null)}

The source address is addr1q8048ny8g5cdfftt7s23zak0ukpfslfuw930zaehd3z4zpy6g4kz5f5jjy8453xyrld6frmk7vapjcrf6y0a7p8gl6yqh0u3dz
And I'm trying to send 5 $ada
Any idea what the issue is?
The same type of payment has been working perfectly, the only difference is that recently I've added some Native Assets to the same address of the same wallet.
Thanks,
Gio

@nemo83 The error is due to de-serialization failure. There could be various reasons for that. One of the reason could be negative value in the Value field.
I just noticed that there is only 3.677 ADA available at the above address. So not enough fund to transfer 5 ADA.
Though there are enough fund at other address under the same account.
"addr1qx4juqqfp8lrp37z37fh3lt3vtu0cj2ayvze5alu94wsg0u6g4kz5f5jjy8453xyrld6frmk7vapjcrf6y0a7p8gl6yqkm5vcd"
As you know, unlike wallets, the lib currently fetches utxos at  only single address  (sender).  To get wallet like behavior and to scan all addresses under an account, we need an another UtxoStrategy impl.. It's still in pipeline.
Can you please confirm if my observation is correct?

OMG I'm so sorry1!!
You're totally right, I've been fooled by the total on yoroi and I knew about the addresses and utxos. But I must have done a manual payment from yoroi and screwed things up.
Sorry for having wasted your time and thanks again for the great library!


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.4.157",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bd99782f3ca491879e8524c89b1c0f40071903bd"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "bd99782f3ca491879e8524c89b1c0f40071903bd",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "drm/ttm: fix memleak in ttm_transfered_destroy\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.4.157 by commit bd99782f3ca491879e8524c89b1c0f40071903bd. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002017


Improve precision-computation for binary FBig oparations

The precision of the result of a binary oparation between two FBigs (e.g. add) is the maximum of the precision of the arguments, as stated in the documentation. But this leads to some probably undesired behaviour.

This is intentionally designed as so. The precision of "0.25" and "1000" are 3 and 4 respectively, so the result will have a precision of 4 by default. If you want unlimited precision, you can set the precision to zero. Try:
let a = Decimal::from_str_native("0.25").unwrap().with_precision(0).value();
let b = Decimal::from_str_native("1000").unwrap().with_precision(0).value();
println!("a + b: {}", a + b);

let a = Real::ONE << 8; // Real::ONE already has a precision of 0
let b = Real::from_str_native("0.101101").unwrap().with_precision(0).value();
println!("a + b: {}", a + b);

Maybe I should add a separate function to explicitly mark the number has unlimited precision.

If this is intentional, then everything is alright. I just wanted to make sure that this isn't some behaviour that was supposed to be fixed by simply choosing the max-precision.


requesting to add Mandalay Technological University

university's official website: www.mtu.edu.mm

@maythanzinmaung Pull request merged. Thank you!


Different styles for Up and Down arrows

Is your feature request related to a problem? Please describe.
In multiple places the color #fff is used in the library and there is no way to control that except of overriding the the CSS rule with some selectors and !important flag, which is not the best.
Some examples:

src/stylesheets/mixins.scss

%triangle-arrow-up {
  fill: $datepicker__background-color;
  color: $datepicker__background-color;
  stroke: $datepicker__border-color;
}

%triangle-arrow-down {
  fill: #fff;
  color: #fff;
  stroke: $datepicker__border-color;
}

So I'm wondering here why the fill and color are not the same for both up and down arrows?

Also in src/stylesheets/datepicker.scss you can find multiple examples like this:

.react-datepicker {
...
  background-color: #fff;
}

Describe the solution you'd like

For the first example src/stylesheets/mixins.scss I suggest removing the triangle-arrow-up and triangle-arrow-down mixins since we don't really need them anymore and the arrow style now is controlled by inline CSS.
For the second example my suggestion would be to add a SCSS variables and not relying on inlining the colors everywhere.

Additional Context

After the recent update the small triangle above/below the datepicker popup changed from being a div with the after and before pseudo-elements with a lot of CSS, To a simple SVG element. So I don't think we need the triangle-arrow-[up/down] mixins anymore

@abdulhadi-lababidi98
I have created PR# 4561.
I have done about removing the mixin, but not about unifying the colors of up/down, because the current situation is correct.

Okay I see the misunderstanding here, for our use case we have dark theme, so having #fff as a fixed color defeats the purpose of using the scss variables. We control the styling by doing something like this:
$datepicker__background-color: var(--color-surface-2);

.react-datepicker {
    background-color: var(--color-surface-1);

    &__time-container .react-datepicker__time {
        background-color: var(--color-surface-1);
    }
}

And it works perfectly when the date picker placement is on the bottom

but when it's on the top it switches to white (if I didn't write custom style for that)

And to fix the issue I had to write this custom styling:
.react-datepicker-popper[data-placement^='top'] .react-datepicker__triangle {
    fill: var(--color-surface-1);
    color: var(--color-surface-1);
}

So my suggestion is to add another scss variable called something like $datepicker__main-background-color to replace the fixed white color for the date picker
and in the src/stylesheets/datepicker.scss we can do:
.react-datepicker {
    background-color: $datepicker__main-background-color;

    &__time-container .react-datepicker__time {
        background-color: $datepicker__main-background-color;
    }
}

I can open a new PR in my next iteration to make that happen, but I wanna make sure that I'm not missing something here. wdyt? @yuki0410-dev


Dash usability

I added a placeholder to the create-card directive.

It's not currently a user facing change in our system as it only affects the dashboard for filter creation. I tested in safari, chrome and ie10.

You should bump the bower package version here so we can explicitly update it in the main repo.

Can you add an example to the gh-pages version of this?

I updated the ghpages and bower version. To test locally in the app, point your local RedoxEngine repo's bower package for rui-components to your local rui-components repo on the pr branch and go to http://localhost:9000/#/dashboard/organization/123/filters/


Practical productization enhancements

Few changes proposed to facilitate integration in embedded projects.
Most important could be the ability to process gcode words with rust match templates almost easily.

Use lightweight fixed decimal representation to facilitate matching and avoid precision issues.
Internal (num, ord) decimal logic reinterpretation.
Make f64 optional so it could be non fully/completely supported in baremetal.

So here are a few questions that I'd like answered before proceeding:

Do you have figure to sustaining that this is effectively lighter weight (after considering math/conversion etc)?
My need was related to the comparison of gcodes in a higher level in order to facilitate matching by constant avoiding precision deviations.
This DecimalRepr seems to me like a manual version of floating point (32bit signed mantissa + 8bit unsigned? exponent). What is the benefit over a f64 and/or, say, a FixedI64<U17> fixed point representation?
Yes. It's manual. I didn't wanted to put a constraint by selecting one of the many crates providing fixed point or just use f64 by activating the feature. I think is more practical. The manual representation implemented is close to rust_decimal.

rust_decimal has HUGE precision and memory cost (more than I need), but also provides several math operations I needed... at least to evaluate. Nevertheless, as said.. maybe is good to let the consumer decide.


Is it pissible run code in IDE (PyCharm)?

First very thanks for creating such framework. I'm big fan of Spock and DDT in Java/Groovy world.
I try nimoy and it looks very promissing, but I have problem run its code in PyCharm
Version: 0.0.1b7
Said I have code:
class MinimalSpec(Specification):
    def test_feature_method(self):
        with given:
            a = 'The quick brown fox'
        with expect:
            a == 'The quick Brown Fox'

If I run in command-line in venv I got expected output:
...
AssertionError:
Expected: 'The quick Brown Fox'
     but: was 'The quick brown fox'
Hint:
- The quick brown fox
?           ^     ^

+ The quick Brown Fox
?           ^     ^

But when I run it in PyCharm I got error:
Ran 1 test in 0.002s

FAILED (errors=1)

Error
Traceback (most recent call last):
  File "/usr/lib64/python3.7/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/lib64/python3.7/unittest/case.py", line 615, in run
    testMethod()
  File "/home/pasha/<EMAIL_ADDRESS>line 14, in helper
    return test_method(*args, **kwargs)
  File "/home/pasha/<EMAIL_ADDRESS>line 8, in test_feature_method
    with given:
NameError: name 'given' is not defined

It is reasonably expected. But may be it is possible hook such execution without writing heavy Idea plugin and so on? F.e. what if create and import variables like given, expect, when, then, etc?

Thanks for the feedback.
You can't run a Nimoy spec like an ordinary unittest in PyCharm as I've hadn't had the time to write a pycharm plugin yet

Initially I ask workarounds without write plugins. Is it really possible?

As temporary workaround it may be run similarly to https://aditamasblog.wordpress.com/2018/07/26/setting-up-pycharm-community-edition-to-work-with-python-behave/, so providing venv/bin/nimoyin script path parameter in Run/Debug configurations dialog

Yes, that's a fine workaround


Count submit feedback

Karolis, I saw this pop up a while ago as a comment in Transifex, and seems a similar comment was made previously by Brazil that I'd missed.
If I understand correctly, when the count is submitted, the pop up message tells the users what the average count for is in the UK, regardless of which country version of the app the user is on. I need to verify this myself, but just wanted to run it by you.
I assume the ideal situation is for the average count feedback to match the country of the user, but we won't have that information for the new countries for some time?
https://www.transifex.com/ceh/fit-count-app/translate/#es/app/319070513

This is presumably still an issue to be addressed when resources allow.


Fatal error: Malloced operator new Allocation failed - process out of memory

I'm having problems with atom on witch appears to be memory allocation. Nor sure if I need to do some tweaking to allow the editor with more memory. When the crash happened I had 4 files opened (about 200 lines each) and windows said almost 2GB of RAM were free at the time.
I'm also not sure if this is inside atom or electron. As Atom is the final app, I'm posting this here.

Is this locally fixable or shall it be a error issue?
Let me know if I can contribute with some more accurate log, dump or such.

Just noticed... the stack points to a linter I'm using.
I'll move this to its repository issue tracker.


Flag and number not aligned

Describe the bug
The flag with the prefix number and the phone number are not aligned
To Reproduce
Steps to reproduce the behavior:

create flag phone number text field

Expected behavior
Both fields should be aligned
Screenshots

Smartphone (please complete the following information):

Device: iPhone x
OS: 13.1

FlagPhoneNumber (please complete the following information):

Version 0.7.7

Additional context
Add any other context about the problem here.

Yah, it happens on all devices with iOS 13

Yes, I have exactly the same issue.

@laptevw  @gigallo
Do you have any solution?
If yes then please share.

Hi @mehulparmar4ever
For now not, after cleaning, building, installing, reinstalling, punching, kicking...now it seems to work but I think is random

I fixed it but I'm having an error to release it. Try with the master branch.

So has version 0.7.8 been released?

Yes I just released it ! :)

Issue is resolved in master branch. I have removed pod from the project and again add in pod.
Solution : Remove pod and add again from master branch
FYI
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
inhibit_all_warnings!
target 'MeetMyDoc' do
#A formatted phone number UITextField with country flag picker.
pod 'FlagPhoneNumber', '0.7.7'
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'FlagPhoneNumber'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.2'
end
end
end
end
end
Cocoapod:
Pod installation complete! There are 1 dependencies from the Podfile and 1 total pods installed.
Apples-MacBook-Pro:MeetMyDoc apple$ pod install
Analyzing dependencies
Downloading dependencies
Using FlagPhoneNumber (0.7.7)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 16 dependencies from the Podfile and 16 total pods installed.

You're lovable

Hi, @gigallo @grifas @laptevw
Do you have any idea about this?
https://github.com/chronotruck/FlagPhoneNumber/issues/130#issuecomment-538937853

Don't know, sorry :(

The problem is remains yet!!


Communicator

New io.net package added for network communication during experiments.
Overview
The net package contains three major components:

A simple experiment message protocol defining standard signals for communicating experiment events
A Communicator base class that implements method that send these signals and register/trigger callback events
A Services class for sending and awaiting messages from multiple Communicators

Echo protocol
The Communicator is implemented as net.app.EchoProtocol which can be instantiated in either a 'client' or 'server' role.
A 'server' is a signal main acquisition PC which listens on a specified local port and sends messages to multiple remote clients.
A 'client' is one of potentially many auxiliary acquisition PCs that await commands from the same remote server.
NB: The role you instantiate represents the role of the remote computer that you are connecting to.
Example
On an auxiliary acquisition PC (client computer)
from iblutil.io import net
lan_ip = net.base.hostname2ip()  # Local area network IP of this PC
server_uri = net.base.validate_uri(lan_ip, default_port=9998)  # Listen for server message on this local port
server = await net.app.EchoProtocol.server(server_uri, name='server')

On the main acquisition PC (server computer)
from iblutil.io import net
server_uri = net.base.validate_uri('<IP_ADDRESS>6', default_port=9998)  # Remote server hostname and port
client = await net.app.EchoProtocol.client(server_uri, name='aux_PC')

Typically the server sends one of a number of signals to each client computer, such as 'EXPINIT', 'EXPSTART', 'EXPSTOP'.
The full set of supported signals are found in the net.base.ExpMessage enumeration.  All messages sent are a JSON array
where the first element is expected to be the signal enumeration, e.g. b'[20, "2022-01-01_1_subject", {"foo": "bar"}]'
for an EXPSTART signal.
Every message sent is expected to be immediately echoed back as confirmation of receipt at the API level.
If an echo isn't received in time a TimeoutError is raised.  The default echo timeout is set by the net.app.EchoProtocol.default_echo_timeout attribute.
Convenience methods are available for sending these messages, e.g. net.app.EchoProtocol.init().
These are async functions that return (None) when the echo is received:
# Send EXPSTART signal to auxillary PC with an experiment reference and some arbitrary data
await client.start('2022-01-01_1_subject', data={'foo': 'bar'})  # b'[20, "2022-01-01_1_subject", {"foo": "bar"}]'

Event callbacks
For listening to events (typically on the auxillary PC) you can either register a synchronous callback function or await
the event.  When an event is received, the callback(s) are called with the data and the remote address as a (hostname, port)
tuple.
Register a basic callback (synchronous)
# Register a callback that prints the data to system out
event = net.base.ExpMessage.EXPSTART
server.assign_callback(event, lambda data, addr: print(data))

Awaiting events (asynchronous)
event = net.base.ExpMessage.EXPINIT
data, addr = await server.on_event(event)

...  # Some initialization routine

# Let remote server know we're initialized as a service (optional)
await server.init(addr=addr)

Services
A Services object can be used for managing multiple auxiliary PCs at once.  This provides convenience methods for sending
the same message to all clients, sequentially or concurrently, and optionally waiting for all their responses.
This is a small extension to the echo protocol where in addition to immediately echoing the message as confirmation of receipt,
the remote client also sends the same signal with optional extra data to indicate that it has finished processing the signal.
Create a Services object on the main acquisition PC
clients = {
    'client 1': 'udp://<IP_ADDRESS>6',
    'client 2': 'udp://<IP_ADDRESS>0',
    'client 3': 'udp://<IP_ADDRESS>'
}
remote_rigs = [await net.app.EchoProtocol.client(uri, name) for name, uri in clients.items()]
services = net.app.Services(remote_rigs)

# Assign a callback to all clients
callback = lambda _, addr: print('{}:{} finished clean up'.format(*addr))
services.assign_callback('EXPCLEANUP', callback)

# Remove this callback
services.clear_callbacks('EXPCLEANUP', callback)

# Assign callback that receives client instance
callback = lambda *_, rig: print(f'{rig.name} finished clean up')
services.assign_callback('EXPCLEANUP', callback, return_service=True)

The init and start methods send an EXPINIT and EXPSTART message to each client in the order the were provided to the
constructor.  The cleanup and stop methods send their messages to the clients in reverse order.  The methods return a
dictionary of rig names and their responses.
Sequential service
Server                                                      Client
===================================================================
[client 1].start ------------- EXPSTART -------------->   [client 1]._receive
(awaiting confirmation)                                        |
[client 1] <------------------ EXPSTART ---------------   [client 1].send (echo)
    |                                                          |
(awaiting update)                                          (starting)
    |                                                          |
[client 1].on_event <--------- EXPSTART ---------------   [client 1].send (update)
    |
[client 2].start ------------- EXPSTART -------------->   [client 2]._receive
(awaiting confirmation)                                        |
[client 2] <------------------ EXPSTART ---------------   [client 2].send (echo)
    |                                                          |
(awaiting update)                                          (starting)
    |                                                          |
[client 2].on_event <--------- EXPSTART ---------------   [client 2].send (update)
  [...]
[client n].start ------------- EXPSTART -------------->   [client n]._receive
(awaiting confirmation)                                        |
[client n] <------------------ EXPSTART ---------------   [client n].send (echo)
    |                                                          |
(awaiting update)                                          (starting)
    |                                                          |
[client n].on_event <--------- EXPSTART ---------------   [client n].send (update)

responses = await services.start('2022-01-01_1_subject', concurrent=False)

Concurrent services
Server                                                      Client
===================================================================
[client 1].start ------------- EXPSTART -------------->   [client 1]._receive
(awaiting confirmation)                                        |
[client 1] <------------------ EXPSTART ---------------   [client 1].send (echo)
    |                                                          ┴
[client 2].start ------------- EXPSTART -------------->   [client 2]._receive
(awaiting confirmation)                                        |
[client 2] <------------------ EXPSTART ---------------   [client 2].send (echo)
    |                                                          ┴
  [...]
    |
[client n].start ------------- EXPSTART -------------->   [client n]._receive
(awaiting confirmation)                                        |
[client n] <------------------ EXPSTART ---------------   [client n].send (echo)
    |                                                          ┴
(awaiting updates)
    |
[client 2] <------------------ EXPSTART ---------------   [client 2].send (update)
[client 1] <------------------ EXPSTART ---------------   [client 1].send (update)
  [...]
[client n] <------------------ EXPSTART ---------------   [client n].send (update)

responses = await services.init(concurrent=True)

See Also
Functions for Alyx callbacks and creating services from experiment description file.
TODO

[ ] Fix alyx callback in Services.__init__
[ ] Ideally failed sync callbacks in Communicator._receive should perform a confirmed send

Before merging, ibllib needs releasing and we need to merge the loggingRefactor branches


[LDAT-260] AWS Cognito Infrastructure

Context
We are initially using our Cognito as our identity provider, and although we have this setup manually (frontend implemented in #93) we need to set up repeatable infrastructure through Terraform
Changes proposed in this pull request

Reorganise the directory structure for the reviewer-app terraform
Add outputs for existing reviewer-app terraform
Add new terraform for cognito

Link to Jira task
https://bluesquirrel.atlassian.net/browse/LDAT-260

Haven't had a look through this yet, but just to throw a spanner in the works - our cognito authoriser is currently set up in serverless, as its ID needs to be referenced by the functions it applies to - and it currently has a hard coded user pool arn in it.
If we're sticking to the terraform / serverless split, then we'll need to work out how to share that arn from our tf output to serverless.yml. Just a thought!

Hmm - Can we make it an environment variable for now? I can add the ARN as an output variable so it's easy to grab manually for now and then we can look at if there's a way to share it automatically in the future