Send string in body of request

Currently, with the way that the MoyaTarget protocol is written, there's no straightforward way to send a string as the body of the request (i.e. GraphQL query).
Any suggestions from the community?
cc: @Moya/contributors

Hmm, this could be accomplished using the custom parameter encoding block, but I agree it's a bit awkward. Maybe we could look around ways to make it easier to use custom encoding (or including an implementation that works with GraphQL? Is Alamofire doing anything lime this?). Regardless, a good solution to this issue should include good documentation and maybe even an example project :cake:

We want to be able to recreate this CURL functionality:
$ curl -XPOST -H 'Content-Type:application/graphql'  -d '{ count }' http://localhost:3000/graphql

As far as custom parameter encoding, I'm seeing something like this:
// A GraphQL utility that I'm currently developing
import GraphQL

static let ApplicationBaseAPIURL = NSURL(string: "https://myDomain.com/")!

// The query for a user matching an ID
func userQuery(id: String) -> GraphQLNode {
  return GraphQLNode(name: "user", arguments: ["id": id], properties: [
    "id",
    "firstName",
    "lastName",
    "username",
    "email"
  ])
}

enum UserEndpoint: MoyaTarget {
  case GetUserByID(id: String)

  var baseURL: NSURL {
    return ApplicationBaseAPIURL
  }

  var path: String {
    return "graphql"
  }

  var method: Moya.Method {
    switch self {
      case GetUserByID(_):
        return .GET
    }
  }

  var parameters: [String: AnyObject]? {
    switch self {
      case GetUserByID(let id):
        return ["query": userQuery(id)]
    }
  }

  var sampleData: NSData {
    // Return sample data in the same shape specified by the query.
  }
}

let GraphQLProvider = ReactiveCocoaMoyaProvider(endpointClosure: { target in
    let graphQLParameterEncoding = Moya.ParameterEncoding.Custom { requestConvertible, parameters -> (NSMutableURLRequest, NSError?) in
        // A little pseudo cod never hurt...
        let urlRequest = requestConvertible.URLRequest.mutableCopy()
        if let query = parameters["query"] as? GraphQLQueryType {
            urlRequest.body = query.description
        }

        return urlRequest
    }

    let graphQLEndpoint = Endpoint(
        URL: target.baseURL,
        sampleResponseClosure: {
            return .NetworkResponse(200, NSData())
        },
        method: target.method,
        parameters: target.parameters,
        parameterEncoding: graphQLParameterEncoding)
})

But I don't really like how we abstract away the requirement of there being a GraphQLQueryType available at the query key in the parameters dictionary.
We could change the parameters property of MoyaTarget to AnyObject?, and have Endpoint do some assertions to ensure that parameters is either an Array, [NSObject: AnyObject], or String, which would allow us to supply the GraphQLQueryType.description to the parameters, but this is more of the same black-box functionality that I'd like to avoid.

Agreed about the black-box functionality. Would making the GraphQLQueryType an associated value on the enum help? Not too much. Hmm.
It could be a lot cleaner if the custom parameter encoding closure had access to the endpoint (or the target, I suppose). We only use that closure signature because we pass directly into Alamofire. If expanding it would help, that seems like a cool idea.
I've not thought the issue through as much as you have – what sort of obstacles would that present?

Could you elaborate a little bit on that idea?
I'm starting to think that it might be best to leave that on the end user's side, and have them use similar logic to what was outlined above. I can't think of a way to do it without breaking changes, and without making assumptions about what was intended.

Hmm, yeah. I mean, I know GraphQL is getting more popular so I think we should consider first-party support at some point. But for now I'm fine leaving it up to the user.
This is what I was thinking of, probably not a huge improvement.
let parameterEncodingEnpoint = { (target: GitHub, request: URLRequestConvertible, parameters: [String: AnyObject]?) -> (NSMutableURLRequest, NSError?) in
    // Instead of accessing the parameters dictionary to construct body,
    // You can access associated values of the target directly.
}

A protocol, "ParameterEncodable" might be a good plan. We could add conformance for dicts to keep previous behavior, and then allow further smarts by providing a "GraphQLNode" struct (or let the users define it as an optional third party extension to Moya, until such time as it's a huge demand).

I have a GraphQL framework that I've been working on, in case anyone wants to contribute ;)
—Justin Makaila
On Sat, Nov 14, 2015 at 12:44 PM, swizzlr<EMAIL_ADDRESS>wrote:

A protocol, "ParameterEncodable" might be a good plan. We could add conformance for dicts to keep previous behavior, and then allow further smarts by providing a "GraphQLNode" struct (or let the users define it as an optional third party extension to Moya, until such time as it's a huge demand).
Reply to this email directly or view it on GitHub:
https://github.com/Moya/Moya/issues/290#issuecomment-156740424

:+1: to the idea of a ParameterEncodable protocol.

How to  add post data in MoyaProvider subclass?  Is there a solution?

I have a similar issue. We have an S3 proxy endpoint where we would like to perform the equivalent of curl's --data-binary (i.e., setting the URLRequest body to a binary file) and can't send multipart form data. Is there a suggested idiomatic approach for this now, or some workaround (e.g., getting a mutable URLReqest)?

@thomasmarsh I think that using the custom parameter encoding solution would be the easiest workaround. Let us know how it goes!

Ah, sorry, I'm new to all this and didn't understand what was happening the custom parameter encoding solution. I understand now and got it working. Thanks, @ashfurrow!

@justinmakaila I've since used a GraphQL API, want to pick up the conversation on this? How did the framework go?

Hey @ashfurrow! Do you use GraphQL in combination with Moya? Is there any update on how to make parameter encoding more generic? I'm very new to GraphQL and try to integrate Apollo iOS with how I use Moya and Alamofire to make network requests.

I'm afraid that I haven't used GraphQL with Moya yet, if you find things non-obvious, I'd love to see a PR adding GraphQL to our documentation 🎉

Dope, just realized that my email response never sent:
@ashfurrow I wrote a simple framework that provided typed interfaces for GraphQL structures. You could then use the description property to build the proper strings. I implemented this around Moya like so:
enum APITarget: TargetType {
    case graphOperation(GraphQLType, [String: Any])

    public var path: String {
        switch self {
            case .graphOperation:
                return "graphql"
            // ...
        }
    }

    public var method: Moya.Method {
        switch self {
        case .graphOperation:
            return .post
        default:
            return .get
        }
    }

    public var parameters: [String : Any]? {
        switch self {
        case let .graphOperation(operation, variables):
            return [
                "query": operation.description,
                "variables": variables
            ]
        // ...
        default:
            return nil
        }
    }

    public var task: Moya.Task {
            return .request
    }

    public var sampleData: Data {
        case let .graphOperation(operation, variables):
            // Your sample response based on the operation here
        // ...
        default:
            return Data()
    }
}

Turns out my initial issue with sending a raw string wasn't necessarily an issue with Moya, per se.

@ashfurrow the framework went wonderfully for my use case, it's OS on my
profile.
I ended up just using standard JSON encoding to send queries/variables.
Not so familiar with Apollo though.
On Mon, Oct 24, 2016 at 05:14 Alex Hüllmandel<EMAIL_ADDRESS>wrote:

Hey @ashfurrow https://github.com/ashfurrow! Do you use GraphQL in
combination with Moya? Is there any update on how to make parameter
encoding more generic? I'm very new to GraphQL and try to integrate Apollo
iOS https://github.com/apollostack/apollo-ios with how I use Moya and
Alamofire to make network requests.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Moya/Moya/issues/290#issuecomment-255688417, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABkCVG8d1rhUmoGcPFWAenJMFhCN7IACks5q3HbZgaJpZM4GeTZL
.

Seems like this has been resolved, please reopen if there's any other issues. :)


Can't access notification data when the app is in background or killed

Hi!
First of all, great work with this library!
<EMAIL_ADDRESS><EMAIL_ADDRESS>OS: Android - Emulator - 7.0.2

When my app is in foreground, its working perfectly, I receive the data in this function
FCM.on(FCMEvent.Notification, async (notif) => {
And I can handle everything

But when the app is in background, the notification is received, but when I tap the banner, the app goes foreground, the same function is triggered, but the notif object is different, and don't contains my data.

When the app is killed, also the notification is received, but when I tap the banner, the app starts, the
FCM.getInitialNotification()
is triggered, and my notif object doen't also contain the data, the same behaviour than in background

I am testing the format of the messages using node-gcm library, of firebase web interface, but nothing works.
This is a sample of my message:
let message = new gcm.Message({
	priority: 'high',
	content_available: true,
	timeToLive: 3,
	data: {
		key1: 'message1',
		key2: 'message2'
	},
	notification: {
		title: "Hello, World",
		icon: "ic_launcher",
		body: "This is a notification that will be displayed if your app is in the background."
	},
	custom_notification: {
		key1: 'message1',
		key2: 'message2'
	}

});

How should I proceed to send and receive data in those cases? Because is driving me crazy.
If you need more data, ask for it :)
Thanks!!
EDIT:
I have two activities in my native part, as I am handling a splash screen in the native way. can this be causing this effect?
This is my manifest.xml. I don't want to handle local notifications, only remotes
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.myapp"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <uses-sdk
            android:minSdkVersion="16"
            android:targetSdkVersion="22" />

    <application
            android:name=".MainApplication"
            android:allowBackup="true"
            android:label="@string/app_name"
            android:icon="@mipmap/ic_launcher"
            android:theme="@style/AppTheme">
        <meta-data
                android:name="com.google.firebase.messaging.default_notification_icon"
                android:resource="@drawable/ic_stat_azvase_notification" />
        <service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>
        <service android:name="com.evollu.react.fcm.InstanceIdService" android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
        <activity
                android:name=".SplashActivity"
                android:label="@string/app_name"
                android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity"
                  android:launchMode="singleTop"
                  android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
                  android:windowSoftInputMode="adjustResize"
                  android:exported="true"

        >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />

    </application>

</manifest>

Ok, I fixed it, It was caused by the native splash screen, when I removed the SplashActivity and I only handle the main one, everything worked fine!

@vlaraort you mean you can get all data now?

Hi there, first of all, thanks for this library. Great stuff!
I have to say that I implemented a very different workflow in my app, where the push controller component is NOT inside a React component. Instead, the listeners for notifications are always accessible from the top-most component of my app (but not requestPermissions nor getFCMToken). I did this following the suggestions from react-native-push-configuration, the framework that I used before (but which does not work with FCM for IOS). This means that my app could technically receive notifications when it's killed (which actually works pretty well in Android).
I want to describe my use case since I'm having a problem with IOS now:

I use the messaging system to talk from my backend to the app. When the app receives a message from my backend via FCM, I don't want it to show it directly in the notification center. I want the app to take some action (for instance, write some info to the redux store/trigger redux actions) and perhaps creates a local notification

On android, seems to be working fine. The notification sent by the server is as always of the format:

        data = {
            "to": token,
            "data": {
                "myMessage": json-of-my-payload
            }
        }

the app knows how to interpret "myMessage".
On Android, things work nicely. I get the notification in basically every scenario and take the actions that should be done. Even when the app is killed, Android brings it up under the hood (in a flow that I think is not the common react lifecycle flow) and I can even do redux store operations.
But in IOS I have the following issues:
1 - To start with, the format is different, otherwise notifications do not get through. This is fine and I can handle it somehow in the app side. But for the record, the format is below:
        data = {
            "to": token,
            "notification": {
              "title": my-title-string,
              "body": my-body-string
            }
            "data": {
                "myMessage": json-of-my-payload
            }
        }

2 - First real issue: I don't want to always show a local notification. As I said, I want the app to take decisions to show the notification or not depending on what's encoded in myMessage.
3 - When the app is killed, my callback code (FCM.on(FCMEvent.Notification, notif => {) is not called in IOS. This means that my app is not taking decisions such as to write stuff in the redux store. Because of that, my app is lacking pretty important data. It is worth mentioning that the notification still shows up because IOS always shows up messages with body/title.
I decided to seek help for these cases since the behavior is not very consistent between the platforms.
Thanks,
Fred

issue 2:  try remove the notification part and add "content_available": true. See if the notification gets delivered.
issue 3:  App should wake up after reboot or system kill because of memory shortage. Swiping away in task center will prevent app waking up. System behavior. I would not rely on notification and sync data with server on launch (what if user turned off notification?)

Thanks, @evollu ... good suggestions, I will change my backend <-> app behavior a bit based on this idea.
Thank you so much!

Hi @fredbt
I have the same problem, have you fix it?

hi @imarem, I'm using this format for android:
    ```

data = {
"to": token,
"data": {
"myMessage": json-of-my-payload
}
}

and it works well for most of the things I want to accomplish with my notifications. I still need to test on IOS, but unable now given that our devices are not here in the company.

Hi @fredbt,
Thannks for your answer, in android I haven't problems, I use the same configuration in the payload.
It's in iOS where I don't receive anything in the FCM.on event (FCMEvent.Notification, async (notif) => {...
I have several consoles in this event but when the app is in the background, I don't receive nothing if I don't press on banner.

@imarem
I don't fully remember if we managed to get the it working completely on IOS last week when I was experimenting --- I will double check later this week.
Did you configure your app in XCode to receive Remote Notifications?

@fredbrt
==>Did you configure your app in XCode to receive Remote Notifications? ==> Yes!

Any solution? I have the same problem. My notification when app is on background or killed is totally different from the one when app is foreground. It's only have open_from_tray: true and no data payload. I have only MainActivity in AndroidManifest (no SplashScreen as @vlaraort mentioned).

@vlaraort thanks, your fix worked for me. I removed splash screen and I also added this
<intent-filter>                 <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>
in MainActivity

@evollu still i'm getting below msg only in android if i opened app .How to fix this
{
  "content_available": false,
   "notification": {
       "title": "hello",
       "body": "yo"
   },
   "data": {
       "extra":"juice"
   },
  "to":"cbGVdEcQcl5pXvT8wBqo1e8I_nALw7czQaymhDRa1ol0IZD4KV2GVqmDANy6_oJcphyIizEkF9LLtyf18FnYXvd6buARv60y8MLlGds-jpQUvqOPs7Xiat0DV-HiPwmNSPRmZAbn"
}

{ opened_from_tray: 1, fcm: { action: 'android.intent.action.MAIN' } }


New, more consistent way to move text.

This makes RenameIt play nicer with Sketch Framer since "*" is an export command in that plugin. This also feels like a more consistent way to move text.

Featured add to latest release. Thanks!


Replace validation banner with GOV.UK Frontend error summary component

trello: https://trello.com/c/qUAR9Nm4/20-1-replace-validation-banner-with-govuk-frontend-error-summary-component-in-the-briefs-frontend

I'm just looking at these now, sorry I haven't been able to beforehand.
One small comment straight off the bat, the commit messages could be more descriptive, especially the first one. Something like the PR title would be good!

I'm getting an issue where the error summary doesn't include the error messages; maybe we're missing a govuk_errors call somewhere?

Looks like the other views are good though 👍

Thanks for fixing those issues, they look good to me now.
Unfortunately I just found another one that was missed, at app/main/views/supplier_questions.py:87


HTTP endpoint subscription error

Subscription to http endpoint from config file (goaws.yaml) don't work. So a sns topic configuration like that:
...
Topics:
    - Name: my_topic
      Subscriptions:
        - Protocol: http
          EndPoint: http://backend/my_listener
          TopicArn: arn:aws:sns:us-east-1:000000000000:my_topic
          FilterPolicy: '{"event": ["my_event"]}'

doesn't work!
From config file just subscription to SQS queues (QueueName) works! (on goaws container boot).
TopicArn like ListTopics response:
TopicArn: arn:aws:sns::000000000000:my_topic

also doesn't work :(
This way I need to subscribe manually (aws cli) to http endpoints every time the goaws is restarted.
Some solution to that?
Thanks!

Fixed in version 0.2.1 - https://github.com/p4tin/goaws/releases/tag/v0.2.1 -or-
docker pull docker.io/pafortin/goaws:latest

Thanks @p4tin for fix this \o/.
More one thing if possible: the FilterPolicy didn't work for http subscription, is this sintax ok?:
FilterPolicy: '{"event": ["my_event"]}'


fix(normalizaProp): support css variable as number

fix #6625

I decided to remove the unit check altogether since due to vendor prefixes and custom properties, the check seems to be unnecessarily strict for little value (for the end user, the browser render result will be the same).


Resolves #1257 - disconnecting colour input no longer makes material black

default to white rather than undefined colour

lgtm


Updates Travis to latest Ubuntu

I think there's some weird thing cache wise as exact same build on zipkin-aws doesn't fail to find JDK 14. I'm going to merge this and will own responsibility for fallout if it still fails after master eats it.


Remove special cases for old Visual Studio versions

There are various places in both targets and engine logic that special-case things for "if dev10 is installed" or "if toolset 4" and so on. We should audit them and remove where possible.

Solution Parser has some bits to removeeg ParseEtpProject . Enterprise Template Projects were legacy in VS2005 I think.


[Monitor OpenTelemetry Exporter] Update Statsbeat Shutdown Logic

Packages impacted by this PR
@azure/monitor-opentelemetry-exporter
Describe the problem that is addressed by this PR
We should follow the spec regarding which status codes should cause statsbeat to shutdown and fail silently.
We should also align with other languages on the environment variable used to disable statsbeat.
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[x] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


AS3 Pool member adminState offline does not match Webui "force Offline" configuration

Environment

Application Services Version: 3.37.0
BIG-IP Version:<IP_ADDRESS>

Summary
Pool member adminState offline does not match Webui "force Offline" configuration
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "tenant_offline": {
        "app": {
            "class": "Application",
            "enable": true,
            "pool_offline": {
                "class": "Pool",
                "loadBalancingMode": "least-connections-member",
                "members": [
                    {
                        "addressDiscovery": "static",
                        "enable": true,
                        "adminState": "offline",
                        "priorityGroup": 0,
                        "serverAddresses": [
                            "<IP_ADDRESS>"
                        ],
                        "servicePort": 30081,
                        "shareNodes": true
                    }
                ],
                "minimumMonitors": "all",
                "monitors": [
                    {
                        "bigip": "/Common/tcp"
                    }
                ],
                "serviceDownAction": "none"
            }
        },
        "class": "Tenant",
        "defaultRouteDomain": 0,
        "enable": true
    },
    "schemaVersion": "3.26.0",
    "class": "ADC",
    "controls": {
        "class": "Controls",
        "userAgent": "vscode-f5/3.7.1",
        "archiveTimestamp": "2022-07-01T11:19:00.179Z"
    },
    "id": "autogen_afd7be53-d7fc-4a96-9deb-40e090b18c8b",
    "updateMode": "selective"
}

Observe the following tmsh output:

ltm pool /tenant_offline/app/pool_offline {
    load-balancing-mode least-connections-member
    members {
        <IP_ADDRESS>:30081 {
            address <IP_ADDRESS>
            description "(replaces AS3 <IP_ADDRESS>)"
            session monitor-enabled
            state user-down
            metadata {
                source {
                    value declaration
                }
            }
        }
    }
    min-active-members 1
    monitor tcp
    partition tenant_offline
}

Watch pool member status in Webui

Pool member status is Red diamond

Use "Force Offline" in Webui

Observe the following tmsh output:

ltm pool /tenant_offline/app/pool_offline {
    load-balancing-mode least-connections-member
    members {
        <IP_ADDRESS>:30081 {
            address <IP_ADDRESS>
            description "(replaces AS3 <IP_ADDRESS>)"
            session user-disabled
            state user-down
            metadata {
                source {
                    value declaration
                }
            }
        }
    }
    min-active-members 1
    monitor tcp
    partition tenant_offline
}

The session attribute is different.

Watch pool member status in Webui
Pool member status is black diamond

Expected Behavior
The AS3 offline mode must be the same as Webui option
Actual Behavior
The configuration from AS3 does not match options available in Webui

Hello, we just encountered the same issue on the following version combination:
AS3 v3.29
BIG-IP v<IP_ADDRESS>

@stanislaspiron @DaanOlbrechts Does the adminState value of disable satisfy your use cases?

@dstokesf5 adminState value disableconfigures the same as webui "disable" option:

session user-disabled
state down

@stanislaspiron please reach out to<EMAIL_ADDRESS>so we can prioritize.

Filed AUTOTOOL-3385 for PM tracking. Thanks @stanislaspiron for reaching out.

This has been resolved in the 3.42.0 release of AS3.


Remove unused watch namespace

Some cleanup to remove flag that is no longer used.

Closing in favor of #338


Potential bug in handling of rate-limit errors

I've been playing with this a bit and it generally works very well, but I get intermittent errors, and they seem to occur when I'm pushing it quite hard and (presumably) causing the AWS API gateway to throw rate limit errors.
I see errors about unexpected EOF.
Is this something you have seen too? Are you accepting PRs?

Hello @cyclotron3k !
I didn't experienced that, but I'm not using it in the context of a high volume of requests.
Feel free to open a pull request, it will be received with pleasure 😄 .
Cheers!

I've been digging into this a bit recently. My notes so far:

I can reliably recreate the issue by sending hundreds of "describe stack" requests to the cloud formation API.

Rate limit exceptions are being thrown and handled correctly, but eventually I see the following
4m    error: Async::Task [oid=0x4ff24] [ec=0x45f10] [pid=7] [2021-11-22 01:25:04 +0000]
         |   EOFError: Could not read line!
         |   → /usr/local/bundle/gems/async-http-0.56.5/lib/async/http/protocol/http1/connection.rb:55 in `read_line'
         |     /usr/local/bundle/gems/protocol-http1-0.14.2/lib/protocol/http1/connection.rb:201 in `read_response'
         |     /usr/local/bundle/gems/async-http-0.56.5/lib/async/http/protocol/http1/response.rb:31 in `read'
         |     /usr/local/bundle/gems/async-http-0.56.5/lib/async/http/protocol/http1/client.rb:78 in `call'
         |     /usr/local/bundle/gems/protocol-http-0.22.5/lib/protocol/http/request.rb:53 in `call'
         |     /usr/local/bundle/gems/async-http-0.56.5/lib/async/http/client.rb:143 in `make_response'
         |     /usr/local/bundle/gems/async-http-0.56.5/lib/async/http/client.rb:106 in `call'
         |     /usr/local/bundle/gems/async-aws-1.0.2/lib/async/aws/http_handler.rb:41 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/plugins/content_length.rb:24 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/plugins/request_callback.rb:85 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/xml/error_handler.rb:10 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/signature_v4.rb:58 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/transfer_encoding.rb:26 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/helpful_socket_errors.rb:12 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:349 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:383 in `retry_request'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:371 in `retry_if_possible'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:360 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:383 in `retry_request'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:371 in `retry_if_possible'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:360 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:383 in `retry_request'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:371 in `retry_if_possible'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:360 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:383 in `retry_request'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:371 in `retry_if_possible'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/retry_errors.rb:360 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/http_checksum.rb:18 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/endpoint_pattern.rb:30 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/query/handler.rb:30 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/user_agent.rb:13 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/endpoint_discovery.rb:80 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/plugins/endpoint.rb:47 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/param_validator.rb:26 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/logging.rb:41 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/plugins/raise_response_errors.rb:16 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:22 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/idempotency_token.rb:19 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/param_converter.rb:26 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/plugins/request_callback.rb:71 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/aws-sdk-core/plugins/response_paging.rb:12 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/plugins/response_target.rb:24 in `call'
         |     /usr/local/bundle/gems/aws-sdk-core-3.122.1/lib/seahorse/client/request.rb:72 in `send_request'
         |     /usr/local/bundle/gems/aws-sdk-cloudformation-1.61.0/lib/aws-sdk-cloudformation/client.rb:3051 in `describe_stacks'
         |     stress_test.rb:106 in `_get_stack_parameters'
         |     stress_test.rb:62 in `get_stack_parameters'
         |     stress_test.rb:42 in `block (4 levels) in run'
         |     /usr/local/bundle/gems/async-1.30.1/lib/async/task.rb:260 in `block in make_fiber'

I've noticed that the issue usually happens 4-5 minutes into a stress test. It doesn't seem to be correlated with how many collections I'm allowing, and what the backoff parameters are - which is unusual. This could be a red herring though.


[common] CalendarIndex: 1-based

coverage: 59.54% (+5.5%) from 54.034%
when pulling 29b04679e43b38b86140bbfedc7f7516b5a5f6ef on calendar-index-1-based
into 63b14fac5e4bc4e10cb1b386b292961ce91261eb on main.


Update Semgrep intel module to use the /findings API endpoint

Summary
Semgrep is consolidating their API  for both SCA and SAST findings: https://semgrep.dev/api/v1/docs/#tag/Finding/operation/semgrep_app.core_exp.findings.handlers.issue.openapi_list_recent_issues deprecating the one we use https://semgrep.dev/api/v1/deployments/1111/ssc-vulns.
This replaces the call to the new API, updates the mapping based on the new info retrieved, adds some guard rails to prevent issues during data ingestion and tackles read time-outs to the new API.
Related issues or links
None
Before the change

After the change

Log trace

Checklist
Provide proof that this works (this makes reviews move faster). Please perform one or more of the following:

[x] Update/add unit or integration tests.
[x] Include a screenshot showing what the graph looked like before and after your changes.
[x ] Include console log trace showing what happened before and after your changes.

If you are changing a node or relationship:

[x] Update the schema and readme.

If you are implementing a new intel module:

[ ] Use the NodeSchema data model.

If we haven't already, should show this off to Semgrep too. Maybe at some point they'll release an official Semgrep module (-:

I shared it with them when first released, but there haven't been much engagement.
There aren't many integrations with the Semgrep API that I found at Github, so maybe we can promote Cartography + NeoDash as a good tool to surface and report their findings.


OperaDriver fails to use launcher to run opera on Windows

Something changes between selenium 2.11.0 and 2.13.0.  I was able to run tests on Opera 11.5 on Windows 7 no problem, then with upgrade to 2.13.0, suddenly getting this message:
"Unable to extract bundled launcher: Unable to set modification time for file: C:\Users\you.launcher\launcher-win32-i86pc.exe "
Not sure that 2.11 uses the bundled launcher. It's as if there's some sort of permission or timing issue here because when scripted, I get the message above, but when manually run my test on command line, it appears to work ok.
If I'm right in that 2.11 did not use a launcher binary, then is there a setting to not use this launcher until I get permission settings checked out?  Or is there something else I should be aware of with the launcher?

I'm suspecting this happens because we don't close the FileOutputStream before modifying the file…  OperaDriver 0.8 added a check for whether setLastModified() succeeded.  One solution would be to disable this check.
But does this happen consistently on your system?
(Also to use Opera 11.52 or older you need to set opera.port to -1 and opera.profile to "" (empty string) for it to work out-of-the-box.  Or you can upgrade to 11.60 or newer.)

Yes it is consistent in as far as running the java command from a python script that runs as administrator (that's what I meant by scripted), but when I go in and run the java test on the command line it does not give me this issue, hence I believe it's a permission issue (since running on command line runs as the user).
I am using the port and profile as indicated since it's 11.52, I had to do that so it would work on other configs (Mac, Linux).
How do you disabled this "setLastModified() succeeded" check?   I 'm trying to use distribution selenium-standalone versions and not have to modify the jar or include separate files in the classpath.  Sounds like this change may require that so I am staying on sel 2.11 for now, but have to conditionally use 2.13 for Opera to run on Ubuntu 11.10 due to shared library dependencies.
We use selenium across lots of browser versions (I work for crossbrowsertesting), so upgrading does not really fix things for me.  In fact I am still using OperaDriver for versions 10.5 and above (flaky but works most of the time).
It sounds like the real answer is that I need to go in and see what's going on now that there's a launcher binary... that was my question: when did the launcher binary get added?  Can it be turned off?  (especially since it doesn't work with 10.x versions)

Can you try out https://github.com/operasoftware/operadriver/tree/andreastt/last_modified_no_check and see if that works?  Simply check out the branch and do ant jar to compile a new OperaDriver JAR.  Does this fix the problem for you?
If we can verify that this fixes your issue, we can push that to the next Selenium standalone JAR.
The launcher binary was added a long time ago and shouldn't be dependent on any specific Opera version as it does not communicate directly with Opera.  The launcher executes Opera as a child process so that we have better binary control than what Java gives us by default.  It also solves some issues with taking screenshots.

I've also seen this issue. It looks like Windows (not just 7) implements setLastModified using an exclusive file lock, which conflicts with the write lock the open FileOutputStream has (see http://stackoverflow.com/questions/1144635/setting-the-last-modified-time-of-a-directory-opened-for-readdirectorychangesw). The solution would be to move the modification date change below the try/finally block.
The reason this isn't always failing for me is that the next time we get into this code path, the launcher already exists in my home dir and its MD5 sum is identical, so the write and setLastModified aren't attempted again. It will break again the next time that md5 check fails though.
Strangely, the code isn't checking the last modified date at all - it only does a MD5 on the content. Maybe you can just remove this code altogether?
Also: it looks like the if != null checks in the finally block can be simplified: Closeables does the right thing with nulls.

I believe this has been solved in HEAD now.

This is not fixed on master: the unnecessary call to setModifiedDate is still there, and it still causes the first attempt to install the launcher on a clean machine to fail on Windows 7 (and almost certainly all other windows systems, for the reason I linked above). To reproduce, be sure to clear out your C:\Users\foo.launcher directory before attempting to create a new OperaDriver instance.

Terribly sorry about that, was sure I had merged the patch.  I've now removed the check for whether setLastModified() fails.  Does this work for you?  I'm not able to reproduce this issue on Windows XP when running ant test…

I can verify that this fix works. Still, I'm not sure why you even need to call
targetLauncher.setLastModified(targetLauncher.lastModified());

since the act of writing to the file will bump the last modified date on all OSes I've ever heard of, and this code will simply set it again to its current value - in short, it's an expensive no-op.

I agree.  I asked stuartk (old maintainer) what it was and he said it was from the days when we did date-modified comparison (rather than byte/hash comparison as we are now), so this can safely be removed.


Initialize Secure Case Session earlier

This PR initialize the SecureSession instance a bit earlier because we send the sessionId already out as Sigma2Resule before we initialize the session, WHile playing around I had edge cases where the peer sent in requests with the new ID before we had registered the session id internally in the SessionManager.
Moving the code solvs this. The worst case is that Sigma2Result fails (which can normally only happen in network issue cases) and we have the session object created which is then not used

Session is now destroyed on error, #251 mkes sure that session is then also removed from sessionmanager


Code walkthrough findings

These are items found by walking through the code.
Search for _ in function returns.  There should be none for err values
Should return err.error()
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_remove.go#L43
Should return err ?
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_add.go#L69
Return err
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_add.go#L76
Return the called err and define inside getbookmarks.  When bb is nil, might not actually want to return an error because this signals to create new bookmarks
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/master/server/command_add.go#L94
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de
/server/bookmarks.go#L91
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command.go#L158
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command.go#L207
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command.go#L208
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_label.go#L79
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_label.go#L121
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_remove.go#L41
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_view.go#L25
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_view.go#L57
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command_view.go#L63
Error not needed to return
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/labels.go#L33
Empty error message returned. Search for this in code and replace with meaningful message https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/labels.go#L65
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/labels.go#L117
Make sure this is getting passed up the stack and being used
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/labels.go#L189

Remove comment
https://github.com/jfrerich/mattermost-plugin-bookmarks/blob/fbf4925ff105f5e4f478017f0cda70ad89c062de/server/command.go#L218


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_d4e5390d-c4dd-4b1b-b746-c3db1cceddd5/pull/1 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target_d4e5390d-c4dd-4b1b-b746-c3db1cceddd5.git

Docs Build status updates of commit e2d96b2:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-07-28-09-02-35 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-07-28-09-02-35

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Support has_many :through

Do you have a plan to support has_many :through?
I tried to make CountLoader include ActiveRecord::Associations::Preloader::ThroughAssociation, but it was not enough to work.

I have no plan to support it, but it seems a good feature. :)

@k0kubun Can you explain what would need to be done here?

Just working patch. No research isn't done yet.

I would totally try to create a patch, but I have no idea where to start. Can you point me to the files that would probably need to be modified?


Fail with another plugin

Hello. I'm try add another plugin Plugin.Badge and my project brake.
After show code in reflector, i see a some namespace Plugin.Badge.Abstractions.
And as result conflict between types.
To resolve, need sign assembly.

Move plugin to another namespace


dsl: Move SubDimension thickness evaluation to the thicknesses themselves

Fixes issues with standalone use of SubDimension.symbolic_min or SubDimension.symbolic_max in an operator. Previously variants on
x = Dimension('x')
ix = SubDimension.left('ix', x, 2)
f = Function(name="f", dimensions=(ix,), shape=(5,), dtype=np.int32)

eqns = Eq(f[ix.symbolic_max], 1)

op = Operator(eqns)
op(x_m=0)

would suffer from two issues:

The SubDimension thickness (ix.symbolic_max) would not be concretised from x_ltkn to x_ltkn0
The SubDimension thickness would never be given a value by _arg_values unless the user explicitly passed it to the operator (and even then, it would not be adjusted to reflect any MPI decomposition)

These are rectified by this PR.

Merged, thanks


Transfer Learning setup for neural networks

This is a demo of how transfer learning can be implemented for the neural networks in ASReview. Right now its a bit hacky/lazy programming, which I plan to fix later...
Explanation of how it works right now:
After the first model is trained, the full model gets saved to 'model.h5'. When training the subsequent models, the previous model is loaded first, and then its trained for 1 epoch (technically I implemented a function that lowers the amount of epochs from 35 to 1, but it goes down to 1 very quickly) on the new data. This saves a lot of computation time on training the models. In the tests I ran with the nudging dataset, it lowered the duration of the full simulation by about 50%.
There seems to be some loss in performance right now (sample size n=1), but in theory this could be regained by using more complex models that would otherwise be unfeasible due to the computation time required to train them.
Current neural network implementation simulated on the Nudging dataset:

Transfer learning neural network implementation simulated on the Nudging dataset:

I think this test case is proof that loading the weights works correctly, here is what happens when I let it use the model from the previous simulation run from the start:

Very interesting to see the differences. Sounds like a very promising feature. I think it is important to give the user of the model the option to use this feature or not (add it to the constructor of the class). Looking forward to the next steps.

Very interesting idea. Can be really useful.
I think we should develop this as an extension first https://asreview.readthedocs.io/en/latest/API/extensions_dev.html#add-model.
I would suggest adding this to ASReview when:

performance is at least as good as the current implementation
it has a new name such that the old model remains backward compatible
it is technically stable (temp store of the model is an open challenge)
fully reproducible with the state file

It might be easier to implement this as an extension and work on the items mentioned above. This makes development a lot faster (less testing and quality checks).
After the model was developed, we are welcoming a PR to add it to the list of model extensions https://asreview.readthedocs.io/en/latest/extensions/overview_extensions.html. After this was considered to be mature, we can integrate it in ASReview (or not).


Broadcasting - ReflectionException: Class App\Http\Middleware\Authenticate:api does not exist

Laravel Version: 8.16
PHP Version: 7.4
Database Driver & Version: MySql 8
Laravel Passport 10.0.1

Description:
After upgrading to laravel 8.16 from 8.x, currently getting this error when including the "auth:api" middleware to broadcast routes
In BroadcastServiceProvider
Broadcast::routes(['middleware' => ['auth:api'], "prefix" => "api"]);
ReflectionException: Class App\Http\Middleware\Authenticate:api does not exist in file /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php on line 718
This happens when attempting to auth using the "api/broadcasting/auth" route
Steps To Reproduce:
Add the auth:api middleware to the broadcast routes to the BroadcastServiceProvider as seen above.
Assuming this is the commit causing this for me
https://github.com/laravel/framework/commit/acb4b77adc6e257e132e3b036abe1ec88885cfb7#diff-f26a04b14bec5e0c2d41744423329f18e0bcbbeae8a3deb16d02ff8799494490
Not an issue on Laravel 8.15 and below

Fixed on 8.17.2.


Regression: EPERM operation not permitted on Windows

It seems the #18 and related issues have regressed.
  isMonorepo false
  npmPath C\\Users\\[snip]\\AppData\\Roaming\\npm-cache\\_npx\\2808\\node_modules\\yarn-audit-fix\\node_modules\\.bin\\npm.cm
  npmVersion 7.12.0
  nodeVersion v12.18.2
  yafVersion 4.3.3
  temp C\\Users\\[snip]\\node_modules\\.cache\\yarn-audit-fix\\ef8927d2f5ca90c9
  cwd C\\Users\\[snip]
  flags
    npm-path local

Preparing temp assets...
Failure!
Error: EPERM: operation not permitted, symlink 'C:\Users\[snip]\node_modules' -> '2f5ca90c9b755890a68ea0d2b\node_modules'
    at Object.symlinkSync (fs.js:1088:3)
    at Object.createSymlinkSync

To reproduce:
$ npx yarn-audit-fix
npx: installed 339 in 11.953s

@SleeplessByte,
Ok, I'll try to fix it, but I need some assistance. I just don't have a Windows machine/runtime right now.
PR#121. Could you try 5.0.0-rc.0 for your case?

@SleeplessByte, any news?

Sorry, haven't been able to try yet. I'll attempt tomorrow :)

It seems to go further now, but then fail at the final step:

This is fine. yaf is just a very fragile workaround. Some of its issues must be resolved in synp at first, but there is definitely not enough time for this work, alack. You may try to reduce dep scope: yarn-audit-fix --only=prod. Hope this helps.

:tada: This issue has been resolved in version 4.3.6 :tada:
The release is available on:

v4.3.6
npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


bump dependencies

Will merge the clippy fixes as https://github.com/pexip/pexshell/pull/252 first, then rebase this PR.


RM: Restart DD Stage inconsistency

The reported case has multiple restarts of stage 3 with stage 2 restart as a prerequisite.
Upon restarting stage 3 past the first time, the reporter got 0 ammo on both primary and secondary guns.
In this case 0 ammo could happen only if it read zero value or it didn't remember the item at all.
Currently writing procedure sets ammo values for all selectable items from the saved map structure and it assumes that all items are in that structure as map keys with correctly read ammo values. If key is not found or read value is zero, then it leads to setting 0 to ammo properties.

It sounds to me like something that I can reproduce but I probably won't be able to make sense of it unless I add execution flow logging with which I would be able to pinpoint the issue.


Create QC to limit rare disease to the human disease branch

rare diseases should be limited to the human disease branch.
This Sparql query can be used: https://api.triplydb.com/s/CQyBQn-dk

There are 20 diseases that are 'rare' and are in the susceptibility branch. I will update them.
(@matentzn : should I wait and keep these as a test for the QC?)

You should be able to do this yourself! Just add the query as
src/sparql/qc/mondo/qc-susceptibility-rare.sparql
open a PR like https://github.com/monarch-initiative/mondo/pull/6248/files
and ask me for a review!

Let me ask the question differently:
If I leave these errors (the 20 susceptibility terms that are in the rare subset), will it be caught in the PR?
Or will it be caught only after the PR is merged (and therefore through off a failure for everything as soon as the PR is merge)?
(I think number 2, but I am hoping for number 1)

(and yes :-) I was planning of doing it myself :-) )

I rcommend to write the failing check first, then fix. Two Different PRs!
So:

Make PR (PR1) that fails.
Fix everything on another PR. Nothing will fail (because the test is still on PR1).
Merge master into PR1
If passes, merge.

Makes sense. Thank you!

Issue blocked by #6419


EthereumContractTest removed swiftLint errors and warnings

removed:

error: Force Cast Violation
error: Force Try Violation
warning: Force Unwrapping Violation
warning: Indentation Width Violation

It seems a good idea(at least for me) to start cleaning up tests from swiftLint warns and errors, small PRs that are easy to read.
what do you think?

It seems a good idea(at least for me) to start cleaning up tests from swiftLint warns and errors, small PRs that are easy to read. what do you think?

This is a good idea! I think it would be best though to wait until #685 #683 #673 are all merged - as otherwise this will just lead to lots of merge conflicts.

@albertopeam just saying, that by far we've discussed such, though it was a long time ago, we doesn't apply such sever rules for tests as for the library code itself, for example there was force try and  force unwrap allowing as long as it passed ci/cd pipeline.
This is not that I'm against such sever rules for tests I'm actually up to, just back there there was a very few folks who contribute here constantly besides me, drastically in contrary as it is now, but my point is that it worth to at least discuss and vote for all such point which in whole would become contribution guidelines actually.

It seems a good idea(at least for me) to start cleaning up tests from swiftLint warns and errors, small PRs that are easy to read. what do you think?

This is a good idea! I think it would be best though to wait until #685 #683 #673 are all merged - as otherwise this will just lead to lots of merge conflicts.

in addition to:
https://github.com/web3swift-team/web3swift/pull/689
https://github.com/web3swift-team/web3swift/pull/687
thank you

@albertopeam just saying, that by far we've discussed such, though it was a long time ago, we doesn't apply such sever rules for tests as for the library code itself, for example there was force try and force unwrap allowing as long as it passed ci/cd pipeline.

Sure, I am here to listen and learn. If you want to discuss the rules of swiftlint I am in :)

my point of view is to avoid using ! in code and also in tests. Reason:
I can understand that maybe is not so important in tests but the thing is that a ! will crash the test suite, I think the proper way is to not crash is to fail elegantly. To do it is kind of easy to replace force unwrap !with XCTUnwrap.
Said that, I can do it progresively file by file in small PRs that can be quickly merged if you think my point is valid or better than now :)


Issue 5173 get gateway everything doesnt return all patients

Fixed by: https://github.com/hapifhir/hapi-fhir/pull/5174


Refactor Builtin Functions

Purpose
Some of ballerina operation use bvm specific instruction codes, because of that run time implementation was tightly coupled with BVM logic. This PR will refactor builtin functions by rewriting in ballerina it self or desugar to util methods .
##Goals
Covers following instructions.
REASON
DETAIL
LENGTH
FREEZE
IS_FROZEN
CLONE
STAMP
CONVERT
ITERATE
Approch
Desugar to util package built in function.
Automation tests

Unit tests

Yes

Codecov Report

Merging #13662 into master will increase coverage by 0.12%.
The diff coverage is 85.04%.

@@             Coverage Diff              @@
##             master   #13662      +/-   ##
============================================
+ Coverage     65.08%   65.21%   +0.12%
  Complexity      426      426
============================================
  Files          2116     2126      +10
  Lines         93584    94147     +563
  Branches      12353    12562     +209
============================================
+ Hits          60913    61401     +488
- Misses        27759    27814      +55
- Partials       4912     4932      +20

Impacted Files
Coverage Δ
Complexity Δ

...in/java/org/ballerinalang/util/BLangConstants.java
83.33% <ø> (ø)
0 <0> (ø)
:arrow_down:

...in/java/org/ballerinalang/model/values/BTable.java
87.5% <ø> (ø)
0 <0> (ø)
:arrow_down:

...java/org/ballerinalang/util/codegen/Mnemonics.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../java/org/ballerinalang/bre/bvm/BLangVMErrors.java
73.95% <ø> (-1.05%)
0 <0> (ø)

...a/org/ballerinalang/model/values/BXMLSequence.java
60.89% <ø> (ø)
0 <0> (ø)
:arrow_down:

...main/java/org/ballerinalang/model/values/BMap.java
89.9% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../org/wso2/ballerinalang/programfile/Mnemonics.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../ballerinalang/compiler/codegen/CodeGenerator.java
91.61% <ø> (-0.12%)
0 <0> (ø)

...main/java/org/ballerinalang/model/values/BXML.java
90.32% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../java/org/ballerinalang/model/values/BXMLItem.java
71.08% <ø> (ø)
0 <0> (ø)
:arrow_down:

... and 61 more

Continue to review full report at Codecov.

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

Need to address some review suggestions hence closed this. will add pr directly with my branch.


workaround for packer build hang

resolves https://github.com/RackHD/RackHD/issues/372
shuts down services that were started in firstuser.sh script at end
of processing

fyi @ytjohn

@RackHD/corecommitters review please


Add Init Command

This will create a default snippext config. Do we generate a default one or give inputs for user to fill out? Or perhaps provide both?

Decided to go with both. Callers and pass in default flag which will write out the default configuration to snippet.yaml. If caller does not pass in default flag they will receive a series of prompts to fill out and we'll create snippet.yaml based on the answers provided.

snippext init --help

produces
Initialize a snippext configuration file which contains options for extracting snippets from target files as well as options for splicing snippets into target files

Usage: snippext init [OPTIONS]

Options:
      --default  Initializes snippext config using the default snippext config file
  -h, --help     Print help

When executing snippext init user will be presented will a series of prompts. Example would be
> Begin prefix: snippet::start::
> End prefix: snippet::end::
> Use default templates? No
> Default template content: <received>
> Add another template? No
> Type of source? local
> Source files: **
> Add another source? Yes
> Type of source? url
> URL: htt://some-site.com
> Add another source? No
> Output directory: ./generated-snippets/
> Output Extension: md
> targets: **
? Source link format <canceled>
> Source Link Prefix

Probably still need to tweak about / help text but going to handle that outside of this.


burgullian, dungaree

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[b,d]

/trunk merge


Introduce dockerized

Coverage decreased (-38.6%) to 61.429% when pulling ccce60f80cc83c7f4f904b68709325a90b4f1274 on feature/dockerized into 4bc6278f6ba09a61b5128913daccd99e985752b3 on master.


Some content is never rendered

Rendering this page will only show parts of page even when wait is maximized, user agent is changed and all rendering abilities are enabled. What else can be causing content from not being rendered?
I added screenshots to show difference between browser and Splash.

I can make it work by setting splash.private_mode_enabled = false. See http://splash.readthedocs.io/en/latest/faq.html#how-do-i-disable-private-mode


[BUG, MRG] Fix plot_alignment bugs

Fixes https://github.com/mne-tools/mne-python/issues/10312

Looks good, thanks @alexrockhill !


[dartdevc] Execution stops when undefined returned instead of a promise.

See original issue for repro steps (running on windows):
https://github.com/flutter/flutter/issues/97082

The original issue is closed as not related to dart/flutter


Update to Local Dump Syms

We have a new version of android-dump-syms that dumps locally. This is a way better experience than round tripping and having the server dump the symbols, we should upgrade!

even better, now we can use symbol-upload which supports dump-syms under the hood


Add Fast cluster script

What does this implement/fix? Explain your changes.
Dear developers, I added Fast clustering script for large amount of molecules.
This script needs bayon at first, but it works very fast.
Any other comments?
About 200K compounds are clustered within 10 minutes. < Core i7, 16GB RAM, ubuntu 16.04 >

Thank you for your comments. I accept all your comments and will revise my script.

reflected on Gedeck suggestion


DEFERRABILITY is not documented

Azure Managed Database and SQL Server 2016 also return a DEFERRABILITY column, which isn't in the list in the document.

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

ID: 1992bf85-dea1-2c1e-8769-24db3bcc8821
Version Independent ID: dc662cb7-edd0-d470-1f6e-d61739778603
Content: sp_fkeys (Transact-SQL) - SQL Server
Content Source: docs/relational-databases/system-stored-procedures/sp-fkeys-transact-sql.md
Product: sql
Technology: system-objects
GitHub Login: @stevestein
Microsoft Alias: sstein

@tsahi -- thank you for your feedback.
@stevestein -- please look into this potential documentation issue 3830.

@tsahi - thanks for pointing this out. We created an internal work item (1710377) to track this and will go ahead and close this issue.
Thanks!

#please-close


Undo addon-resizer for metrics-server.

How to categorize this PR?

/area control-plane auto-scaling
/kind impediment
What this PR does / why we need it:
Undo addon-resizer for metrics-server in favour of later introducing it under feature-gate.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
This undoes #4216, #4386 and #4402.
Release note:

NONE

No need for posting a release note as changes of #4216 haven't been released yet.

/invite @vpnachev @ialidzhikov


Ability for Pode to Internally Restart when a File Change is Detected

This feature comes from #20, and a code example via PowerShell can be found here: https://gallery.technet.microsoft.com/scriptcenter/Powershell-FileSystemWatche-dfd7084b

Pode should be able to monitor for file changes (created, changed, or deleted) and internally restart the server logic.
On a restart, the current session should be disposed (ie, runspaces, timers and routes) before the server script is restarted.
When a restart is initiated, it should be logged to the CLI.
I'm thinking this should be optional, so only enable monitoring if the Server block has the -Monitor switch supplied?

So I've been doing some work on this, and having it working perfectly. However, there's a bug in dotnet core 2.0 where HttpListener doesn't re-use addresses after they've been disposed.
This means that the restart logic works fine on machines with dotnet core 2.1. The issue is with the latest microsoft/powershell docker image, which only runs with powershell 6.0 and dotnet 2.0 - which means the internal restart fails to re-attach onto the ip:port.
Using the microsoft/powershell:6.1.0-preview.3-ubuntu-trusty-20180531 docker image, the restart works like a charm.
So I guess, I can prep the work and release now - but it won't work in docker. Or I can wait until the 6.1.0 image is released to latest before releasing this work.

Thank you very much Matthew.
Looking forward to trying it out. Regarding docker. You could use the release by specifying a specific tag on the “FROM” keyword in the dockerfile.
Actually, just a polite comment, it is not advised to use “latest” as one cannot know — exactly what release you are going to get
— versioning on the dockerfile therefore makes less sense.
Have a great weekend.
--
Mvh. / Kind regards
Lars Bengtsson

Health is wealth, movement is medicine -

On 30 Jun 2018, at 21.58, Matthew Kelly<EMAIL_ADDRESS>wrote:
Closed #21.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Nope, makes perfect sense; I've setup #51 to stop using latest.


[$1000] Admin is selected when Clicking Select all

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in a new account
Create a new workspace
Go members
Click on Select all
Notice that admin is also selected. This happens only in staging

Expected Result:
Admin not selected
Actual Result:
Admin selected
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.3.29-2
Reproducible in staging?: yes
Reproducible in production?: no
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/65a5155f-316a-4a77-9a28-b2cbb05f9369
https://github.com/Expensify/App/assets/93399543/a92bbf8f-c0d8-4d1a-b584-af6340392ae3
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687204191205439
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ddddf3a7e6da1c76
Upwork Job ID:<PHONE_NUMBER>831201280
Last Price Increase: 2023-06-19

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I was able to a PR's which might have affected this:

https://github.com/Expensify/App/pull/20826 (was deployed 3 days ago).

I can't reproduce this

When I click on the "Select all" checkbox, The admin does not select automatically.

Use a New Account to reproduce it, works only for New Account.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~012a1375209e7966f9

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~012a1375209e7966f9

@daveSeife Yes, I have checked this one, the issue happened in the stagging site but not in locally.

@luacmartins I can reproduce the bug with the latest main code.
Attached the screenshot
https://github.com/Expensify/App/assets/2232432/665f7555-5da5-45f4-9b91-9f25803f4eda
Please let me know if I have to look into the fix?

@luacmartins is this a blocker still then?

I won't block the deploy on this given it's a minor issue with an easy workaround. That being said, we still have time to fix it before the deploy happens.

@Ali-ch88
Kindly follow our contributing guidelines and propose a solution using the proposal template

@kameshwarnayak Are you still able to reproduce the issue in latest main?
I am not able to  reproduce the issue in latest main
https://github.com/Expensify/App/assets/46707890/1d06c5f4-bd9f-4324-be67-75320c13ecd7

sure, feel free to close out an issue if it's no longer reproducible.


Manual test report

The first report.
LMK if you can reproduce the errors or if they are known.
Not sure why some checkmarks are green and some not. They are meant to be the same.
Basics

[ ] I added a line to /doc/CHANGELOG.md
[ ] The PR is rebased with current master.
[ ] Details of what you changed are in commit messages.
[ ] References to issues, e.g. close #X, are in the commit messages.
[ ] The buildserver is happy.

Checklist

[ ] I have installed and I am using pre-commit hooks
[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added unit tests for my code
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
(exceptions are documented)
[ ] Code is consistent to our Design Decisions

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] Examples are well chosen and understandable

I had to remove all checkboxes [ ] because I was not able to tell mdbook-linkchecker to ignore them. I decided they are not that important and we still have notes: which helps


Integrate with Sapper (Next.js for Svelte framework)

https://svelte.technology/blog/sapper-towards-the-ideal-web-app-framework

Would you be interested in adding an example to the examples folder and creating a pull request?

Broken link, low effort issue.


Improve build

A few days ago, -c and -m were added to docker build. We should use those to schedule builds.

Should this be in 0.3.0 or 0.4.0? I just created a new milestone, feel free to move around.

@aluzzardi thanks I moved it to 0.4.0, if we do it before it's even better.

Consider such situation (docker API is used) :
There is 2 nodes

node1 with 3 GB RAM left
node2 with 4 GB RAM left

User1 wants to run container with 2 GB from dockerfile. Layers are not cached yet on instances.
Swarm schedule build from User1 on instance1.
User2 wants to run container with 2 GB from dockerfile. Layers are cached already. And first build is not finished yet.
Swarm schedule build from User2 on instance1 too.
Swarm finishes second build and User2 creates and starts container.
Swarm finishes first build and User1 tries to create and start container. But there is not enough memory on instance1.
To fix it User1 have to rechedule build/create/start on instance2 and wait until build will be finished again.
Will I be able to avoid such situations with -m ?

Thanks @jimmyxian

Unfortunately, there's no way to do that.
Keep in mind that supporting docker build in Swarm is a "gimmick" and we encourage to push images to a registry before running in the cluster


/callbacks command should be its own word/group

The regex for this command currently fails our standards for our already-implemented tests. We need this command's string to only be triggered if the word itself is used in a message, otherwise it will accidentally be triggered by unrelated messages in the chat.
An example of a regex that passes all of the necessary test is our  /notes command .
Once you begin fixing the regex, you may ensure the regex passes all necessary requirements by running npm test commandName.test.js in the terminal. A passing output will look like this:

Once you have a passing regex, our pre-push hook will not allow you to push your commit because the other commands currently do not pass their respective tests. To circumvent our pre-push hook, please push your changes using git push --no-verify, then make your pull request.
ACCEPTANCE CRITERIA:

[ ] The fixed regex passes all regex-related tests
[ ] The snapshot tests all pass and are not made obsolete by the new regex

If other commands should be worked on(That other people are not working on), Could I take a swing?

If other commands should be worked on(That other people are not working on), Could I take a swing?

Please do, thank you!

Please do, thank you!

Cool! I've just finished cqg and callbacks command. However, while I'm working on time and shrug commands, they both have the issue regarding some TypeError.
It says generateMentions from 'mockData.js' is not a function. Here's how it looks like.

Cool! I've just finished cqg and callbacks command. However, while I'm working on time and shrug commands, they both have the issue regarding some TypeError.
It says generateMentions from 'mockData.js' is not a function. Here's how it looks like.

Look at the mockData file and amend how generateMentions needs to be imported :D

Look at the mockData file and amend how generateMentions needs to be imported :D

Oops, thought I shouldn't be touching anything other than regex commands :) Will do!

Oops, thought I shouldn't be touching anything other than regex commands :) Will do!

No worries, you need to just change the import statement in the test file. The mockData file used to only have one function, now it exports two, so the import statement needs to adjust a bit.

No worries, you need to just change the import statement in the test file. The mockData file used to only have one function, now it exports two, so the import statement needs to adjust a bit.


Scene only renders in 1/4 of the available screen during run mode

Scene only renders in 1/4 of the available screen during run mode
Description
After issue 359 was fixed when I run my scene only 1/4 of it displays.
I tested on the default scene when you just load the default editor and it does not happen with this one. But I tested opening a few of the sample projects on the nunustudio.org home page and they do the same thing.

Version
0.9.6 Build<PHONE_NUMBER>16
Platform

Web Version [X]
Windows [ ]
Linux [ ]

Sorry, should mention that the same preconditions apply to this as in issue 359, macOS on retina displays.

Hello
I will have to check more carefully whats happening on the last bug it was actually behaving wrong because it was considering the render resolution for raycasting and viewport.
If the devicePixelRatio is different from 1.0 the render resolution has to be different in order to ensure that there is a 1:1 render pixel quality being displayed.
You're running a dual display setup correct? Could you please check in the console the value of window.devicePixelRatio when the window is in each of the screens?
The value should be different for each screen since MacOS can use different settings for each one of them. (Should be about 2.0 on the retina screen i think and 1.0 on the regular one).
I probably have to be constantly checking for changed in this value to update the rendering config.
A easy fix would be to allow nunuStudio to ignore devicePixelRatio but that would make the image slightly pixelated on the retina display. Hope that we can find a better solution.
Thanks a lot once again.

So I personally have a MacBook Pro with Retina display (mid 2017), but then my second monitor is the LG 5K monitor, so for both monitors the
console.log("window.devicePixelRatio = " + window.devicePixelRatio);
prints:
window.devicePixelRatio = 2.0
One my developers on my team has been using an HD monitor for months for nunu apps we build and never reported the bug. But I had to take on one of his projects and when I showed him the original bug that's when he told me "oh yeah my 5K iMac does that, so I just do nunu projects on an old 1080HD monitor". I would say that that this bug is less critical assuming the exported version (I haven't tested) runs just fine when I embed it into our web app. My other developer is off for the night, but I can have him check tomorrow what his HD monitor is outputting with the latest build/version. I'm guessing 1.0.

I will try another solution that i unfortunately cannot test, but should work fine.
Apparently we can detect pixel ratio changes when the page moves between screens using https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio.

Just another question if you resize the window does it fix the rendering size by itself? Thanks a lot

The run panel resizes, but it still only ever renders in the bottom left corner.

I have published a new version with a fix, that should detect when the app changes screen to adjust the pixel ratio value.
If it does not work i also added an option in the settings general tab to ignore the pixel ratio value that should work if the first solution does not solve it.
Thanks a lot for the help.

In settings Ignore Device pixel ratio = true: ✅
Running without that set and changing the window size: 🚫
So with the workaround of just setting it to true, I would mark this as fixed IMO. The pixelation from ignoring the device pixel ratio on there retina display is barely noticeable IMO as well.
I'll leave it up to you to open another bug and pursue investigating and fixing it so that you can autodetect the specific monitors pixel ratio and adjust accordingly. Closing this issue.
If you need a tester for your macOS app, or macOS in general, I'm happy to be added to a list 👍


MultiMesh: setting visible_instance_count is ignored after the first frame

Godot version
v4.0.alpha11.official [afdae67cc]
System information
Windows 10; NVidia GTX 1060; Vulkan.
Issue description
I am trying to dynamically change how many instances of my multimesh get drawn, by setting visible_instance_count each frame, according to what my game needs. But this only works on the first frame; on subsequent frames, visible_instance_count is updated (as reading the property back confirms), but the number of instances drawn remains the same as on the first frame, neither more nor less.
Steps to reproduce

Run the MRP.
Wait two seconds for the visible_instance_count to start being incremented each frame (and printed to the console).
Note that the number of visible cubes does not change accordingly.

Minimal reproduction project
bug_multimesh_visible_instances.zip

I think #45862 is probably due to the same cause. Maybe #56357 as well?
Further background: I encountered this problem because I expected that setting visible_instance_count would be essentially free to do every frame, only changing the number of instances passed in to the relevant draw calls. So I was surprised to find that there was some kind of caching behaviour going on with it. I take it that visible_instance_count is cached in order to rebuild the AABB when it changes? The discussion of the unexpected performance implications of automatic AABB rebuilding (instead of requiring a suitable custom AABB to be provided) over in godotengine/godot-proposals#957 seems relevant.

I'm able to replicate this in 4.0.beta1, though there's a (rather inefficient) workaround of just setting instance_count instead.

Just faced this issue on the current master branch. The fix explained by @rburing is working well. I'm not sure to fully understand the reason why it could not be implemented as is. If there is a performance issue i think we should do it anyway since this feature is avaible whith other renderer (gles3 and mobile handles the change on the fly from what i see in the code) and open a new ticket for further optimization.

Also just encountered this on current master.
I tested and it's not just a vulkan bug, it's appears to be a regression that effects the gl_compatibility backend too. I suspect it dates back to #44838 when the dependency changed notifications were split up.
@rburing's fix appears to be the correct approach. Discussions about performance are red herrings, the bug needs to be fixed.
Though, it could be optimised slightly by modifying  _multimesh_mark_all_dirty to take a range so that only the extra elements between the old and new counts are marked as dirty.


Not really taking many snapshots and sometimes opening the Lite version of the app

Hi,
This is a great program though I have tried doing the automation and adding the places in the automation to take the snapshots but keep on getting errors.  Also I tried running on Xcode 7 and it was running the lite version of my app rather than the full version when taking the snap shots.  I had even selected my full version of the app from the menu when loading snapshot.  Have you got any tips to make the process take more screen shots without coming across too many errors?
Yours Sincerely
Gerard Grundy

I just released snapshot 1.0, please follow the migration guide.
Since the underlying snapshot was completely rewritten, I'm closing this issue now. Feel free to submit a new issue if you're experiencing an issue :+1:


Dashboard: allow deep-linking to list view

Feature Description
Follow-up to #1488
Switching between the list view and grid view does not currently affect history.
Per https://github.com/google/web-stories-wp/issues/1488#issuecomment-644159292 we want to be able to directly link to the list view.
This enhancement requires two changes:

Enabling deep-linking to dashboard list view
Change backlink on the WordPress list table so it points to that list view

Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

See comments here: https://github.com/google/web-stories-wp/issues/2074

Per this comment here:
https://github.com/google/web-stories-wp/issues/2074#issuecomment-654475139
I'm closing this.


"Debugger failed to attach." in the AxoCover output window despite the debugger attaching

I'm seeing "Debugger failed to attach." in the AxoCover output window despite the debugger attaching.

I suggest increasing debugger timeout here:

From reading the source code it appears the IOptions.DebuggerTimeout property is in seconds yet this value is passed to ManualResetEvent.WaitOne() which expects milliseconds:

You are right, I will push an update in 10 min.

Release done.


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 2.2.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


rootlessport: fix potential hang

write to the error pipe only in case of an error.  Otherwise we may
end up in a race condition in the select statement below as the read
from errChan happens before initComplete and the function returns
immediately nil.
Closes: https://github.com/containers/libpod/issues/5182
Signed-off-by: Giuseppe Scrivano<EMAIL_ADDRESS>

@AkihiroSuda PTAL

LGTM once comment is addressed

LGTM once the comment is addressed.  CI isn't buying it, probably not related.

it took a while as I've found another race condition.
More details in the second patch.

@nalind I see the reexec package is using SysProcAttr.Pdeathsig, we should probably change it as well.

/lgtm

PR to address the same race condition in containers/storage: https://github.com/containers/storage/pull/530


Setup working with v0.13.11 have problems with 0.14.*

Hi all,
After installing the the operator in a clean and vanilla Kuberntes v1.30.4 cluster, using Flannel as network plugin, with a simple setup like this:
apiVersion: metallb.io/v1beta1
kind: MetalLB
metadata:
  name: metallb
  namespace: metallb-system
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: mypool1
  namespace: metallb-system
spec:
  addresses:
  - <IP_ADDRESS>-<IP_ADDRESS>
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: mypool1
  namespace: metallb-system
spec:
  ipAddressPools:
  - mypool1

I get a different behavior using the latest v0.13.11 compared to 0.14.*.
In both cases everything is activated, Pods are started and LB IP addresses get correctly assigned, as in:
$ kubectl -n myns get services
NAME    TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)        AGE
nginx   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:30265/TCP   28m

But then I'm able to reach the External IP from the other hosts in the network only when using 0.13.11 and not with 0.14.*.
Strange fact is that from the Kubernetes nodes LB IPs are reachable, so they are somehow activated.
Is there something that comes to your mind that this problem might be related? I was not able to get useful logs from the controller itself, because the messages are almost identical with the two version. What can I do to improve the debug?

if the ip is allocated, then you should dig into the speaker logs. The controller is responsible for allocating the ip only (and it seems it's working fine).
There's a loglevel parameter in both to set, depending on what you are using as deployment method.
A good starting point for troubleshooting is the troubleshooting guide: https://metallb.io/troubleshooting
A common 0.14 issue is related to fact that we started to handle correctly the exclude-from-loadbalancer annotation (see https://metallb.io/release-notes/#version-0144, https://github.com/metallb/metallb/issues/2274), so in case your deployment is single node / kind / minikube, this might be the reason and we have a parameter to disable it.

Also https://metallb.io/troubleshooting/#metallb-is-not-advertising-my-service-from-my-control-plane-nodes-or-from-my-single-node-cluster might be relevant

Thanks for the hints @fedepaol , the problem is happening on a three nodes Kube setup, so there's no docker involvement or something else, but maybe since I'm running inside VMs under libvirt the exclude-from-loadbalancer annotation is worth a check.
I will try to dig more into the speaker logs, and post here relevant findings.
Many thanks!

Hey @fedepaol I'm here again to confirm that my problem is due to the node.kubernetes.io/exclude-from-external-load-balancers label.
Given this start situation:
$ kubectl -n myns get services
NAME    TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)        AGE
nginx   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:30097/TCP   9m36s

The arping initially fails:
$ arping -c 4 -I eth0 <IP_ADDRESS>
ARPING <IP_ADDRESS> from <IP_ADDRESS> eth0
Sent 4 probes (4 broadcast(s))
Received 0 response(s)

But as you suggested the label is present on the nodes:
$ kubectl get nodes --selector=node.kubernetes.io/exclude-from-external-load-balancers
NAME              STATUS   ROLES           AGE   VERSION
training-kfs-01   Ready    control-plane   28m   v1.30.4
training-kfs-02   Ready    control-plane   27m   v1.30.4
training-kfs-03   Ready    control-plane   27m   v1.30.4

Removing it solves the problem:
$ for node in $(kubectl get nodes --selector=node.kubernetes.io/exclude-from-external-load-balancers -o name); do
  kubectl label $node node.kubernetes.io/exclude-from-external-load-balancers-
done
node/training-kfs-01 unlabeled
node/training-kfs-02 unlabeled
node/training-kfs-03 unlabeled

And immediately:
$ arping -c 4 -I eth0 <IP_ADDRESS>
ARPING <IP_ADDRESS> from <IP_ADDRESS> eth0
Unicast reply from <IP_ADDRESS> [52:54:00:76:6F:4F]  0.842ms
Unicast reply from <IP_ADDRESS> [52:54:00:76:6F:4F]  0.902ms
Unicast reply from <IP_ADDRESS> [52:54:00:76:6F:4F]  0.912ms
Unicast reply from <IP_ADDRESS> [52:54:00:76:6F:4F]  0.895ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)

$ curl -s <IP_ADDRESS> | grep Welcome
<title>Welcome to nginx!</title>

Welcome to nginx!

Reading the link you posted the solution at this point would be to pass --ignore-exclude-lb to the speakers, but the problem is that in the context of a manual operator installation (no Helm / OLM / whatever) it becomes tricky.
I wonder if it can be possible to pass it somehow to the metallb object creation... Looking into the explain part I see just this:
$ kubectl explain metallb.spec.speakerConfig
GROUP:      metallb.io
KIND:       MetalLB
VERSION:    v1beta1

FIELD: speakerConfig <Object>

DESCRIPTION:
    additional configs to be applied on MetalLB Speaker daemonset.

FIELDS:
  affinity      <Object>
    If specified, the pod's scheduling constraints

  annotations   <map[string]string>
    Annotations to be applied for MetalLB Operator

  priorityClassName     <string>
    Define priority class name

  resources     <Object>
    Resource Requirements to be applied for containers which gets deployed
    via MetalLB Operator

  runtimeClassName      <string>
    Define container runtime configuration class

So nothing here seems to be useful. Do you have any suggestion?

Sorry I realized just now that this is the metallb operator repo :sweat_smile:
We are not exposing that knob via the metallb crd (at the moment), so I guess the only viable workaround is to remove the
label from the nodes.
I filed https://github.com/metallb/metallb-operator/issues/491 to track it, but I won't make any promises on timing. The other obvious alternative is to move to helm / manifests to deploy.
Closing this, feel free to comment if you have any other questions!

For now I'm good with the label removal, I've subscribed to the new issue and will try to find time to propose a patch.
Many thanks for the support!


Fix Communication to Flare

Fixes #39
Includes the following overall changes:

adjust headers sent in Flare client
use latest stable Flare version in test setup
adjust EnvVars for Flare in test setup (FHIR base URL has variable has changed)
use ontology being shipped with the Flare Docker image
adjust BPE part of DIC-1 in test setup to match ports exposed by Flare in latest stable version

FYI @juliangruendner


Richardmillson/feature/use compression streams api

Replaces the fflate dependency with a native alternative, taking a step
towards supporting offline data map generation.
This feature might not work in browser versions from before May 2023;
specific browser version compatibility is detailed below.
https://developer.mozilla.org/docs/Web/API/Compression_Streams_API#browser_compatibility

DecompressBytes using the Compression Streams API is roughly twice as fast as fflate.gunzipSync when tested on a ~440 MB array.
var startTime = performance.now()
fflate.gunzipSync(base64Bytes)
var endTime = performance.now()
endTime - startTime
7567.600000008941

var startTime = performance.now()
await DecompressBytes(base64Bytes)
var endTime = performance.now()
endTime - startTime
3099.2000000029802