There is only one example of running MediaPipe on an image, and this is hard.

Hello! This is not a bug, but a (heartfelt!) request for more examples or documentation, please.
Specifically, it would be wonderful to be able, out of the box:

to install MediaPipe as a Python library.
so you can easily run MediaPipe on single image

Why? Well, Mediapipe has so many cool and impressive models in it. That's great! But to assess what you can use in your research or your application, you will almost always want to start by doing the simplest possible thing -- namely, just running MediaPipe on a JPEG file.
I may be missing something, but this seems ... quite hard to do?
The documentation describes how to install dependencies, build MediaPipe, build cpp example applications, and then invoke those applications to use the realtime webcam or a movie file -- but not how to just process a single image.
It feels to me like this should be as easy as doing pip install mediapipe, selecting your model, and passing it an image.
This is possible now but only with the pose-tracking Python example. But it's not completely trivial (meaning, "I have failed so far") to extend that example to the other models. Although the Python code for that pose-tracking example model is specific to pose-tracking in only three places (the path to the compiled protobuf file, and the names of the input and output streams), the mediapipe pip package does not contain compiled protobuf files for all the other models MediaPipe supports.
I get it. I do understand that the intended focus of MediaPipe may be realtime continuous execution as a native library. But I'm suggesting it would still be very helpful if the library also supported being installed as a python package (like the rest of the data science ecosystem) and easily used for processing individual files. This is a better starting point than installing Bazel, figuring out cpp code, figuring ou how to feed an image into a stream interface, etc..

MediaPipe Python package is available at https://pypi.org/project/mediapipe/. As you said, it now only supports the upper body pose tracking and the other models are not available. We are going to release more solution APIs in Q4. Will keep you updated.

MediaPipe Python package is available at https://pypi.org/project/mediapipe/. As you said, it now only has upper body pose tracking and the other examples are not available. We are going to release more solution APIs in Q4. Will keep you updated.

Thanks, I am delighted to hear this!

@jiuqiant Hello, is there any way to run facemesh in python now?

@jiuqiant Hello, is there any way to run facemesh in python now?

Facemesh Python API is not released yet. We are going to release more solution APIs in Q4. Will keep you updated.

Released more solution apis in v0.8.0. See https://github.com/google/mediapipe#mediapipe-in-python and https://pypi.org/project/mediapipe/.


As an API User, I want a simple get method to add a name or serveral names and get a result.

This is a duplicate of #53


Upgrade Cosmos-SDK to Version 0.47.0

Background
Upgrade Paloma and Pigeon to Cosmos-SDK 0.47.0 in https://github.com/cometbft/cometbft/blob/v0.37.0/CHANGELOG.md
Done when

[ ] Upgrade paloma and pigeon types impacted by 0.47.
[ ] Upgrade complete with tests upgraded
[ ] Dependency packages also upgraded
[ ] Prepare semver and release notes

duplicate of https://github.com/VolumeFi/paloma/issues/93


Update to python3 and switch to requests

Hi there!
I think your code is awesome and would like to use it in an interactive diffractometer I'm working on. (I'd like to use it to encode the rotation matrix in the image and so on.) Anyway, I took the time to update ImageStore to python3, so I thought I'd share it with you. :) I used black, 2to3, and isort for much of this update. I also switched urllib2 to requests because it's just a great library. Please also let me know how your code is licensed or how you'd like to be acknowledged for your hard work if I use it in a publication.
Thank you,
Jenny

Hey, it's really awesome you found this useful (especially when there's no documentation), thanks for sharing the updates :)  I'm away from my PC over xmas so I'll give it a try once I'm back. This code is 3 years old though, so since I've improved a lot, I'm very tempted to start over with a fresh improved version.
As to license, depending on how strict things are when writing papers, technically this doesn't have one yet, but I'd class it as MIT (will add the file if I rewrite it). I guess my name would be cool if you did an acknowledgement, I don't really know the standard for doing them though :)

Awesome! I was away as well, so no worries.
OK, I will make sure to acknowledge you! (I don't really know the standard either, but if there's any info you'd like in it just let me know.)
I'm also interested in updating the code to use RGBA images, so I'll share that with you if/when I get around to it. :)

I've made a start on a new version that's a ton faster. It has support for L, RGB and RGBA but only lightly tested. I'll get your code merged in for now anyway and keep mine in a branch until I know it's working properly :)


COD Mobile | Error message: Read 92 but expected 188 for asset type Texture2D

xgO_sgOJfm$5J60xfJm$1gDK$v!i.zip

This game was built with custom engine version, which is not supported.


Hide "Read More" if no more to read and show "Read Less" at bottom of articles

"Read More" button only shows when content is long enough to justify it.  Implemented in Commit 8c532a4ae15187fe826002d3cd6bf84b26942642


Add API for sending an IEEE 802.15.4 MAC Data Request message.

Current coverage is 72.92% (diff: 62.50%)

Merging #1069 into master will decrease coverage by 0.12%

@@             master      #1069   diff @@
==========================================
  Files           127        127
  Lines         18321      18334    +13
  Methods        2557       2559     +2
  Messages          0          0
  Branches       2239       2240     +1
==========================================
- Hits          13383      13370    -13
- Misses         4242       4265    +23
- Partials        696        699     +3

Powered by Codecov. Last update 0b1d47a...1e16718


Fix signed build by suppressing CS7035/BC42366

Our signed builds are currently blocked by following category of errors:
2016-11-22T22:35:48.6280082Z obj\Release\GeneratedAssemblyInfo_<IP_ADDRESS>6112201.cs(17,59): error CS7035: The specified version string does not conform to the recommended format - major.minor.build.revision [E:\A\_work\1\s\src\Dependencies\Composition\Composition.csproj]
Unblocking the build by suppressing this error and also starting a discussion with VS setup team to figure out if the build version number really matters, and if so what is the recommended value for it.

@srivatsn @dotnet/project-system

Filed https://github.com/dotnet/roslyn-project-system/issues/798

Merging in to unblock - additional feedback will be addressed as part of the above tracking issue.


[Website Improvements] Update the  Submit Sessions/Activity button

While working on the 2021 leftover media pushes, I noticed that improvements as follows are needed, further discussion is also welcomed:

Change the current link to the Call 2 Action under Blog's C2A to the new wiki

Submit A git Issue - Are you a MicroProfileSpeaker

Add the same button to the Branding Resources Page

What else can we improve with respect to the call to action and its call out to the Branding Page?
Tweet git issue submitted.

updated

beautifully place @rstjames 💯

@rstjames
the git issue (shown below) link needs to also be updated. Please do not remove it. It is ok, efficient in this case for it to repeat twice within the page.

updated


mocap data glitch !

hello , thanks alot for this awesome tool , i have a question why the mocap data glitch alot , i have tested it on different tracks and imported the csv data in different apps but the same issue occurs
also i noticed that the keyframes down are empty in some places and alot in other places i dont think this is normal

https://github.com/Qaanaaq/Face_Landmark_Link/assets/105466290/0bd45c95-d50e-45b5-8441-f9563125d3b3

Its issue with the framerate. Project framerate, importframerate and videoframerate all must be the same. Right now Face-it does not support custom framerate, but the next release will.

Hello, thanks for writing this plugin, but why am I getting an error after importing a video, and the table data for CVS is empty


Travis build speed up

Try to add this:
cache:
  directories:
    - $HOME/Library/Caches/Homebrew

before_cache:
  - brew cleanup

Depends on #20.

Unnecessary due to #24.


match to CQRS and events systems

There are allot of relationships in Glow and Gleam with CQRS systems.
Have to say this look allot better than Glow. I used glow in a project that was a CQRS architecture.
Why not use some of them same libraries and techniques. Otherwise your reinventing a huge amount of the wheel in the infrastructure layer. The core logic of the flow namespace is great, but for getting distributed computation going, why not just use NATS streaming. It integrates discovery, storage, back pressure, etc etc.
https://github.com/nats-io/nats-streaming-server
just saying...

I am interested to know your CQRS use case.
The Gleam is more flexible and I have some plans to extend it even further, like adding a SQL layer, smart caching, etc. It's better to write the streaming directly rather than being limited by the existing mostly-working-but-something-does-not-work projects. It will cost more time trying to fit in the shoes.


Add support for Optical Flow and Rangefinder to guide the vehicle indoors

I modified the code to support guiding a copter with Optical Flow and Rangefinder indoors.
I created a new pre-flight check to suite the OF+RF indoor environment. I added a message listener for EKF_PRED_POS_HORIZ_REL and an is_armable_indoor attribute in class Vehicle. EKF_PRED_POS_HORIZ_REL will be True when the Optical Flow and Rangefinder are providing good data. And is_armable_indoor is intended to take the place of is_armable attribute when guiding the copter indoors.
NOTE that setting a home position manually is necessary before taking off. After that, we can command the vehicle to switch to GUIDED, arm, takeoff and doing other things just as if it has a GPS fix outdoors.

What about if the user has no optical flow and no range finder, but has either a pozyx or a marvelmind system ?

@amilcarlucas Sorry for the late reply. I have no pozyx or marvelmind so I don't know how they work with ArduCopter. If they work exactly in the same manner as the Optical Flow sensor, the pozyx and marvelmind users can guide their vehicle with this PR too.

They work as beacons into the EFK... so they are a bit different. I guess I'll need to try this indoors.

Hi rogerwwww
Thanks for this.
Regarding the rangefinder, was it for altitude detection?
How would the drone be controlled indoors since dronekit uses goto kind of commands?

Hi @aviontics
Yes the rangefinder is used for altitude detection.
I send MAVLink messages to the vehicle to control its movement indoors. You may see my implementation here for details.

I am using a maxbotix sensor for indoor fly. sensor reading very good but copter did not stay my desired altitude. 1 miter is my Desired altitude. copter will stay this stage (1 miter) but copter going strait upper. i share my code here
`def arm_and_takeoff_nogps(aTargetAltitude):
DEFAULT_TAKEOFF_THRUST = 0.6
SMOOTH_TAKEOFF_THRUST = 0.5
# print("Basic pre-arm checks")
# while not vehicle.is_armable:
#     print(" Waiting for vehicle to initialise...")
#     time.sleep(1)
print("Arming motors")
vehicle.mode = VehicleMode("GUIDED_NOGPS")
vehicle.armed = True

while not vehicle.armed:
    print(" Waiting for arming...")
    vehicle.armed = True
    time.sleep(1)
print("Taking off!")
global thrust
thrust = DEFAULT_TAKEOFF_THRUST
while True:
    #current_altitude = vehicle.location.global_relative_frame.alt
    #if sonar_alt<4.00:
    current_altitude = sonar_alt
    print(" Altitude: %f  Desired: %f" % (current_altitude, aTargetAltitude))
    if current_altitude >= aTargetAltitude * 0.95:
        print("Reached target altitude Borhan ")
        thrust = SMOOTH_TAKEOFF_THRUST
        break
    elif current_altitude >= aTargetAltitude * 0.6:
        thrust = SMOOTH_TAKEOFF_THRUST
    set_attitude(thrust=thrust)
    time.sleep(0.2)`

I am using a maxbotix sensor for indoor fly. sensor reading very good but copter did not stay my desired altitude. 1 miter is my Desired altitude. copter will stay this stage (1 miter) but copter going strait upper. i share my code here
`def arm_and_takeoff_nogps(aTargetAltitude):
DEFAULT_TAKEOFF_THRUST = 0.6
SMOOTH_TAKEOFF_THRUST = 0.5

# print("Basic pre-arm checks")
# while not vehicle.is_armable:
#     print(" Waiting for vehicle to initialise...")
#     time.sleep(1)
print("Arming motors")
vehicle.mode = VehicleMode("GUIDED_NOGPS")
vehicle.armed = True

while not vehicle.armed:
    print(" Waiting for arming...")
    vehicle.armed = True
    time.sleep(1)
print("Taking off!")
global thrust
thrust = DEFAULT_TAKEOFF_THRUST
while True:
    #current_altitude = vehicle.location.global_relative_frame.alt
    #if sonar_alt<4.00:
    current_altitude = sonar_alt
    print(" Altitude: %f  Desired: %f" % (current_altitude, aTargetAltitude))
    if current_altitude >= aTargetAltitude * 0.95:
        print("Reached target altitude Borhan ")
        thrust = SMOOTH_TAKEOFF_THRUST
        break
    elif current_altitude >= aTargetAltitude * 0.6:
        thrust = SMOOTH_TAKEOFF_THRUST
    set_attitude(thrust=thrust)
    time.sleep(0.2)`

Hi, I have the same problem as you. Have you solve it? Can I contact you for more imformation?

I am also having the same issue.
I tried publishing the local position and it showed that the z position monotonically increases as soon as the drone is in the air although the position is stable. Looking at the log, it is revealed that this is because of residual velocity as the distance sensor data is not being fused for height estimation and the height is solely dependent upon noisy IMU measurements.
I am using px4flow with sonar and lidarlite v3 for position stabilization. vehicle.range_finder returns none although I can see correct data from lidarlite in Qground control. Can someone please tell me why lidar is not being detected as range sensor. I have enabled range aid and also set range sensor and primary height estimator in px4 1.11.3.
Thanks in advance!


Update junit

#13

It makes more sense to fix the tests in one go, so we can try whether it actually works, Can you close either this PR or #17 and then update the other to include both changes?

Also, it looks like you're using the GitHub user interface for these edits. If so, that's not a good idea because then you can't test on your machine whetherit actually works.


Move copy code where it is used

There is no need to share this kind of code in a global library.
It's better to have duplication than depending too much on machine code.

I'm 99% sure if we need to change one of the copies, we'll forget to change the other :-/

I'm 99% sure if we need to change one of the copies, we'll forget to change the other :-/


Improve retry strategy for chain provider

It has been observed that retry mechanism by ethers-providers can fail with a very lower likelihood.
For robustness we need to implement an extra retry strategy to rebuild chain provider when existing retry mechanism fails to work.

We use ethers-rs to make websocket connection to providers. And ethers-providers has a default retry mechanism with 5 fixed retries.
The experimental results show that the reason that the provider reconnect:

"Error response from WS err=IO error: Connection reset by peer (os error 104)","module_path":"ethers_providers::rpc::transports::ws::backend"
"Error response from WS err=IO error: Connection timed out (os error 110)","module_path":"ethers_providers::rpc::transports::ws::backend"
"Error response from WS err=WebSocket protocol error: Connection reset without closing handshake","module_path":"ethers_providers::rpc::transports::ws::backend"

and the provider fails to reconnect:

"Error during reconnection err=Reconnect limit reached","module_path":"ethers_providers::rpc::transports::ws::manager"
"Error during reconnection err=IO error: Connection reset by peer (os error 104)","module_path":"ethers_providers::rpc::transports::ws::manager"
Error during reconnection err=IO error: Connection timed out (os error 110)","module_path":"ethers_providers::rpc::transports::ws::manager"

In https://github.com/ARPA-Network/BLS-TSS-Network/pull/45/commits/45d469aa545f8e84f2e8673e8e801edf9cadfebf max reconnection retries of provider has been increased from 5 to 1000000 so that "Reconnect limit reached" won't happen. However, if the reconnection fails, the provider will be broken and middlewares(like signer) depending on that won't work, too.
In https://github.com/ARPA-Network/BLS-TSS-Network/pull/50/commits/23ebf7c474cde3f480f5f0701e73995b270ecca7 the provider will be reset triggered by interruption of BlockListener.
@Andlyn Please help me to add scenarios of provider reconnection and provider reset.
I found a way to trigger both but it's relatively slow.
39 46 59 1+27 2+20 4+6 6+7 8+8 10+9 12+10 14+11 16+11   16+43  17+17 18+22
7 13 28 53 106 121 121 121 121 121 120

Time
Banana

Interval(s)

v

@Andlyn666 Here is an example of node log by above steps. You can expect some step is taken by matching log messages.
https://drive.google.com/file/d/18VMUcfbo1J67sehDEolBOyeVDB76uYZk/view?usp=sharing


API typing

We need a way to type the JSON we expect from calls to the backend. I know Django REST Framework provides OpenAPI schema automatically. Maybe that could be useful? Thoughts?

Closed via https://github.com/atlascope/atlascope/pull/22


Exception raised when creating DB is DOM contains element with id 'q'

When the DOM contains an element with id="q", taffydb raises an exception whenever we try to create a new db.
See http://jsbin.com/karoroveqa/1/edit?html,console

The issue only appears with the minified file from CloudFlare.

I created an issue on cdnjs to request an update of the file on their part: https://github.com/cdnjs/cdnjs/issues/8778


Adding Stride protocol support

Describe the solution you'd like
Atlassian has a new product named Stride which is different from Hipchat, it will be helpful to add it to supported protocols.

#28

Great ! So I think that you only can add it to the collection ?

nah i am not a contributor, was just trying to point at the right issue to comment on


General ideas for improving GitHub auth

We'd like to figure out a way to improve the GitHub auth model so that we could:

Use GitHub "Applications"
Issue per-project keys based on a "master" key for a gateway
In general, reduce the number of places where users/projects have to supply secrets for GitHub.

A few references:
https://developer.github.com/v3/users/keys/#create-a-public-key
https://developer.github.com/apps/building-oauth-apps/authorization-options-for-oauth-apps/#non-web-application-flow
Please leave comments with your ideas.

No matter what the other security model options are, I do think that letting Github apps have access is sensible.  Beyond that, I'd suggest actually making Brigade itself be an installable Github App.
I don't love per-project keys--that's basically what it is now and we've found it very unwieldy and fragile.

It's not even the AUTH, although that's a thing. I look at the hub model of interaction: https://github.com/github/hub does automatic log-in (supports 2FA) when you use it against a secured repo and THEN caches that value.
The UX should be the same for brigade. As an example, brig might well support a call to https://developer.github.com/v3/repos/hooks/#create-a-hook, enabling you to use brig to set up a webhook directly into a specific project.yaml file. Whilst that is NOT the requested design, I put it here to demonstrate the kind of interaction we should support somewhere. :-)

Okay, now that GitHub has a Checks API, I have begun work on a new GitHub gateway. https://github.com/Azure/brigade-github-app
If anyone has a few spare cycles to test out this prototype, please let me know.

We've got a prototype of the GitHub App method that should be landing soon.

First, you create a Github app, and then you install it to your organization/repo, and write down all the necessary tokens, etc. You should end up with three credentials that I map to three environmental variables that need to be set in the sidecar:

BRIGADE_REPO_GITHUB_APP_IDENTIFIER
BRIGADE_REPO_GITHUB_APP_INSTALLATION_ID
BRIGADE_REPO_GITHUB_APP_PRIVATE_KEY

We currently set these via Vault, which is what the referenced entrypoint.sh below does—it authenticates to Vault and sets the environmental vars. But that could be done using Kubernetes secrets or anything else, without an entrypoint.
Then, we use the files below to have the sidecar authenticate as the github app, grab a short-lived OAuth token, and download the repo. Alternatively, the sidecar could be used just with jwt-auth.sh to grab a short-lived github token via the app for any type of purpose, so we use this also to grab OAuth tokens have our other Brigade jobs take various github actions using the API.  Here is our brigade.js function:
/*
 * getGithubToken()
 * Runs a job that returns a short-lived Github OAuth2 token for the
 * internal Github App
 *
 * Usage: getGithubToken().then(token => {});
 */
function getGithubToken() {
    let getGithubToken = new Job("get-github-token", '$WAYUP_DOCKER_REGISTRY/brigade/git-sidecar:v0.2.1');
    getGithubToken.useSource = false;
    getGithubToken.storage.enabled = false;
    getGithubToken.imageForcePull = true;
    getGithubToken.tasks = [
        '/entrypoint.sh /askpass.sh'
    ];
    return getGithubToken.run().then((result) => {
        return result.data.trim();
    });
}

Here are our git sidecar files:
Dockerfile:
FROM alpine:3.7

RUN apk update && apk add --no-cache \
    bash \
    ca-certificates \
    curl \
    git \
    jq \
    openssh-client \
    openssl \
    && update-ca-certificates

COPY rootfs /

ENV GIT_SSH=/gitssh.sh
ENV GIT_ASKPASS=/askpass.sh

RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
CMD ["/clone.sh"]

/gitssh.sh:
#!/bin/sh
extra=""

if [ "" != "${BRIGADE_REPO_KEY}" ]; then
  KEY="./id_dsa"
  echo ${BRIGADE_REPO_KEY} | sed 's/\$/\n/g' > $KEY
  chmod 600 $KEY
  extra="-i $KEY -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
fi

ssh $extra $@

/askpass.sh:
#!/bin/sh

if [ ! -z "${BRIGADE_REPO_AUTH_TOKEN+x}" ] ; then
  echo $BRIGADE_REPO_AUTH_TOKEN
elif [ ! -z "${BRIGADE_REPO_GITHUB_APP_IDENTIFIER+x}" ] && \
	[ ! -z "${BRIGADE_REPO_GITHUB_APP_INSTALLATION_ID+x}" ] && \
	[ ! -z "${BRIGADE_REPO_GITHUB_APP_PRIVATE_KEY+x}" ] ; then
  curl -s -XPOST "https://api.github.com/installations/$BRIGADE_REPO_GITHUB_APP_INSTALLATION_ID/access_tokens" \
	  -H 'Accept: application/vnd.github.machine-man-preview+json' \
	  -H "Authorization: Bearer $(bash /jwt-auth.sh RS256 '{"iss": "'$BRIGADE_REPO_GITHUB_APP_IDENTIFIER'"}' "$BRIGADE_REPO_GITHUB_APP_PRIVATE_KEY")" \
		| jq -r .token
fi

/jws-auth.sh:
#!/usr/bin/env bash

# Inspired by implementation by Will Haley at:
#   http://willhaley.com/blog/generate-jwt-with-bash/
# Borrowed from https://stackoverflow.com/questions/46657001/how-do-you-create-an-rs256-jwt-assertion-with-bash-shell-scripting

set -o pipefail

build_header() {
  local header_template='{
    "typ": "JWT"
  }'

  jq -c \
        --arg iat_str "$(date +%s)" \
        --arg alg "${1:-HS256}" \
  '
  ($iat_str | tonumber) as $iat
  | .alg = $alg
  | .iat = $iat
  | .exp = ($iat + 1)
  ' <<<"$header_template" | tr -d '\n'
}

build_payload() {
  jq -c --arg iat_str "$(date +%s)" \
  '
  ($iat_str | tonumber) as $iat
  | .iat = $iat
  | .exp = ($iat + 600)
  ' <<<"$1" | tr -d '\n'
}

b64enc() { openssl enc -base64 -A | tr '+/' '-_' | tr -d '='; }
json() { jq -c . | LC_CTYPE=C tr -d '\n'; }
hs_sign() { openssl dgst -binary -sha"${1}" -hmac "$2"; }
rs_sign() { openssl dgst -binary -sha"${1}" -sign <(printf '%s\n' "$2"); }

sign() {
        local algo payload header sig secret=$3
        algo=${1:-RS256}
        header=$(build_header "$algo") || return
      	payload=$(build_payload "$2")
        signed_content="$(json <<<"$header" | b64enc).$(json <<<"$payload" | b64enc)"
        case $algo in
                HS*) sig=$(printf %s "$signed_content" | hs_sign "${algo#HS}" "$secret" | b64enc) ;;
                RS*) sig=$(printf %s "$signed_content" | rs_sign "${algo#RS}" "$secret" | b64enc) ;;
                *) echo "Unknown algorithm" >&2; return 1 ;;
        esac
        printf '%s.%s\n' "${signed_content}" "${sig}"
}

(( $# )) && sign "$@"


Objects demo

If that meant I could traverse a IIIF Manifest without going back to vault.get all the time, I would be very happy.
This helper transforms the manifest into a "complete" (all props non-null), compliant manifest, which greatly simplifies client code.
(If I have understood it right)
Personally that's very attractive for how I would like to code against IIIF.
9:54
personally that's very attractive for how I would like to code against IIIF


Emojis Suggestion

I just wanted to suggest maybe you add settings for the emojis so you can save the emojis to a certain directory instead of them being saved into a emojis directory where the exe is located

@YesYesTheDev Reworked emojis and added support for stickers for next release. https://github.com/get-got/discord-downloader-go/commit/fc02c7501a154c7eaf23f17aa57c2239c55814b1
Dropped the emojis setting and made it settings-based. It runs upon launch after all of the other startup finishes.
"emojisServers": [ "123", "456" ],
"emojisDestination": "X:/emojis", // optional, will just use subfolder "emojis" if not included. will automatically create subfolders with the server name.
"emojisFilenameFormat": "{{name}}", // optional, default is "{{ID}} {{name}}"

"stickersServers": [ "123", "456" ],
"stickersDestination": "X:/stickers", // optional, will just use subfolder "stickers" if not included. will automatically create subfolders with the server name.
"stickersFilenameFormat": "{{name}}", // optional, default is "{{ID}} {{name}}"


chore: update codeowner

Summary by CodeRabbit

Chores

Updated the code ownership list by removing user @fbac.

A GitHub team should be used instead of individuals in CODEOWNERS


Add Sign In with Apple WIP

Will port to ObjC once I get some feedback.

Looks good. Thanks @morganchen12!


Create default timeout parameters

Client connections to a cluster should be able to set a default timeout parameter. This parameter should be undefined by default and should send no data to Riak by default. The default Riak timeout (60,000ms) should be used instead.

Write, Read and Connect timeouts are all now available.


Fix get_machine In Install Script

Fixes https://github.com/Tufin/oasdiff/issues/565 using the change suggested by @scastria (https://github.com/Tufin/oasdiff/issues/565#issuecomment-2215654139)

Thanks for your contribution :-)

@reuvenharrison do you think this could be released soon? currently hard blocks my team on something, would love to get it over the line

@reuvenharrison thank you!!
my team uses the install script in our CI runner to detect any changes made to our api contracts. we use the generated diff to send a message in an api-changes slack channel, so our client engineers are aware of changes. its part of a bigger apiI-compatibility overhaul that has our mobile engineers creating data classes directly from the open api yaml. thanks for all you do!


Download the latest Atom version if none is specified

Useful: Download the latest release from GitHub (src: StackOverflow)

Won't fix for now. It's not needed


COMP: Address brace initializer warning

PR Checklist

[ ] No API changes were made (or the changes have been approved)
[ ] No major design changes were made (or the changes have been approved)
[ ] Added test (or behavior not changed)
[ ] Updated API documentation (or API not changed)
[ ] Added license to new files (if any)
[ ] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[ ] Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

Looks fine Brad, but the original code also seemed fine to me! Which compiler did complain? And what was the message exactly?

https://open.cdash.org/viewBuildError.php?type=1&buildid=6930635

https://open.cdash.org/viewBuildError.php?type=1&buildid=6930635

Thanks Bradly.  I see now, from Mac10.10-AppleClang-dbg-x86_64-static:
[CTest: warning matched] /Users/builder/externalModules/IO/ImageBase/test/itkWriteImageFunctionGTest.cxx:45:36: warning: suggest braces around initialization of subobject [-Wmissing-braces]
    ImageType::RegionType region({ 3, 2 });
                                   ^~~~
                                   {   }

It suggests that it would be sufficient to just add an extra pair op braces. But your PR is also OK to me.


Return Call List

Describe the problem
We need a list view of a small subset of the return calls pool.
Describe the solution
Dependency:  must complete #204 first
Case 1:  there is no list

[ ] Display "No Return Calls at this time, check again later"

Case 2:  There is a list

[ ] Populate a small list (no more than 10) of the available return calls cards #204  from the return call pool.

Additional context and instructions
NOTE:  there are times when MANY people will be accessing this list.  we want to avoid a scenario where two people try to access the same record at the same time.

superseded by better plan.


ansible refresh for configuration_script_sources

This refreshes ConfigurationScriptSource for ansible tower
Should be changed to the proper class once https://github.com/ManageIQ/manageiq/pull/13683 is merged
@miq-bot add_labels providers/ansible tower
cc @mkanoor

cc @jameswnl

@miq-bot add_label provider/ansible_tower

@miq-bot add_label providers/ansible_tower, enhancement

@jameswnl @blomquisg @mkanoor I added playbooks

@jameswnl thanks for your review. Adressed comments and I only had to add one has_many :through assoc

closing this in favor of https://github.com/ManageIQ/manageiq/pull/13807 which can be merged once https://github.com/ManageIQ/manageiq/pull/13728 is in


Auto generate token to connect with HA

Hi
good feature request will be implement auto generate TOKEN to connect with Home Assistant. Now we must put token manually. It is not comfortable. In project app andrid name ARIELA it is implemented... maybe in HA Client you can implement this ?

But before generating a token how do you authenticate in ARIELA? Do you use username and password or legacy API password?

yes

Closing as duplicate of #338


add support for render(obj) where obj has a toJSON method

This PR will allow you to pass in objects into render and if they have a toJSON property, it will call that first.
It allows you to do fancy things like this:
const App => (
  div.class('box')({ custom: true })
)

let src = render(App)
//

Let me know if you're down for this feature or if there's anything you'd like me to change! If this works for you I'll start opening PRs for the other renderers.

Works for me! I don't think this interferes with the existing handling since VNodes have a pretty specific format that is unlikely to have a .toJSON method.

going to close this since I don't need this anymore :-)


Add aks component "kubedns-autoscaler" version mapping

What this PR does / why we need it:   AKS wants to have kubedns-autoscaler component, so need to have this image mapping
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

Since we moved this change to acsrp, will close this ticket.


UI: Implement default cpu/memory limit for workloads in a namespace

UI field will be needed once addressed on the API side https://github.com/rancher/rancher/issues/15648

Fixed in https://github.com/rancher/ui/pull/2638
Now users can config the default limit for a namespace

Testing this depends on #16753

Testing was completed in #16753 which should cover everything here. Refer to that issue for details.


Validation : need an option to set custom error message

user should have an easy way to set his/her own error message

type Rule interface {
	ErrorMessage(inputField string, inputValue string) string
	Valid(inputField string, inputValue string) bool
}

A go dev should be able to create their own rule, that's the right way.
What I can think of is to prepare the existing "Validators/Must" to have a set of messages.

As of today, this is added as part of translations too and closure based.


Unsubscribing from topic fails because of test

I'm unsubscribing from a topic using the topic string according to the documentation.
This fails with the following error (Worksheet.js is my React Component):
    util.js:111 Uncaught Error: Session.unsubscribe: <subscription> must be an instance of class autobahn.Subscription
    at Object.assert (util.js:111)
    at Session../node_modules/autobahn/lib/session.js.Session.unsubscribe (session.js:1384)
    at handleAction (middleware.js:319)
    at middleware.js:401
    at middleware.js:13
    at handleAction (index.js:150)
    at index.js:63
    at index.js:14
    at Object.unsubscribe (bindActionCreators.js:3)
    at Worksheet.componentWillUnmount (Worksheet.js:46)

I deviced a strategy where I use a function to get a subscription before unsubscribing:
`const getSubscription = (props, topic) => {
return props.autobahn.subscriptions.filter(s => s.topic === topic);
};
this.props.actions.unsubscribe(
//   getSubscription(this.props, worksheetTopic)[0]
// );`
But it still returns the same error. Seems like a "Subscription" is not an instance of Subscription.

Is your Subscription imported from autobahn? Or is it from another import like, autobahn-browser? I'm guessing it's technically a different Subscription class instance, as I recall this happening with the Connection object before.
It looks like you should be able to pass in a topic string. Here are the areas of the code that are related to what you are trying to do.
https://github.com/brycedarling/redux-autobahn-js/blob/master/src/actions.js#L45-L53
https://github.com/brycedarling/redux-autobahn-js/blob/master/src/middleware.js#L268-L275
The most suspect lines are these:
https://github.com/brycedarling/redux-autobahn-js/blob/master/src/middleware.js#L270
https://github.com/brycedarling/redux-autobahn-js/blob/master/src/middleware.js#L238
It looks like it is not actually even handling the topic string portion in getSubscription... probably need to fix that.
If you could get me a tiny application to reproduce this issue I can help you fix it.

Hey Jesper, any luck with this? Don't mean to leave you hanging!

The subscription is imported from autobahn not autobahn-browser . And I didn't ever get it working.
Just got distracted by other parts of the app. :)


[AppConfig] Support Import/Export of feature flags

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

Please add @recao for review

/azp run

Please add @shenmuxiaosen  for review.

              source,

since we are not case sensitive for source any more (get_enum_type in _params.py) we should convert source to lower case to be used later on. Same with export destination.

Refers to: src/azure-cli/azure/cli/command_modules/appconfig/keyvalue.py:35 in bccd646. [](commit_id = bccd64621144c3c99b04bf7b8055d454cb0a7167, deletion_comment = False)

              format_=None,

convert to lower case for later comparison.

Refers to: src/azure-cli/azure/cli/command_modules/appconfig/keyvalue.py:43 in bf93ec8. [](commit_id = bf93ec86fc1808276284c79e65eeb9905ae4b2f7, deletion_comment = False)

/azp run

No other comment from CLI side. Please resolve left comments and make CI pass. We will freeze code tomorrow for the next release. If you want to make it merge before code freeze, please make your PR ready ASAP.


Lumina-fm crashes on multiple columns

Lumina-fm confirmed to crash or hang up the entire system if there is a tab with two columns and one of the tabs has a multiple gigabytes of data in the directory. Might be due to multi-threading or a memory leak. Trying to reproduce reliably.

When you get a chance, can you retest this on the system that you produced it on?  Ken and I did change some of the loading routines last time I was down in TN.  Not sure if that's fixed it or if I dont have the same conditions to reproduce it.


Duplicated "extra" (renders_one)  when alignment is on the right side.

Hi,
I'm seeing a very weird behavior with the usage of Primer::Alpha::TabPanels.
The extra  (renders_one) is being displayed both on the left and right side if configured to be on the right side.
This is happening on production environment only, which is even more weird to me. On Staging environment it works as expected.
I was able to reproduce it locally after changing env vars to "production", but unfortunately not to the point I can create a PR to share.
Some env settings:
Ruby 3.1.2p20
rails <IP_ADDRESS>
gem "primer_view_components", "~> 0.0.119"
gem "view_component", "~> 2.82.0"
gem "view_component-contrib", "~> 0.1.2"

Teh code have a custom component that is using Primer::Alpha::TabPanels. This custom component has a renders_one :extra_content.
This is the component code
class Shared::TabPanel::Component < ApplicationViewComponent
  option :label
  renders_many :items # (code simplified)

  renders_one :extra_content
end

<%= render(Primer::Alpha::TabPanels.new(label: label, display: :flex, body_arguments: { flex: 1 })) do |component| %>
  <% items.each do |item| %>
    <% component.with_tab(id: item.id, selected: item.selected) do |t| %>
      <% t.with_text { item.title } %>
      <% t.with_panel(classes: class_for(:panel)) do %>
        <%= item %>
      <% end %>
    <% end %>
  <% end %>

  <% component.with_extra(align: :right) do %>
    <%= extra_content %>
  <% end %>
<% end %>

What I noticed while debugging (with simple puts and changing the gem code locally) is that @align always starts with :left
and then is changed to :right
on the code from
https://github.com/primer/view_components/blob/972dd7bd92e79b2e8b54555f91770c4c1b280709/app/components/primer/alpha/tab_panels.html.erb#L3-L9
so the line with <%= extra if @align == :left %> always evaluates to true and renders the extra.
Any help is appreciated.
Thank you for the great work on primer.
Best,

Aha! https://github.com/primer/view_components/blob/b07e010c3e4b1be745b0da95f20fa3e2da8810f8/app/lib/primer/tabbed_component_helper.rb#L14

In development only, the validate_single_selected_tab method fetches all the tabs, which causes view_component to evaluate TabPanel's content, which calls extra before render. In production, extra is only called during render, and we see the behavior I explained above.


[Docker] Allow Container to bind < 1024 ports

Since the installation / setup of Gitea in Docker allows any port number to be bound to Gitea, there is a problem when issuing < 1024 ports number (like 80 or 443). This is because the /app/gitea/gitea binary is not executed as root.
To allow the binary to bind these ports, it must run as root. To avoid this, we use the command setcap (part of the libcap library) to allow the binary to only bound these ports while keeping it running as non-root.
The only problem I see with this is that libcap weights 45MB~. I tried using libcap at building time (in last stages) but the binary coudln't get proper permissions, so I resorted to this.

Duplicate of #6081 #2183. It should be not needed to use port below 1024 in a docker env. The extra weight is not needed and the way we are going good is to limit right not elevate them (even if limited). Maybe we should make an explicit check to be certain than noone use a port below 1024 in docker and print a help message why.

I will close that PR since it was discussed before and feel free to ask more questions on your issue #8065. I am pretty sure that all the options needed to use docker mapping -p 80:3000 and cover all use cases exist (ROOT_URL, LOCAL_ROOT_URL, ...). https://docs.gitea.io/en-us/config-cheat-sheet/


K-Combination Generation

Feature ✅
Description

Given 2 numbers N and K and considering you have numbers ranging from 1 to N, print all the subsets of size K.
Example

Input -
5 3
Output -
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
Mention language while requesting for assignment
Checklist:

[x] I have read the project guidelines.
[x] I have checked all the existing projects, before submitting a new project issue.
[x] This issue will be meaningful for the project.
[x] I will contribute more in future

I would like to do this with python. 🙂


make org delete scratch handle expired orgs

If I have a scratch org that expires, why is it an error if I execute org delete scratch?
If I execute sfdx org delete scratch , I get the following error:
Error (1): Attempting to delete an expired or deleted org
If I execute sf org delete scratch , then I get the following error:
        No authorization information found for <mailto:test-fdyjlnlamife<EMAIL_ADDRESS>See more help with --help```
The old behavior is that it would simply clean up the reference and move on.

And that behavior seems inconsistent with what happens when you execute `sf org list --all --clean` which does simply clean up the reference to the expired scratch org.

[Slack Message](https://salesforce-external.slack.com/archives/C02R1NEG2G3/p1680867956695259?thread_ts=1680867956.695259&cid=C02R1NEG2G3)

@WillieRuemmele thanks! For some reason sf update seemed to think I was updated but I wasn't. Uninstall and reinstall did the trick.
Was able to git rid of all orgs with connection status DomainNotFoundError but having issues with no connected status or RefreshTokenAuthError orgs.
Errors I receive:
For RefreshTokenAuthError attempt to sf org delete scratch -o <alias>
Error (1): Unable to associate this scratch org with a DevHub.

For RefreshTokenAuthError attempt to sf org delete scratch -o <username>
Error (1): The Dev Hub org cannot be deleted.

For empty connected status attempt to sf org delete scratch -o <alias>
Error (1): Attempting to delete an expired or deleted org

For empty connected status attempt to sf org delete scratch -o <alias>
Error (1): No authorization information found for<EMAIL_ADDRESS>


Disable preview at gyazo.com

In most cases, preview at gyazo.com is useless.
This change disables preview at *.gyazo.com.

nice! :smile:


Generating validation/behaviour for classes

Hi!
Is it possible to hook into the code generator somewhere and add custom behavior to the generated classes? I would like to enforce null constraints and directives in the schema (im generating Java).

We don't have custom hooks. We do have feature flags that you can go
through in the docs site but nothing that is for validation. Unfortunately,
you 'll need to fork the repo and add your own custom behavior if that is
desired.
On Wed, Jun 15, 2022 at 12:29 AM anderssandven @.***>
wrote:

Hi!
Is it possible to hook into the code generator somewhere and add custom
behavior to the generated classes? I would like to enforce null constraints
and directives in the schema (im generating Java).
—
Reply to this email directly, view it on GitHub
https://github.com/Netflix/dgs-codegen/issues/393, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJ5JPXIUZJWQTXD5PDYHQLTVPGA57ANCNFSM5Y2HTBGA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Track start and end date selected

state holds 2 dates at a time, clearing them when appropriate
Start to end, must be reflected in the footer, and the calendar UI
in-between dates highlighted on the calendar

In progress, state now tracks start and end day, but needs more specifics. Footer still needs to reflect them.


Enable Python 3.12 in CI

It's been out for a while. The change is needed to make sure we don't become unwillingly incompatible.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.22%. Comparing base (78bb621) to head (76ab6a1).
Report is 6 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #260   +/-   ##
=======================================
  Coverage   95.22%   95.22%
=======================================
  Files           1        1
  Lines         565      565
  Branches       96       96
=======================================
  Hits          538      538
  Misses         20       20
  Partials        7        7

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


fix bug where RateLimiter tries to unbind requestSuccessHandler

Coverage increased (+0.02%) to 29.592% when pulling 5146fadad60228a0de9d0b8c0fca38874e6cdba7 on u9520107:bug/rate-limiter-unbind into b055a0d2ea43451d4bffa8724ba29f582264332a on ringcentral:master.


Update modern-desktop-deployment-and-management-lab.md

Learn Build status updates of commit b92f799:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit be6977a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


DropdownMenu incorrect width

Hey everyone, I have a strange issue with a dropdown menu. Has anyone faced this one already ?
Seems new cause it's not happening on my production environment.
Issue description

components: Dropdown & DropdownMenu
reactstrap version #5.0.0-beta2
import method es
react version 16.2.0
bootstrap version 4.0.0

What is happening?
<DropdownMenu right> children overflow their parent

Code

v5 (with react 16): issue https://codepen.io/romainbessuges/pen/NyeVPw

After struggling finding a solution between Reactstrap, Bootstrap, React-Popper and Popper.JS, it seems that the only thing I was missing was the inNavbar bool prop on my Dropdown. As mentioned here : https://github.com/reactstrap/reactstrap/pull/692


Uncaught Could not find a solution for location C:\Users\phill\Desktop\test.cs

[Enter steps to reproduce below:]

Open IDE
Create C# file
Paste C# script in
Save it somewhere

Atom Version: 1.1.0
System: Microsoft Windows 10 Pro
Thrown From: omnisharp-atom package, v0.25.10
Stack Trace
Uncaught Could not find a solution for location C:\Users\phill\Desktop\test.cs
At C:\Users\phill\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:77

undefined

Commands
     -0:47.3.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:47.1.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:46.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:40 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:39.8.0 core:delete (atom-text-editor.editor.is-focused)
     -0:38.1.0 grammar-selector:show (atom-text-editor.editor)
     -0:34.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:32 editor:move-to-next-subword-boundary (atom-text-editor.editor.is-focused)
     -0:31.6.0 editor:move-to-previous-subword-boundary (atom-text-editor.editor.is-focused)
     -0:30.9.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:30.7.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:30.5.0 core:delete (atom-text-editor.editor.is-focused)
     -0:26.7.0 core:save (atom-text-editor.editor.is-focused)
     -0:14.6.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused.omnisharp-editor)
     -0:14.6.0 snippets:expand (atom-text-editor.editor.is-focused.omnisharp-editor)
     -0:14.5.0 editor:indent (atom-text-editor.editor.is-focused.omnisharp-editor)

Config
{
  "core": {}
}

Installed Packages
# User
atom-yeoman, v0.3.15
json-schema, v0.1.15
linter, v1.10.0
omnisharp-atom, v0.25.10

# Dev
No dev packages

Very strange, I'm trying to replicate it now, and I can't figure out why you're getting this failure.  Anything else that you remember that might help draw out the exact scenario?

I've converted this to an info notification for the time being, the omnisharp-roslyn server doesn't support lone cs files at this time.  Once it does I'll come back around and readress this issue.


Defend against numerical instability when computing number of clusters

[x] I agree to follow the project's code of conduct.
[x] I added an entry to rstar/CHANGELOG.md if knowledge of this change could be valuable to users.

Apparently, it can happen that n.log(k) yields j+eps even though k^j=n exactly. After the call to ceil, this ends up with depth being to large by one so that the number of clusters can end up as one as well in which case the bulk-loading algorithm enters infinite recursion eventually overflowing the stack.
This change defends against this by ensuring that we always build at least two clusters per recursion step thereby actually reducing the number of objects the next steps has to consider.

I have no idea how you found this, but: great!

Every seventh or so rebuild of the current per-segment spatial indexes at https://md.umwelt.info led to a stack overflow starting a week ago. We first thought it was due to Rayon's work stealing, background threads and a continuously growing number of documents. But debugging turned out that this is due to 216.log(6) == 3.000 .. 04 triggering a number of clusters of one. So basically, bad luck...

So basically, bad luck...

Actually, now that I think of it, the trigger was probably an upgrade of the base OS to Ubuntu 24.04 which most includes a newer glibc and thereby most likely updated transcendental function approximates like log.


Implement start_ap and stop_ap

The start_ap will add a ssid to the ssid_table,
let STA can scan ssid of AP which we created.
The stop_ap will remove this ssid from ssid_table,
let this AP is destroyed.
Signed-off-by: Yen<EMAIL_ADDRESS>

Please read this carefully: https://cbea.ms/git-commit/
Then, amend git commit messages.

I'm afraid that the BSSID client would see would not be the same as the AP interface's real MAC address, because the BSSID is generated via generate_bssid_with_ssid().


add badges

Make CI/CD and publishing status visible for management on https://releases.juju.is/?team=Data+Platform

@paulomach should we merge it AS IS or rebase to retrigger tests (for no need?)?
IMHO, merge this README.

@paulomach should we merge it AS IS or rebase to retrigger tests (for no need?)? IMHO, merge this README.

/merge


Autocomplete as a prop instead of hardcoded - closes #303

Description
Give control to the developer to decide if they want to use autocomplete. This is valuable since some forms begin with name/email/username etc, and they may still want the address to autofill if they autocomplete one of these fields. It is still defaulted to "off", so behavior won't change unless desired.
Checklist

[x] All tests passing
[x] Created tests which fail without the change (if possible)
[x] Extended the README / documentation, if necessary
[x] Commits and PR follow conventions

Closes #303

👍


Bundler::SharedHelpers.clean_load_path does cleanup the default load_path on jruby

when packing a jruby into jar the internal layout looks as such: let ROOT be the root of the jar.
JRUBY_HOME=ROOT
GEM_PATH=ROOT
GEM_HOME=ROOT
and the default load path of jruby is
$JRUBY_HOME/lib/ruby/2.3/site_ruby, $JRUBY_HOME/lib/ruby/stdlib
in such a setup Bundler::SharedHelpers.clean_load_path will wipe out the default load_path and you will see errors like:
LoadError: no such file to load -- bundler/dep_proxy
  block in expand_dependencies at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:630
                          each at org/jruby/RubyArray.java:1593
  block in expand_dependencies at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:629
                          each at org/jruby/RubyArray.java:1593
           expand_dependencies at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:626
         converge_locked_specs at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:594
                       resolve at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:195
                         specs at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:140
                     specs_for at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:185
               requested_specs at uri:classloader:/gems/bundler-1.12.3/lib/bundler/definition.rb:174
               requested_specs at uri:classloader:/gems/bundler-1.12.3/lib/bundler/environment.rb:19
                         setup at uri:classloader:/gems/bundler-1.12.3/lib/bundler/runtime.rb:14
                         setup at uri:classloader:/gems/bundler-1.12.3/lib/bundler.rb:95
                         <top> at uri:classloader:/json-bundler-warbler/bin/run.rb:3
                          load at org/jruby/RubyKernel.java:962
                         <top> at uri:classloader:/META-INF/main.rb:1
                       require at org/jruby/RubyKernel.java:944
                        (root) at uri:classloader:/META-INF/main.rb:1
                         <top> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
ERROR: org.jruby.embed.EvalFailedException: (LoadError) no such file to load -- bundler/dep_proxy

see https://gist.github.com/mkristian/5738370aba7d6cbe38d516cfdc07d992 for a complete example.
I did monkey patch with jruby-mains like this: https://github.com/jruby/jruby-mains/blob/master/src/main/resources/META-INF/monkey_patches.rb#L9 for some time now. but warbler does not have this monkey patch, so warblers packed jar files can fail when using bundler.
PR is coming

this issue came forward during investigation of https://github.com/jruby/jruby/issues/3850

👍  We need to get this out there ASAP so folks running into problems bundling apps into jars can still deploy their apps. Let me know what I can do to help.

@headius you may want to pick up the work @mkristian started doing on https://github.com/bundler/bundler/pull/4566

@LynnCo Pick it up? You mean test that it works?

@LynnCo Ok, so I guess you are saying we should fix #3881 before we consider a patch to Bundler. I'll clarify with @mkristian whether this bug is still valid.

@headius it seems like this was a jruby issue that Bundler code could have helped solve, so it would be ok to send a patch to resolve it on Bundler's end.
But if jruby is no longer experiencing the issue then I dont think it's worth your time to work on the Bundler PR

on warbler I am working on patch to fix this problem here. packing ruby application with gradle or maven works already with a monkey patch for bundler. it is clearly a jruby issue when jruby tries to normalize those uri-like paths which is still treated as regular path on filesystem.

Is this issue still relevant?

I'm also concerned about this issue. Not sure of the status -- will it be fixed on Bundler side, or does https://github.com/jruby/jruby/issues/3881 on JRuby side fix it?

oh - it never got fixed on the JRuby side :(
the problem is that there is some path normalization code which reduces :// to :/ and there is probably more then one place where the actual normalization takes place. fixing it on jruby is error prune but eventually needed. the attached patch in the issue, is a workaround for a JRuby quirk but reliable.

Is this issue still an issue? Can you try with the latest bundler? I think https://github.com/bundler/bundler/pull/6502 might've fixed this.


Loading bar throwing an error sometimes.

In heroku sometimes this error gets thrown in the browser's console:
angular.js:13642 TypeError: Cannot read property 'lastChild' of undefined
    at Object.e [as start] (loading-bar.min.js:7)
    at loading-bar.min.js:7
    at angular.js:19308
    at e (angular.js:5912)
    at angular.js:6191

Steps to reproduce:
1- Enter https://cc-gungnir-stage.herokuapp.com
2- click F12 to open the console
3- click F5 until you see the error in the console

Might have also gotten fixed with [#58]

Still happening, a lot less but still happens, saw it right after a deploy.


Make sample data time-independent, fix deprecation warnings

Fixes #629

I have one failing test on my local machine, but it doesn't have anything to do with your changes afaik.

Alright, thanks!


Http evader v3

Follows #198 with rebase on 0.5.x

For Suricata liblzma is an optional dependency. I wonder if we should do the same here, or make it mandatory on both sides.

I see that you wondered about this in #194 as well. Lets make it optional for now.

Indeed I have been wondering and forgot to mention it in the GitHub comments...
configure exits if it is not found, but compiled code works without it
I make it optional in http-evader-v4


Question: Why are not all constructors treated equally?

When hlint is used on the following file
module Constructors
where
data MyData =  ConstructorA Int Int Int
             | ConstructorB Int Int
             | ConstructorC Int
             | ConstructorD

cstrName :: MyData -> String
cstrName (ConstructorA _ _ _) = "ConstructorA"
cstrName (ConstructorB _ _)   = "ConstructorB"
cstrName (ConstructorC _)     = "ConstructorC"
cstrName (ConstructorD)       = "ConstructorD"

one gets two hints:
Constructors.hs:12:11: Suggestion: Use record patterns
Found:
  ConstructorA _ _ _
Why not:
  ConstructorA{}

Constructors.hs:15:10: Warning: Redundant bracket
Found:
  (ConstructorD)
Why not:
  ConstructorD

2 hints

I had expected the "Use record patterns" for all, to arrive at
a function that is independent of any record used in the constructors, i.e.,
cstrNameGoal :: MyData -> String
cstrNameGoal ConstructorA{}       = "ConstructorA"
cstrNameGoal ConstructorB{}       = "ConstructorB"
cstrNameGoal ConstructorC{}       = "ConstructorC"
cstrNameGoal ConstructorD{}       = "ConstructorD"

So my question: Why are not all constructors treated equally?

You could argue people prefer Just _ over Just{} quite reasonably, so the threshold was set to 3 arguments - below that, the number of arguments isn't as problematic with wildcards. For consistency I would recommend doing them all the same style, but that's a human judgement thing rather than an hlint rule.


BSO spawn lamp/box change

🚀 Feature Proposal
Im not sure of a way to resolve this issue, but it is highly irritating. bso spawn lamps is absolutely infuriating, every time I try to spawn a lamp or a box, with the command that I got from PAYING on patron, someone will spam any button to try and steal it. its a paid perk, why would anyone else be able to steal your stuff? you ran the command, you paid the patron tier price, why would anyone be able to interact with your command? ive heard this is about not wanting people to have a lamp 100% of the time, thats fine. make it a 33% chance to get something, idc. but dont let someone RUIN someone elses PATRON PERK. i paid to support magna, and the lamp is part of the package. why can others steal it from me and harass me about it? I dont want to be forced to go to the MOST POPULAR bso channel to use the command. NO ONE should be able to interact with a paid command, that they DIDNT pay for. how are non patrons benefiting from patron perks?

Let spawn box and spawn lamp be used on other channels, dont force it on the most populated channel.
Dont let non patrons interact with patron commands
Implement different ways of limiting lamps/boxes (if thats the issue about it), other than letting others grief people.
If no to all 3, then let ironmen have a few secs of immunity to other peoples griefing. (give irons ~5sec before others can steal your patron perk) especially cause they are perm irons, getting a 100% lamp or box isnt going to break the game.

to me, this is 100% a problem.

I would love to see this topic discussed in the #bso-discussion channel

I would love to see this topic discussed in the #bso-discussion channel

Made a BSO-discussion on the topic, there is multiple stances and there clearly is something that affects players in a negative way but most are passive accepting it because of tradition, linking the discussion below:
https://discord.com/channels/342983479501389826/1016008399500091432/1036306446456979499

I understand the annoyance you have - the reason it's like this though, is to reduce the "P2W"-ness of it. The perk of being a patron is to spawn it, not to get it. We made a change to make it easier for the patron to get (they get 2 guesses instead of 1). I'm open to more changes, like: the spawner gets the first guess OR the first X seconds, and then others can guess. I'm closing this and making a poll in the bso vote channel.


Running the code on Windows (and tried Mac)

Sorry, if I am missing something. However, I did run the following commands to receive some errors.
On Windows:
Opened the project using VSCode ran pipenv install and finally ran parser to get the following
PS C:\Users\lobvi02\Downloads\OCR\receipt-parser> & python c:/Users//Downloads/OCR/receipt-parser/parser.py
Text, Market, Date, Sum
1539958502,0,0,0,0,
On Mac:
As instructed ran make run and got
**make: *No rule to make target 'Importer', needed by 'run'. Stop.
I am new to Python and so have my questions.

After finishing docker build run the following command:
sudo docker run -v :/usr/src/app/data/img mre0/receipt-parser

@vnl in addition to what @PranavBharadwaj-1328 said, are you sure you have the latest version of the project? There is no importer target in the Makefile. It was renamed to import.

Closing this for now. Feel free to reopen if the problem still persists.


Marketing Research

Find at least one person who would be willing to help or direct marketing for us

this is indeed a issue

weekly repeatable twitter post
monthly repeatable discord post


Debug PR

Codecov Report

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

@@           Coverage Diff           @@
##           master      #90   +/-   ##
=======================================
  Coverage   40.09%   40.09%
=======================================
  Files          16       16
  Lines        2437     2437
=======================================
  Hits          977      977
  Misses       1440     1440
  Partials       20       20


fix: fixing some Node.js related issues with the sso docs.

Add the Node.js runtime to the list of other runtimes in the intro
Fix a link to the keycloak-connect module
Remove reference to an uberjar during deployment instructions

@rhoads-zach  👀

Can one of the admins verify this patch?

[retest]

LGTM, merging.
Thanks @lholmquist


Handle Animate dependency

Currently Animate is used for computing Hessians.
We should either avoid this dependency or raise useful errors if a user attempts to use this functionality without having installed Animate.

Thinking out loud here... Maybe we could have a compute_hessian function in Movement that would first try to import e.g. recover_hessian_clement from animate.recovery (assuming it's a standalone function - which it isn't atm). If that raises ImportError we could try remote fetching and execution. And if that fails we raise an error.
Something like:
import requests
import re

def compute_hessian():
    try:
        from Animate.recovery import recover_hessian_clement
        print("Loaded recover_hessian_clement from Animate.")
        return recover_hessian_clement
    except ImportError:
        print("Animate is not installed. Attempting remote execution...")

    try:
        url = 'https://raw.githubusercontent.com/mesh-adaptation/animate/main/animate/recovery.py'

        # Fetch the raw content of the file from GitHub
        response = requests.get(url)
        response.raise_for_status()
        file_content = response.text

        # Extract the 'recover_hessian_clement' function
        compute_hessian_code = re.search(r'def recover_hessian_clement ...).group(0)

        # execute the extracted function in local namespace
        local_namespace = {}
        exec(compute_hessian_code, {}, local_namespace)

        # Retrieve the recover_hessian_clement function
        recover_hessian_clement = local_namespace.get('recover_hessian_clement ')
        if compute_hessian is None:
            raise ValueError("Failed to load recover_hessian_clement from remote execution.")

        print("Loaded recover_hessian_clement via remote execution.")
        return recover_hessian_clement

    except Exception as e:
        raise ImportError(
            f"Failed to load recover_hessian_clement. Please install Animate or enable remote fetching."
        )

I have a feeling software engineers would hate this, but maybe it's not bad if we really want to avoid Animate dependency for just this one function? :)

Thanks for the suggestion but I don't want to put this kind of thing in the repo. Indeed, it's not good software engineering practice.
What I was thinking of most recently was implementing simple gradient and Hessian recovery methods in Movement with a switch to use the more extensive implementations in Animate if it's been installed.
Alternatively, we could propose to get Clement interpolation merged into Firedrake itself so all the packages, as well as other Firedrake users can make use of it.
I'll put this issue in the "discussion" section for the next meeting.

Could also try to get some gradient and Hessian recovery functionality merged into Firedrake? They might be interested in Clement interpolation, for example.


managed server listen address is incorrect

On a managed server restart, the container may not get the same ip address.  When this occurs the managed server won’t start.  The listen address should be set to hostname when the MS_NAME variable is passed.   The current behavior will remain unchanged if MS_HOST env variable is not passed as mshost defaults to msinternal
samples/container-scripts/add-server.py is setting ListenAddress as container ip address:
cmo.setListenAddress(msinternal)
It should be:
cmo.setListenAddress(mshost)

Hi @aquasheep20, can you provide a PR in which we can test this change?

PR opened

Thanks. We are look into it.

Fixed and code merged


Fix "good" examples for Lint/Loop cop

The given examples were not equivalent, because begin/end ensures that the body runs at least once, while the proposed examples don't.

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[X] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!

You're welcome :)


Addres comments on Flat PR

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Changelog fragments have been written (if appropriate)
[ ] Relevant tickets are mentioned in commit messages
[ ] Formatting, PNG optimization, etc. are updated

PR

[ ] (For external contributions) Corresponding issue exists and is linked in the description
[ ] Targeting master unless this is a cherry-pick backport
[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

you forgot the size of Flat Kind instance


Can't add package to Xcode SPM

@roeesaverone We do not use or maintain the project any longer. But feel free to send a PR and I will accept it.


Compute and Web section missing example names

The Compute and Web section is missing example names for several components. e.g. app service plans and environments.

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

ID: c6dff4c3-d2d7-3825-d753-fc7338004f43
Version Independent ID: b2c190ac-1d2e-93fc-caee-d59c278f549a
Content: Recommended naming and tagging conventions - Cloud Adoption Framework
Content Source: docs/ready/azure-best-practices/naming-and-tagging.md
Service: cloud-adoption-framework
Sub-service: ready
GitHub Login: @BrianBlanchard
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#286748

Thanks for reporting this. Microsoft Internal DevOps Bug ID AB#286748 has been resolved.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_ffjgcaul7l/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_ffjgcaul7l/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_ffjgcaul7l/clone/recipe/meta.yaml:42: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_ffjgcaul7l/clone/recipe/meta.yaml:42: missing_description: The recipe is missing a description
ERROR: /tmp/abs_ffjgcaul7l/clone/recipe/meta.yaml:42: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_ffjgcaul7l/clone/recipe/meta.yaml:42: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


Swedish translation

Hi, @JiHong88 , firstly, thanks for an amazing open-sourced text editor
Our team is going to use it in some of our internal projects and we need it to be translated to Swedish
I know there is a possibility to provide custom translations for each particular application, but we thought it would be much more convincing to add a new locale directly to SunEditor
Would you, please, consider merging those translations?

Hi @OlehRb
Thank you for your contribution!!
I'll notify you after update the version.

Hi @JiHong88
Sorry to bother you, but is there any news, regarding when those changes are planned to be released?

Hi @JiHong88
Sorry to bother you, but is there any news, regarding when those changes are planned to be released?

@OlehRb It will be update today.

@OlehRb It will be update today.

@OlehRb The 2.35.0 version has been updated.
Thank you.

@OlehRb The 2.35.0 version has been updated.
Thank you.

@JiHong88 , super, thanks

@JiHong88 , super, thanks


Support for Smart1-cloud

Can not log into Smart1 Cloud for pushing policy / items to Smart1-Cloud.  Suspect it's associated with different requirement to specify DNS name for management endpoint location and context id that is not captured / passed for login.

The script will run with the following parameters:
Custom name for imported package (optional) = TestPkg
Management Server IP = .maas.checkpoint.com
Management Server Port = 443
Management Server Domain = None

Change Settings
Run
Back
2
Please enter your username:
admin

Please enter your password:
You currently do not have a record of this server's fingerprint.
Server's fingerprint:
Do you accept this fingerprint? [y/n] y
Fingerprint saved.
Login to management server failed. instance({
"data": null,
"error_message": "APIResponse received a response which is not a valid JSON.",
"res_obj": {},
"status_code": 506,
"success": false
})

Hi @RN42-4u,
Thanks for reporting this issue. please do the following:

Reproduce the issue
Connect to Mgmt via SSH and execute api status -s
Send the output (.tgz file) + tool logs to<EMAIL_ADDRESS>
Thanks,
Roy

Support will be added in Q3, 2022.

Hi All,
We added support for Smart-1 Cloud to Export&Import tool and also to our python SDK.
Use argument '--cloud-mgmt-id' to pass Smart-1 Cloud management identifier.
Regards,
Roy


[Missing] Group Statistics

Blog: https://telegram.org/blog/profile-videos-people-nearby-and-more

Support was added in TDLib 1.6.7.


fixing spelling of compliance in accept_license

This one got me for about 3/4 of a day till I saw it.

Excellent; and thank you, been meaning to merge that but I've been distracted! Thanks (and sorry for the typo)
👍


Document how to setup a stream for Google Analytics to collect usage data

It would be helpful to add a bit more details on how to setup Google Analytics to track usage. I see place in 'Environment.js' where GA ID needs to be inserted, but it is not clear how to setup the GA Data Stream (web, android, ios?)

Here is a link to the basic steps to set up an Analytics account and property for a website. You will get an ID that you can use in GroupAvail and user's scheduling uses will show up as events.
https://support.google.com/analytics/answer/10269537?hl=en


Starting the change by editing the css

This is the start of the feature request of the highlight effect

I made the markers look more retro and until we find a better marker icon I think thats the best we can do for now. and it simultaneously highlights from the right side clickable note to the left and the cursor changes.


move NodeExporter* alert ownership to provider team

Moving node exporter alerts related to filesystem and system collectors to provider team.
Also linking the newly created ops-recipe: https://intranet.giantswarm.io/docs/support-and-ops/ops-recipes/node-exporter-device-error/

BTW, the NodeExporterCollectorFailed has no opsrecipe either :slightly_frowning_face:

Is someone here to review this ? @giantswarm/team-phoenix @giantswarm/team-rocket @giantswarm/team-hydra @giantswarm/team-clippy

I'm ok with the change but this ops recipe https://github.com/giantswarm/giantswarm/pull/25007 should say that for CAPI we should delete corresponding Machine CR to roll the node.


syncplay-beta: Update to version 1.7.1-RC1

Fixes checkver.script and autoupdate.url
The repo's inconsistent with using v in tags, so a case was added for stripping it

[x] I have read the Contributing Guide.

/verify

/verify

/verify

/verify

Can someone merge this please?


Add math.stretch element function

Closes #1304. This PR continues @Leedehai's work in #4569.
This PR adds the element function math.stretch, which allows you to stretch a glyph horizontally or vertically (only if the glyph is stretchable in the font - this means it has entries in the MathVariants table). It automatically stretches the glyph along the correct axis. You specify a size to stretch the glyph to with the size parameter, which is auto or relative (to the glyph's current size). This size parameter defaults to auto, which will only have an effect if a top/bottom attachment is attached to stretch(...).
When there are top/bottom attachments present, and when math.stretch(attach: true) is set (true is the default), the size parameter will instead be relative to the top/bottom attachments' width. Here is also where auto comes into play, which will stretch the glyph to the size of the top/bottom attachments.
The example below sums up how it all works.

  // Acts the same as if there weren't attachments.
  stretch(arrow.l.r.double, size: #3em)^"text" \
  stretch(arrow.l.r.double, size: #3em) \

  // You can disable sizing being relative to
  // attachments when needed.
  // Or you can always disable it globally with
  // a show rule.
  stretch(->>, size: #200%, attach: #false)_"surjection" \
  stretch(->>, size: #200%)
$

See the tests for some more examples.
Implementation
I've been able to avoid adding to the proliferation of fields on the structs in fragment.rs by checking if the base of an attachment is a StretchElem and then peeking inside.
The StretchElem lives in stretch.rs. I've moved the delimiter_alignment function there from mod.rs. I've also changed some of the code in lr.rs to avoid some repetition, by relying on the functions in stretch.rs.
If a glyph for some reason has both horizontal and vertical variants, I've opted to panic for now. This should probably never happen, and if it does we'd want to know the culprit font...
I also don't know if the name of the parameter attach is great. Idk what else to name it though.

Thank you. Nice work! Also thanks to @Leedehai for getting the ball rolling on this!

$stretch(|, size: #3em)_a^b$ doesn't work properly. This has also broken #4188 I think. There should be more test cases for that, not too surprising then that it slipped through...
I'm working on fixing this.

I've found an issue I made when implementing this: stretching things vertically doesn't work at all with an attachment.
I'll try to fix this.


Disable RI county test positivity from covid-county-data, since the rates seem to be way higher than CMS.

The CMS rates are way lower and inline with the state-level positivity, so I think we should use CMS.
https://trello.com/c/e9o3mhjW/585-try-switching-to-cms-test-positivity-data-for-rhode-island
Demo snapshot here (FYI- also includes reenabling OR, NE, and CA HHS data): https://covid-projections-git-mikelehen-demo-snapshot.covidactnow.vercel.app/internal/compare

 Try switching to CMS test positivity data for Rhode Island.


Stackdriver tracing failing configuration upon start can block Istio-proxy

Bug description
Follow up from https://github.com/istio/istio/issues/17357#issuecomment-806187596 (cc @douglas-reid thanks for the quick response). Stackdriver tracing can block istio-proxy from starting up. When tracing configuration fails, it causes istio-proxy to panic rather than swallowing the tracing configuration error and starting with limited functionality. We can see that zonal locality lookup failing (in my understanding used for platform recognition) does not block istio-proxy from bootstrapping. There are arguments to be made that tracing is non-essential functionality that istio-proxy can function without.
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[x] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Istio-proxy successfully starts with limited functionality (tracing does not work)
Steps to reproduce the bug

Install Istio with v2 telemetry and stackdriver tracing enabled
Add a network policy to block egress to instance metadata server

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: block-metadata
  namespace: busybox
spec:
  egress:
  - ports:
    - port: 53
      protocol: UDP
    - port: 53
      protocol: TCP
  - to:
    - ipBlock:
        cidr: <IP_ADDRESS>/0
        except:
        - <IP_ADDRESS>/32
  podSelector:
    matchLabels:
      app: busybox
  policyTypes:
  - Egress

Launch an istio-injected pod selected by the NetworkPolicy and inspect istio-proxy logs to see that it fails

apiVersion: v1
kind: Pod
metadata:
  name: busybox
  labels:
    app: busybox
spec:
  containers:
  - image: busybox
    command:
      - sleep
      - "infinity"
    imagePullPolicy: IfNotPresent
    name: busybox
  restartPolicy: Always

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
Istio 1.8.3
How was Istio installed?
Istioctl install
Environment where the bug was observed (cloud vendor, OS, etc)
GKE, GCP Compute Engine

Still an issue by the way on 1.11+

@Minh-Ng was this ever resolved? I recall a PR being open for this issue, but I don't recall if it was merged.


Fix crash when marshaling sets to Java

Sets of primitive Java types aren't properly boxed when moved to Java which causes crashes. This PR brings Set marshaling to be equivalent to List marshaling with proper boxing and HashSet initialization of proper size.

Automated message from Dropbox CLA bot
@izacus, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here and update the thread so we can consider merging your code.

CLA taken care of.

Thanks for fixing!


Introduce gcm auto module

This module allows automatic assignment of causal mechanisms to nodes in the causal models.

@amit-sharma I'll let @bloebp respond to your comments in detail, but just a general comment: The goal of this module was to provide a mostly hands-free approach to assigning causal models. A lot of feedback we got was that people didn't know what causal mechanisms to assign. So we're not giving much flexibility on this on purpose. In case users are so advanced that they know what they want, they're better off just assigning it manually. And I'd rather add a convenience function (outside of the auto module) that can make the manual assignment less painful.


Threadsafe Spawn

Spawn should not be called during some file descriptor manipulation. It's not just cloexec, but also races for fds created on stdio. Let's fix that by introducing a rwlock and a restricted interface:

W: lace_compat_fd_spawnvp()

move fds to stdio
set fds inheritable
spawn
close the inherited fds

R: lace_compat_fd_claim()

move off stdio
set cloexec

R: lace_compat_fd_file_open()

open file then claim
probably a few versions of this one

R: lace_compat_fd_pipe()

pipe then claim both

N/A: lace_compat_fd_close()

close, that's it. no lock needed here.

Work looks like:

[x] test rwlock static initialization. hopefully doesn't flag leaks in valgrind
[x] get write lock in fd_spawnvp
[x] get read lock in fd_claim
[x] get read lock in fd_file_open versions
[x] get read lock in fd_pipe
[x] hide spawnvp versions without locks
[x] remove direct calls to open()
[x] hide fd_duplicate
[x] hide fd_cloexec
[x] hide fd_inherit
[x] stdio move in lace_compat_fd_spawnvp()
[x] lace_tool_pipem() cannot reserve fds, so it has to pass the pipe fds to the callback
[x] delete fd_reserve
[x] get write lock in fd_move_to(), can be read lock when dst isn't stdio
[ ] call execfd in main executable

Seems to work on the "safe" branch. I think we could stress it better with competing spawn calls. Maybe by bringing execfd and waitdo to the main lace process.


Transclude slot doesn't work as expected when outlet is in a

Want to create a table component but still allow users to customize the rendering of each row
This does not seem to work
component('myTable', {
    transclude: {
      row: 'row',
    },
    replace: true,
    template: `

    `,
  })

<my-table>
    <row>
        this doesn't show up
    </row>
</my-table>

The <row> tag ends up being rendered inside the
, and s are lost

The browser takes liberties with
 and  tags (seems to strip them out if they're not in the right place)
One way to solve would be if we could transclude
 and transclude: { row: '[attribute-selector]'}

Looks like this is a follow-up to https://github.com/angular/angular.js/issues/14169
Yes, browsers discard td and tr elements if they are not inside a table element. This is standard behavior and cannot be changed, because the browser parses the HTML before Angular mutates the DOM. Looks like a valid use case attribute selectors in multi transclusion.

I am not sure how attribute selectors would help here. The problem is that yu can't have  elements inside non-
 elements. How you select them is not the issue.

I think attribute selectors would allow
component('myTable', {
    transclude: {
      row: '[row]',
    },
});

<my-table>

        this doesn't show up

</my-table>

It wouldn't, because
 elements are not allowed inside <my-table>.

@gkalpak is correct, I think we can close this. Angular 1 is not built to work around these browser limitations.


Make 2 PATCHes at once

How would I do this:
[
{
"op": "replace",
"path": "receivedStatus",
"value": "PartiallyReceiveCloneRest"
},
{
"op": "replace",
"path": "receivedQuantity",
"value": 1
}
]
URL is: {{baseUrl}}/procurement/purchaseorders/:parentId/lineitems/:id
Worked in Postman but can't figure it out in the client.
Thanks!

I was wondering the same thing but I don't think you can combine multiple field updates in a single update via ConnectPyse as it sits.
Via the CW api, you would pass in a list of dict's that are formatted like your example.
looking at the update logic in the CWController, it builds that dict for you from the key,value you pass in but limits the list to one item.  here is the function for example (from CWController.py)
def _update(self, item_id, key, value):
    # build PatchOperation dict
    patch_operation = [{
        'op': 'replace',
        'path': key,
        'value': value
    }]
    # call Patch method on API

...
If you tried to pass in a dict for the key and another for the value in the update function, you would end up with a dict inside of a dict rather than a list of dict's.
you could try subclassing CWController and override that method, but what is probably needed is a method that takes a list of dict with key/value and then builds the correctly formatted list.
I currently use the update heavily in one script and I just have to call it multiple times.  It's simple, but it does bug me to make  5 or 6 separate updates when I could do it in one.  Currently it works, so I'm living with it but ideally it could be optimized.  When time permits, maybe I'll give it a try.

Thanks for that.
The problem is, that the case that I gave is very specific and needs to be done in the same call. Otherwise it errors out.

Hi @emichaud - Thanks for the PR.  While I agree your approach would work, what do you think about my alternative?  Every API module would still need to be touched in both cases, but maybe a new method isn't needed in each class?

Hi Mark - took a look your approach.  I tried to get it working but I kept getting errors for missing the value parameter when I used a signature like api.update_ticket(12345, change_dict). I'm sure that would be fixed.
My first thought was to modify the existing pattern (like you did) but without making a breaking change.  I wasn't sure how to do that cleanly so I figured the next best was to just start with a new pattern to support one or more updates via a change dict - which is probably how it should have been done initially.  So I figured add an approach that works with one or many changes and maybe deprecate the original.
But, I didn't feel good about deprecating the original, because it's actually a really simple yet expressive way to update a ticket.  so I'd like it keep it actually.
So that comes back to your approach, if you get it working so it supports both signatures:
update_ticket(1234, "summary", "this is a new summary"  or
update_ticket(1234, changes_dict)
then that would accomplish both goals and avoid adding a new method to every endpoint which is smart I think.
We just would have to be clear in the documentation so it's easy to discover the approach.
Hope that feedback helps and I'm happy either way if we get the new feature in soon :).  I appreciate the discussion.

Hi @markciecior,
just checking in.  What are your thoughts on next step?  What can I do to help?

Hey @markciecior,
I worked on this a bit more to try and figure out the method signatures.  Here is a quick test.
-- add a 3rd parameter to the signature, make all optional
def update_ticket(ticketId:int, key:str=None, value=None, value_dict:list=None):
if value_dict:
print(value_dict)
else:
print(f'Ticket: {ticketId}, Key: {key}, Value: {value}')
-- simulate a list of changes
changes = [{'op':'replace','summary':'New Summary'},{'op':'replace','status/id':24}]
--try different signatures
--original signature
update_ticket(12345, "summary", "server is down!")
Ticket: 12345, Key: summary, Value: server is down!
** appears to be backwards compatible
-- try with all fields populated
update_ticket(12345, "summary", "server is down!", changes)
[{'op': 'replace', 'summary': 'New Summary'}, {'op': 'replace', 'status/id': 24}]
** printed list due to logic, that would also work
--try with only a list of changes
update_ticket(12345, changes)
Ticket: 12345, Key: [{'op': 'replace', 'summary': 'New Summary'}, {'op': 'replace', 'status/id': 24}], Value: None
** this does not work as intended as the "key" grabs the list for the first parameter
--try with a named parameter
update_ticket(12345, value_dict=changes)
[{'op': 'replace', 'summary': 'New Summary'}, {'op': 'replace', 'status/id': 24}]
** this works using the named parameter
Now, I'm kinda new to this so I might be missing something obvious.  but if my approach is correct and the named parameter is the only way to get this working, then I would have to change my recommendation back to my initial idea of just adding a new method for the multi updates.
rationale: we could get this to work and be backwards compatible, but we would also be forcing the method to do two things and create a dependency on the named parameter.  If that is the case, it might be the only place where that type of syntax is required.
I guess I'd prefer to:
a) add the new method (maintain single concern for each method)
b) point the original update by key and value to just wrap the new method by calling it with a prepared list[dict]
c) consider deprecating the original method and point to the new method for future use
I'm struggling a bit with how to infer a list of dictionaries as a parameter, maybe type hinting?  In either case, it's mostly semantics.
Your call, just let me know what i can do to help.

Hey @mendykrauss,
I'm working with Mark on a pull request to add that type of functionality to the project.  Solving the problem is not hard, just deciding on the best way to solve it takes some thought because once it becomes part of the code base, it has to be maintained.
I still need the update functionality for a project I'm working right now, so as a work around I came up with a subclass approach that you can use with the current shipping version of ConnectPyse.
Its a single file custom controller that only supports purchase orders and service ticket  updates - purchase orders for you and service tickets for me, but nothing else.  Usage will feel very similar to existing methods.
You can download the code here:
https://gist.github.com/emichaud/83b9cd6b186c19c1087d4c5e90383e48
Here is an example of how to send an update with multiple changes in one pass.
``
from custom_update_controller import CustomPurchaseOrderAPI
#connect to api
api = CustomPurchaseOrderAPI(url=BASE_URL, auth=AUTH)
#use pattern of dict with many key/value pairs
mychanges = {"shippingInstructions":"place on front porch" , "vendorOrderNumber": 8675309}
#call api and update item
api.update_item_attributes(po_number, mychanges)
``
hope you find that helpful
custom_update_controller.py.zip
.

I think that for now, I would keep the original update and add another update method to allow for custom dicts, in order to allow for dicts & lists...
What do you guys say?

Hey @markciecior,
I worked on this a bit more to try and figure out the method signatures. Here is a quick test.
-- add a 3rd parameter to the signature, make all optional
def update_ticket(ticketId:int, key:str=None, value=None, value_dict:list=None):
	if value_dict:
		print(value_dict)
	else:
		print(f'Ticket: {ticketId}, Key: {key}, Value: {value}')

-- simulate a list of changes changes = [{'op':'replace','summary':'New Summary'},{'op':'replace','status/id':24}]
--try different signatures
--original signature update_ticket(12345, "summary", "server is down!") Ticket: 12345, Key: summary, Value: server is down! ** appears to be backwards compatible
-- try with all fields populated update_ticket(12345, "summary", "server is down!", changes) [{'op': 'replace', 'summary': 'New Summary'}, {'op': 'replace', 'status/id': 24}] ** printed list due to logic, that would also work
--try with only a list of changes update_ticket(12345, changes) Ticket: 12345, Key: [{'op': 'replace', 'summary': 'New Summary'}, {'op': 'replace', 'status/id': 24}], Value: None ** this does not work as intended as the "key" grabs the list for the first parameter
--try with a named parameter update_ticket(12345, value_dict=changes) [{'op': 'replace', 'summary': 'New Summary'}, {'op': 'replace', 'status/id': 24}] ** this works using the named parameter
Now, I'm kinda new to this so I might be missing something obvious. but if my approach is correct and the named parameter is the only way to get this working, then I would have to change my recommendation back to my initial idea of just adding a new method for the multi updates.
rationale: we could get this to work and be backwards compatible, but we would also be forcing the method to do two things and create a dependency on the named parameter. If that is the case, it might be the only place where that type of syntax is required.
I guess I'd prefer to: a) add the new method (maintain single concern for each method) b) point the original update by key and value to just wrap the new method by calling it with a prepared list[dict] c) consider deprecating the original method and point to the new method for future use
I'm struggling a bit with how to infer a list of dictionaries as a parameter, maybe type hinting? In either case, it's mostly semantics.
Your call, just let me know what i can do to help.

After way too much thought, I like this idea the best - add a new method, use it to wrap the original, and someday deprecate the original.
@emichaud if you want to update your PR to include wrapping the original method, I'll merge it and bump PyPi.

Thanks guys!
Pleasure working with you on this!