dynamic navigationOptions not working in TabNavigator

Hi, I'm using TabNavigator and I have issues with using function as navigationOptions param. I have checked docs, other issues and StackOverflow but with no success. Details below, any help is appreciated.
Current Behavior

My components look like this:

const EventNavigator = TabNavigator(
  {
    Event: {
      screen: Home,
    },
    Schedule: {
      screen: ScheduleComponent,
    },
    Notifications: {
      screen: NotificationsPage,
    },
    PromoCodes: {
      screen: PromoCodesPage,
    },
  }
)

// Here I render Tab navigator defined above
class EventPage extends React.PureComponent {
  props: EventPageProps;

  render() {
    const { dropdownOpen, closeDropdown } = this.props

    return (
      <View style={style.col}>
        <EventNavigator
          screenProps={{ rootNavigation: this.props.navigation }}
        />

        <MenuDropdown
          isOpen={dropdownOpen === "APP_MENU"}
          onClose={closeDropdown}
        />

        <FiltersDropdown
          isOpen={dropdownOpen === "FILTERS"}
          onClose={closeDropdown}
        />
      </View>
    )
  }
}

And this is Home component:
class EventFrontPage extends React.Component {
  static navigationOptions = ({ navigation, screenProps }) => {
    console.log("NAV OPTIONS PROPS", props)

    return ({
      tabBarLabel: "Home",
      tabBarIcon: (iconprops) => {
        console.log(props);
        return (<GeIcon
          name="home"
          size={20}
          style={{ width: 24, height: 24, color: iconprops.tintColor }}
        />)
      },

    })
  };
  ...

Note: console logs were here to help me debug the issue, but they are not called as well, as if entire navigationOptions method is not called.
I have double check everything and it looks good, but so far I have no success in making this work.
Expected Behavior

navigationOptions method should be run and config should be changed based on returned object.

Your Environment

Include as many relevant details about the environment you experienced the bug in

software
version

react-navigation
1.0.0-beta.12

react-native
0.44.2

node
6.7.0

npm or yarn
0.21.3

I have the same issue as your @Pustelto
I've tried console log like your demo and got nothing.
I use:

react-navigation: 1.0.0-beta.11,
react-native: 0.47.1

Pinging OP @Pustelto since this issue has not been active for a while, and it's related to an old version of the lib.
Please let me know if you want this to remain open; if I get no answer in the next 7 days I will close it.
Moreover I suggest you take a look at this issue for how to implement dynamic options: https://github.com/react-community/react-navigation/issues/2818

Hi thanks for the info. I'm not sure when I will be able to check this properly. Therefore you can close the issue for now. I will test it later on (and the solution in #2818) and in the worst case re-open the issue again.
Are you ok with this?

Perfect 👌


Support erts versions prior to R14

This patch adds support for R13 (which is still in widespread use) by
switching from binary:split to string:tokens, in order to decompose
the path being searched.

I'm going to decline this, performance is more important to me than supporting users of R13, which is two major versions behind at this point. Please feel free to maintain an R13 compatible fork as long as you think it is useful.

Ok no probs, thanks for letting me know! I'll maintain/synch a fork for the time being, until R16 is released. Cheers.


Update Oobleck-test-instructions.md with Debug Help

Added a Debug Help space to help with set up and running of Oobleck Tests.

LGTM! Merged.


Upgrade egulias/email-validator to 1.24

There's a problem with <IP_ADDRESS>/5 - it's impossible to register as a new user because a perfectly valid email address is rejected as incorrect. This is due to the recent addition of the strict argument in the Strings.php helper which exposes the bug. The underlying vendor library fixed the bug over a year ago. This pull just updates composer.json and composer.lock to pull in the fixed version. Not sure if this is entirely the right way to proceed or whether a more recent version of the library (current is 1.2.11) is appropriate, but it needs some quick attention since this is something of a show stopper for a lot of people.
More info:
https://www.concrete5.org/community/forums/5-7-discussion/email-validation-issues-on-<IP_ADDRESS>
https://www.concrete5.org/developers/bugs/5-7-5-5/registration-does-not-accept-valid-email-address/

Why just upgrade to 1.2.4? It seems that we could use the latest 1.2.11 without problems...

I concur. I wasn't sure whether that would rock the boat a little too much.

Sigh. This is correct – I can't register
Let's move it up to the latest stable (1.2.11.)
@KorvinSzanto seems like we shouldn't have blindly turned "strict mode" on for the email() helper in places like the user registration routine without at least testing that it worked, especially since the testing of MX records was optional and not used in the core user registration/add routines.

Actually, given what we've just experienced, let's leave it at 1.2.4 for now.


Update authorized rep pages

Asana Ticket for Context: https://app.asana.com/0/1204547723915585/1206412248510787/f

The code looks good to go. The only thing I notice which is technically not part of this ticket, is that the authorizedRepContactInfo screen says required fields will be marked with a red asterisk but none of the required fields have that red asterisk.


[New Model]: bump a new version of vllm to support Qwen2 series

The model to consider.
Qwen2 series, in https://huggingface.co/Qwen/Qwen2-7B
The closest model vllm already supports.
Qwen1.5 series
What's your difficulty of supporting the model you want?
Current version （v0.5.0-post1）didn't have the kernel to run Qwen2 series.
The intermediate size of all qwen2 models is not supported by punica yet.
And now the problem have been solved by https://github.com/vllm-project/vllm/pull/5441
I'm glad to see that the code is bumped and a new version will be introduced in the next days!

Would love an update on that, too, and am pretty sure many ppl would appreciate it. Thanks!!

Closing as v0.5.1 has been released.

Thank you ！！！


Document ILM Behavior with edge-case versioning scenarios

Summary
During a troubleshooting session we encountered an interesting situation where a user had a folder with multiple delete markers for objects - that is, a single object had several delete markers.
ILM Expiry supports deleting objects with only delete markers remaining, but both ours and S3's behavior here is to delete at most one (the latest I think) of those delete markers.
This raised the question of trying to capture other types of unusual  versioning behavior and how it might interact with ILM.
Will need to lean heavily on @krisis , @vadmeste , @kannappanr , and @kanagarajkm for some guidance in determining what the weird versioning states are and how ILM interacts with those states.
Goals
List the in-scope goals

[ ] Assemble a list of "weird" versioning states
[ ] Refine ILM expiry/transition behavior docs based on observed behavior during those states
[ ] Create additional documentation if required for avoiding those states (where it makes sense to)

Non-Goals
We might need to keep this open and do several smaller PR commits as we find these edge cases, as they are not always apparent and may only occur under certain workloads (e.g. Spark w/ suboptimal pipelines or committer behaviors).
Additional context
Add any other context or screenshots about the feature request here.

Starting with RELEASE.2022-08-22T23-53-06Z, DeleteMarkers are idempotent.
I don't think this is needed any longer.
@ravindk89 thoughts?

Think we're good not doing this.


npm install

Hello, I'm a beginner in codecombat development. I'm very excited about it. But I'm having trouble in one of the steps of building (https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Windows). When I type 'npn install' an error appears that I still can not solve:
error https://goo.gl/Ev64zg
I am using Windows 7 and node v6.0.0. Please help me.

As @basicer mentioned in Slack, seems like old D3 -> contextify dependencies are the problem here. Let's consolidate discussion in #4655.


How to add apikey for http header

change from
let WebServiceProvider = MoyaProvider(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter)])

to
let endpointClosure = { (target: ShopperPlusAPI) -> Endpoint<ShopperPlusAPI> in
    let headers = [] // change this as you need
    let defaultEndpoint = MoyaProvider.defaultEndpointMapping(for: target)
    return defaultEndpoint
        .adding(newHTTPHeaderFields: headers)
}
let WebServiceProvider = MoyaProvider(endpointClosure: SPProvider.endpointClosure, plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter)])

I'm gonna close this issue due to inactivity, but feel free to reopen whenever.


Minor Refactors

Current coverage is 100% (diff: 100%)

Merging #2 into master will not change coverage

@@           master    #2   diff @@
===================================
  Files           6     6
  Lines          63    70     +7
  Methods        15    20     +5
  Messages        0     0
  Branches        1     1
===================================
+ Hits           63    70     +7
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 090f2fa...391eaab


Wrap entire code in IE conditional comments for IE8 (#38)

Suggested by @steffentchr
https://github.com/dailymotion/hls.js/issues/422#issuecomment-242081545

Nice trick!


Constructing many clients error

Hello all, recently we've enabled aws-iam-authenticator and I'm seeing an error message whenever I run anything that uses --all-namespaces (i.e. kubectl --context cluster get pods --all-namespaces).
The error message in question is:
W0407 12:20:16.744257   32782 exec.go:203] constructing many client instances from the same exec auth config can cause performance problems during cert rotation and can exhaust available network connections; 1001 clients constructed calling "aws-iam-authenticator"

kubectl version v1.18.0
aws-iam-auth version: {"Version":"v0.5.0","Commit":"1cfe2a90f68381eacd7b6dcfa2bf689e76eb8b4b"}
OSX: 10.14.6

This is actually a warning message, and is mainly targeted for resource usage when using client certificate auth. Kubectl/client-go will only invoke aws-iam-authenticator once and reuse the token for multiple connections.

Is there a way to turn off this message?

You might be able to set --stderrthreshold=ERROR (see klog), but if that doesn't work you'd have to file an issue on kubernetes.

I'm getting about 2000 lines of this error also when running kubectl today. There is no --stderrthreshold option for aws-iam-authenticator. Is there any other fix?

My errors looked like this:
W0902 17:12:19.796919   25579 exec.go:203] constructing many client instances from the same exec auth config can cause performance problems during cert rotation and can exhaust available network connections; 1384 clients constructed calling "aws-iam-authenticator"

So I just filtered it out with grep, but this is quite hacky:
$ kubectl describe pods 2>&1 | grep -v W0902

This warning appears continuously when running https://github.com/vmware-tanzu/octant

@sysadmiral  I am the same warning using octant. Know of any work around?

/reopen
This is still an issue Nothing has been resolved.

related https://github.com/kubernetes/kubernetes/issues/91913

Also getting this and commented on #91913 with more information.

Seeing this (slightly different message so adding for Google) when using aws to load data from S3 in initContainer:
connections; 1377 clients constructed calling "aws"
W1218 16:36:11.240927 1982077 exec.go:271] constructing many client instances from the same exec auth config can cause performance problems during cert rotation and can exhaust available network
connections; 1378 clients constructed calling "aws"
W1218 16:36:11.240941 1982077 exec.go:271] constructing many client instances from the same exec auth config can cause performance problems during cert rotation and can exhaust available network
connections; 1379 clients constructed calling "aws"

I get this when using octant, just FYI.  Wondering if there's a way to force reuse of the same client.

Per https://github.com/kubernetes/kubernetes/issues/91913#issuecomment-840100077 it should be resolved by updating the version of k8s.io/client-go being used, which was done for aws-iam-authenticator in #398, released in v0.5.4.
Note that this is a high hit in a search for this error message, but other tools use k8s.io/client-go (or just call-out to kubectl) as well, so make sure you're looking at the right project.


JOSS Review Suggestions

See https://github.com/amkrajewski/nimCSO/issues/3
This PR attempts to resolve some of the suggestions from my review, along with a handful of typo fixes and similar edits.
Please feel free to accept or reject any of the changes in this PR. Some changes to benchmarks and Dockerfiles are slightly opinionated. If you want to reject any changes, you can just comment on the PR where you want to keep the current code, and revert the commits where those changes were made. (e.g. git revert 7a9840b) That will make it easier to track.

Fix typos in README.
Fix typos in example usage.
Use faster native Python benchmark.
Try simplifying Dockerfile for faster installation.
Speed up NumPy code by about a third.
Small paper edits.
Use nimble install --depsOnly.
Fix typos in test suite

Hi @amkrajewski, this PR looks very helpful to get https://github.com/openjournals/joss-reviews/issues/6731 moving forward. Is there anything blocking its review and merge?

@RMeli Thanks for the ping! I was waiting for Reviewer 3 before making any modifications (which I got last week). I am traveling right now, but I should be able to start working on revisions soon and finish them next week.

Thank you, @bdice, for your thorough and impactful contributions in this PR, with attention to detail and performance optimizations. I very much appreciate these!
I will now re-benchmark everything, adjust the table in the paper, and get back to other points you've raised in #3

Glad it helped!


@orta => CocoaPods update

Updates to latest (and greatest) CocoaPods release.

[x] Runs in simulator
[x] Unit tests pass
[x] Runs on device

looks green-orange to me :+1:


Fix network bitcoin API dropdown menu

@alter-eggo fixed this a few weeks ago and added the Select component


Migrate Project layout to Kubebuilder v4

Problem statement
This project has used Kubebuilder's v3 layout for quite some time now.
There already exists a new version of that: v4 which has several benefits (described e.g. in Kong/gateway-operator-archive#1455).
The biggest one is that it makes the controller code be placed in internal/ and hence precluding OSS users from relying on our implementation. This would most definitely save some headaches in the future.
Kong/gateway-operator#1455 has been merged with the above in mind (and more, see PR description for more details) but has  proven to be disruptive to 1.2 work.
This issue tries to capture the effort to migrate to Kubebuilder v4 layout in a better time frame. Potentially after Kong/gateway-operator-enterprise#68 and Kong/gateway-operator-enterprise#70 (and its potential sub-issues) are complete and all the EE work has also been completed.
Adding nice-to-have label as that's what this issue is. Ideally, targeting 1.2 release.
Proposed solution

reapply patch from Kong/gateway-operator#1455, Kong/gateway-operator-archive#1462 and Kong/gateway-operator-archive#1463

Important notes
This change will incur a breaking change for Go API consumers and has to be properly communicated and coordinated for internal users, specifically CG dataplane-controller (see: https://github.com/search?q=repo%3AKong%2Fdataplane-controller github.com%2Fkong%2Fgateway-operator%2Fapis&type=code)
Acceptance criteria

[x] Redo Kong/gateway-operator#1455 when Kong/gateway-operator-enterprise#68 and Kong/gateway-operator-enterprise#70 are complete and EE work has been done to accommodate changes form those issues.
[x] This change has a breaking change note in docs and in https://github.com/Kong/gateway-operator/blob/main/CHANGELOG.md
[ ] Update to a version that implements this change is coordinated with usage in CG dataplane-controller (https://github.com/search?q=repo%3AKong%2Fdataplane-controller github.com%2Fkong%2Fgateway-operator%2Fapis&type=code)

To be done after release:

use 1.3.0 (when released) in https://github.com/Kong/dataplane-controller/pull/554

@pmalek I see the acceptance criteria are all met in the issue. Should we close this?

The comment above captures what needs to be done in dataplane controller. The intention was to leave this open until that is done.
Wie can also move this part of the task to team-K8s repo and close those one here

I'm on it, just after the Monday release I'll make https://github.com/Kong/dataplane-controller/pull/554 ready to merge

@programmer04 should we push for the PR to be merged?

Yes, I think sooner is better

The PR https://github.com/Kong/dataplane-controller/pull/660 has been merged it's resolved


Fix pcall return value order

pcall return return(boolean) as first.
ref: https://www.lua.org/pil/8.4.html

The pcall function calls its first argument in protected mode, so that it catches any errors while the function is running. If there are no errors, pcall returns true, plus any values returned by the call. Otherwise, it returns false, plus the error message.

Thank you!


LocalsDictionary not generated in certain cases

a = locals
def test():
    return a()

assert test() == {}

It looks like there's an optimization to only create a locals dictionary when needed. However the way it determines if it's needed is by looking at the name of the call expression (see IronPython.Compiler.Ast.CallExpression.NeedsLocalsDictionary). NeedsLocalsDictionary returns false in the example above.
Similarly this will also fail for dir, vars, eval and exec...

For now, a possible workaround is to run ipy with full frames enabled (commadline option -X FullFrames).


{AKS} enable-addons  add kind tag in DCR creation

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

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

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

AKS

current version:

After fix:

@zhoxing-ms could you review this PR when available? Thank you!


Include talbe names into erorr messages related to column mismatch

We need to also include table names in new error messages that inform us about the column mismatch between MySQL and ClickHouse.
2024-06-06 19:15:46.425 ERROR - ********** ERROR: Database(employees), ClickHouse column col1 not present in source ************
2024-06-06 19:15:46.425 ERROR - ********** ERROR: Database(employees), Setting column col1 to NULL might fail for non-nullable columns ************
2024-06-06 19:15:46.425 ERROR - ********** ERROR: Database(employees), ClickHouse column col2 not present in source ************
2024-06-06 19:15:46.425 ERROR - ********** ERROR: Database(employees), Setting column col2 to NULL might fail for non-nullable columns ************

Right now we only mention the database name: Database(employees)

related to: https://github.com/Altinity/clickhouse-sink-connector/issues/612


docs: Add guidelines and update docs for published library from UI

Hi @ad1992 ..i just want to sync excalidraw  add to library api to our excalidraw component..aur any alternatives is there??


feat: change ci to use published actions

Use official actions for staticcheck and govulncheck

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


GHC 8.4.2

base-<IP_ADDRESS> is out of bounds for:

[x] brick-0.35.1 (< =<IP_ADDRESS>). Stackage upper bounds. @jtdaugherty. Used by: library, executable
[ ] bv-little-<IP_ADDRESS> (>=4.5.1 && < 4.11.1). Alex Washburn<EMAIL_ADDRESS>@recursion-ninja. @recursion-ninja. Used by: library, test-suite, benchmark
[ ] crypto-enigma-<IP_ADDRESS> (>=<IP_ADDRESS> && < =<IP_ADDRESS>). Roy Levien<EMAIL_ADDRESS>@orome. @orome. Used by: library, test-suite

Nightly is running GHC 8.4.2 now so bv-little and crypto-enigma had to be disabled, feel free to send a PR to add them again if they get updated!

@bergmark I was waiting to bump version bounds when I released bv-little-<IP_ADDRESS> Should be out within the week. I'll open a new pull request when it's uploaded on hackage.

See #3552 for crypto-enigma (<IP_ADDRESS>).

@bergmark See #3547 for bv-little (0.1.1).


Add stuff

We added a module stuff that prints a pretty message.
We ran the code in agent2 and verified that it works as expected.

I don't like this because I think that we should use "cute" instead of "pretty"


editor don't detect object and there methods (javascript)

Hello,
I try to modified Material Theme and I can't set specific colors on objects and there attributs or methods
this is because there are not detected separately (see picture)

for exemple, I want to have something like that
window and setTimeout are in different colors and console and log too

This seems TypeScript-TM specific.

You have to file this as feature request against https://github.com/Microsoft/TypeScript-TmLanguage


[WFU] Fix alignment of status dot

"Dots should center align with the artist name (currently it's higher looks a little floaty)"

Re: https://rink.hockeyapp.net/manage/apps/37020/feedback/820603#message1476396

Fixed by https://github.com/artsy/emission/pull/498


Removed redundant null checks

First, dictionaries should not be able contain null keys. Second, trying to call remove with null on a dictionary will cause ArgumentNullException.

Thanks, updated in a286ddf


add ios availability

add ios availability in SwaggerGenerator
Description
#available(OSX 10.13, *) -> #available(OSX 10.13, iOS 11.0, *)
Motivation and Context

I'll try to compile latest version of Kitura for iOS, but it were compilation errors.

https://github.com/IBM-Swift/Kitura/issues/1422
How Has This Been Tested?

nothing :)

Checklist:

[x] If applicable, I have updated the documentation accordingly.
[x] If applicable, I have added tests to cover my changes.

@djones6 I reopen old PR https://github.com/IBM-Swift/Kitura/pull/1421

This is now tagged in Kitura 2.8.0.


Update on_release.yaml

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Where is the source code?

Hello,
I am interested in utilizing PComcot for research purposes. Is the source code still available/free/open to use?
More power!
Regards,
Paul

Hello, thank you for your interest in PCOMCOT. Don't worry, we will upload the source code and the manual very soon, which I think should be next month. A few months ago, we wrote a research article about PCOMCOT and submitted it to a journal.
This article was accepted recently, so I will make all the source code open once our article is available online.

Hello,
Thank you for the response. That is noted.
Congratulations on the success!
Regards,
Paul

Hi, Paul! I have uploaded the source code, examples, and a detailed manual of PCOMCOT.
You can use it whenever you need. Just feel free to ask questions if you have problem using it.
Regards,
Yifan

Hello Yifan,
Thank you for the update. Congratulations on the success! I will attempt to compile/install the code very soon. I will keep you posted.
Regards,
Paul

Hello Yifan,
I completely installed PCOMCOT in my PC and in a HPC environment. I attempted to run the modeling in these two platforms with 3 layers. For my PC, the run was successful but it was slower as expected. For the HPC environment, well, there was an error with Bi-CGSTAB algorithm:

ERROR: Bi-CGSTAB algorithm does not converge when solving dispersion term!

The said error was only present in the HPC environment, where I utilized 4 nodes with 16 processes allocated to each.
PCOMCOT_1.txt
Attached is the log file from the HPC environment for your reference.
Thank you so much!
Regards,
Paul

Hi Paul,
I saw that the CFL number of your simulation is too large (2.184), which can cause the simulation to blast out quickly.
You should use a smaller time step or coarser grids to ensure that the CFL number is about 0.5.
Then, you can check if the results are stable with the Matlab scripts.
Regards,
Yifan


pip install upgrade to 15.2.0 fails on windows

I have been using 15.1.0 without issue and tried to upgrade with pip install pyzmq --upgrade.
If I remove pyzmq and try pip install pyzmq==15.1.0, there are no issues.
Here is the output from the upgrade attempt:
upgradeError.txt.zip

The windows bdist upload failed, and I hadn't noticed. It should be fine, now.

Thanks for the quick fix!!!!


How to capture video from multiple cameras at the same time?

Proposal
Recently, I see many social apps which can capture and save video from both cameras at the same time.
I can show my surroundings using the back camera and in a small PIP layout, I can show myself.
What needs to be done to accomplish this without losing fps and resolution?

Can we record with both cameras at the same time and use ffmpeg to combine 2 videos?
Can we use image streams from both cameras at the same time to overlay them on each other?

Are there any blockers for this functionality in Flutter?
@g-apparence are you going to continue implementing this awesome package btw? Google's camera package lacks a lot of features.
EDIT: here iOS native implementations on Multi Camera Capture (Gautier shared the Android link in the below comment):
https://www.wwdcnotes.com/notes/wwdc19/249/

Thank you for this really nice idea.
Didn't know some apps do that nowadays.
Did you see that on Android devices ?
I don't think using ffmpeg is the best solution. Processing a live video seems a bit overengineering at first sight.
I think you can simply use multiple texture.
Thing is, I don't think this is doable on all devices. The new multi camera hardware seems to open many doors.
https://developer.android.com/training/camera2/multiple-camera-streams-simultaneously
I'm searching some times to work on this. I hope summer will let me some time.
I would love to investigate more on the cameraX implementation.
(having a baby and a startup ain't letting much times...)

I am glad that you find this use-case worthy
There are similar issues on the camera package but it seems like Flutter engineers won't be implementing it anytime soon.
https://github.com/flutter/flutter/issues/51928#issuecomment-1120289524
Can't wait for this exciting feature.
Also congratulations on the newborn :)

We released beta of multi camera feature with the v2.
You can test it right now 👍

Great news @istornz
You people are Awesome :)


BUILDKITE_PULL_REQUEST old/incorrect

We're seeing PR-triggered builds on a rarely-used branch come through with an incorrect, old BUILDKITE_PULL_REQUEST number. In our case, the number coming through matches a PR dated the first day we integrated Buildkite with this repository - 14th August 2019.
Output from build triggered from PR 6672 is shown below.
Seems likely the same as cleared in #1120 via a magic backend cache reset after contacting support; so, surfacing this as recurring. I'd reopen issue #1120 but I'm prevented some reason.
Running global environment hook | 0s
-- | --
  | Setting up elastic stack environment (v4.3.5) | 0s
  | Downloading secrets from  fanduel-ci-secrets | 7s
  | Preparing working directory | 7s
  | $ cd /var/lib/buildkite-agent/builds/buildkite-pipeline-upload-i-0dca60042cf948434-2/fanduel/international-web-app
  | # Host "github.com" already in list of known hosts at "/var/lib/buildkite-agent/.ssh/known_hosts"
  | $ git remote set-url origin git@github.com:fanduel/intl-web-app.git
  | $ git clean -ffxdq
  | # Fetch and checkout pull request head from GitHub
  | $ git fetch -v --prune origin refs/pull/5630/head
  | From github.com:fanduel/intl-web-app
  | * branch                  refs/pull/5630/head -> FETCH_HEAD
  | # FETCH_HEAD is now `85c165466f2b87f6061dc82f4d640f662b0737a4`
  | $ git checkout -f 39249f0a0419a06a5f7b651397ecabbbe98455c4
  | fatal: reference is not a tree: 39249f0a0419a06a5f7b651397ecabbbe98455c4
  | ⚠ Warning: Checkout failed! exit status 128 (Attempt 1/3 Retrying in 2s)
  | # Host "github.com" already in list of known hosts at "/var/lib/buildkite-agent/.ssh/known_hosts"
  | $ git remote set-url origin git@github.com:fanduel/intl-web-app.git
  | $ git clean -ffxdq
  | # Fetch and checkout pull request head from GitHub
  | $ git fetch -v --prune origin refs/pull/5630/head
  | From github.com:fanduel/intl-web-app
  | * branch                  refs/pull/5630/head -> FETCH_HEAD
  | # FETCH_HEAD is now `85c165466f2b87f6061dc82f4d640f662b0737a4`
  | $ git checkout -f 39249f0a0419a06a5f7b651397ecabbbe98455c4
  | fatal: reference is not a tree: 39249f0a0419a06a5f7b651397ecabbbe98455c4
  | ⚠ Warning: Checkout failed! exit status 128 (Attempt 2/3 Retrying in 2s)
  | # Host "github.com" already in list of known hosts at "/var/lib/buildkite-agent/.ssh/known_hosts"
  | $ git remote set-url origin git@github.com:fanduel/intl-web-app.git
  | $ git clean -ffxdq
  | # Fetch and checkout pull request head from GitHub
  | $ git fetch -v --prune origin refs/pull/5630/head
  | From github.com:fanduel/intl-web-app
  | * branch                  refs/pull/5630/head -> FETCH_HEAD
  | # FETCH_HEAD is now `85c165466f2b87f6061dc82f4d640f662b0737a4`
  | $ git checkout -f 39249f0a0419a06a5f7b651397ecabbbe98455c4
  | fatal: reference is not a tree: 39249f0a0419a06a5f7b651397ecabbbe98455c4
  | ⚠ Warning: Checkout failed! exit status 128 (Attempt 3/3 Retrying in 2s)
  | 🚨 Error: exit status 128
  | Running global pre-exit hook | 0s
  | Stopping ssh-agent 28295 | 0s
  | Agent pid 28295 killed

Thanks for flagging this @ecv.
Unfortunately this is a hard-to-squash bug in our server side code, rather than a bug in the agent. Until we can fix it, the best workaround is still to contact us at<EMAIL_ADDRESS>

@yob is there an issue for tracking the server side bug? This affects our integration and it'd be nice to have updates on resolution.

is this still not fixed 5 years after? we are getting the same issue.


Updated documentation to use better gocode fork (supports Go 1.11+)

Updated the documentation to install the recommended gocode package.
nsf/gocode is obsolete since it does not support Go 1.10+.
This fork is the currently recommended one as seen here: https://github.com/golang/go/issues/24661

@hlissner according to https://github.com/melpa/melpa/pull/5753, probably github.com/stamblerre/gocode is not the right package we should list in the README.
It should be https://github.com/mdempsky/gocode.

@bittopaz you're right! Thr stamblerre fork has been merged with mdempsky. At the time at which I created the PR this has not yet been the case. So @hlissner should I create another PR or will you fix this yourself?

Please create a new one. I'm not at a computer, but can merge it from my phone.


Move back to Sphinx docstrings

Sphinx docstrings are currently the only docstrings that integrate seamlessly with type hinting via sphinx-autodoc-typehints.
I.e. the following function
    def from_dict(cls, dict_: Dict) -> 'Project':
        """Creates a new Project object from a dictionary.

        The structure and contents of the dictionary must follow the apub
        JSON project format.

        :param dict_: The dictionary to translate into a Project object.

        :returns: A new Project created from the dictionary.
        """
        # implementation here

when run through sphinx-autodoc with sphinx-autodoc-typehints will automatically introduce type documentation in the generated docs like so
        """Creates a new Project object from a dictionary.

        The structure and contents of the dictionary must follow the apub
        JSON project format.

        :param dict_: The dictionary to translate into a Project object.
        :type dict_: Dict[~KT,~VT]

        :returns: A new Project created from the dictionary.
        :rtype: apub.project.Project
        """

This means that by using type hints in conjunction with sphinx-autodoc-typehints and Sphinx style docstrings, we do not have to write the type hints in the documentation and the signature - the type hints now get automatically applied to both.
For the time being this is a huge advantage over google style docstrings, where you still have to explicitaly write the type into the docstring for it to show up in the generated docs, thus making the code overly verbose with redundant typing information.
Conclusion: Fall back to sphinx style docstrings, while there is still little enough documentation to make the move feasible.

This has been obsoleted by various other decisions. On one hand, sphinx now supports type annotations via an extension. On the other hand Sphinx has been pushed out entirely for now, because a) I am the sole user and b) I currently have no time to write an adequate sphinx documentation.


The Walking Dead: Saints & Sinners (steam) not working with Quest

When I launch the game from Steam with ALVR and SteamVR running I get the following error: "Oculus Rift and Rift S only supported in native mode. Please install Oculus VR Software to use Oculus hardware."
The game runs without error using Oculus Link, though ALVR works so much better for me due to (presumably) crappy USB ports.
Any ideas?
Thanks!

Issue with the game, after all


feat: support linting for setter methods

Description
Fixes #
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Test Plan
Issues raised during DP testing
Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=8f4c166


Add support for establishing client channel using existing FD

This adds support for using existing FD as a client channel, as in https://github.com/grpc/grpc/issues/3250#.
It seems to work correctly, but I'd like to hear some feedback with regard to whether I'm doing it in a correct way, and if there is something I should be doing, but I'm not. Also, I made pretty nasty hack for client to send the :authority header, so I'd like to ask what's the proper way of doing it. As I have no idea if the design is correct, I haven written any tests, and will do it once we have a shared understand of how the implementation and the tests look like.
Thanks,
Adam

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

How about now? The channel is created directly, without any factory.
The question about authority is still open -- HTTP2 require :authority to be taken from the URL of the server, but we have no URL here.
Also, what method of unit testing this would you recommend?

Ping?

Hey - my response got eaten somewhere. Lgtm so far. Probably best to add an end2end test fixture around this to get good coverage of any unusual paths this might introduce. Look at test/core/end2end/fixtures/h2_socketpair.c for instance (and test/core/end2end/gen_build_yaml.py to configure it in the build)

Thanks for the response!
What about the HTTP :authority header?

Ping about the :authority.
Also, I have one more question -- with the API as it is now, this should probably be POSIX-only functionality. What's the proper way of making it available only on POSIX?
Alternatively, what's the way to make it multiplatform? Making it take grpc_endpoint* instead of int fd probably is not a good idea, as we would have to expose a way of creating these.

Huh, seems like I messed up this pull request somehow. I don't even know what happened -- tons of upstream commits got into it. Let me create a new one.


[PE-D][Tester C] Sort jumbles the listing

What: The applicant's listing gets jumbled after sorting.
How:

Run with fresh setup (no existing json data file)
Send command  sort ca1
List

Before sort

After sort (at step 3)

Labels: type.FunctionalityBug severity.VeryLow
original: ys112/ped#8

I'm not sure if this is a bug (Since "list" is not explicitly defined to be in chronological order, so any random list is still a valid output).
Not sure what the appropriate fix is or if a fix is required / would be considered a feature change, let me know if you guys have any suggestions


[fix] wagtailcore.query.specific_iterator: check if value is present

Warning This PR aim to be merged on stable/1.12.x branch
Description
wagtailcore.query.specific_iterator should, IMHO, check if pk is present in pages_by_type[content_type] before returning the value.
We've got a use case where we limit platform's features by returning empty query set for models implied in disabled features, this is done at the model manager level.
This check prevent specific_iterator raising KeyError while generating sitemap for example.
IMHO, using get method on dictionary keys is a good practice.
Let me know your through.
Q/A

Do the tests still pass?

Yes

Does the code comply with the style guide? (Run make lint from the Wagtail root)

Yes

For Python changes: Have you added tests to cover the new/fixed behaviour?

Not ATM, let me know if you want a test for a simple fix like that.

For new features: Has the documentation been updated accordingly?

It's not a new feature.

Thanks @WnP! Could you add a test for this, please?

Fallback behaviour for pages without a specific record has been in place since https://github.com/wagtail/wagtail/pull/5928 (although the behaviour in question is to return the generic Page instance rather than to skip the page entirely - I think this is more in line with the expected behaviour).


Chrome Extension flickers when datetime picker is opened

OS version: macOS Sonoma 14.5
Browser version: Version 128.0.6613.120
Extension version: 4.2.0

Relevant integration (if any): n/a
🐛 Describe the bug
When the datetime picker is opened, the whole component starts to flicker (changes states between open and closed).
Expected behaviour
There should be no flickering
Steps to reproduce

Steps to reproduce the behaviour:

Open the Chrome extension
Click on the datetime picker

Other details or context
https://github.com/user-attachments/assets/a00435c3-06ab-40d8-a68a-ff06c5888eb6
Already tried

Updating the browser - didn't help
Re-installing the extension - didn't help
The error occurs on other Chrome browsers on the same machine

Also experiencing this regularly.

Hello! Could someone please assign this bug to me? I'd be happy to take it on. Thanks!


Avoiding lifetime problems with sync_put_parcel

This change does not make sense to me. The promise is guaranteed to outlive the execution of the callback as it will be destroyed only after the future has become ready (https://github.com/STEllAR-GROUP/hpx/blob/master/src/runtime/parcelset/parcelhandler.cpp#L98).
If there really is a race between the invocation of the callback and the synchronization with the future (which I miss to see), we should move the promise into the capture instead of wrapping it into a shared_ptr instead.

Not quite. When a future is triggered, we set the state to value/exception after copying over the value/exception. When waiting on a future, we first check if the state is not empty (without taking the lock), thus leading to the lifetime issue this PR fixes.

The promise is not accessed anymore once we have set the value. The get will never return before we have set the value, thus we will not access the promise anymore. Even if the value is set before get is called on the future, I still don't see where the race is. Sorry.

Thanks for the discussion. Closing this in favor of #3663.


Add MATCHED NOT_MATCHED constants

Currently fetchMock.calls(true|false) is not very descriptive.
If the library exports 2 constant properties MATCHED and NOT_MATCHED (equal to true and false respectively) then code like this will be far more readable:

const {fetchMock, MATCHED, NOT_MATCHED} = require('fetch-mock');
...

expect(fetchMock.calls(MATCHED).length).to.equal(3)

Doesn't actually add any functionality, but just points people towards writing more readable code

added in v7


Update highs-sys and run CI on MacOS

Enable CI on MacOS and update the highs-sys dependency
I didn't enable Windows yet, as I have hangs that seem non-deterministic. It seems related to this thread. Note that similar issues happen with the current highs version as well, as can be seen in this CI run.

Fixes issue #11

Merging this. However, this shouldn't be required, since 1.6.1 is semver-compatible with 1.5.0.

Before 1.6.1, the build on MacOS requires brew link --force libomp


host console spammed on correct+typical device close/shutdown -- I expect nothing in console

When a device is correctly closed and DEPTHAI_LEVEL=ERROR , the console has spam from xlink/device.
My expectation is no console output unless there is an error, i.e. a condition that is unexpected, unplanned, or undesired which results in wrong program operation, wrong values, program faults, etc.
F: [global] [         0] [EventRead00Thr] dispatcherEventReceive:94     Duplicate id detected.

Setup

Microsoft Windows [Version 10.0.19044.1526]
depthai-core v2.15.0
VS v16.11.10

Repro

Create, compile any depthai app that sets DEPTHAI_LEVEL=ERROR. Try the sdk's tests/image_manip_node_test
Run the app and watch the console as the app nicely closes the device.

Result
F: [global] [         0] [EventRead00Thr] dispatcherEventReceive:94     Duplicate id detected.

Also errant in that the Duplicate id detected text in the message is not useful.
Also errant in that its format is completely different than typical log entries [14442C10C1A1C6D200] [13.513] [system] [info] ImageManip allocated resources: shaves: [15-15] no cmx slices.
Expected
No console output.
Because there was no fault, error, invalid data, etc.
I found this while writing testing automation tools. These misleading and unexpected format log messages pollute the log/console collection. If a console message must be force displayed in the console when device is nicely closed, then it should say Device correctly closed. and it should be in the single unified log output format. But it would be strange to write [fatal] for a "correct" log entry. This further suggests this message should never appear.
[14442C10C1A1C6D200] [13.513] [system] [fatal] Device correctly closed.

Notes
These are from xlink and use their own logging mechanism. An additional related issue is that the method by which xlink writes to the console is not in synchronization with spdlog, not thread safe, and therefore corrupts the spd logs. I have forever seen my console logs having a mix of xlink and spdlog writing over each other simultaneously. This naturally corrupts the log messages and prevent correct structured collection.

Thanks @diablodale
We got this one in the pipeline to be fixed. I'll include it in 2.15.1.


ValueError: Found array with 0 sample(s) (shape=(0, 13)) while a minimum of 1 is required.

Hello,
I modified the sample code in tutorial so that it could work for a regression problem. Please ignore the model and parameter selection, it is just for testing.
base_learners = [Lasso(),Ridge()]

meta_learners = [('rf', RandomForestRegressor(random_state=seed))]

learner1 = SuperLearner(random_state=seed) \
.add(base_learners)

learner2 = SuperLearner(random_state=seed) \
.add(base_learners)

preprocess = {'pre1': [('layer-1', learner1)],
         'pre2': [('layer-1', learner2)]}

params = {'pre1.lasso': {'alpha': uniform(0.2, 0.95)},
      'pre1.ridge': {'alpha': uniform(0.1, 0.5)},
      'pre2.lasso': {'alpha': uniform(0.2, 0.95)},
      'rf': {'n_estimators': randint(10, 100)}
      }

scorer = make_scorer(r2_score)
evaluator = Evaluator(scorer=scorer, random_state=seed, cv=5, n_jobs=1, verbose=2)

evaluator.fit(X, y, meta_learners, params, preprocessing=preprocess, n_iter=4)

X, and y have the shape of (500,13) and (500,). it seems no result is passing into meta regressor in this case:

ValueError: Found array with 0 sample(s) (shape=(0, 13)) while a minimum of 1 is required.

Any help would be appreciated.

This seems to be a bug, it should work, but only works for cv=2. For now, I would suggest to use that until we can get this sorted. Most likely, the Evaluator is doing something wrong when creating cv folds.

Found it, you forgot to turn model_selection on when using ensemble classes with the Evaluator. You need to add
learner1.model_selection = True
learner2.model_selection = True

and it will run just fine. Remember, once you've completed the model selection step, you need to turn it off:
learner1.model_selection = False
learner2.model_selection = False

For more details, see the ensemble model-selection tutorial.
Sorry the error message wasn't more helpful! Will see what I can do about that.


Amir Abdul Sattar

… my contribution in CONTRIBUTING.md. Please add me in repository
⚛👋 Hello there! Welcome. Please follow the steps below to tell us about your contribution.

Copy the correct template for your contribution

🐛 Are you fixing a bug? Copy the template from https://bit.ly/atom-bugfix-pr
📈 Are you improving performance? Copy the template from https://bit.ly/atom-perf-pr
📝 Are you updating documentation? Copy the template from https://bit.ly/atom-docs-pr
💻 Are you changing functionality? Copy the template from https://bit.ly/atom-behavior-pr

Replace this text with the contents of the template
Fill in all sections of the template
Click "Create pull request"

View rendered CONTRIBUTING.md

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us halfway :grinning:


stm32_eth: Added error handling for abnormal interrupts.

Summary
Fixes the issue reported in #8576.
Essentially, when "abnormal" events occurred, the datasheet dictates that the MAC must be reset.
However, there is no error-handling at all.
This PR will check the relevant register, and execute the MAC reset, as needed.
Impact
STM32 Ethernet operations should be more reliable now.
Testing
I couldn't "force" this interrupt to trigger, but I used my debugger to create such an "artificial" event, and force this code branch to be taken.
Indeed the MAC resets. After that, network operations are resumed and everything seems normal.

I am also tempted to rename stm32_txtimeout_work() as it now serves two purposes?

@fjpanag was this ready to come in or did you want to fix the issue?

@fjpanag was this ready to come in or did you want to fix the issue?

I'll try to provide a fix, maybe in a few hours.


How to rename PerfectTemplate project

Just like PerfectTemplate => MyServer

@codwam
found  Package.swift  file
import PackageDescription

let package = Package(
	name: "PerfectTemplate",
	products: [
		.executable(name: "PerfectTemplate", targets: ["PerfectTemplate"])
	],
	dependencies: [
		.package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.0"),
	],
	targets: [
		.target(name: "PerfectTemplate", dependencies: ["PerfectHTTPServer"])
	]
)

rename PerfectTemplate => MyServer


10x - 3' kit primers

Hi there, I was wondering what the difference between RTP/ VN and a forward primer is based on the 10x - 3' protocol doc.
The TSO in my protocol seems to match the one in the restrander config file. However, it isn't clear to me what the "VN" in my kit is. However, the forward primer introduced in the cDNA amplification step of my protocol has the same sequence as the RTP in the config.
The amplified reads end up looking like this:

If you have any clarification on this, it would be great! Thanks!
Sowmya

Hi Sowmya, we took the VNP/RTP terminology from the ONT protocols, but as you’ve correctly identified, it’s the "forward" primer sequence in the 10x protocol. "Forward" and "reverse" are ambiguous depending on which way you draw the amplicon, but the TSO/SSP needs to be the sequence that’s introduced near the transcript start, and the VNP/RTP/"forward" the sequence that’s introduced near the transcript end (towards the polyA). I hope this clarifies things!


May be a small bug

https://github.com/nf-core/chipseq/blob/6924b669422215f9021144b251e83fc9929be1fe/bin/check_design.py#L62
numCols is always 6. It cannot be used in numColList for checking single/paired-end mixture.
I think fastQFiles should work for this purpose.

This will be updated in version 2.0 of the pipeline that it is about to be released hence, I will close the issue by now.


Getting  Error while trying to read EDF file

I am  very  new user in MNE python. Resently I have started a project work that is related to EEG data analysis.And started to this analysis using MNE,but whenever I rund the below code to read edf file
import os
import mne
sample_data_folder =("\\Users\\user\\Downloads\\ EEG recordings")
sample_data_raw_file = os.path.join(sample_data_folder, ' EEG recordings', '03062019 1',
                                    '1b09e70a-92b1-47b5-bf39-c9378374007b.edf')
raw = mne.io.read_raw_edf(sample_data_raw_file,preload = True )

I got the error massage ValueError: not enough values to unpack (expected 3, got 0)
Here is my mne system information
Platform:      Windows-10-10.0.18362-SP0
Python:        3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Executable:    C:\Users\user\Anaconda3\python.exe
CPU:           Intel64 Family 6 Model 58 Stepping 9, GenuineIntel: 4 cores
Memory:        7.9 GB

mne:           0.19.0
numpy:         1.16.5 {blas=mkl_rt, lapack=mkl_rt}
scipy:         1.3.1
matplotlib:    3.1.1 {backend=module://ipykernel.pylab.backend_inline}

sklearn:       0.21.3
numba:         0.45.1
nibabel:       2.5.1
cupy:          Not found
pandas:        0.25.1
dipy:          1.0.0
mayavi:        Not found
pyvista:       Not found
vtk:           8.2.0

I could not figurq out what is wrong here

Hello!
What is the value of sample_data_raw_file? Maybe you need to prepend C: to your sample_data_folder since this doesn't seem to be a valid Windows path. Furthermore, you might need to replace all \ with regular /.
Clemens

On 24.10.2019, at 10:43, fsultana44<EMAIL_ADDRESS>wrote:
I am very new user in MNE python. Resently I have started a project work that is related to EEG data analysis.And started to this analysis using MNE,but whenever I rund the below code to read edf file
`import os
import mne
sample_data_folder =("\Users\user\Downloads\ EEG recordings")
sample_data_raw_file = os.path.join(sample_data_folder, ' EEG recordings', '03062019 1',
                            '1b09e70a-92b1-47b5-bf39-c9378374007b.edf')

raw = mne.io.read_raw_edf(sample_data_raw_file,preload = True )I got the error massageValueError: not enough values to unpack (expected 3, got 0)Here is my mne system informationPlatform: Windows-10-10.0.18362-SP0
Python: 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Executable: C:\Users\user\Anaconda3\python.exe
CPU: Intel64 Family 6 Model 58 Stepping 9, GenuineIntel: 4 cores
Memory: 7.9 GB
mne: 0.19.0
numpy: 1.16.5 {blas=mkl_rt, lapack=mkl_rt}
scipy: 1.3.1
matplotlib: 3.1.1 {backend=module://ipykernel.pylab.backend_inline}
sklearn: 0.21.3
numba: 0.45.1
nibabel: 2.5.1
cupy: Not found
pandas: 0.25.1
dipy: 1.0.0
mayavi: Not found
pyvista: Not found
vtk: 8.2.0`
I could not figurq out what is wrong here
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Alright, it looks like the function cannot parse the EDF header correctly. Could you share this EDF file with me so I can have a look?

Hi @cbrnr, you are right.In my *.edf file  date and time was invalid that's why the function could not work. After fixing the date and time the mne is able to read this edf file and no error showing anymore.
But I am wondering that when I plotted my raw edf file I got some wired picture.I have attached the picture in below.
.
I think it might not related to mne, but it will be very helpful if I get some help regarding this issue.

This is probably not an MNE issue - it looks like your data was recorded without a highpass filter, which is why you see large slow changing offsets. Try plotting the data with raw.plot(highpass=1).

I'm closing this because the original issue has been resolved. If you have more questions not directly concerning MNE specifics feel free to use our mailing list.

I am a new user in MNE python. I have started to analysis 'EDF' file using MNE, but whenever I rund the below code to read  'EDF'  file and covert to raw data. but I got this error.
my code:
import os
import mne
raw  = mne.io.read_raw_edf('Data/EDF/d1.edf')
data = raw.get_data()
Error:
ValueError: invalid literal for int() with base 10: 'f¦ó»Ï\x0c\x89;'

@HassaniAtefe please try opening your file with EDFbrowser to verify that it is a valid EDF file.

@cbrnr I appreciate you for responding, thank you so much.


Icon Request: [blood oxygen]

Working with remote patient monitoring, patients can measure their blood oxygen level. It would be really nice to have a more blood oxygen icon. Something like this:
device specific:

or more generic:

Sorry for the long delay. We'll work on this!

We just added a Pulse Oximeter icon. Thanks for your patience.


Handle Sketch Resize Constraints (v44+)

Overview
This PR adds in full support for sketch v44+ resize constraint controls (without breaking v43 support).

Changes

Added new resizingConstraint prop to View, Text, and Image components

These props get handled by the component's respective renderers along with SketchRenderer base class

Added new ResizingConstraintPropTypes PropType
Added newResizeConstraints Flow type
Updated jest snapshot tests to handle new resizingConstraint

Dependencies

Waiting on PR: https://github.com/airbnb/react-sketchapp/pull/183

Testing this PR
Since sketchapp-json-plugin's current version wont work, you'll need to setup the plugin locally. Here's how to do it:

Git clone this fork of sketchapp-json-plugin and checkout the feature/resize_constraints branch.
install all npm dependencies: npm install within the plugin's root directory and then run npm run watch.
You'll need to git clone this repository (react-sketchapp) as well, and checkout the feature/resize_constraints branch. Once that's done, open it's package.json file and swap out the "sketchapp-json-plugin" with your local clone. It should look something like this: "sketchapp-json-plugin": "file:{path-to-folder}/sketchapp-json-plugin".
Install all npm dependencies: npm install within the react-sketchapp's root directory and then run npm run watch..
Navigate to the react-sketchapp/examples/basic-setup, open the package.json file and swap out the "react-sketchapp" with your local clone. It should look something like this: "react-sketchapp": "file:{path-to-folder}/react-sketchapp",. Then install all npm packages: npm install.
Open the src/my-command.js file in a text editor and add resizingConstraint={{bottom: true, fixedWidth: true}} property to one of the <Text /> components
Open up Sketch (v44+) to a new document and run npm run render in the react-sketchapp folder within your terminal.
Click on the Text object within Sketch (that you added the resizingConstraint prop to) and notice that the resizing options panel looks like so:

Congrats 🎉 , you can now edit resize controls via react-sketchapp.
Related Issues
Closes #150.
Additional Notes

This is a first pass API wise, by just allowing a resizingConstraint={{ top: true, right: true, bottom: true, left: false, fixedHeight: true, fixedWidth: false }} property on View, Text, and Image components. Definitely open to whatever API makes the most sense here (Props, HOC, etc)
Prettier decided to format a couple extra files, let me know if that's an issue.

This looks awesome, thanks @larsonjj.
As for the API — do what feels right :)
@ryngonzalez you were asking for this in #150 - any opinions?

@jongold @larsonjj API looks good on my end! I think props makes sense for this. :shipit:

This feature would be amazing to have! Will it make it into master soon? Is there anything I can do to help?

@jongold,
With the release of v0.1.2 of sketchapp-json-plugin, this PR no longer has any extra dependencies and should be ready to go.
Let me know if there is anything else that needs changing. Thanks!

Wooo 🚀

Thank you! This and the yoga update are greatly appreciated 🙏


Write User Support SOP

https://github.com/Ops-201-Team-Name/Ops-201-Team-Name/wiki/User-Support

SOP has been reviewed and is detailed and answers questions precisely


New Feature to keep track of all opened batch downloads incase of resuming later after closing program (enhancement)

I want to suggest a feature for this awesome program which is helping me in downloading a 3600 mods list to keep track of all its previously opened batch downloads so that if this program ever shuts-down, it has a log to know how many of the batches have been opened before, since it is my understanding that this program only opens batches of 20 and has no correlation to the actual download which the tampermonkey script does. It would be very helpful for it to do this.

I'm just putting it together and doing the README. I don't plan on touching the code, as it's not my code.


[SPARK-24455][CORE] fix typo in TaskSchedulerImpl comment

change runTasks to submitTasks  in the TaskSchedulerImpl.scala 's comment

Can one of the admins verify this patch?

Can one of the admins verify this patch?

that's fine but mind taking another look and see if there are other typos while we are here? I'm pretty sure there are more.

Minor changes don't need a JIRA. lets avoid next time btw.

I took another look and find some typos, please review them, @HyukjinKwon , thank you for reminding

ok to test

Test build #91428 has started for PR 21485 at commit 9ca9e4b.

Test build #91428 has finished for PR 21485 at commit 9ca9e4b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91428/
Test PASSed.

Merged build finished. Test PASSed.

Merged to master and branch-2.3.


Updates to PhET-iO testing for QA

From today's phet-io meeting, we would like to alter the way that QA tests PhET-iO sims in a variety of ways. I will outline the changes here, and I will leave it up to @KatieWoe to make sure that things end up in the QA book and test matrices as desired.

The following only needed to be tested on one platform for each test. Ideally this platform would rotate so that after N sim tests, we have tested all N platforms (i.e. windows/firefox this test, mac/safari next test). Each of these are divided further into the amount of time the phet-io team thinks they need to be tested, along with the rationale.

Short and easy: these act mostly as a spot check. In general things don't change often here, and so confirming functionality works on once platform is enough

Login Wrapper Test
Data: Colorized Wrapper Test
Data: JSON Wrapper Test
Multi - Wrapper Test
Wrapper index links/doc (not template)

Regular testing: Test in the same way that you would for the respective test (dev/rc), but you don't need to do it for every platform.

State wrapper with ?phetioDebug
Studio with ?phetioDebug
Studio Client requests
Wrapper index launching template
Diff wrapper

The platforms and ways we test Studio is changing a bit:

Studio only needs a full test on Chrome. All other browsers (including chromeOS) don't need to be tested.
Make sure that for a Studio test, you always conduct the following test 2 times (or more if you feel it appropriate):

Customize the sim
Download the sim to an HTML file
Host that file somewhere locally on a server (see Appendix A)
Test that this customized version of the sim on all supported phet-io devices. (This will be easy enough if the file hosted on a server on the computer you made the customized sim with. Alternatively you could pass that sim version around to all devices, but that is not recommended).

Clarification on time spent on certain wrappers

In general, the most important things in testing phet-io is to test the features of PhET-iO (coming from the sim). Testing the wrappers is secondary. This differentiation is a bit nuanced. An example would be that testing that state is set correctly on a sim is more important than testing that a button in the state wrapper does what is is supposed to. If this point doesn't make total sense that is ok, it is a bit of a moving target, and can help to think of the wrapper suite (everything but studio) as tools to expose PhET-iO features. Finding problems with the tool is not as important as finding a problem with the PhET-iO feature that its exposing. This is because the features will be used by the whole breadth of learners for a PhET-iO product, whereas the "tool" will only be used by our client to directly understand PhET-iO and create their product.
@KatieWoe said that there is a lot of time spent on the record wrapper. In general, the important pieces of the record/playback feature are also implemented in the mirror-inputs wrapper. Mirror inputs is, in general, easier to test because it is in real time, and can be better to track if the playback sim gets into an undesirable state (since it is right there to compare the source to). There should be more testing done on the mirror-inputs wrapper to make sure that record and playback work for all input methods (mouse/touch/keyboard), with all or most components in the sim, etc. The record and playback wrappers should still be tested to make sure that the process of recording to a log, and using the playback wrapper to play the data log back works, but this is more like testing that the wrappers work instead of testing the features.
The "launch" feature of studio runs on PhET-iO State, and it is easier to test that PhET-iO feature in the state wrapper. The state wrapper just got a face lift, and you should test this feature substantially. In addition to how you have been testing the wrapper, here are some important ways to test the state feature (via the state wrapper)

Use the "launch" button at the bottom of the screen to set a state onto a fresh copy of the sim (same as studio launch but easier).
Set the rate of state setting to 0, and adjust both sims so that they are in very different states, then press the "Set State Now" button.
Determine the minimum set state "rate" in which the sim's performance becomes unusable. As you test more sims this way, it will be more clear when a setting the state of a sim is potentially a performance problem.

We know that sometimes QA gets time crunched, and some testing has to be dropped for a deadline. When this occurs we have a couple a heuristics to guide you in culling tests:

Prefer dropping extra platform testing to dropping tests. In general a thorough test on one platform is preferred to less thorough on multiple.
Prefer testing PhET-iO features to testing the wrappers.

Features:

record/playback
PhET-iO state
data-stream
customization (the logic behind studio controls that change the sim)

If we make significant changes to a particular wrapper or feature, we will call that out for separate testing, or additional testing coverage during the next dev or RC test.

Appendix A: Hosting a local server
We feel like this will greatly increase productivity when it comes to passing around files between devices. Follow step (4) in https://github.com/phetsims/phet-info/blob/master/doc/phet-development-overview.md#checking-out-the-code-and-running-it-in-development-mode. And feel free to reach out to a dev if this doesn't make sense. (KW perhaps we should talk before this ends up in the QA book).
Tagging @ariel-phet @samreid @kathy-phet as members of the discussion this morning.

Commit above makes change to QA book. RC template also altered. @zepumph can this be closed?

RC template also altered.

By what commit? I don't see the changes in https://github.com/phetsims/QA/commits/master/issue-templates/rc-test-template.md.
My impression was that everything above was a change to QA process, yet I only see 1 sentence change in the commit. @KatieWoe I think it would be best if this was captured in a central place rather than a github issue.

Ahh excellent, I found https://docs.google.com/spreadsheets/d/1o5txil6dVHk1BfHA3fT5LIQc19JBSOg0v-BYBQe9A7A/edit#gid=1993524520 and reviewed it.
In general it looks really good, I just have a couple of thoughts.

Is phet-io.js in lib? Is it minified?

Could you make this "Is phet-io.js in lib/? Is it minified and not password protected?"

Then click here for playback

The playback wrapper deployed with each sim should be used instead of https://phet-io.colorado.edu/metacog/playback/. For example: https://phet-dev.colorado.edu/html/energy-forms-and-changes/1.4.0-rc.3/phet-io/wrappers/playback/

Do you think we should add a new column for "studio with ?phetioDebug" (and one for state with ?phetioDebug). This would just have a single block for all devices, signifying that you only need to test it on one device? This may be more clear than hiding it away in the QA book.

From section (1) above, the diff wrapper only needs one platform. You can combine all the cells in the column

Other thoughts

I don't see a section in the matrix or template about testing client requests on one platform.

I don't feel like some of the nuance in (3) was captured anywhere.

Mirror inputs: Perhaps we can add something to https://github.com/phetsims/QA/blob/master/documentation/qa-book.md#mirror-inputs-wrapper-test that talks about how this is the same feature as record/playback, but is easier to test accuracy, and should be tested more thoroughly than record/playback. Right now, the description for record/playback is much more extensive.
State wrapper: Same as mirror inputs, but about how this is the same feature as studio launch, but easier to test, and should be tested more thoroughly.

I'm not sure how best to capture (4). Any thoughts? Probably in a more general PhET-iO section of the QA book?

I tried to document step (5) in the above commits to issue templates. What do you think?

Implemented some of the above suggestions. Mostly in the test matrix.

Let me know when this is ready for review.

I think it's probably done? I think it can be closed unless there's more you wanted more?

All the changes are looking really good. I glanced through the matrix and saw many updates from the first half of https://github.com/phetsims/QA/issues/561#issuecomment-708052096. I didn't hear back on (4) or (5), but feel like we are at a place of diminishing returns. I'll let @KatieWoe decide what she thinks is important to document for QA.


Setting a cookie with javascript doesn't work with Poltergeist and/or PhantomJS drivers

Is there any work in progress that will address the issue raised in this SO post:
http://stackoverflow.com/questions/17203986/setting-a-cookie-with-javascript-doesnt-work-in-poltergeist-and-or-phantomjs
And in particular a good way of addressing this issue without going through the deprecated browser method?
Many thanks in advance

Ask questions on the mailing list as requested in the README,and when you do make it clear what exactly you're asking about since that SO question has an accepted answer

thanks @twalpole - sorry but I'd prefer not to have to join a mailing list in order to ask questions.  The SO question has an accepted answer, but it uses a deprecated method on Capybara which seems like bad practice.  I guess we'll just live with it for the time being.


Revert "[outlier detection] hack to prevent OD from working with pick_first"

Reverts grpc/grpc#33336

Closing this in favor of #33349.


:bug: Fix xml UTF8 encoding

:bug: Use UTF8 encoding to fix some special characters in xml response and fix this error DOMDocument::loadXML(): PCDATA invalid Char .....

@hlu2 could you take a look?


ui: Add option to sort files/folders in webui by size

Description
as in title, there is no option to sort file list by size
Version
1.0.0-zen
What operating system are you running (e.g. Ubuntu 22.04, macOS, Windows 11)?
Ubuntu 22.04, kubernetes
Anything else?
No response

The API currently only supports sorting on name and health, asc and desc, @peterjan is adding size possible?


nginx websocket proxy

Hi,
I'm currently playing with django channels and it looks really great. I have tried several other websocket stuff in the last weeks, like crossbar (http://crossbar.io) and something I have build with tornado.
I have added following snippet to my nginx configuration:
    location /ws/ {
       rewrite  ^/(.*)  /$1 break;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host $http_host;
       proxy_redirect off;

       proxy_pass http://localhost:8080/;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
    }

which works fine with other websocket servers, but it looks like it won't work with runwsserver.
(I tried asyncio and twisted).
The error I see in the browser is: WebSocket connection to 'ws://localhost/ws/asd' failed: Error during WebSocket handshake: Unexpected response code: 400
I can see that the websocket server is reached since it prints some debug lines:
INFO asyncio poll 1.000 took 1.001 seconds
DEBUG asyncio poll 1.000 took 0.817 seconds
DEBUG asyncio poll 0.000 took 0.000 seconds
DEBUG asyncio poll 0.000 took 0.000 seconds
DEBUG asyncio poll 0.000 took 0.000 seconds
DEBUG asyncio poll 0.181 took 0.182 seconds

but thats not really helpful ;)
I'll try to dig into the code at the weekend, but maybe someone can help me before that ;)
Thanks,
Bastian

Does the connection work from your browser directly? Would be good to establish that it works without the proxy in the way; might be a browser-specific bug as well.
That said, the current runwsserver code is being retired in favour of an all-combined HTTP+WebSocket server, which you can try out with runallserver right now, but that's still under development so it might not work (but might give a different error, or might work?)

I found the culprit. It looks like specifying the ws:// url for WebSocketServerFactory is optional. If specified autobahn will check if the header in the connection matches.
the code for that in autobahn is at : https://github.com/crossbario/autobahn-python/blob/a771b54bc93f4d0cc273162dc737f2c528a92fdd/autobahn/websocket/protocol.py#L2508
by removing the url at https://github.com/andrewgodwin/channels/blob/master/channels/interfaces/websocket_asyncio.py#L23 my errors goes away and it looks like everything is working now.

Fantastic, thanks for investigating - will remove that now.


Connectivity issue with VPL-FHZ700L

Recently upgraded from Companion v2.3.1 running on a Pi, to v[3.0.0 (3.0.0+6049-stable-126f27e8)] running on Windows 11. Prior to the upgrade I had no trouble connecting to my projector.
After the upgrade, if the module is disabled/enabled or Companion is closed and then reopened, my projector shows as "disconnected" where it will remain until I turn off and on (sometimes more than once) the PJLink listening service in the projector. After that it remains stable until the next time the module is disabled or Companion shuts down.
The above was all with the pjlink service NOT requiring a password. After I turned on the password, the connectivity became much more reliable. Possibly even perfect (I haven't seen it fail in at least 10 consecutive tries.)

I spoke too soon. The projector is staying connected, except for a blip about once a minute
error: Projector Disconnected debug: Disconnected info: Connected
But none of my control seems to be working now

There was another protocol update for companion v3.0.1.
Please try that version. Comment back if there is still a connection problem.

I'd say that v3.0.1 might be different, but not better.
Upon Companion restart in 3.0.1 I again found the module offline. I did find, however, that I could correct the connection by turning pjlink authentication (in the projector) on and then off.

Can you open the debug log ('>_') and see if anything is generated when it disconnects?

This is what it said (this time?) for a disable. Not much.
debug: Destroy HMz8cWFIqup4A9xtBzsKh
system: ** Connection stopped **

This is for the enable:
system: ** Starting Connection from "C:\Program Files\Companion\resources\bundled-modules\generic-pjlink\main.js" **
system: ** Connection started **
Starting up module class: _
Sentry disabled
Module-host accepted registration
info: Connected
error: Projector Disconnected
debug: Disconnected
info: Connected
error: Projector Disconnected
debug: Disconnected
info: Connected
error: Projector Disconnected
debug: Disconnected
info: Connected
error: Projector Disconnected
debug: Disconnected
info: Connected
error: Projector Disconnected
debug: Disconnected
(etc. seemingly forever)

If I then turn on "Requires Authentication" in the pjlink settings of the projector, I immediately get:
info: Connected

followed after a while by this every 30 seconds:
error: Projector Disconnected
debug: Disconnected
info: Connected

and in that state none of the module variables updates from "undefined," etc. and my attempts to control have no result.
Lastly if I turn off "Requires Authentication" I get this in the log:
info: Connected
debug: Projector does not need password
warn: Projector Busy/Offline
debug: PJLINK ERROR: Projector Busy/Offline
debug: PJLINK ERROR: Projector Busy/Offline

All the variables updated to what seem like correct values, and control seems functional.
I don't know when those "Busy/Offline" messages came in. I watched for another 10 minutes or so, didn't happen again.

I have noticed that projectors will return 'busy' when they are first turned on (warming up).
Do you have other devices that control the projector? Some units only allow one connection and basically 'abort' anything else. If companion is waiting for a response, it won't get one (or a proper one).

Well, I did have a Companion Pi instance running, and it's still online but I deleted the projector instance from it entirely.
It seems timing related. If I disable and re-enable really quickly it seems to usually work. if I do it slowly, I think sometimes it connects but usually it doesn't. Note: my data is just my recollection, I haven't been keeping actual records

...and yes, I'm pretty sure this projector will only accept connections from one client at a time

Try adjusting the poll timing. I use 5 seconds for most of my testing.

I changed it from 10 (default?) to 5. It seems like it made it slightly
less likely to fail but it still does
On Mon, Sep 4, 2023 at 9:53 PM John Knight Jr @.***>
wrote:

Try adjusting the poll timing. I use 5 seconds for most of my testing.
—
Reply to this email directly, view it on GitHub
https://github.com/bitfocus/companion-module-generic-pjlink/issues/70#issuecomment-1705836781,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATEBQIBLUUJNHVEQI44XUMLXY2AZZANCNFSM6AAAAAA4KTS5KU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Do you have a custom module directory set up? I may be able to build a module with more debugging exposed.

I do not. I'm willing to do whatever, but I don't know how to do that.
On Mon, Sep 4, 2023 at 10:21 PM John Knight Jr @.***>
wrote:

Do you have a custom module directory set up? I may be able to build a
module with more debugging exposed.
—
Reply to this email directly, view it on GitHub
https://github.com/bitfocus/companion-module-generic-pjlink/issues/70#issuecomment-1705855960,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATEBQIBITSQLPF2QGSBB4ULXY2ECPANCNFSM6AAAAAA4KTS5KU
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm trying to create a custom module you could test, but the node package system is down at the moment.
Quickest may be to set up a VPN so I could connect directly to your projector while debugging the module.

Sorry it was late. I could probably set up VPN or similar but I don't have that set up at the moment

Thanks for your help. Should be in the beta release sometime today


Frontpage plots should be rendered independently

Currently, these plots are only rendered when we have both lists of phenotypes and datasets. Otherwise, nothing get rendered. They should be rendered independently (one/the other/both) for whatever data is available.
This only come up when we add new portals, but it happened a few times already, so we should just patch this as soon as possible.

Frontpage changed. No longer relevant.


Potential inconsistency in dask.delayed best practices

Hi team. I'm somewhat puzzled by the following tips from https://docs.dask.org/en/latest/delayed-best-practices.html; specifically, tips 2 and 3 seem to be at odds with tip 1.

Avoid calling delayed within delayed functions

Don’t call dask.delayed on other Dask collections

Avoid repeatedly putting large inputs into delayed calls

Regarding tip 2, one of the examples given in the docs is as follows. part is a delayed object, and yet is being called by a delayed function (train). Doesn't this violate tip 1?
partitions = df.to_delayed()
delayed_values = [dask.delayed(train)(part)
                  for part in partitions]

Similarly, regarding the example for tip 3, x is a delayed object, which is then called by a delayed function. Same question as above.
x = np.array(...)    # some large array
x = dask.delayed(x)  # delay the data once
results = [dask.delayed(train)(x, i)
           for i in range(1000)]

I would appreciate any clarification. Thanks!

In your first code block: delayed is not called inside of a delayed function (which is discouraged); delayed has already been called by creating the list of Delayed objects in df.to_delayed, so you're really just passing existing Delayed objects (created by df.to_delayed) to a delayed function, and this is fine.
In your second code block, the "large input" (x) is passed to a delayed call only once, and this is OK. It would be a bad idea to write
x = np.array(...)
results = [dask.delayed(train)(delayed(x), i) for i in range(1000)]

that would be repeatedly putting large inputs into delayed calls
Hope this helps!

Thanks for the reply @douglasdavis. I'm afraid I'm still not getting it.
Regarding your comment below, I thought we shouldn't pass a Dask collection into a delayed function, per the docs?

you're really just passing existing Delayed objects (created by df.to_delayed) to a delayed function, and this is fine.

Specifically, the following example is marked as a usage example that should be discouraged.

Could you help me understand what I'm missing. Thanks!

Maybe this is the piece that you are missing: when you call .to_delayed() on a dask collection (like a dataframe) what you get back is a list of delayed objects. So it's no longer a collection.

@jsignell Thanks for the clarification.
I think my confusion may have stemmed from the fact that, per the first sentence on this page, I'm interpreting the term "dask collection" to include delayed objects in addition to dask arrays and dataframes. However, it sounds like that interpretation is not appropriate for the delayed best practices page, where "dask collection" should be interpreted to exclude delayed objects? Does that sound right?
To summarize the discussion, does the following look right?
# Bad
delayed_function(dask_array)

# Bad, if `numpy_array` is really big
delayed_function(numpy_array)

# OK
delayed_function(dask_delayed_object)

Yeah I think that's correct. There is definitely some confusion about terminology.

Thanks for the confirmation.


Open zeppelin ERC 777 file

Can i have your open zepellin files? I've copied in gov's and 777 isn't standard

Moving to whatsapp as token team can't be tagged as collab


Adds a build_all script to create the Docker images for Seth

Currently we have all the build functionality wrapped up in the docker-compose.yaml file, and running docker-compose up --build will automatically build all of the images before starting up containers. Additionally, docker-compose build can be used to just build the images without starting containers.
I am wondering if this build script provides any additional functionality?
Thanks!

Good point @dplumb94 - I sort of forgot that docker-compose build was a thing. But, I would like a way of creating the images that I can use where they aren't constrained by needing to work with the compose file, since eventually I want to be able to build a Sawtooth plus Seth platform that is orchestrated by other tools.
I don't think this does any harm, so why not? Eventually we want to create images using a two stage process anyway, to make them smaller, which would be decoupled from the compose file, so this would be a step towards that.

A multi-stage build approach would only need to change the Dockerfiles to toss out dependencies after the executable has been built. This wouldn't necessitate any changes to the current docker-compose up --build workflow

A multi-stage build would involve having to uninstall golang, rustc, cargo and so on after the build, but you would still have the previous layers from the dockerfile, so the image would still be huge. This is not the right way to create Docker images. You need a build Dockerfile that creates the executables and caches them somewhere (for core we make .deb files, here we just store the executables in a local build dir in the repo on the host), then another Dockerfile will install the minimal set of required libraries and copy the executables from the host to the image.
Here are the results of three Dockerfiles, test-1 is just ubuntu:xenial, then test-2 has golang installed, finally test-3 has golang installed, then removed:
REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
test-3                                         latest              1184f7b369f5        5 seconds ago       538MB
test-2                                         latest              7e37631f018d        18 seconds ago      537MB
test-1                                         latest              41d13b186bdc        25 seconds ago      112MB

Closing after @dplumb94 suggested moving to multi-stage builds as described in https://blog.alexellis.io/mutli-stage-docker-builds/


Factor a common layer for client metrics

There is two standalone implementations for client metrics on Htttp4s, one for prometeus metrics and one for dropwizard metrics.
It would be nice to try to get an abstraction that can deal with both implementations, hopefully removing duplication and enhancing long-term maintainability.

As mentioned before, I tried this and failed server side.  As mentioned before, I'd love to see another attempt, because it still seems like a good idea.

Hi @rossabaker,
I have a draft implementation of this issue. It can be found here: https://github.com/luisdeltoro/http4s/tree/CommonLayerClientMetrics_%232005/client-metrics/src
If you like the solution and think that it's worth committing I would clean up the branch, which still contains the other prometheus-client-metrics project and run it through scala format etc..
At the end, I'm using type classes to abstract the common layer that both implementations share.
From my point of view the code reads now more easily and it has the advantage of allowing other developers to easily provide typeclasses implementations for their metrics framework of choice.
I have added tests for both implementations to make sure, I did not brake anything.
Please let me if you think this is heading in the right direction.

I think the approach is generally nice.  I see that a lot of the operations on MetricsOps are being Sync.delay'ed.  It would make more sense to me to keep the MetricsOps pure and return an F context.
This is tangentially related to #2053, where there's a listener interface for events that feed into metrics.  I think the right approach may end up having some similarities here.

Hi @rossabaker,
I've changed the MetricsOps so it returns always an context F.
Regarding your second comment. I'm not sure I fully understand it. Do you mean that you would prefer that I convert MetricsOps to some kind of listener for events?
Maybe something like:
trait RequestListener[F[_]] {
def requestInitiated(destination: Option[String]): F[Unit]
def headersReceived(destination: Option[String]): F[Unit]
def BodyConsumed(destination: Option[String]): F[Unit]
}
Or are you more referring to the fact of making the publishing of metrics asynchronous by getting it to run on another Fiber?

I don't think it should be async publishing.  All of these calls should be very quick.  It could be async publishing if the interpreter takes a ContextShift, but this would almost always be a bad idea.
I think we either want to publish the timestamps as part of the events if it's a "listener", or calculate the elapsed time and pass that, as you were originally doing.  I don't have a strong opinion on that.  I guess see what feels more right to you, and we can examine it on a PR.

Hi @rossabaker,
I would, for the time being, stick to the approach of calculating the elapsed time and passing that, as it is more consistent with the way the server metrics are gathered.
I will prepare the PR and send it to. But before that, I would have one more question:
Would you like to have all metrics implementations in one project (client-metrics) like it's right now in my branch?
Or would actually prefer that I separate them into 3 different projects, something like:
client-metrics-core, client-metrics-prometheus, client-metrics-dropwizard?

Hi @rossabaker,
I would, for the time being, stick to the approach of calculating the elapsed time and passing that, as it is more consistent with the way the server metrics are gathered.
I will prepare the PR and send it to. But before that, I would have one more question:
Would you like to have all metrics implementations in one project (client-metrics) like it's right now in my branch?
Or would actually prefer that I separate them into 3 different projects, something like:
client-metrics-core, client-metrics-prometheus, client-metrics-dropwizard?

Sure, that's what I though too. All do that then

Hi @rossabaker,
I've opened a PR with the agreed changes: https://github.com/http4s/http4s/pull/2094
Let me know if there is still something to be changed.
Best,
Luis

A follow-up task has been created to try to do a similar job on the server metrics metrics: https://github.com/http4s/http4s/issues/2131


Adjustable size of the code?

This is especially relevant for the print-layout.
This issue should be actually called "adjustable style", but i know this is somewhat of a bigger request. If at least the size would be changeable, that'd be cool.

you mean you want the qr code printed in a different size? most browsers will allow you to adjust the scaling of the page before printing, but I admit this is kinda awkward.

Yeah, this is what I am doing in any case. Because my wifi password was rather long (16 characters), it cut off the last character a little bit on the printed out version, so its not that reliable.
What I actually meant was: independently from the font size or the paper size, make the code itself resizeable (either by defining the dot size or by defining the side length, but I think exposing the side length as a parameter for the user is more understandable).


Switch graphene opentracing middleware to tracing decorator

I want to merge this change because graphene middleware for tracing was too expensive. We wanted something more lightweight - so this introduces traced_resolver decorator and implements it on every resolver which is worth tracing across Saleor.
Related ticket: SALEOR-2157

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-2157 Replace OpentracingGrapheneMiddleware with tracing decorator.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


conditionally create comment

This better satisfies the maximum comment length imposed by GitHub while leaving the step summary length unhindered.
An added benefit here is that we only create a comment when it is needed. Previously, we were creating a comment to also get a tally of checks failed.
resolves #89

This approach should actually expedite CI runs that don't use thread-comments or step-summary features (with no breaking behavior).
I also prioritized feedback features that don't require special permissions. Meaning, if the CI run fails due to inadequate permissions, the step-summary and file-annotations will be done before cpp-linter raises an exception about required permission. Bare in mind that users can still use the outputs in case permission is not granted.
    steps:
      - uses: actions/checkout@v4
      - uses: cpp-linter/cpp-linter-action@v2
        id: linter
        # allow use of outputs in case of permission errors
        continue-on-error: true
        with:
          # no GITHUB_TOKEN in env means no permission for comments
          thread-comments: ${{ github.event_name == 'pull_request' && 'update' }}
      - name: Fail fast?!
        if: steps.linter.outputs.checks-failed > 0
        run: exit 1


e2e, network: Unify IP report in status tests

What this PR does
Before this PR:
Currently there are two tests that verifies VMI with bridge binding report the pod IP in status at test/network/primary_pod_network.go.
Both tests use Alpine VM which doesnt have QEMU guest-agent installed.
After this PR:
The are unified into the "multiple VM with bridge binding" test at tests/network/vmi_networking.go.
This test use Cirros VM which doesnt have QEMU guest-agent installed as well.
This PR change tests that perform connectivity check cross nodes to not skip silently but fail loudly, with a informative message.

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

NONE

Thank you for removing two e2e tests.
Please adjust the commit messages to fit the recommended line length [1].
[1] https://cbea.ms/git-commit/#wrap-72

Done
PTAL