unexpected discrepencies with read_shocks in FramedAgent example

Originally discussed here: https://github.com/econ-ark/HARK/pull/1071#issuecomment-972894786
In the FramedAgent example, I've tried to use the read_shocks functionality to use the exact same shocks in the PortfolioConsumerType and the PortfolioConsumerFrameType, on the theory that the simulation histories should then be identical.
My current use as of #1071 of this isn't working, in that the two simulated shock histories are divergent.
On the other hand, making this change does make the simulation histories look more similar.
Likely there are two issues buried in here: one about proper use of read_shocks, which could be a better documented workflow, and another with the alignment of the simulation mechanics of the framed and unframed models.

Related to #863

Will revisit this once #1101 is merged to see if that makes a difference, as per @alanlujan91 's suggestion

It does look like #1101 helped with this.
But I see now that there are possibly subtle differences in the income process, which I'm still not totally able to replicate in the Frames version of the model, because of some irregularities in how the core IndShock models are designed. I've brought up these design challenges in issue #1111

Closing because the FramedAgent is slated for removal


Generic chart

This is such a cool implementation! What would be needed to make the graph into a generic method which takes a list of variable names and values (leaving the type of sensor and getting the data to the user)? I tried to have a look at the code, and it seems there would have to be some re-structuring to make it softer coded, iterating through the provided variable names rather than hardcoding them.

so it depends on how much of the existing code you would like to use. The asciichartpy.py is standalone and modified to be compatible with the Rich library. The data provided can be a list of lists for multiple plots on the same axis and it returns a string that when printed represents the chart. All the logic in main.py is a bit round about, but thats just how Textual works.

Oh, cool! Yeah, I'd probably just want to use it without Textual (at least in the foreseeable future). All these wonderful new tools are overwhelming me somewhat. 😉 I'll dig into your asciichartpy.py file and try making it work for me - thanks!


Expose focus node of text field

Hello again,
I'm trying to add a keyboard action bar with this package.
The package is demanding a focus node to know when the text field is focused or not to show the action bar of the keyboard.
I don't think there is a way to get the focus node from the formControl associated with the text field.
And there is no way to add a custom focus node to the reactive text field either.
Please advise,
Thank you

Hi @naamapps,
You'r right about the fact that there is no way right now to get the focus node of a ReactiveTextField so I will implement a way to provide a FocusNode to ReactiveTextField.
Thanks for the issue

Maybe you can attach a FocusNodeController to your FormControl.

Hi @joanpablo,
Thanks for the reply!
Looking forward to the new update 👍

Maybe you can attach a FocusNodeController to your FormControl.

That's a good idea, or maybe the FocusNodeController to the ReactiveTextField. I will think what could be the better way, and I will bring a solution in the next couple of days.
Thanks again

Hey @joanpablo,
Is there progress on this?
Don't want to rush you or anything, just want to know how it's doing
Thanks

Hi @naamapps,
Sorry for not having a solution implemented yet, I've been very busy and this is the must complex issue of all, because it requires a complete new implementations in Reactive Forms, I will do it, but I need some more time. This is an issue that is really important to me.
Sorry the inconvenient.

@joanpablo
I appreciate it !
Take your time 💯

Hi @naamapps and @kuhnroyal,
Finally I have release v7.5.0 that include an argument focusNode to ReactiveTextField that allow to provide a custom FocusNode to the widget.
With this improvement you can provide a custom FocusNode to use in both widgets: ReactiveTextField and KeyboardActionsConfig from this package.
Sorry for waiting so long for this release.

Hey @joanpablo,
Thank you very much for your hard work!
I was hoping that the focus node will be available by a getter in a FormControl.
Like any form control has a function focus(), I am wondering if it's possible for you to implement a getter (and a setter maybe).
That way,

There is no need to manage the focus nodes (disposing)
It is the reactive way to personalize the form controls (passing a focusNode to a widget is the flutter way, but I do prefer to do this by code in the business logic)
It's also more convenient in my opinion

Either way, thanks a lot!

Hi @naamapps,
Thanks for your quick reply. You're definitely right and you have proposed a solution that I haven't see before.
Do you think that exposing the focusController of the FormControl will resolve your issue?
final email = form.control('email');

// get the FocusNode of a control
FocusNode emailFocusNode = email.focusController.focusNode;

That way, you don't have to create a * StatefulWidget * to create your own * FocusNode * and you don't have to dispose it when you dispose the widget. You do not need to set the FocusNode either. Do you think that solution will work well for you?

Hi @joanpablo,
Yes, this is exactly what I meant.
It would be perfect if you could implement this solution as well.
Thanks for your understanding, I really appreciate it 🥇

I'm working on that right now, let me implement it and see how it looks. I will let you know soon.

Hi @naamapps,
If I just expose the focusController of the FormControl class like this:
/// Gets the focus controller registered to this control.
  FocusController get focusController => _focusController;

then you could get the FocusNode like this:
FormControl control = form.control('email');

final focusNode = (control.focusController as FocusNodeController).focusNode

That's because FocusNodeController is actually the child class that inherited from FocusController and uses the FocusNode to maintains sync between control and UI.

@joanpablo
I think it's fine and manageable enough for me.
Although it's not as minimalistic as this
final focusNode = control.focusController.focusNode;
If it's not possible to implement the minimal one, definitely go for this
final focusNode = (control.focusController as FocusNodeController).focusNode;

Well @naamapps,
The actual implementation separates the Model and UI classes that is why I have two classes the parent and abstract class FocusControll that doesn't includes anything of the UI and a child one FocusNodeController that is more tight to UI and is the one hold the FocusNode.
Even when a I think that separation is a cleaner design, I also think that includes a bit of verbosity. So I think I will mix both classes parent and child and define only one.
Give some more minutes to make some tests and complete the solution.

@naamapps,
I have just release v7.6.0 in that version you can access FocusNode like:
FormControl email = form.control('email');

// get the FocusNode of a control
FocusNode emailFocusNode = email.focusController.focusNode;

Thanks for your patience and all your comments.
Please test the solution with this (plugin)[https://pub.dev/packages/keyboard_actions] and let me know the result as soon as possible, you have been waiting for this issue  to long, and I don't want another day to go by without you having a solution.

@joanpablo
I thank you for your time, effort and kindness :)
You have done above and beyond my expectations 💯
It's almost night time at my place so I'll test this tomorrow, and write to you here with my results.
Thanks again!

Hi @joanpablo,
I worked on implementing the focus node with the keyboard actions package and I have stumbled into a problem.
The focus controller is not initialized when creating a new form control like so:
FormControl<double> control = FormControl<double>();
FocusNode node = control.focusController.focusNode; // Error, Because the focus controller is null.

I need the focus node right away because I want to add a listener to the focus node.
I actually succeeded making this work by creating focus nodes manually and passing them onto the ReactiveTextField like so:
FocusNode node = FocusNode();
node.addListener(listenerFunc);

disposeLaterList.add(node); // A list of focus nodes to dispose when the widget is disposed

FormGroup group = FormGroup({
   "control": FormControl(),
   "controlFocusNode": node,
});

After the init, In the ReactiveTextField, I pass the focus node:
ReactiveTextField(
   ...
   focusNode: group.control("controlFocusNode").value,
   ...
),

It's not ideal but it works. I also created a list of focus nodes and add every node I create to the list.
So when disposing the widgets I go through that list of focus nodes and remove the listener and dispose them.
I am not expecting you to make another solution, because my use case is really unique.
But if you do want to go deeper with this, I'm here to help :)

Hi @naamapps,
If you want to listen for focus changes, then you just subscribe to FormControl.focusChanges, you don't need the FocusNode. Try to use only FocusNode in case some other widget require the FocusNode of the control, but don't use it for listen focus changes, to set focus or remove focus on a control use FormControl.focus() or FormControl.unfocus().

@joanpablo ,
Yes you're right!
Didn't notice I have the focusChanges property.
Everything is working great now 👍
By the way, I wanted to use the ReactiveSwitchListTile widget, but you didn't export it in the library file reactive_forms.dart.
Please export it :)
Thanks for everything!

Hi @naamapps,
I have release v7.6.2, and now ReactiveSwitchListTile is public. I'm glad that everything else is working great. Thanks.

Hi @naamapps,
Sorry for the late answer, right now I'm moving from city and I'm still finding accommodation. So I will be busy the next couple of weeks.
This is maybe because thats the default behavior of TextEditController when setting a text to it. maybe I need to change the way I set the value to TextEditingController of the Input.
Think I should change this in code:
@override
  void onControlValueChanged(dynamic value) {
    _textController.text = (value == null) ? '' : value.toString();
    super.onControlValueChanged(value);
  }

by something similar to this:
@override
  void onControlValueChanged(dynamic value) {
    String effectiveValue = (value == null) ? '' : value.toString();
    _textController.value = _textController.value.copyWith(
      text: effectiveValue,
      selection: const TextSelection.collapsed(offset: effectiveValue.lenght),
      composing: TextRange.empty,
    );
    super.onControlValueChanged(value);
  }

Hi @joanpablo,
That seems right.
I will wait for you to implement this.
Take your time, it's not urgent for me.
Thanks 👍

Hi @naamapps ,
I have release v7.6.3 that solve the issue. Thanks for your patient.

Hey @joanpablo,
It works perfectly, Thank you for your time

Hi every one I've a got a problem with this functionatlity on reactive_forms: ^16.1.1 because I cannot get the FocusNode of a ReactiveTextField. In particluar in a code like this:
import ...

class RiversaHuPage extends StatelessWidget {
  RiversaHuPage({Key? key}) : super(key: key);

  final _myForm = FormGroup({
    'first_name': FormControl<String>(),
  });
  final FocusNode _focusFirstName = FocusNode();

  @override
  Widget build(BuildContext context) {
    void testCallback() {
       _myForm.controls.values.forEach((element) {
        FocusNode thisFocusNode = element.focusController.focusNode; //<------ THIS LINE HERE
      });
    }

    return Scaffold(
      appBar: AppBar(...),
      body: ReactiveForm(
        formGroup: _myForm,
        child: Column(
          children: [
            ...,
            ReactiveTextField(
              focusNode: _focusFirstName,
              decoration: InputDecoration(
                suffixIcon: IconButton(
                  onPressed: onPressed,
                  icon: const Icon(Icons.barcode_reader),
                ),
              ),
              formControlName: 'first_name',
            ),
            ...
          ],
        ),
      ),
    );
  }
}

throws me an error on the line with:
FocusNode thisFocusNode = element.focusController.focusNode;

The getter 'focusController' isn't defined for the type 'AbstractControl<Object?>'.
Try importing the library that defines 'focusController', correcting the name to the name of an existing getter, or defining a getter or field named 'focusController'.

I think because element is of type AbstractControl<Object?> and not FormControl.
How can I solve the issue?
Thanks


Update imagemin.js

Remove /index.js ref in svgo plugin name to make it work

I've got this error while building:

And I found the plugin name in this line was wrong.

Thanks for making this PR.
Unfortunately, we decided to do away with this grunt plugin for now, and won't be in capacity to maintain this fork. This repository will be archived and unfortunately, I won't merge and publish a new version.


Add a way for users to submit card contributions

This PR intends to address a big issue facing Lorcana-api.com currently where when new sets release, it takes far too long to add all of the new cards to the database. The approach that I think would be best suited to fix this is where trusted community members can make card contributions, while also having safeguards in place in place to combat against bad actors. My current implementation involves having an auxiliary database that mirrors the main database's structure and data, with the addition of a 'submitter-token-hash' column.. When a contributor adds a new card to the database, it is not immediately added to main database, and is instead added to the auxiliary database along with their personal (and hashed) token. Later, a site admin, in the admin dashboard (explained later), can review all contributions, and merge the data into the main database if there's no apparent issues.
The second part of this PR is the backed for the admin part of the site. The admins can add new contributors, check submissions from specific users, delete submissions from specific users, delete users, and merge the contribution from the databases. All of these actions are checked to ensure that a valid admin-level token are sent along with the request.
Although this github is only for the backend of Lorcana-api, I have also taken the time to write a front end for all of the content covered in this PR. I didn't include the files in this commit, as there's not really a good place them, but I can provide them when needed.
Card submission page

Admin dashboard

Additional considerations for implementation
For this PR to function, 2 more tables would have to be created on the production database. One of them, as aforementioned would be the secondary database, which I called 'card_info_submissions'. The other table would be the user_logins data, which follows this structure:
CREATE TABLE `user_logins` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `token_hash` varchar(255) NOT NULL,
  `permission_level` varchar(45) DEFAULT 'user',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

The last thing to address is concerns related to SQL injection. While all of the code I wrote in PR should be safe from SQL injections, I noticed that previous code written by other people was, well, quite vulnerable. I'm aware that your solution to this was to not give the server write/modify access, however, the code in this PR would require such permissions. This can either be resolved by patching the previously written code, or by perhaps creating another database user that could be used for these purposes.
If you have any questions or concerns, lmk!

Also, apologies for messy/hard to read code, I went for more of a "get it working" approach instead of a prettier bad longer to write approach.


Include an example where we specify Ready condition, in status,to be false

We have provided examples and documentation https://github.com/k8s-service-bindings/spec/blob/master/README.md#reconciler-implementation for the True status of Ready type condition. While it might seem obvious as to when the readiness fails/is false, i.e in the absence of service, but maybe we can be explicit about it in the doc and example.
For example:
status:
  conditions:
  - type:   Ready
    status: 'False'

Fleshing out non-normative, user-centric documentation is something I hope we can focus on for RC3.

Included as part of the scope of #84 .


Feat: Add helpers to create inputs

@arnaudon I am not sure how to deal with the example. Now the run.sh script generates everything needed to run the example, but it is no more possible to see the example without cloning the repository and generate the example, which is not very convenient. I guess we could commit keep the files in the examples folder so people can look at them, and in the tests we check that the new Initialize workflow generates the same thing as these files. WDYT?

Yes, it would be good to keep the files in the example folder, so one can look at them even without trying the code.


Finding memory leaks in Postgres C code

Talk Title
Finding memory leaks in Postgres C code
Description
[Give a brief description of the talk, including the main topics covered and the relevance to PostgreSQL]
Speaker

Name: 赵军旺 @zhjwpku

Resources

Blog: https://www.enterprisedb.com/blog/finding-memory-leaks-postgres-c-code

Additional Notes
The feature talk is in Chinese.

<EMAIL_ADDRESS>This is a use after free bug which can be detected by AddressSanitizer.


[Feature Request] A way to add more than one SteamOwnerID

Will be nice to add more than one SteamOwnerID.

Unless you can convince me how it's possible for ASF process to have two owners at the same time, this is out as logic flaw.

Closed due to lack of activity.


permision problem to get data and weights

When trying to download checkpoints or even data it says "Public access is not permitted on this storage account.."
Example:
wget https://unitab.blob.core.windows.net/data/weights/separate_refcoco_checkpoint.pth
--2022-11-03 20:58:29--  https://unitab.blob.core.windows.net/data/weights/separate_refcoco_checkpoint.pth
Resolving unitab.blob.core.windows.net (unitab.blob.core.windows.net)... <IP_ADDRESS>
Connecting to unitab.blob.core.windows.net (unitab.blob.core.windows.net)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 409 Public access is not permitted on this storage account.
2022-11-03 20:58:29 ERROR 409: Public access is not permitted on this storage account..
Also for data:
azcopy_linux_amd64_10.16.1/azcopy copy https://unitab.blob.core.windows.net/data/data ./  --recursive
INFO: Scanning...
INFO: Authenticating to source using Azure AD
failed to perform copy command due to error: no cached token found, please log in with azcopy's login command, required key not available

Sorry about the access issue. Could you please have another try at your convenience? Thanks.


Add kwargs to backend's authenticate method so that multiple auth backends can be used at the same time

This way, when using multiple authentication backends (ie, a custom django auth backend and custom Saml2Backend) and the first custom backend does not authenticate the user, this other backend can process the next authentication request attempt without crashing.
For example: I have password auth backend and djangosaml2 backend for my site. A user wants to authenticate using password. Let's say the user cannot authenticate with password because of reasons (like... he is only allowed to log in through SSO and my custom auth backend checks for that).
When auth backends says no to password login, django tries djangosaml2 backend passing as kwargs the username and password. These are unexpected keyword arguments for djangosaml2 backend, but it should still be supported as **kwargs so that authentication does not blow up when using multiple backends.
If you look at the code for Auth.ModelBackend you will see that the authenticate method signature contains a **kwargs for this very reason.

Thank you!


update trezor-client to v0.0.5 release

Motivation

Solution

PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Updated the changelog

You will have to synchronize your wallet and then you debug it


Postman -> How to store the response of the request in the text file.

Hello,
This is related to the POSTMAN + web-service testing. I need the code which we can use to store the response of the request in the text file and then we can transfer that as an input to the next request.
Could anyone help me on this.
Thanks,
Atul S Parate

Have you have tried Dredd for API testing? That you want to do is very easy using it's hook.
https://dredd.readthedocs.io/en/latest/hooks-nodejs/

Thanks for the suggestion. I will definitely take a look of it.


Normalize embeddings for models that require it

This PR fixes embeddings for models that requires the embeddings to be mean pooled and normalized. Further, the minilm-l2 had configuration issues in config.kt which has been corrected.
Here's the colab results using same model and example string from this repo:
https://gist.github.com/VijaiCPrasad/8c3593d8cb7dc2775b3c8baac92e7c00
Fixes #6

Thank you for opening a PR @VijaiCPrasad! Due to some urgent work, I will be able to review the PR after 2 days, on Wednesday. I had a quick glance, and it looks perfect!


Device Tracker Improvemeents

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
Device Tracker, can show battery level and icon/ picture, also location seems to be generic home or not home rather than more accurate based on GPS
Describe the solution you'd like
Add ability to add ICON/ Picture for each robot.
improve GPS Location
Add Battery Level
Improve General Device Information based on each robot (one robot one device)
Describe alternatives you've considered
N/A
Additional context
N/A

Currently I get the accurate GPS (gnss) data from params -> alarms -> robot_state.
These are transmitted by several robot models only irregularly.
The location data under params -> loc are of the fixType "network" and thus the GMS location determined via triangulation.
Battery level and model (for picture) cannot be determined via the current API approach.

Thanks yes I noticed thoug the HA Tracker seems to respond home or away at least in my case it was that I was going to look at.
Battery level would be nice, but for the Picture I believe I can maybe have a default and give the option to set on in the config, not sure yet :)

I have checked the complete flow of the mobile app again. We can find the model via the Firebase API. However, from my point of view, the path is not worth it, since two other APIs have to be connected.
In the first step, we authenticate against the Google API service with email address and password:
POST https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=AIzaSyCUGSbVrwZ3X7BHU6oiUSmdzQwx-QXypUI HTTP/1.1
Content-Type: application/json
X-Android-Package: it.centrosistemi.ambrogioremote
X-Android-Cert:<PHONE_NUMBER>021C6147D5F0946A0DA83877EF3D41
Accept-Language: en-US
X-Client-Version: Android/Fallback/X21000008/FirebaseCore-Android
X-Firebase-GMPID: 1:373506005239:android:07fcd128132313f3
X-Firebase-Client: H4sIAAAAAAAAAKtWykhNLCpJSk0sKVayio7VUSpLLSrOzM9TslIyUqoFAFyivEQfAAAA
Content-Length: 84
User-Agent: Dalvik/2.1.0 (Linux; U; Android 9; Android SDK built for x86_64 Build/PSR1.180720.122)
Host: www.googleapis.com
Connection: Keep-Alive
Accept-Encoding: gzip

{"email":"<yourEmail>","password":"<yourPassword>","returnSecureToken":true}

We get an JSON formatted response with important tokens:
{
  "kind": "identitytoolkit#VerifyPasswordResponse",
  "localId": "<importantLocalId>",
  "email": "<yourEmail>",
  "displayName": "<yourUsername>",
  "idToken": "<importantAccessToken>",
  "registered": true,
  "refreshToken": "<someNotUsesToken>",
  "expiresIn": "3600"
}

Next step, we create a websocket connection to Firebase API
GET wss://centrosistemi-ambrogioremote.firebaseio.com/.ws?ns=centrosistemi-ambrogioremote&v=5 HTTP/1.1
Host: centrosistemi-ambrogioremote.firebaseio.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: nQybC2IH64qOZ05V1ffn9g==
X-Firebase-AppCheck: null
User-Agent: Firebase/5/20.0.6/28/Android
X-Firebase-GMPID: 1:373506005239:android:07fcd128132313f3
content-length: 0

Authentication and get with this account connected lawn mowers:
▼ {"t":"c","d":{"t":"h","d":{"ts":1681166772961,"v":"5","h":"s-usc1a-nss-2058.firebaseio.com","s":"<someUnusedKey>"}}}
▲ {"t":"d","d":{"a":"s","r":0,"b":{"c":{"sdk.android.20-0-6":1,"persistence.android.enabled":1}}}}
▼ {"t":"d","d":{"r":0,"b":{"s":"ok","d":""}}}
▲ {"t":"d","d":{"a":"auth","r":1,"b":{"cred":"<importantAccessToken>"}}}
▼ {"t":"d","d":{"r":1,"b":{"s":"ok","d":{"auth":{"name":"<yourAccountName>","email_verified":false,"provider":"password","email":"<yourEmailAddress>","user_id":"<importantLocalId>","token":{"name":"<yourAccountName>","email_verified":false,"email":"<yourEmailAddress>","exp":1681169388,"user_id":"<importantLocalId>","iat":1681165788,"sub":"<importantLocalId>","aud":"centrosistemi-ambrogioremote","auth_time":1681165788,"iss":"https://securetoken.google.com/centrosistemi-ambrogioremote","firebase":{"identities":{"email":["<yourEmailAddress>"]},"sign_in_provider":"password"}},"uid":"<importantLocalId>"},"expires":1681169388}}}}
▲ {"t":"d","d":{"a":"q","r":2,"b":{"p":"robots\\/ambrogio\\/<importantLocalId>","h":""}}}
▼ {"t":"d","d":{"b":{"p":"robots/ambrogio/<importantLocalId>","d":{"00:00:00:00:00:00":{"boardserial":"AM03500000000000","btAddress":"00:00:00:00:00:00","imei":"350000000000000","modelType":"","name":"L35 Deluxe","password":"0","programId":75,"remoteDisplayAvailable":true,"revision":61532,"timestamp":1682949301697}}},"a":"d"}}

Through this way we could do in config flow the authentication by email and password and get the IMEI of the robots this way. We would then also have the model. However, the path is also more fragile against changes to any of the API.
I believe that we can also determine the model from the serial number that we get via the Devicewise API. In the example above, you can see that I have an L35 Deluxe and my serial number starts with AM035. However, I have too few robots (only one) to verify this. ;-) If we knew more, we could create a mapping.
The mobile app only gets the battery level via bluetooth. We would have to sniff the bluetooth traffic for this. I have not opened this Pandora's box yet.

In the first step, we authenticate against the Google API service with email address and password:

Was sort of avoiding this as it just got an access key, however yes if we can get the connected mowers I can add this.
I am going to look how to add you as a collaborator direct to my github repo.

There is a command to trace position on the App, it initiates by this:
{
  "cmd":{
    "command":"method.exec",
    "params":{
      "imei":"1234567890",
      "method":"trace_position",
      "ackTimeout":30,
      "singleton":true
    }
  }
}

Returns command success true then tracks the mower regularly but I don't see any further pushes so wonder if it is then streaming the response.
You can open the robot then the map then you get an option to Trace position.  There is a cloud map feature with Infinity+ not tried to activate it yet, but I have just renewed my connection to Infinity+.

I tried the command several times today when my mower was working. However, I could not see any regular sending of the location. I don't have Infinity+ (yet)
I have implemented the command in the services.

According to my first tests, the trace_position command works only when the robot is working. In the app, many requests are made to https://clients4.google.com/glm/mmap/api in "trace mode". It seems that the position changes with the displayed points come in directly via the Google Map update:

Somehow on my Samsung Galaxy S5 test device the websocket connections bypass the MITM proxy, so I guess there is still traffic between the app and Firebase.


Changelog updated, preparing for 2.7.1 update

This PR changes (delete as applicable)

Documentation (Changelog and Readme changelog)

Describe the changes below:
Updated changelog and readme

Let me know when you want 2.7.1 published to npm.

Probably best to publish is as soon as possible. There is that EarCut problem with the current npm version and it might cause some problems with people.

Ok. In order to publish, the version number in the package.json and src/Phaser.js files both need updating. Then run grunt release so it rebuilds the docs / TS defs and creates the build files.
I don't mind doing the above of course, but I think it makes sense for the community to get used to what's involved.

Will do that next time. And yeah of course it makes sense for the community to do that 👍

Oh, you also need to decide if you want versions to have a release name any more too :) It's in the package.json, but it doesn't have to be a name, it could just be a date or something. Up to you all! There's a file in the resources folder that contains all of the names I was going to use for versions, and which ones have been used / are left. You can do whatever you want though, but just saying it's there if you want it.


do you any plan for .net 5?

Confirming with @tonysneed/Team on bandwidth for NET 5 release, will let you know.

Yes, let’s do this. First I’ll need to update Trackable Entities.

💯
On Thu, Nov 19, 2020 at 10:51 PM Anthony Sneed<EMAIL_ADDRESS>wrote:

Yes, let’s do this. First I’ll need to update Trackable Entities.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/urfnet/URF.NET/issues/53#issuecomment-730849088, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDZLTER76KNBHUH2ACTTWLSQXYWJANCNFSM4T36U25Q
.

--
Programmatically,
Long Le
<EMAIL_ADDRESS>| @lelong37 http://twitter.com/lelong37
blog http://blog.longle.io | codementor
http://www.codementor.io/lelong37#/reviews | urf
https://github.com/urfnet | msdn
https://msdn.microsoft.com/en-us/magazine/ee532098.aspx?sdmr=LongLe |
github https://github.com/lelong37
telerik developer expert https://de.telerik.com/ | nuget
https://www.nuget.org/profiles/lelong37

This issue belongs to the URF.Core repo. Duplicate of https://github.com/urfnet/URF.Core/issues/77


Update your package to be compatible with Flutter 3.0

I saw an issue with your package like this
/C:/flutter/.pub-cache/hosted/pub.dartlang.org/advanced_in_app_review-1.0.5/lib/advanced_in_app_review.dart:41:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.

'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/C:/flutter/packages/flutter/lib/src/widgets/binding.dart').
package:flutter/…/widgets/binding.dart:1
WidgetsBinding.instance?.addObserver(this);

Thanks

Please try version 1.1.0, issue shloud be resolved in that release.

Yes it is resolved. Thanks 🙏🏾


update installation script sha256sum

/kind content
/area documentation
Sha256sum of the installation script need to be updated.
Which issue(s) this PR fixes:

#467 (update sha256 request)

/assign @leogr

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: chirabino
To complete the pull request process, please assign mfdii after the PR has been reviewed.
You can assign the PR to them by writing /assign @mfdii in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Close in favor of #467


Missing module

I get the following error:
Traceback (most recent call last):
  File "acktr-agent.py", line 10, in <module>
    from baselines.common.vec_env.subproc_vec_env import SubprocVecEnv
  File "/Users/clin733/Documents/Scripts/baselines/baselines/common/vec_env/subproc_vec_env.py", line 4, in <module>
    from baselines.common.tile_images import tile_images
ModuleNotFoundError: No module named 'baselines.common.tile_images'

I check the repo and it seems like tile_images does not exist.
Thank you.

I think it will be fixed in the PR: #427

Correct, and the PR is merged, so should be working now.

Thanks guys!


Hide "component get" command

This PR:

Hides the component get command. We do not remove it as odo component get -q is required for bash/zsh autocompletion support.
Updates the "show sub commands" to exclude hidden flags

Closes https://github.com/openshift/odo/issues/1647

login failure
/retest

/approve

/approve

/lgtm


Allow enum types to always be considered valid

It should be possible to specify an enum type where all possible values of the base type are considered valid. This could be realized by adding an aspect Always_Valid.
type Foo is (Bar => 0, Baz => 1) with Size => 8, Always_Valid;

This is motivated by the extension type field in TLS 1.3 (#34). Extensions with unknown type are valid, but will be ignored.

Thinking about our yesterday's discussion on using a discriminant record for holding such types, I believe we shouldn't name the discriminant Valid. This contradicts the meaning and purpose of the Always_Valid aspect. I would suggest Unknown which is true for values not stated explicitly in the enumeration. I'm open for better ideas, though.

I agree with you, Valid would be confusing. Unknown fits better. It might be useful to formulate the discriminant positively (Known) so that it is not necessary to negate it every time before accessing the actual value (which should be the common use case).

Yes, that make sense. Let's go for Known then.


Add CanType::getOptionalObjectType for staging a rename.

In order to replace uses of getAnyOptionalObjectType() with
getOptionalObjectType(), we need to update LLDB. But in order
to do that, we need to have the version of this function for
CanType available.
So this adds this, as a temporary measure, to facilitate the LLDB
update that will unblock the compiler rename.

@swift-ci Please smoke test and merge

@shahmishal I have been seeing multiple timeouts per day on Linux test runs. Do we know what's going on here or have a bug to investigate yet?

@swift-ci Please smoke test Linux platform


Missing NuGet Package

the UseInMemoryDatabase requires another NuGet package which has not been mentioned in this article so far:
Microsoft.EntityFrameworkCore.InMemory

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

ID: 583ae3e7-5915-f22b-e54c-6c100cf2a7da
Version Independent ID: 95f2549e-29f9-e31a-b4d0-432b971643ff
Content: Tutorial: Create a web API with ASP.NET Core
Content Source: aspnetcore/tutorials/first-web-api.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

per the tutorial
Use the preceding instructions to add the Microsoft.EntityFrameworkCore.InMemory NuGet package.


Memory leak when using StreamingResponse.jsonArray on big/infinite streams.

Memory leak when using StreamingResponse.jsonArray on big/infinite streams.
Expected behavior
Once communicated over the wire garbage collection should be able to clean traversed stream elements
Actual behavior
Memory is gradually filling up because head of the stream is kept in a reference.
Steps to reproduce the behavior
Just create an infinite stream returning a jsonarray instead of a String. It is crucial you use a separator. It is in the separator methods I think there is a problem.
Probable cause.
I tried a quick fix local and making the methods addSeparatorIfPresent, addSeparator pass by name and removing buf= asyncStream() map toBuf and passing it directly to addSeparatorIfPresent seems to solve it.

Classic "AsyncStream is leaking memory" problem, sorry about that. ☹  Sounds like you already have a fix: are you interested in putting up a pull request?

Yep no prob I will try to get it in.

pull request is created.

issue is fixed


Provide esm download

It's cumbersome to bring up a whole npm based environment just to bundle d3 into an esm module.
The CDN releases on the other hand can't be downloaded into a single file easily (strange import indirections).
So would be good to provide a default single-file ESM distribution. Or a multi-file .mjs tree.
As the README states, "D3 is written using ES2015 modules" - but the npm packages contain legacy modules.

ES modules are already published to npm and exposed as the default export. You can access them on the CDN like so:
https://cdn.jsdelivr.net/npm/d3-array/src/index.js
We don’t provide a single-file ES module for each package because cross-package dependencies require bare specifiers, e.g.,
https://cdn.jsdelivr.net/npm/d3/src/index.js
There isn’t really a way to publish single-file ES modules with dependencies that work out-of-the-box in web browsers on a CDN. Either users would be required to specify import maps (user burden, and unsure about browser support), or the published files would have to use relative paths or absolute URLs, which would cause problems in Node.
Given these challenges and the lack of a convention (other than the ones already used by D3), I don’t think it should be D3’s responsibility to implement bundling. If you want a pre-built bundle, I recommend using one of the existing ESM CDN bundlers such as Skypack or jsDelivr’s esm.run. Try one of these:
https://cdn.jsdelivr.net/npm/d3@7/+esm
https://cdn.skypack.dev/d3@7

But neither of these methods provide an easy path to have the files needed to ship or host d3.js without the use of an extensive build system cumbersome to understand and get a build out of it.
Neither jsdelivr nor skypack provide something I can donwload, put into my codebase (or onto my server) and give it a go, or could I?
I've actually ended with reconverting a downloaded single file CommonJS build into ESM format again (needing some manual operations to get it working).


nctl: rework ejection healthcheck

Changes:

switched out the way we detect ejected nodes from the logs

the log message no longer contains .fields.finalized_block so it was switched to derive it from .fields.inactive

Notes:

fixes failures like this: https://drone-auto-casper-network.casperlabs.io/casper-network/casper-node/7084/1/4

bors r+

bors r+


Use Docker to build Linux binaries statically

To ensure a consistent build for the static binaries for Linux, we shall use Docker and build PhantomJS inside the container.

For @zackw branch on this attempt: https://github.com/zackw/phantomjs/tree/docker

Another reference is from @bprodoehl: https://github.com/bprodoehl/phantomjs/commits/master

This is a fantastic idea.  Glad to see it embraced here!

For an alternative approach that I've been using extensively for many projects of mine, see my previous blog post: http://ariya.ofilabs.com/2014/12/docker-and-phoenix-how-to-make-your-continuous-integration-more-awesome.html.
Instead of a Dockerfile we are building, first we can construct a customized base image. Looking at the work from @zackw and @bprodoehl above, this customized base image can be based on Ubuntu 14.04 with additional packages, both for the usual building (e.g. build-essential meta-package) as well as the libraries needed by PhantomJS 2 (e.g. zlib, Freetype, etc).
Here's my attempt at producing the said customized base image: https://bitbucket.org/ariya/erik (it's named after Erik, the phantom character in Phantom of the Opera). I registered this as an automated build at Docker Hub (see https://hub.docker.com/r/ariya/erik) and hence this can be pulled by the usual Docker command, e.g.
$ docker run ariya/erik sh -c "gcc --version"
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(To be continued)

FYI, the Docker scripts in my branch do indeed construct a customized base image which could be reused for many builds.  They also have a custom entry point that runs the build, which may or may not be a good idea; I'm not super familiar with Docker.
I'm not going to be working on this any more until after Jan 10, because I'll be traveling and won't have the use of my Linux desktop.

@zackw The difference in the variant that I proposed above is that the customized base image is created once (even better, by Docker Hub so we don't need to waste our own CPU cycles and such) and it will be reused by any numbers of Linux static binary builds. Given that we may only need to update the system dependencies once a while, I believe we don't need to incur that time building all those libraries statically.

On the subject of the customized base image, I agree with the sentiment from @zackw that downloading source packages without a follow-up of package verification is rather risky (especially via http). An alternative that we can consider is using Debian's original source package. We can use apt-get source and get the benefit of built-in signature verification mechanism.
The drawback of using this apt-get source approach, which we may or may not be able to live with, is that the source package might be outdated. For example, Ubuntu 14.04 has the source package of libxml2 2.9.1 while the upstream project already released version 2.9.3.
My pragmatic view on this subject leans towards Debian source package. What do you think @zackw?

Here's my progress so far. I have the following file deploy/docker-build.sh in the source tree:
SOURCE_PATH=/src
BUILD_PATH=$HOME/build

echo "Recreating build directory $BUILD_PATH"
rm -rf $BUILD_PATH && mkdir -p $BUILD_PATH
echo

echo "Transferring the source: $SOURCE_PATH -> $BUILD_PATH"
cd $BUILD_PATH && cp -rp $SOURCE_PATH . && cd src
echo

echo "Executing make..."
python build.py --confirm --git-clean-qtbase --git-clean-qtwebkit
echo

And then I run
docker run -v $PWD:/src ariya/erik sh -c "/src/deploy/docker-build.sh"

That docker-build.sh does an explicity copy to its own working directory, $BUILD_PATH. It may not be unnecessary but this way I can experiment with things without clobbering the original source (since it's mapped as /src).
So far I got Qt Base built, however I stumbled upon the following error:
Encountered 5 configuration warning(s):

 ! QtQuick module not found, QML APIs will not be built
 ! Qt not configured to use system libjpeg, QImageDecoder will decode JPEG images
 ! Qt not configured to use system libpng, QImageDecoder will decode PNG images
 ! Missing GStreamer or QtMultimedia, disabling HTML5 media element support
 ! QtWebKitQml will not be build. It is not supported with static linking

The WebKit build was disabled for the following reasons:
    * ICU is required.

It seems that some configuration script could not discover the ICU libraries on the system. I need to dig deeper but if you have an idea @bprodoehl or @zackw, let me know.

My pragmatic view on this subject leans towards Debian source package. What do you think @zackw?

In principle I prefer this - it's faster, it's signed, and it leverages a bunch of their infrastructure - but it does have two drawbacks: we have less control over exactly which version of each library we get, and it may be harder to persuade qmake to link the right set of things statically.
Maybe let's try to do it using Debian source packages (and a baseline of Debian 'stable'/'squeeze') and see how that goes?

It seems that some configuration script could not discover the ICU libraries on the system.

I hit the same problem.  The issue is fundamentally that if you link ICU statically, you have to add -ldl to the link line, and the qmake fragments that are testing for ICU don't know to do this.  I was able to fix this in qtbase (vitallium/qtbase@e48d070f8bfab50539a0655350d904496eee8abe) and I tried to fix this in qtwebkit (vitallium/qtwebkit@5765f144a6f045d0fdb2253e5ba1e8efee9c5834) but it didn't work, and I have reached the limit of my (quite limited) understanding of qmake.

It turns out that the failing ICU detection is due to the use of pkg-config. Since the customized base image has its own built libicu, it should be detected directly instead of via pkg-config. The fix is rather easy, one line in that deploy/docker-build.sh file needs to look like this instead:
python build.py --confirm --qt-config="-no-pkg-config" --git-clean-qtbase --git-clean-qtwebkit

Now, on to building QtWebKit...

Now that I got QtBase, QtWebKit, and PhantomJS all built properly, the linker fails rather miserably:
g++ -Wl,-O1 -Wl,-rpath-link,/root/build/src/src/qt/qtbase/lib -o ../bin/phantomjs phantom.o callback.o webpage.o webserver.o main.o utils.o networkreplyproxy.o networkreplytracker.o networkaccessmanager.o cookiejar.o filesystem.o system.o env.o terminal.o encoding.o config.o childprocess.o repl.o crashdump.o mongoose.o linenoise.o utf8.o qcommandline.o phantomjs_plugin_import.o qrc_phantomjs.o qrc_ghostdriver.o moc_phantom.o moc_callback.o moc_webpage.o moc_webserver.o moc_networkreplyproxy.o moc_networkreplytracker.o moc_networkaccessmanager.o moc_cookiejar.o moc_filesystem.o moc_system.o moc_env.o moc_terminal.o moc_config.o moc_childprocess.o moc_repl.o moc_qcommandline.o   -L/root/build/src/src/qt/qtbase/lib -lQt5WebKitWidgets -Wl,-whole-archive -Wl,-no-whole-archive -L/root/build/src/src/qt/qtwebkit/Source/WebKit/ -Wl,-whole-archive -Wl,-no-whole-archive -L/root/build/src/src/qt/qtwebkit/Source/WebCore/ -Wl,-whole-archive -Wl,-no-whole-archive -L/root/build/src/src/qt/qtwebkit/Source/ThirdParty/leveldb/ -Wl,-whole-archive -Wl,-no-whole-archive -L/root/build/src/src/qt/qtwebkit/Source/JavaScriptCore/ -Wl,-whole-archive -Wl,-no-whole-archive -L/root/build/src/src/qt/qtwebkit/Source/WTF/ -lQt5PrintSupport -Wl,-whole-archive -Wl,-no-whole-archive -Wl,-whole-archive -Wl,-no-whole-archive -Wl,-whole-archive -Wl,-no-whole-archive -Wl,-whole-archive -Wl,-no-whole-archive -Wl,-whole-archive -Wl,-no-whole-archive -lQt5Widgets -lQt5WebKit -Wl,-whole-archive -lWebKit1 -Wl,-no-whole-archive -Wl,-whole-archive -lWebCore -Wl,-no-whole-archive -lz -Wl,-whole-archive -lleveldb -Wl,-no-whole-archive -Wl,-whole-archive -lJavaScriptCore -Wl,-no-whole-archive -Wl,-whole-archive -lWTF -Wl,-no-whole-archive -lQt5Sql -L/root/build/src/src/qt/qtbase/plugins/platforms -lqphantom -lQt5PlatformSupport -lfontconfig -lfreetype -L/root/build/src/src/qt/qtbase/plugins/imageformats -lqico -lQt5Gui -lqtharfbuzzng -L/root/build/src/src/qt/qtbase/plugins/bearer -lqgenericbearer -lQt5Network -lssl -lcrypto -lQt5Core -licui18n -licuuc -licudata -lqtpcre -lm -ldl -lrt -lpthread
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfontconfig.a(fcxml.o): In function `FcConfigMessage':
/src/fontconfig-2.11.1/src/fcxml.c:555: undefined reference to `xmlSAX2GetLineNumber'
/src/fontconfig-2.11.1/src/fcxml.c:558: undefined reference to `xmlSAX2GetLineNumber'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfontconfig.a(fcxml.o): In function `IA__FcConfigParseAndLoad':
/src/fontconfig-2.11.1/src/fcxml.c:3142: undefined reference to `xmlCreatePushParserCtxt'
/src/fontconfig-2.11.1/src/fcxml.c:3181: undefined reference to `xmlParseChunk'
/src/fontconfig-2.11.1/src/fcxml.c:3195: undefined reference to `xmlFreeParserCtxt'
/src/fontconfig-2.11.1/src/fcxml.c:3187: undefined reference to `xmlCtxtGetLastError'
collect2: error: ld returned 1 exit status

I am suspicious of the interplay between Fontconfig 2.11.1 and libxml2 2.9.3. Will keep digging.

Without custom built Fontconfig, I finally got PhantomJS compiled and linked!
ldd phantomjs
	linux-vdso.so.1 =>  (0x00007fffcc9c5000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe98eb27000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe98e91f000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe98e700000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe98e3fc000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe98e0f6000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe98dedf000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe98db1a000)
	/lib64/ld-linux-x86-64.so.2 (0x0000561405eb5000)

File size information:
# ls -l bin/phantomjs
-rwxr-xr-x 1 root root 88799525 Dec 24 04:48 bin/phantomjs
# strip bin/phantomjs
# ls -l bin/phantomjs
-rwxr-xr-x 1 root root 76760872 Dec 24 20:57 bin/phantomjs

Quick test on CentOS indicates that this can run only on CentOS >= 7.
CentOS 6:
# cat /etc/redhat-release
CentOS release 6.7 (Final)
# ldd phantomjs
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ./phantomjs)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./phantomjs)
	linux-vdso.so.1 =>  (0x00007ffcbed83000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007feb6dd90000)
	librt.so.1 => /lib64/librt.so.1 (0x00007feb6db88000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007feb6d96a000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007feb6d664000)
	libm.so.6 => /lib64/libm.so.6 (0x00007feb6d3e0000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feb6d1c9000)
	libc.so.6 => /lib64/libc.so.6 (0x00007feb6ce35000)
	/lib64/ld-linux-x86-64.so.2 (0x000055c206482000)

CentOS 7
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# ldd phantomjs
	linux-vdso.so.1 =>  (0x00007ffe8373a000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fa77e7a2000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fa77e59a000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa77e37d000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fa77e075000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fa77dd73000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa77db5c000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fa77d79b000)
	/lib64/ld-linux-x86-64.so.2 (0x000056125dbb9000)

Quick test on Debian gives a similar result, the executable is only usable for Debian >= 8.
jessie:
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="https://bugs.debian.org/"
# ldd /src/phantomjs
	linux-vdso.so.1 (0x00007ffc8139f000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f96e6d24000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f96e6b1c000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f96e68fe000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f96e65f3000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f96e62f2000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f96e60db000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96e5d32000)
	/lib64/ld-linux-x86-64.so.2 (0x000055f4dba00000)

wheezy:
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="http://bugs.debian.org/"
ldd /src/phantomjs
/src/phantomjs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /src/phantomjs)
/src/phantomjs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /src/phantomjs)
	linux-vdso.so.1 =>  (0x00007ffe08b37000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc40f600000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc40f3f8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc40f1db000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc40eed4000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc40ec52000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc40ea3b000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc40e6b0000)
	/lib64/ld-linux-x86-64.so.2 (0x000055c93d4d5000)

In principle I prefer this - it's faster, it's signed, and it leverages a bunch of their infrastructure - but it does have two drawbacks: we have less control over exactly which version of each library we get, and it may be harder to persuade qmake to link the right set of things statically.

It may not be so bad. So far I have luck building everything using e.g. ICU <IP_ADDRESS>, available as the source package for wheezy, instead of using the latest ICU 56.1. The problem with qmake might be overtaken by event, as the whole build process eventually completed and I got a usable executable.

BTW, another bonus of using apt-get source is getting the additional patches, including security-related ones (e.g. offending CAs removal).

I finally got something that works in most distribution! So far I've tested it on Fedora >= 22, CentOS 6.7 and 7.2, Debian 7 (wheezy) and 8 (jessie), as well as Ubuntu 12.04 LTS and 14.04 LTS.
The workflow is still similar, take a look at deploy/docker-build.sh at https://gist.github.com/ariya/82a8690a504780582611. From the main PhantomJS source tree, trigger the build:
docker run -v $PWD:/src debian:wheezy /src/deploy/docker-build.sh

The trick here is to base it off wheezy and only to custom compile only OpenSSL and ICU (both  using the earlier proposed apt-get source).
I think it does make sense anyway to limit the rebuilt libraries. PhantomJS 1.x already requires Fontconfig (and thereby also FreeType) hence making it the same requirement in 2.1 should not cause a lot of grief. I can't imagine a usable basic system without zlib, libxml2, and friends. Meanwhile, the graphics system libraries (libpng, libjpeg, libwebp) are not being utilized since we configure Qt to use its own copy. Originally, I even tried to skip OpenSSL but the resulting executable has a problem on Fedora-based systems (likely due to build configuration differences). That leaves us with OpenSSL and ICU, but that seems to work quite well!

I just realize that this is so far only for producing 64-bit executable. I will give it a try with a 32-bit Docker image to see if the same workflow would work.

Awesome progress!
Can we get some beta via npm?

Can we get some beta via npm?

We don't really handle that npm module, please propose a concrete step that I could do. Otherwise, be patient and bear with us as I'm focusing on this task.

a concrete step that I could do

Could you add 2.0.1 64 built linux binary to bitbucket?
https://bitbucket.org/ariya/phantomjs/downloads

Could you add 2.0.1 64 built linux binary to bitbucket?

We are not doing 2.0.1, just wait for 2.1.

2.0.0 then?

2.0.0 is released in January. We've been waiting for a year!

2.0.0 is released in January. We've been waiting for a year!

@Vanuan If you have problems with our speed of development, please start a thread in the PhantomJS users mailing-list and discuss various positive and constructive ways everyone can contribute. Rather than going off-topic here, I'd like to keep this issue focused on the discussion of this Docker solution to the static binary problem. Deal?

For the 32-bit variant, one of the problems is that an application running inside a 32-bit Docker image will still think that the system has a 64-bit Linux kernel. Apparently this trips OpenSSL configuration script and then the library was built (incorrectly) in 64-bit mode. I thus devise a workaround by using getconf LONG_BIT, since the output seems to be correlated with the bitness of the system (here tubia/debian is 32-bit wheezy Docker image):
$ docker run ubuntu:14.04 getconf LONG_BIT
64
$ docker run tubia/debian:wheezy getconf LONG_BIT
32

@Vanuan   On NPM packages for Phantom2.0 , you may get it from https://www.npmjs.com/package/phantomjs2.0.    But that are only for several specific platforms, not sure you can find yours.
This thread should not be distracted by npm distribution, someone can take care of it once a stable build is there. With that, I'd let you guys ( @ariya ) working on the better build structure to take into account various platforms - with respect.

@ariya Have you tried running the OpenSSL build under setarch i386?

For the 32-bit variant, one of the problems is that an application running inside a 32-bit Docker image will still think that the system has a 64-bit Linux kernel.

 After this tweak, the build completed and I tested this 32-bit executable on CentOS 6.7 i386 and Ubuntu 12.04 32-bit LTS. It works like a charm!
The same script now permits building 64-bit and 32-bit executable, as follows:
# 64-bit
docker run -v $PWD:/src debian:wheezy /src/deploy/docker-build.sh

# 32-bit
docker run -v $PWD:/src tubia/debian:wheezy /src/deploy/docker-build.sh

@ariya is zlib enabled in QtWebkit with this script? I remember that QtWebkit can't use version bundled with Qt.

@ariya Have you tried running the OpenSSL build under setarch i386?

If setarch can be used to build 32-bit binary inside a 64-bit system, that would be fantastic. We need to be cautious of pulling a Docker image, if we can limit it to only the official one (e.g. debian on Docker Hub) then it will minimize any tampering risk.

@ariya is zlib enabled in QtWebkit with this script?

Good point. What's the easiest way to verify that zlib is enabled properly?

@ariya Google suggests to use this command on unstripped binary: nm -an phantomjs | c++filt | grep inflate Or you can try to render a web page with WOFF fonts. zlib is required for WOFF fonts.

Running ./phantomjs rasterize.js https://people.mozilla.org/~jkew/woff/ test.png gives me this:

The same for my own generic font test from http://ariya.github.io/html/webfont/:

I guess WOFF is rendered properly then :smile:

@ariya great!

Cool. What's remaining work on this?

So, what's the trick to force phantomjs build to use static versions? Looks like pkg-config outputs shared library options if they're available.

Ok, found this:

if ICU was built for static libraries only, then icu-config should output the arguments for static libs. There's no option to select static libraries if both are available.
http://stackoverflow.com/questions/6830560/icu-config-getting-static-library-flags

So, the solution is to apt-get remove shared versions of those libraries.

@ariya
build.by options are the same. I used this file:
https://gist.githubusercontent.com/Vanuan/5300108d40af6a28ee57/raw/e62577a66fed738bd814604124cd5b2225ca4fe8/docker-build.sh
And here are results:
https://semaphoreci.com/vanuan/phantomjs/branches/master/builds/24

@ariya
build.by options are the same. I used this file:
https://gist.githubusercontent.com/Vanuan/5300108d40af6a28ee57/raw/e62577a66fed738bd814604124cd5b2225ca4fe8/docker-build.sh
And here are results:
https://semaphoreci.com/vanuan/phantomjs/branches/master/builds/24

Unfortunately, uninstalling openssl isn't possible, since a whole lot of packages depend on that.

Unfortunately, uninstalling openssl isn't possible, since a whole lot of packages depend on that.

Ok, I removed openssl-dev package and it now links to a static version that is built in docker-build.sh.
sudo apt-get remove -y libssl-dev

Still having glibc problem:
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ./phantomjs)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./phantomjs)

@ariya could you remind what was a fix for this?

Ok, I removed openssl-dev package and it now links to a static version that is built in docker-build.sh.
sudo apt-get remove -y libssl-dev

Still having glibc problem:
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ./phantomjs)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./phantomjs)

@ariya could you remind what was a fix for this?

The linker takes precedence on the dynamic libraries, to force to use the
static ones you can be able to use the -static flag or add splicitly the
static libraries by using their path.
El 01/01/2016 21:16, "John Yani"<EMAIL_ADDRESS>escribió:

Ok, I removed openssl-dev package and it now links to a static version
that is built in docker-build.sh.
sudo apt-get remove -y libssl-dev
Still having glibc problem:
./phantomjs: /lib64/libc.so.6: version GLIBC_2.15' not found (required by ./phantomjs) ./phantomjs: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./phantomjs)
@ariya https://github.com/ariya could you remind what was a fix for
this?
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/13822#issuecomment-168335533.

The linker takes precedence on the dynamic libraries, to force to use the
static ones you can be able to use the -static flag or add splicitly the
static libraries by using their path.
El 01/01/2016 21:16, "John Yani"<EMAIL_ADDRESS>escribió:

Ok, I removed openssl-dev package and it now links to a static version
that is built in docker-build.sh.
sudo apt-get remove -y libssl-dev
Still having glibc problem:
./phantomjs: /lib64/libc.so.6: version GLIBC_2.15' not found (required by ./phantomjs) ./phantomjs: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./phantomjs)
@ariya https://github.com/ariya could you remind what was a fix for
this?
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/13822#issuecomment-168335533.

Yeah, I know that, but I don't want to modify phantomjs sources since I'm not sure if @ariya would be fine with that approach.

Yeah, I know that, but I don't want to modify phantomjs sources since I'm not sure if @ariya would be fine with that approach.

Maybe there's already an option to generate an static build, or you could send a pull-request with it.

Maybe there's already an option to generate an static build, or you could send a pull-request with it.

@piranna obviously, you didn't follow this issue: #12948

@piranna obviously, you didn't follow this issue: #12948

Ok, I did a little research. It seems like there's no way to install libc6 2.13 on Ubuntu 14.04. So using other distributions (or Docker) is the only option to provide binaries for corresponding distributions.

Ok, I did a little research. It seems like there's no way to install libc6 2.13 on Ubuntu 14.04. So using other distributions (or Docker) is the only option to provide binaries for corresponding distributions.

I'm going to commit the Docker-based solution to master and then we will close this issue as largely the issue is resolved.
@Vanuan We need to continue your problem in a new spawn issue, otherwise it's just creating some additional confusion.

This is resolved now. For 32-bit build improvement, we track it at #13849.

Congrats, great way to start the new year, been waiting for a ready to go PhantomJS linux binary for a long time.

@diwu1989 there's no linux binary yet.

@Vanuan @ariya what blockers are left for there to be a Linux binary? I know medium has been waiting on a Linux binary to update their node-phantomjs to 2.0, which unblocks karma and a whole slew of test runners to be able to use 2.0, which kills the ES5 shim for a lot of folks who carry it around solely for its function.prototype.bind shim...

@mikesherov there are no blockers. You can build 64-bit Linux binary from master yourself. But that still wouldn't be "official". Unfortunately, there's no build machine to produce statically linked binaries for each commit. So that's it. We're just waiting for smb to provide CPU power for free.

32-bit build is still problematic, see #13849.
For the forthcoming release (version 2.1), follow #12970.
This issue should be resolved already, i.e. we have identifier the optimal Docker workflow to build a static binary. If it's still necessary, please continue the discussion on a different place (e.g. one the above two issue), let's keep this issue to focus on the Docker methodology itself and other tangential topics.

Hi,  Can someone help me how to run a phantomJS tests in docker...?

ERROR: 'phantomjs' executable needs to be in PATH.
getting the above error
Though the path is set in syetem env variable


With regards to ressource usage

Hi there! This is not an issue to report any bugs or ask for new features.
I noticed that you advertise "resource efficiency" on the project's web page comparing to running Google Play Music in a browser. Considering that Electron is nothing but Chromium + Node.js on steroids and you use a webview tag to embed Google's web player, how do you manage to improve resource efficiency?

Chrome as a whole uses more resources than Chromium (important distinction)
Running a single website in an Electron webview is (by nature) more efficient than running an entire browser
In Chrome / FF you would need a multitude of extensions to get the features this player gives you.  In chrome each extension runs as a separate process which is horrific for resources consumption.

TLDR: By nature of implementation this player is more efficient :+1:


Lago 550 fix config

What's the purpose of your PR?

[ ] Fixing a bug
[ ] A new Feature
[ ] Techdebt
[ ] General Task

What your PR is all about?
Any special instructions for the reviewer?

@kazazor few fixes to the prod config generation


Add new automerger to cron

I forgot, this is built right into the old DOI import task, so we should just change the name of the rake task and change the invocation in chef.


[Mega menu, mobile] 2 style bugs:

React: "View all products" button became inline with bottom border, and text can get truncated if on small screen:
Web components: "Back" button became misaligned. Should be aligned to vertical center of button, starting left:

Re-tested after expressive branch merged. No longer an issue!


Visual Studio 2019 usage?

OS Info: Windows 10 Pro

Dear cweijan,
 I love your extension.  It's the remote connect feature that I wish I could use in Visual Studio, which is where I'm having to update a bunch of old ASP.Net/MS Sql Server websites to MySql and the newest versions of .Net/Core that I can get to work.  My main hang-up is securing connection strings from Web.config files into MySqlStringBuilder and such and your Connect feature/code in Visual Code is the best that I have found.  I got so frustrated in VS that I ran some tests in VC to see if I could connect from there.  I just want to be able to develop, design, etc. against one MySql Server and not one local and one remote. The remote connection I need is to the MySql server on Godaddy using SSH over Tcp/Ip and your Connect did it right the very first time, but I'm still having issues with MySql's Connector/Net in VS.  Is there anyway I can get your extension to work in VS?  Thanks.

Visual studio code and visual studio architecture are completely different, so there is no way to migrate this extension to visual studio.


🍒[cxx-interop] Zero-initialize C++ structs when calling their default constructors

When Swift imports C structs, it synthesizes an initializer that takes no arguments and zero-initializes the C struct.
When C++ interop is enabled, Clang treats all C structs as if they were C++ structs. This means that some of the C structs will get a default constructor implicitly generated by Clang. This implicit default constructor will not zero-initialize trivial fields of the struct.
This is a common source of confusion and subtle bugs for developers who try to enable C++ interop in existing projects that use C interop and rely on zero-initialization of C structs.
rdar://115909532
(cherry picked from commit bac5d0e9a15e99e0ae00435b5deb39692a05e32f)

@swift-ci please test


Support building with conda on macOS

Issue description

Expected behavior: Following the build instructions should build catalyst correctly when using conda.

Actual behavior: Following these instructions:

Created a new environment via the command conda create -n catalyst_test python=3.10 and activated the new environment

pip install cmake ninja
brew install libomp
cd catalyst
git checkout main
git pull
pip install -r requirements.txt
brew install ccache
make llvm
make mhlo
make enzyme
make dialects
make runtime
pip install -e .

didn't work out. Tests didn't finish running with half of the ones the finished failing.

Tested on MacBook Air, M1 2020, and running macOS Sonoma 14.3.1 (but possibly affects other platforms)

So far the commands you wrote worked out on MacOS Monterey, using Conda. Is there something missing? Maybe make test or make test-frontend?

I made another tests under macOS 14.6.1 (Sonoma) in a M2 machine (aarch64) also with Conda. I also ran make test and make test-frontend.
The installation worked out of the box.

@erick-xanadu @dime10 if you both agree, we can close this issue as Solved

Closing, as it has not been experienced anymore.


GH-2965: Docs improvements in testing ref docs

Fixes: #2965
Clarify how to override MockProducer and provide it via MockProducerFactory.
Cherry-pick to 3.0.x

I also don't see a reason to back-port it. More over it is not going to be so easy because we have migrated to Antora exactly in this version and previous 3.0.x is still plain AsciiDoc.
Thanks

Can you remove the cherry-pick from the commit on merge?


[MSL] half4x4 codegen for constant buffers is broken

Using SPIR-V generated by DXC with the following HLSL code leads to an exception being thrown when that SPIR-V is then used to attempt to generate MSL:
cbuffer Constants : register(b0) {  half4x4 variable; }

SPIRV_CROSS_THROW("Cannot represent vectors with more than 4 elements in MSL.");

This is pretty awkward yes ... Needs a special case workaround I think.

Is there a a way the MSL emitter can just emit the half4x4 in the MSL uniform structure while ignoring the MatrixStride decoration emitted by DXC? I can just get my C++ code to align the cbuffer the way MSL needs it when running on Apple platforms.

DXC should be able to emit cbuffer without legacy layout, that's the better way to avoid this problem.


Download speeds from release page are dog slow

At best I can get a 200 to 300 Kb/s download speeds for the widows msi, this is way way to slow. Can we please get some mirrors or proper download servers vs. using the slow GitHub file hosting.

@SneWs Please report the issue to GitHub support.

@SneWs Please report the issue to GitHub support.

You can also help us all - use PathPing and trace the path from you to GitHub. I get fine download speeds here in the UK and wonder if the issue is due to an ISP routing or path problem.

You can also help us all - use PathPing and trace the path from you to GitHub. I get fine download speeds here in the UK and wonder if the issue is due to an ISP routing or path problem.

You can also help us all - use PathPing and trace the path from you to GitHub. I get fine download speeds here in the UK and wonder if the issue is due to an ISP routing or path problem.

This is the output
PathPing -n github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:
  0  <IP_ADDRESS>
  1  <IP_ADDRESS>
  2  <IP_ADDRESS>
  3     *        *        *
Computing statistics for 50 seconds...
            Source to Here   This Node/Link
Hop  RTT    Lost/Sent = Pct  Lost/Sent = Pct  Address
  0                                           <IP_ADDRESS>
                                0/ 100 =  0%   |
  1    2ms     0/ 100 =  0%     0/ 100 =  0%  <IP_ADDRESS>
                                0/ 100 =  0%   |
  2    6ms     0/ 100 =  0%     0/ 100 =  0%  <IP_ADDRESS>

Trace complete.

You can also help us all - use PathPing and trace the path from you to GitHub. I get fine download speeds here in the UK and wonder if the issue is due to an ISP routing or path problem.

This is the output
PathPing -n github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:
  0  <IP_ADDRESS>
  1  <IP_ADDRESS>
  2  <IP_ADDRESS>
  3     *        *        *
Computing statistics for 50 seconds...
            Source to Here   This Node/Link
Hop  RTT    Lost/Sent = Pct  Lost/Sent = Pct  Address
  0                                           <IP_ADDRESS>
                                0/ 100 =  0%   |
  1    2ms     0/ 100 =  0%     0/ 100 =  0%  <IP_ADDRESS>
                                0/ 100 =  0%   |
  2    6ms     0/ 100 =  0%     0/ 100 =  0%  <IP_ADDRESS>

Trace complete.

@SneWs Please report the issue to GitHub support.

Not sure why I should report it to GitHub, it's the powershell project that seems to have issues with download speeds and thus, if a limitation with GitHub something the Powershell project should deal with towards GitHub or provide an alternative download path as I see it.

@SneWs Please report the issue to GitHub support.

Not sure why I should report it to GitHub, it's the powershell project that seems to have issues with download speeds and thus, if a limitation with GitHub something the Powershell project should deal with towards GitHub or provide an alternative download path as I see it.

Two comments.
First, to answer your last question, the project downloads are hosted at Github so the speed issue is their problem, not ta PowerShell team issue.
Second, that path ping and my experience are different from mine and I suspect that may account for it; I can't believe that you are in a direct hop to Github. 192.168.* addresses are, presumably local - are you really one router hop away from Github>
Also, my tracert output is significantly longer than yours:
PS C:\Foo> tracert github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  fritz.box [<IP_ADDRESS>]
  2    20 ms     6 ms     6 ms  vt2.cor1.lond2.ptn.zen.net.uk [<IP_ADDRESS>]
  3     7 ms     6 ms     6 ms  lag-8.p2.ixn-lon.zen.net.uk [<IP_ADDRESS>]
  4     6 ms     6 ms     6 ms  51-148-73-195.dsl.zen.co.uk [<IP_ADDRESS>]
  5     7 ms     6 ms     6 ms  ae15.mpr1.lhr15.uk.above.net [<IP_ADDRESS>]
  6     *       17 ms    16 ms  ae3.cs1.lhr15.uk.eth.zayo.com [<IP_ADDRESS>]
  7     *        *       18 ms  ae10.cs3.ams10.nl.eth.zayo.com [<IP_ADDRESS>]
  8    16 ms    16 ms    16 ms  ae4.cs1.ams17.nl.eth.zayo.com [<IP_ADDRESS>]
  9    16 ms    16 ms    16 ms  ae2.cs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 10    17 ms    16 ms    17 ms  ae1.mcs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 11    17 ms    16 ms    16 ms  <IP_ADDRESS>.IPYX-270403-001-ZYO.zip.zayo.com [<IP_ADDRESS>]
 12     *        *        *     Request timed out.
 13     *        *        *     Request timed out.
 14    17 ms    16 ms    16 ms  lb-140-82-121-3-fra.github.com [<IP_ADDRESS>]

I am in the UK, and the first few hopts are my ISPs. BUt from hop 7, my path to GitHub goes to Europe. I am guessing that Github has a CDN stop somewhere near Frankfurt.
This is a user/GitHub issue and nothing that the PowerShell team has any control over.

Two comments.
First, to answer your last question, the project downloads are hosted at Github so the speed issue is their problem, not ta PowerShell team issue.
Second, that path ping and my experience are different from mine and I suspect that may account for it; I can't believe that you are in a direct hop to Github. 192.168.* addresses are, presumably local - are you really one router hop away from Github>
Also, my tracert output is significantly longer than yours:
PS C:\Foo> tracert github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  fritz.box [<IP_ADDRESS>]
  2    20 ms     6 ms     6 ms  vt2.cor1.lond2.ptn.zen.net.uk [<IP_ADDRESS>]
  3     7 ms     6 ms     6 ms  lag-8.p2.ixn-lon.zen.net.uk [<IP_ADDRESS>]
  4     6 ms     6 ms     6 ms  51-148-73-195.dsl.zen.co.uk [<IP_ADDRESS>]
  5     7 ms     6 ms     6 ms  ae15.mpr1.lhr15.uk.above.net [<IP_ADDRESS>]
  6     *       17 ms    16 ms  ae3.cs1.lhr15.uk.eth.zayo.com [<IP_ADDRESS>]
  7     *        *       18 ms  ae10.cs3.ams10.nl.eth.zayo.com [<IP_ADDRESS>]
  8    16 ms    16 ms    16 ms  ae4.cs1.ams17.nl.eth.zayo.com [<IP_ADDRESS>]
  9    16 ms    16 ms    16 ms  ae2.cs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 10    17 ms    16 ms    17 ms  ae1.mcs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 11    17 ms    16 ms    16 ms  <IP_ADDRESS>.IPYX-270403-001-ZYO.zip.zayo.com [<IP_ADDRESS>]
 12     *        *        *     Request timed out.
 13     *        *        *     Request timed out.
 14    17 ms    16 ms    16 ms  lb-140-82-121-3-fra.github.com [<IP_ADDRESS>]

I am in the UK, and the first few hopts are my ISPs. BUt from hop 7, my path to GitHub goes to Europe. I am guessing that Github has a CDN stop somewhere near Frankfurt.
This is a user/GitHub issue and nothing that the PowerShell team has any control over.

@SneWs Please report the issue to GitHub support.

Not sure why I should report it to GitHub, it's the powershell project that seems to have issues with download speeds and thus, if a limitation with GitHub something the Powershell project should deal with towards GitHub or provide an alternative download path as I see it.

The repository is only for developers. Nobody in PowerShell project responsible for GitHub network or your network issues. PowerShell project is public and no one in the project is required to be an intermediary between you and GitHub team. As community member you can directly communicate with GitHub team and directly discuss the issue with them and thus help all members of GitHub community.

@SneWs Please report the issue to GitHub support.

Not sure why I should report it to GitHub, it's the powershell project that seems to have issues with download speeds and thus, if a limitation with GitHub something the Powershell project should deal with towards GitHub or provide an alternative download path as I see it.

The repository is only for developers. Nobody in PowerShell project responsible for GitHub network or your network issues. PowerShell project is public and no one in the project is required to be an intermediary between you and GitHub team. As community member you can directly communicate with GitHub team and directly discuss the issue with them and thus help all members of GitHub community.

As I am getting the below then this has to be an issue related to how your networking is setup - either locally, or the middle layers between you and the endpoint where the release files are located.

Also note that the files are actually stored on AWS as per the below so this would be as @doctordns suggested and be an issue with you and connection to AWS & not the connection to GitHub.

If you are on a corporate network (especially via VPN) it's likely there's traffic inspection going on somewhere and you should raise this with your organisation's helpdesk.
If just via your own home internet, then you need to speak with your ISP and get them to investigate.
But like both @iSazonov & @doctordns have said this isn't a PowerShell issue

As I am getting the below then this has to be an issue related to how your networking is setup - either locally, or the middle layers between you and the endpoint where the release files are located.

Also note that the files are actually stored on AWS as per the below so this would be as @doctordns suggested and be an issue with you and connection to AWS & not the connection to GitHub.

If you are on a corporate network (especially via VPN) it's likely there's traffic inspection going on somewhere and you should raise this with your organisation's helpdesk.
If just via your own home internet, then you need to speak with your ISP and get them to investigate.
But like both @iSazonov & @doctordns have said this isn't a PowerShell issue

Let's start with the technical stuff, doing a tracert renders the following response on the same laptop
tracert github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:

  1     2 ms     2 ms     2 ms  router.grenangen.local [<IP_ADDRESS>]
  2     8 ms     7 ms     7 ms  c213-200-143-2.bredband.comhem.se [<IP_ADDRESS>]
  3     *        *        *     Request timed out.
  4     *        *        *     Request timed out.
  5    19 ms    20 ms    19 ms  lm1-peer-1-be2.net.comhem.se [<IP_ADDRESS>]
  6    39 ms    32 ms    31 ms  <IP_ADDRESS>
  7     *        *        *     Request timed out.
  8     *        *        *     Request timed out.
  9     *        *        *     Request timed out.
 10    36 ms    34 ms    34 ms  lb-140-82-121-4-fra.github.com [<IP_ADDRESS>]

Trace complete.

So no more than 10 hops, but I'm a bit puzzled over the timeout entries there.
For the less technical part, I get that the Powershell team just uses the facilities of GitHub, not my intention to try to stir something up here. But from an outside perspective of someone that just wants to consume the binaries for PowerShell I would not really care where or how it's hosted/distributed but only that my DL speeds are good. And to further my argument, doing a web search for installing powershell core will point to this repo and the release page.

Two comments.
First, to answer your last question, the project downloads are hosted at Github so the speed issue is their problem, not ta PowerShell team issue.
Second, that path ping and my experience are different from mine and I suspect that may account for it; I can't believe that you are in a direct hop to Github. 192.168.* addresses are, presumably local - are you really one router hop away from Github>
Also, my tracert output is significantly longer than yours:
PS C:\Foo> tracert github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  fritz.box [<IP_ADDRESS>]
  2    20 ms     6 ms     6 ms  vt2.cor1.lond2.ptn.zen.net.uk [<IP_ADDRESS>]
  3     7 ms     6 ms     6 ms  lag-8.p2.ixn-lon.zen.net.uk [<IP_ADDRESS>]
  4     6 ms     6 ms     6 ms  51-148-73-195.dsl.zen.co.uk [<IP_ADDRESS>]
  5     7 ms     6 ms     6 ms  ae15.mpr1.lhr15.uk.above.net [<IP_ADDRESS>]
  6     *       17 ms    16 ms  ae3.cs1.lhr15.uk.eth.zayo.com [<IP_ADDRESS>]
  7     *        *       18 ms  ae10.cs3.ams10.nl.eth.zayo.com [<IP_ADDRESS>]
  8    16 ms    16 ms    16 ms  ae4.cs1.ams17.nl.eth.zayo.com [<IP_ADDRESS>]
  9    16 ms    16 ms    16 ms  ae2.cs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 10    17 ms    16 ms    17 ms  ae1.mcs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 11    17 ms    16 ms    16 ms  <IP_ADDRESS>.IPYX-270403-001-ZYO.zip.zayo.com [<IP_ADDRESS>]
 12     *        *        *     Request timed out.
 13     *        *        *     Request timed out.
 14    17 ms    16 ms    16 ms  lb-140-82-121-3-fra.github.com [<IP_ADDRESS>]

I am in the UK, and the first few hopts are my ISPs. BUt from hop 7, my path to GitHub goes to Europe. I am guessing that Github has a CDN stop somewhere near Frankfurt.
This is a user/GitHub issue and nothing that the PowerShell team has any control over.

Let's start with the technical stuff, doing a tracert renders the following response on the same laptop
tracert github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:

  1     2 ms     2 ms     2 ms  router.grenangen.local [<IP_ADDRESS>]
  2     8 ms     7 ms     7 ms  c213-200-143-2.bredband.comhem.se [<IP_ADDRESS>]
  3     *        *        *     Request timed out.
  4     *        *        *     Request timed out.
  5    19 ms    20 ms    19 ms  lm1-peer-1-be2.net.comhem.se [<IP_ADDRESS>]
  6    39 ms    32 ms    31 ms  <IP_ADDRESS>
  7     *        *        *     Request timed out.
  8     *        *        *     Request timed out.
  9     *        *        *     Request timed out.
 10    36 ms    34 ms    34 ms  lb-140-82-121-4-fra.github.com [<IP_ADDRESS>]

Trace complete.

So no more than 10 hops, but I'm a bit puzzled over the timeout entries there.
For the less technical part, I get that the Powershell team just uses the facilities of GitHub, not my intention to try to stir something up here. But from an outside perspective of someone that just wants to consume the binaries for PowerShell I would not really care where or how it's hosted/distributed but only that my DL speeds are good. And to further my argument, doing a web search for installing powershell core will point to this repo and the release page.

Two comments.
First, to answer your last question, the project downloads are hosted at Github so the speed issue is their problem, not ta PowerShell team issue.
Second, that path ping and my experience are different from mine and I suspect that may account for it; I can't believe that you are in a direct hop to Github. 192.168.* addresses are, presumably local - are you really one router hop away from Github>
Also, my tracert output is significantly longer than yours:
PS C:\Foo> tracert github.com

Tracing route to github.com [<IP_ADDRESS>]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  fritz.box [<IP_ADDRESS>]
  2    20 ms     6 ms     6 ms  vt2.cor1.lond2.ptn.zen.net.uk [<IP_ADDRESS>]
  3     7 ms     6 ms     6 ms  lag-8.p2.ixn-lon.zen.net.uk [<IP_ADDRESS>]
  4     6 ms     6 ms     6 ms  51-148-73-195.dsl.zen.co.uk [<IP_ADDRESS>]
  5     7 ms     6 ms     6 ms  ae15.mpr1.lhr15.uk.above.net [<IP_ADDRESS>]
  6     *       17 ms    16 ms  ae3.cs1.lhr15.uk.eth.zayo.com [<IP_ADDRESS>]
  7     *        *       18 ms  ae10.cs3.ams10.nl.eth.zayo.com [<IP_ADDRESS>]
  8    16 ms    16 ms    16 ms  ae4.cs1.ams17.nl.eth.zayo.com [<IP_ADDRESS>]
  9    16 ms    16 ms    16 ms  ae2.cs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 10    17 ms    16 ms    17 ms  ae1.mcs1.fra6.de.eth.zayo.com [<IP_ADDRESS>]
 11    17 ms    16 ms    16 ms  <IP_ADDRESS>.IPYX-270403-001-ZYO.zip.zayo.com [<IP_ADDRESS>]
 12     *        *        *     Request timed out.
 13     *        *        *     Request timed out.
 14    17 ms    16 ms    16 ms  lb-140-82-121-3-fra.github.com [<IP_ADDRESS>]

I am in the UK, and the first few hopts are my ISPs. BUt from hop 7, my path to GitHub goes to Europe. I am guessing that Github has a CDN stop somewhere near Frankfurt.
This is a user/GitHub issue and nothing that the PowerShell team has any control over.

Those timeouts are most likely routers that drop ICMP Echo request. This is normal.
There is nothing the PowerShell team can do here. If you look closely, your transit times to Github are double mine. And that is something you really need to take up with your ISP as it's their peering/.routing. And reporting it to GitHub may help from their

Those timeouts are most likely routers that drop ICMP Echo request. This is normal.
There is nothing the PowerShell team can do here. If you look closely, your transit times to Github are double mine. And that is something you really need to take up with your ISP as it's their peering/.routing. And reporting it to GitHub may help from their


errors when load from excel files

1.export to excel just fine,but when loading excel file,I came across a lot of formatter problems.(even use the excel file generate by this extension).
2.suggestions:Will you plan to support multiple Statistics instance,I need sum,avg when exporting excel.
3.suggestions:will you plan to support custom format cell other than just customize datetime

@mrtylerzhou Please provide more info about the bug(s). And thanks your suggenstions, I'll first to support Fluent configuration API in v2.0, and than, I will support mare formatter and more configuration api, PR wellcome.

@mrtylerzhou I had implemented the fluent configuration api, and your 2. suggestions. had been supported.

In v2.1, I will add more formmater setting.

@mrtylerzhou The Excel.Load<T>(..., valueConverter = null) you can pass your converter to handle your value.

v2.1 had been released.


Add analytics to trackpanel

Type

[x] Improvement to existing feature

Related JIRA Issue(s)
https://www.ebi.ac.uk/panda/jira/browse/ENSWBSITES-218
https://www.ebi.ac.uk/panda/jira/browse/ENSWBSITES-271
Importance
Aug Sprint 2
Description

Added the analytics tracking events to the TrackPanel components.
Created custom dimensions for Page & Species

Views affected

Browser -> TrackPanel

Other effects

[x] I have checked any requirements for Google Analytics
[ ] I have created any required tests
[ ] The PR has as its final commit a WASM/JS update commit if any Rust files were updated.

@msmanoj I am working on the track panel state and have made changes to the track panel actions with this PR: https://github.com/Ensembl/ensembl-client/pull/136. I wonder if it will conflict with the changes made here.

@azangru @imran-ebi  Is there anything else that needs to be changed in this PR?

@azangru @imran-ebi Is there anything else that needs to be changed in this PR?

I don't see anything else that needs to be changed

@imran-ebi what about this comment from 17 days ago — is it in any way blocking the merge?

@imran-ebi what about this comment from 17 days ago — is it in any way blocking the merge?

That shouldn't be blocking this PR anymore as it is already merged into dev. @msmanoj has resolved the conflicts after merging dev with this PR's branch in 87c275d.


Make GH workflows job names unique

Make workflow jobs unique so we can manage which ones are required to pass the build.
Signed-off-by: Milos Gajdos<EMAIL_ADDRESS>

Codecov Report

Merging #3448 (21ffbdb) into main (ad8f5ca) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #3448   +/-   ##
=======================================
  Coverage   56.38%   56.38%
=======================================
  Files         102      102
  Lines        7324     7324
=======================================
  Hits         4130     4130
  Misses       2541     2541
  Partials      653      653

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 ad8f5ca...21ffbdb. Read the comment docs.


Is wireguard-manager-config used?

Describe the bug
I noticed the config map named wireguard-manager-config and cannot find it actually used anywhere?
https://github.com/jodevsa/wireguard-operator/blob/1d1bef4d0d82c0235dbfba3b665f6ebe5fb4260b/config/manager/controller_manager_config.yaml
To Reproduce
N/A
Expected behavior
N/A
Screenshots
N/A
Additional context
N/A

I guess another question - should it be used? It looks like most config is set through the CLI.


Upgrade to ghc-8.10.6 in Github Actions

Currently blocked on this: https://github.com/haskell/actions/issues/69


Feature request: Zarf dev package templating

Is your feature request related to a problem? Please describe.
It would be beneficial if zarf had the ability to template out what would be in a package at create time and also at deploy time with input variables. It is sometimes difficult to determine what will happen with a complex zarf package with component imports, overrides etc.
Describe the solution you'd like

Given I'm creating a zarf package
When I type zarf dev package template create (or something like this) with --set variables or referencing a zarf.config
Then Zarf will

template and print the Zarf package with templated ###ZARF_PKG_TMPLs rendered
template and print the values.yaml files with ###ZARF_VARs- defaults used if none provided by the user at create time
template and print all manifests that the helm charts would create with ###ZARF_VARs - defaults used if none provided by the user at create time

When I type zarf dev package template deploy  (or something like this) with --set variables or referencing a zarf.config
Then Zarf will

template and print the Zarf package with templated ###ZARF_PKG_TMPLs rendered
template and print the values.yaml files with ###ZARF_VARs- possibly defaults used
template and print all manifests that the helm charts would create with ###ZARF_VARs - possibly defaults used if none provided by the user at deploy time

Additional context
I feel like this workflow eases the friction of needing to actually have a kubernetes cluster up and running and allows you to debug zarf package templating logic before applying anything to a cluster - similar to the way helm template works, but with the additional zarf templating on top of it.. This makes the feedback loop smaller when debugging a zarf package that is failing to deploy.

I'll second this feature request. Not having an easy way to see the rendered yaml also made diagnosing this bug a bit tricky: https://github.com/defenseunicorns/zarf/issues/2692
Note that if the problem is in the values.yaml and it makes the yaml invalid, then a ctrl-c mid attempt to make it work will preserve the rendered yaml in your /tmp directory and you can view it there.
This command is also said to result in the full manifests because 'kind' is in all manifests:
zarf dev find-images . --flavor upstream --why "kind" > templated.txt

Final note: this zarf functionality should also be expanded into UDS since UDS is frequently the entrypoint to the package creation and deployment commands.


Change timestamps to u64

They are documented as u64: https://discordapp.com/developers/docs/rich-presence/how-to#updating-presence-update-presence-payload-fields

I already intended to change this, just forgot.
Thanks.


retain cli output experience

Need to make sure the old cli output experience is similar to the new cli output experience with respect to the containerd integration project.

Discussing with @dmcgowan on Slack;
There's a couple of issues to address when migrating images from Docker to Containerd;

LastTagTime (custom property that's set to the date when the image was last tagged)

implemented: in https://github.com/moby/moby/pull/31497
proposal: https://github.com/moby/moby/issues/25728

Image ID's

containerd will show different ID's than Docker; docker constructed its own image-id's whereas containerd uses the manifest digest (IIUC; might be slightly different); the essence is that image ID's as shown after migration will be different.

containerd uses timestamps for objects, which are set to the date/time that an object was added to the local metadata-store. This is a good match for LastTagTime, as this means that containerd offers this out of the box.
The problem for LastTagTime is that when we migrate the images from Docker to containerd, those images will be tagged at that moment, so all images will get the date/time of the migration.
Containerd does allow storing custom metadata/labels for objects, so we can add the information and have dockerd use that to fill in the information. Some things we were discussing;

dockerd should not require those custom properties to be present, as it should be able to handle images that were not migrated, not pulled through the docker daemon (i.e. if images were added directly by containerd); same for containers that were started outside of dockerd.
we can add a label for LastTagTime, which (if present) is used by dockerd to show the date/time of tagging, and fall back to the actual tag-timestamp if no label is found
we should only add those labels for images that were migrated
remove this functionality after X releases (as it's only useful for the migration case)

The Created date shown by docker (docker images CREATED column) is a bit more challenging. This column shows information about when the image was originally created by the author. Containerd itself does not keep track of that information; it stores the images, but does not look at the date/time the image was created; it only stores the date/time at which the image was added to the metadata store, not when it was originally created.
Some things were discussed;

The "created" date can be read from the manifest, so the information is not "lost"
Similar to the LastTagTime we can store this custom metadata in the containerd metadata store
Possibly add an extra column (ADDED?) that shows the date/time that the image was added locally; this is useful for images that were not pulled by dockerd (thus have no custom metadata stored to keep the
Show the CREATED data if the custom metadata is present, otherwise fall back to the ADDED date

Should we update images that were pulled outside of dockerd? Is this a costly operation?

^^ more info to be added


Multiple instances of swashbuckle

Is it possible to run multiple instances of swashbuckle? For example the public API and the private system API ?

I'd really love to use that kind of feature!

Why not use the existing MultipleApiVersions funcionality?
https://github.com/domaindrivendev/Swashbuckle/blob/master/Swashbuckle.Dummy.Core/App_Start/SwaggerConfig.cs#L57


Improve release table readability

Checklist

[ ] npm test passes
[ ] documentation is changed or added (if applicable)
[ ] permission has been obtained to add new logo (if applicable)
[ ] contribution guidelines followed here

Left align doesn't look much different, so sure.


Build dedicated Schemes in tests

How to categorize this PR?

/area testing
/kind bug
What this PR does / why we need it:
Previously while Adding other clientsets to the scheme, we were mutating the global scheme variable, for eg: GardenScheme, SeedScheme etc.
This PR exposes the AddToScheme functions of GardenScheme,SeedScheme and ShootScheme and builds a dedicated test scheme in the tests.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
~Depends on https://github.com/gardener/gardener/pull/7248, hence in draft.~
/cc @timebertt
Release note:

NONE

https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7409/pull-gardener-integration/1620397507202781184 is another occurence of #6904

/retest

/assign


Modified Readme to correct for recent code updates

With recent code changes the readme is no longer current with only the 3 regions of eu, cn or us being relevant based on where your FGLair account is registered.

Thanks @chiefcomm 👍


Add execution analysis test suites against Pylance.

Add integration tests for execution analysis

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for feature-requests.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

Just noticed you didn't check off all boxes?

@Tyriar yeah these boxes are optional afaik.


Added the 2020 doc sprint to the events page

Preview: https://deploy-preview-1527--competent-brattain-de2d6d.netlify.com/docs/about/events/

This change is

/assign @theadactyl