feat: support bucket_key_enabled for server_side_encryption_configura…

…tion.rule
Description
Make server_side_encryption_configuration to be able to set to bucket_key_enabled .
Motivation and Context
Recently, bucket_key_enable was supported by terraform-provider-aws in the following PR.
so I'd like to reflect that here as well.
https://github.com/hashicorp/terraform-provider-aws/pull/16581
Breaking Changes
bucket_key_enabled is a optional value, so compatibility won't be lost.
How Has This Been Tested?

[x] I have tested and validated these changes using one or more of the provided examples/* projects

current plan at example/complete result is below (extracted).
+ server_side_encryption_configuration {
          + rule {
              + bucket_key_enabled = false

              + apply_server_side_encryption_by_default {
                  + kms_master_key_id = (known after apply)
                  + sse_algorithm     = "aws:kms"
                }
            }
        }

and apply was done successfully (extracted).
...
Apply complete! Resources: 11 added, 0 changed, 0 destroyed.

Outputs:

this_s3_bucket_arn = "arn:aws:s3:::s3-bucket-mighty-tetra"
this_s3_bucket_bucket_domain_name = "s3-bucket-mighty-tetra.s3.amazonaws.com"
this_s3_bucket_bucket_regional_domain_name = "s3-bucket-mighty-tetra.s3.ap-northeast-1.amazonaws.com"
this_s3_bucket_hosted_zone_id = "Z2M4EHUR26P7ZW"
this_s3_bucket_id = "s3-bucket-mighty-tetra"
this_s3_bucket_region = "ap-northeast-1"
this_s3_bucket_website_domain = "s3-website-ap-northeast-1.amazonaws.com"
this_s3_bucket_website_endpoint = "s3-bucket-mighty-tetra.s3-website-ap-northeast-1.amazonaws.com"

next, edit example/complete/main.tf line:191-199 to add variable bucket_key_enabled like this.
server_side_encryption_configuration = {
    rule = {
      bucket_key_enabled = true
      apply_server_side_encryption_by_default = {
        kms_master_key_id = aws_kms_key.objects.arn
        sse_algorithm     = "aws:kms"
      }
    }
  }

plan result is below (extracted).
# module.s3_bucket.aws_s3_bucket.this[0] will be updated in-place
  ~ resource "aws_s3_bucket" "this" {
        id                          = "s3-bucket-mighty-tetra"
        tags                        = {
            "Owner" = "Anton"
        }
        # (11 unchanged attributes hidden)

      ~ server_side_encryption_configuration {
          ~ rule {
              ~ bucket_key_enabled = false -> true

                # (1 unchanged block hidden)
            }
        }

        # (8 unchanged blocks hidden)
    }

  # module.s3_bucket.aws_s3_bucket_policy.this[0] will be updated in-place
  ~ resource "aws_s3_bucket_policy" "this" {
        id     = "s3-bucket-mighty-tetra"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action    = "s3:*"
                      - Condition = {
                          - Bool = {
                              - aws:SecureTransport = "false"
                            }
                        }
                      - Effect    = "Deny"
                      - Principal = "*"
                      - Resource  = [
                          - "arn:aws:s3:::s3-bucket-mighty-tetra/*",
                          - "arn:aws:s3:::s3-bucket-mighty-tetra",
                        ]
                      - Sid       = "denyInsecureTransport"
                    },
                  - {
                      - Action    = "s3:ListBucket"
                      - Effect    = "Allow"
                      - Principal = {
                          - AWS = "arn:aws:iam::057575985710:role/terraform-20210413081143894800000001"
                        }
                      - Resource  = "arn:aws:s3:::s3-bucket-mighty-tetra"
                      - Sid       = ""
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.

and apply complete successfully (extracted).
...
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

Outputs:

this_s3_bucket_arn = "arn:aws:s3:::s3-bucket-mighty-tetra"
this_s3_bucket_bucket_domain_name = "s3-bucket-mighty-tetra.s3.amazonaws.com"
this_s3_bucket_bucket_regional_domain_name = "s3-bucket-mighty-tetra.s3.ap-northeast-1.amazonaws.com"
this_s3_bucket_hosted_zone_id = "Z2M4EHUR26P7ZW"
this_s3_bucket_id = "s3-bucket-mighty-tetra"
this_s3_bucket_region = "ap-northeast-1"
this_s3_bucket_website_domain = "s3-website-ap-northeast-1.amazonaws.com"
this_s3_bucket_website_endpoint = "s3-bucket-mighty-tetra.s3-website-ap-northeast-1.amazonaws.com"

Thanks, @kumashun8 !
v2.1.0 has been just released.


Pipe code

In a branch right now: https://github.com/japanoise/emsys/tree/pipe
It's not working, and likely because of (lack of) shared memory

Completed.


Fix CMS encryption with key agreement when originator set

This is a fix for the segfault that I noticed sometime ago. OpenSSL currently does not support explicitly setting originator private and pub key (from cert). The cms command actually documents that originator can be used only for decryption but it still allows setting for encryption which results in segmentation fault (the test actually segfault without this change). The API actually does not specify such restriction and would just segfault. This is a minimal fix to just prevent the segfault so it can be cherry-picked to lower branches (haven't checked if it's clean or there is conflict - there might be in number of tests possibly). I can create possibly PR's for other branches. Just let me know which ones.
After this gets merged I would like to look to allowing the originator to be set. This is something that BouncyCastle support and it is quite useful. Such change is just for master though so I did this first. The thing is that it requires quite a few places to be changed and some changes to the structs as well. And a bit more testing of course.
Checklist

[x] tests are added or updated

Ok that leak seems like something that was probably there but my test triggers. Will look into it next week.

Is it ready for review now?

I will create a new PR for that originator leak with a different test. I realised that there is actually no test for valid originator usage in decryption so it would be good to have that first. Will do it this week.

@t8m So it is actually ready for review. I was just checking if I could add test separately for that leak (cms decryption usage only) and it's not actually that easy because OpenSSL support only encryption without originator which means that the empheral key is created. So this option is useful only for interoperability with other libs where setting originator is possible - for example I have got those interop example test for BouncyCastle -  https://github.com/bukka/jcrypto/blob/6978ebb8e7b162380785315e3f6ee3c904c0caf4/examples/cms/cms-enveloped-key-agree-test.sh#L45-L47 . Here it can be used for message encrypted using BouncyCastle (through my toy app jcrypto).
I plan to look to the originator encryption support which would make it work in line with BouncyCastle where this is already possible.

I just fixed the pem new line and swap the commits - they are independent so it makes sense to not use a single commit for the PR but instead cherry-pick them independently (in case it doesn't apply, let me know and I will create a separate PR). The leak fix should go first as it is prereq for the second commit to be green.

The cms command actually documents that originator can be used only for decryption but it still allows setting for encryption which results in segmentation fault

Where do you see in the openssl-cms man page that setting the originator cert is not allowed for encryption?
It just says that it is necessary in some case but does not say it is forbidden in others:

A certificate of the originator of the encrypted message. Necessary for decryption when Key
Agreement is in use for a shared key.

Please add to the doc there that for encryption with key agreement, setting a static originator is so far not supported.
Your fix prevents a crash in this case by returning instead an error at API level, but when CLI users thus get
408F92F201000000:error:17000071:CMS routines:ossl_cms_RecipientInfo_kari_encrypt:error getting public key:crypto/cms/cms_kari.c:510:
408F92F201000000:error:17000074:CMS routines:cms_EnvelopedData_Encryption_init_bio:error setting recipientinfo:crypto/cms/cms_env.c:1185:
408F92F201000000:error:17000068:CMS routines:CMS_final:cms lib:crypto/cms/cms_smime.c:906:

most of them will not understand what happened.
So please add a check als in apps/cms.c with a telling user-level error, saying that this is not supported.

Where do you see in the openssl-cms man page that setting the originator cert is not allowed for encryption?

The docs says:

A certificate of the originator of the encrypted message

So it means that it's just for decryption because obviously you will not use encryption for encrpyted message...

@DDvO Ok so I fixed the test as suggested. I'm not so sure about the cms app changes because currently originator is ignored for non KARI encryption so theoretically it could be a minor BC break if someone has got it there by mistake for non kari as their script still works - checking that's it's kari before encryption might be a bit hacky... Also if I change it, the test will no longer test the API change which is the main point here. So I would need and API test which is much more involved (current implementation is very limited) and doing that for something that I want to change in the near future seems a bit like overkill to me. Also I don't think there are too many users hitting this - it's been segfaulting for ages and no one ever complaint - I found it just because I did some full interop test. My main aim was really just to fix the segfault and then address it properly in master. So do you still want me to change the app?

I just realised that I can actually output more explaining error in cms app after the error by checking the code and origin so it should do and will address the comment. I will also add extra sentence to the docs and reword the test comment. Most likely next week as I'm past my short weekly OpenSSL slot. :)

I just realised that I can actually output more explaining error in cms app after the error by checking the code and origin so it should do and will address the comment. I will also add extra sentence to the docs and reword the test comment.

Nice. I meanwhile noticed that it would be sufficient in this case not to change the app code
but simply - and even better - use a more telling low-level error in the lib code,
e.g. CMS_R_ERROR_UNSUPPORTED_STATIC_KEY_AGREEMENT
rather than CMS_R_ERROR_GETTING_PUBLIC_KEY which is pretty unclear at that point.
After this change, simply call make errors locally and add the automatically produced updates to your commit.

@DDvO Ok I thought about changing the error before but wasn't sure if it's acceptable for backports (this is mainly meant as a backport really). Anyway I changed the error now as it seems you are both ok with it. But not sure if it's really more explaining for users so I kept the extra info in the app but if you don't want it there, happy to remove it. In addition, I needed to change the test back to checking the error code as it was actually passing with the current master code (segfault results in the false as well so it could not differentiate segfault from the normal failure - the error code needs to be checked for that).
Let me know, if there's anything else. Once you are both happy, I can create PR for lower branches (let me know which ones) if it doesn't apply cleanly.


Since 1.1.0 unable to deploy

What are the steps to reproduce?
I made some changes to my flows. Now I'm unable to deploy.
What happens?
I click "deploy", which looks 'clickable':

Nothing happens. In the console, I'm seeing this logging:
Uncaught TypeError: e is undefined
    nodes http://kubernetes.lan:1880/red/red.min.js:16
    ll http://kubernetes.lan:1880/#flow/13228d5a.3abca3 line 2 > scriptElement:10
    map http://kubernetes.lan:1880/#flow/13228d5a.3abca3 line 2 > scriptElement:10
    s http://kubernetes.lan:1880/red/red.min.js:16
    createCompleteNodeSet http://kubernetes.lan:1880/red/red.min.js:16
    R http://kubernetes.lan:1880/red/red.min.js:16
    init http://kubernetes.lan:1880/red/red.min.js:16
    dispatch http://kubernetes.lan:1880/vendor/vendor.js:2
    handle http://kubernetes.lan:1880/vendor/vendor.js:2

What do you expect to happen?
A deployed flow.
Please tell us about your environment:

[ ] Node-RED version: 1.1.0
[ ] Node.js version: v10.21.0
[ ] npm version: 6.14.4
[ ] Platform/OS: K3OS, Kubernetes, nodered container
[ ] Browser: Firefox, Chrome

Container logging:
│                                                                                Autoscroll: On     FullScreen: Off     Timestamps: Off     Wrap: Off                                                                                │
│ ><EMAIL_ADDRESS>start /usr/src/node-red                                                                                │
│ > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"                                                                                │
│ 4 Jul 17:04:01 - [info]                                                                                │
│ Welcome to Node-RED                                                                                │
│ ===================                                                                                │
│ 4 Jul 17:04:01 - [info] Node-RED version: v1.1.0                                                                                │
│ 4 Jul 17:04:01 - [info] Node.js  version: v10.21.0                                                                                │
│ 4 Jul 17:04:01 - [info] Linux 5.0.0-43-generic x64 LE                                                                                │
│ 4 Jul 17:04:01 - [info] Loading palette nodes                                                                                │
│ Sat, 04 Jul 2020 15:04:02 GMT node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated.                                                                                │
│ In the future, you will have to enable it yourself.                                                                                │
│ See https://github.com/yagop/node-telegram-bot-api/issues/319. at internal/modules/cjs/loader.js:778:30                                                                                │
│ 4 Jul 17:04:02 - [warn] ------------------------------------------------------                                                                                │
│ 4 Jul 17:04:02 - [warn] [node-red-contrib-mi-devices/xiaomi-yeelight] Error: /data/node_modules/node-red-contrib-mi-devices/dist/nodes/yeelight/index.html does not exist                                                                                │
│ 4 Jul 17:04:02 - [warn] ------------------------------------------------------                                                                                │
│ 4 Jul 17:04:02 - [info] Settings file  : /data/settings.js                                                                                │
│ 4 Jul 17:04:02 - [info] Context store  : 'default' [module=memory]                                                                                │
│ 4 Jul 17:04:02 - [info] User directory : /data                                                                                │
│ 4 Jul 17:04:02 - [warn] Projects disabled : editorTheme.projects.enabled=false                                                                                │
│ 4 Jul 17:04:02 - [info] Flows file     : /data/flows.json                                                                                │
│ 4 Jul 17:04:02 - [info] Server now running at http://<IP_ADDRESS>:1880/                                                                                │
│ 4 Jul 17:04:02 - [warn]                                                                                │
│ ---------------------------------------------------------------------                                                                                │
│ Your flow credentials file is encrypted using a system-generated key.                                                                                │
│ If the system-generated key is lost for any reason, your credentials                                                                                │
│ file will not be recoverable, you will have to delete it and re-enter                                                                                │
│ your credentials.                                                                                │
│ You should set your own key using the 'credentialSecret' option in                                                                                │
│ your settings file. Node-RED will then re-encrypt your credentials                                                                                │
│ file using your chosen key the next time you deploy a change.                                                                                │
│ ---------------------------------------------------------------------                                                                                │
│ 4 Jul 17:04:02 - [info] Starting flows                                                                                │
│ 4 Jul 17:04:02 - [info] Started flows                                                                                │
│ 4 Jul 17:04:02 - [info] [xiaomi-gateway in:Xiaomi] udp.status.listener-at                                                                                │
│ 4 Jul 17:04:02 - [info] [xiaomi-gateway in:Xiaomi] udp.status.mc-group                                                                                │
│ 4 Jul 17:04:02 - [info] [server:Home Assistant] WebSocket Connecting http://kubernetes.lan:8123                                                                                │
│ 4 Jul 17:04:02 - [info] [deconz-server:deconz] WebSocket opened                                                                                │
│ 4 Jul 17:04:02 - [info] [mqtt-broker:mosquitto] Connected to broker: node-red@mqtt://kubernetes.lan:1883                                                                                │
│ 4 Jul 17:04:02 - [info] [server:Home Assistant] WebSocket Connected to http://kubernetes.lan:8123

Can you provide a list of what extra nodes you are using in your flows?

@knolleary sure!

I want to add to this that I was able already to deploy at least 5 times. Already made use of the new grouping feature:

These changes deployed fine.

Ok.. so the description saying you can't deploy since 1.1.0 is not correct.
Is it now any change you try to deploy fails with that same error? Or is there a particular node you are trying to modify?

Ok.. so the description saying you can't deploy since 1.1.0 is not correct.

True. My fault.

Is it now any change you try to deploy fails with that same error? Or is there a particular node you are trying to modify?

It’s every change I make. No matter which flow. Even moving a node can’t be deployed.

Can you send me a copy of your flow file? You can email it directly to<EMAIL_ADDRESS>or reach me on nodered.org/slack.

Can you send me a copy of your flow file? You can email it directly to<EMAIL_ADDRESS>or reach me on nodered.org/slack.

Done.

From debugging this offline thanks to the flows provided, I can see one of the group nodes references a node that doesn't exist in the flow file. That shouldn't be possible - the group's nodes array should always be in sync with what actually exists. But now we've seen it happen, I can add some code to guard against it.

Good to hear;
And regardig a temporary solution on short notice would be to restore a flow prior to running v1.1.0?

@kooskaspers I emailed you a fixed version of your flow file just before posting that comment.

Great, thanks mate. Working like a charm now.


New video card

This is a new implementation of a VGA card that supports more video modes and functionalities.
It is based on the VGA implmentation of the Aeon project. I have forked the video portion of that repo into this one.
I tested the new card with most of the games from the compatibility page and it performs as wel or better that the previous VGA implementation.
They way I incorporated the Aeon code may be controversial so we can discuss here.
This is also not nearly complete. Especially the integration between Avalonia and Aeon can be improved a lot. However, it is functionally at least equivalent to the existing card as far as I can tell. I do not want this PR to turn into a mega months-long monster, so I'm opening this for review and discussion now.

@JorisVanEijden Would you accept PRs targeting your branch, once I'm done with EMS ?
I can help with AvaloniaUI and GDB, for example.

Would you accept PRs targeting your branch, once I'm done with EMS ?

Oh absolutely.


add saucectlVersion to the metadata

Why was this merged when saucelabs/saucectl#323 is going to pass it in via env vars?

I didn't pay attention that saucectl PR was not approved, because other PR's were approved. I didn't want to revert changes and almost prepared all branches where I use env var.


[Event Request] Application “Tests-Job”, Codeunit 134153 "Test Intrastat"

[Event Request] Application “Tests-Job”, Codeunit 134153 "Test Intrastat"

Could you please insert the OnTestInitialize Event at the beginning of procedure Initialize?

There is an error in the headline. The app is "Tests-Local" not "Tests-Job".
Sorry for the mistake

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


xwm: stack below on map

Fixes swaywm/sway#2899
Supersedes #1534
Since xwm only manipulates the stack when focusing a window, newly
mapped windows should be stacked below the focused window. This prevents
the newly mapped window from stealing focus due to being on the top of
the stack.
Thanks psychon for the insight! See https://github.com/swaywm/wlroots/pull/1534#issuecomment-463191842 for the full explanation

e.g. tooltips will stay at the bottom in X11's model but will be rendered on top in ours.

Shouldn't tooltips be override-redirect and thus not go through the MapRequest handling? I specifically did this change in response to a MapRequest and not a CreateNotify, because that way override-redirect windows are not touched.

Shouldn't tooltips be override-redirect and thus not go through the MapRequest handling?

Do tooltips send a MapRequest?
We're not just a WM, we also render surfaces, so we need to handle overide-redirect windows as well.

Shouldn't tooltips be override-redirect and thus not go through the MapRequest handling?

Do tooltips send a MapRequest?

Nope, I don't think so. The "override" in "override-redirect" refers to XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT (and XCB_EVENT_MASK_RESIZE_REDIRECT, but I never saw anything actually use that). This event bit is what causes map requests from clients to be ignored by the X11 server and instead a XCB_MAP_REQUEST event is sent to whichever client selected that event mask bit. Anything causing a map request should be a "normal" top level window (minus _NET_WM_WINDOW_TYPE, but Most (tm) WMs will e.g. put window decorations on non-override-redirect windows, so just specifying _NET_WM_WINDOW_TYPE_TOOLTIP is not enough to have a tooltip work).

Okay. This should be a good solution then :D

@RedSoxFan, can you force push? There was a short builds.sr.ht outage when you opened the PR.

@RedSoxFan, can you force push? There was a short builds.sr.ht outage when you opened the PR.

Done

Thanks!


Failed to build MultipartReader

I found that when using CloudFront CDN and OkHttp for Multipart requests, CloudFront CDN added the 'CloudFront:' field in the boundary, which caused the value of boundary to be null when building MultipartReader. It seems that the cause of the issue is due to the toMediaType method in MediaType not including ':' in its regular expression, causing it to fail. Could you kindly advise on how to solve this problem? okhttp 4.9.x
the response be like:
--CloudFront:ED461CAD63CDFC53A7F46FB099C72CEE
Content-Type: application/octet-stream
Content-Range: bytes xxxxx

and MediaType not including ':'
private const val TOKEN = "([a-zA-Z0-9-!#$%&'*+.^_`{|}~]+)"

Do you have a way to repro? A public server we can hit?

Do you have a way to repro? A public server we can hit?

Sorry for the late reply. Due to our internal policy, we are not able to share the test links. I think you can try using a boundary containing ':' symbol, and create a ResponseBody object as a test case to verify if the following code can obtain the correct result
boundary = response.contentType()?.parameter("boundary")
          ?: throw ProtocolException("expected the Content-Type to have a boundary parameter")


No blank lines allowed after function docstring (found 1) (D202)

Codacy detected an issue:
Message: No blank lines allowed after function docstring (found 1) (D202)
Occurred on:

Commit:  74422ce03601b774f905220e64d3fe98e3185de9
File:    wsocket.py
LineNum: 156
Code:    """'start_response()' callable as specified by PEP 3333"""

Currently on:

Commit:  9bf919181dc6868a72b426a6b29f1b821b7c21b3
File:    wsocket.py
LineNum: 157

Stale issue message

Stale issue message


Add PSA Crypto driver delegation for MAC functions

Description
Add driver delegation as per the already established paradigms and the design document in docs/proposed/psa-driver-interface.md.
Status
READY
Requires Backporting
NO
Migrations
NO
Todos

[X] Tests
[X] Documentation
[X] Changelog updated

Steps to test or reproduce
Test coverage is provided by the existing PSA Crypto test suites. These tests provide confidence that the splicing-in of this driver delegation does not break the software implementation of these MAC algorithms.
Actually implementing a test driver is postponed, pending an architecture for how to test PSA Crypto accelerator drivers.

Superseded by #4247


[Openjdk 2588] install  tar in runtime images (ubi8)

See also #425
https://issues.redhat.com/browse/OPENJDK-2588

I need to investigate the GHA failures for builder images

I need to investigate the GHA failures for builder images

Missing equivalent of: https://github.com/jboss-container-images/openjdk/pull/418 ?

Missing equivalent of: #418 ?

Ah yes. I've started that now in #432.

11 runtime image, 8 runtime image, 17 s2i all have one test failure: the label version check. The fix for that is merged in the main ubi8 branch but this PR predates that (and doesn't touch those labels)
8 also fails "Ensure that run-env.sh placed in the JAVA_APP_DIR is sourced in the run script before launching java" which is a quarkus test so 8 shouldn't be tagged for it; it is not in the main ubi8 branch any more


Normalize and refactor massive switch to be more readable

During this, handle location setting for deps as well as in tree for all location types

@shawn-hurley you can probably close this one

+1 thanks!


Recommended Learning sources/External Resources

Where should people go to learn CSS and JS? Possibly something to mention in the guide.

Maybe also, add some useful Tools.

On my side, for example on Win, Notepad++ as a simple but powerful tool.
Even has a PortableApps.com version.
For Linux I don't know, seen VIM and others most related to DE but I don't know what would be suggested.
Dev tools as Atom, Sublime and others may be mentioned as a next step for those interested in create new ones and starts from here [V Modding Guide] without previous Dev surface.

Closing, discuss this in pull request


Support different CLI parser backends

Hi Maintainers,
My issue sits between a question and a feature request.
I like what Typer brings to the table. Just like FastAPI, it makes intelligent use of type annotations. However, just like FastAPI, it is very opinionated regarding its dependencies (Pydantic).
I like Click and I'm sure that it can offer more than the built-in argparse library. However I think that the concept of Typer could also work using argparse.
And if so, then would you be willing to consider supporting different backends for Typer? Either Click or argparse and perhaps other ones in the future.
Best, Julien

I don't maintain. Although I liked your thought I'd like to differ. If you're looking to use argparse then why use Typer or Click in the first place? If Typer can work with argparse, there's no point extending click. I see Typer as an improvised bridge to click.

I don't understand you're comment. It seems you're mixing up things. Typer relies on Click to create the argument parser. My idea was to be less opinionated and offer argparse as an alternative.

I tried saying the same thing. Based on what you suggest, Typer will become another click or something big. Click implements its own parsing because of certain reasons as mentioned in their docs. This means Typer needs to handle such problems when using argparse. So an adapter design here might turn out to become a problem. It is just my opinion and if what you suggest will be implemented, it pretty sure would be great, because of the flexibility it can offer.

Ok I understand now what you mean. Indeed argparse does not offer the flexibility of Click so using it means that some features will not be available or will require additional adaptations


Some popular media not indexed

Hello,
when using Easynews+ I discovered many movies and series seem missing.
Some examples: S*ve*ance

probably takedown notices removed them

Easynews search results also don't find specific entries.
Seems to be an issue based on Easynews search, not the addon.


Always pull images before serving

Fixes #3960, closes #3961.
(cc @cooperlees)

Works as advertised on my Mac.  LGTM


Separate DbContexts modifying the same DbSet during unit tests

My code is on an intranet machine so in order to post it all here, I will need to use a medium to transfer which I currently don't have. I wanted to go ahead and post it incase not all code was needed.
Also, I scanned many issues and couldn't find this one, so apologies if it has already been addressed.
Environment:
Xunit 2.3.1
Microsoft.EntityFrameworkCore.InMemory 2.1.0
I have three test methods in three different classes that when run separately pass but when run together only one will pass and the other two will fail. Then when the two are run again - one will pass and the other will fail.
I've found this issues, I'm just not sure why it is happening.
I'll show some code and below the code are design explanations.
The gist:
Three test classes:
    public class FirstReviewRepoTest
    public class SecondReviewRepoTest
    public class ThirdReviewRepoTest

The test methods(They are all name the same):
    public void GetReviewDataTest(){} //in FirstReviewRepoTest
    public void GetReviewDataTest(){} //in SecondReviewRepoTest
    public void GetReviewDataTest(){} //in ThirdReviewRepoTest

Note: all three test methods look very similar in that they create a fresh options, a new context, a new repo object, and call a method on that repo object that queries the Users DbSet e.g. _context.Users.Single(x=> x.Id == document.AuthorId)
See some more code below of one of the tests fleshed out:

    [Trait("Repo","")]
    public class FirstReviewRepoTest{

    [Fact(DisplayName = "GetReviewDataTest")]
    [Trait("Repo","FirstReviewRepo")]
    pubic void GetReviewDataTest(){
    var options = new DbContextOptionsBuilder<MyAppDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

    using (MyAppDbContext context = new MyAppDbContext(options)){
        SeedDb(context);
        AddData(context);
        FirstReviewRepository repository = new FirstReviewRepository(context);

        FirstReviewDM dm = repository.GetReviewData(context.ItemInstanceDocumentInstance.Last().Id);
        FirstReviewDM expected = new FirstReviewDM{
           Analysis = "Analysis",
           Comments = "Comments",
           Solution = "Solution",
           Review = "Review",
           ReviewerToApproved = new KeyValuePair<string,bool>
    }

    Assert.Equal(expected,dm);
    }

    private void SeedDb(MyAppDbContext){
         CreateDocumentDescriptions(context);
         CreateTaskDescriptions(context);
         CreateDocumentFieldDescriptions(context);
         //... These go on...

         AddUsersWithRoleData(context); //This is where the issue begins
         context.SaveChanges();
    }

    private void AddUsersWithRoleData(MyAppDbContext context){
         List<Users> users = new List<Users>()
         {
             new Users { Name = "user1" },
             new Users { Name = "user2" },
             new Users { Name = "user3" },
             new Users { Name = "user4" },
             new Users { Name = "user5" },
             new Users { Name = "user6" },
             new Users { Name = "user7" },
             new Users { Name = "user8" }
         }
          context.AddRange(users);
    }
    }

Design Explanations:
Originally the test classes all inherited from a base class that defined SeedDb(MyAppDbContext) and all its containing methods.
The base class also had a method called GetContextWithData() that returned a new MyAppDbContext which had it's tables populated via SeedDb()
I moved it all out of there for concern inheritance was messing something up.
The issue:
All three test methods create a repository object and call a method to get the respective review data. In those methods a call is made to the Users dbSet e.g. _context.Users.Single(x=> x.Id == document.AuthorId). In all three of the tests document.AuthorId is equal to 5. Somehow all three calls of AddUsersWithRoleData are adding users to seemingly the same DbSet<Users>
So, only one DbSet has user with Id = 5.
I've tried:
Making the tests run in order. Doesn't work
Declaring Ids for the users when added to the DbContext. Fixes this issue but breaks other tests that add Users to the DbSet
Further technical details
EF Core version: 2.1
Database Provider: InMemory
Operating system: Win10
IDE: Visual Studio 2017

Pretty sure this is because of the issues discussed in 6872

Each test creates a fresh options to use var options = new DbContextOptionsBuilder<MyAppDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;
I could post it but it would take me a moment...

All three test methods create a repository object and call a method to get the respective review data. In those methods a call is made to the Users dbSet e.g. _context.Users.Single(x=> x.Id == document.AuthorId). In all three of the tests document.AuthorId is equal to 5

Running same piece of code in 3 different in memory database will give same results. Your seed data is same and your query is same. Why do you expect the resulting document's Id to be different especially you are retrieving it like thiscontext.ItemInstanceDocumentInstance.Last().Id?

Thank you for your patience. I should have the post updated by COB tomorrow.

I've updated the code samples. I hope that helps.
Thanks!

@JohnCOsborne I am still not able to run this code.


Prep for first release

Target state:

k8s releases are purely an Apache release plus the additional k8s features (no early release of things on branch-2.1 before they're in a 2.1.x release)
they are versioned like v2.1.0-kubernetes-0.1.0

first three numbers are the Apache release this is based off
last three numbers are the "kubernetes release" versioning
we aim to follow semver on the k8s version

day-to-day k8s work happens on branch-2.1-kubernetes

when we are ready for a new release, we cut versions like v2.X.Y-kubernetes-0.1.1 or v2.X.Y-kubernetes-0.2.0 depending on the magnitude of the release
at some point in the future we might even consider v2.X.Y-kubernetes-1.0.0

when a new Apache patch release is announced (e.g. v2.1.1) we merge the v2.1.1 tag into branch-2.1-kubernetes in a PR (with code review) and continue work in the new branch
when a new Apache minor release is announced (e.g. 2.2.0) we create a new empty branch-2.2-kubernetes branch off the v2.2.0 tag and cherry pick (with git rebase) the k8s patchset onto the new branch

the "k8s patchset" is everything in branch-2.1-kubernetes not in branch-2.1
having both branch-2.2-kubernetes and branch-2.1-kubernetes branches allows us to support both Spark 2.1.x and 2.2.x if we choose (we're not yet committing to support multiple Spark versions)

This PR created via:

make branch-2.1-kubernetes off of v2.1.0

git checkout v2.1.0
git checkout -b branch-2.1-kubernetes

create prep-for-alpha-release off the latest k8s-support-alternate-incremental

git checkout k8s-support-alternate-incremental
git checkout -b prep-for-alpha-release

move commits from master -> k8s-support-alternate-incremental over onto branch-2.1-kubernetes

git rebase --onto branch-2.1-kubernetes origin/master prep-for-alpha-release

Closing -- will redo this after code freeze.  Note that changing the branch name and its base will require all in-progress PRs to adjust their destination branch.

Also update on this as well -- I think there's a use case for continuing to do development while a release is being stabilized (the time between code freeze and release of a new version).  Likely we should have a -develop branch in addition to the release branch.


proposal: update handler function signatures to use an interface for the session

I've started to use Discord Go to write a bot, and have found it somewhat difficult to properly test without writing my own shimmed handlers.
This challenge exists because the first argument to handlers is a struct type and not an interface, so a mock implementation can't be provided to assert proper behaviors. The standard library has solved for this exact problem as the first argument to a handler (http.ResponseWriter) is an interface, so that alternative implementations can be provided for testing.
I'd like to propose a breaking change to the library to update the handler signature to go from discordgo.Session being a struct to it becoming an interface. So from:
func handler(s *discordgo.Session, <eventType>) {}

to
func handler(s discordgo.Session, <eventType>) {}

The benefit of making this change is that Discord Go handler functions / methods could be tested directly, without needing to write shims for each handler you implement. This would make it much easier to test, and the ease of which could be shown-off in the example projects. It also may not be a major breaking change for some users, if they only use the methods on the type, which would be a good benefit.
One downside of this change is that the size of the *discordgo.Session method set is large today. Even using composition, a discordgo.Session interface would end up becoming quite large. We would also need to add more methods, getters and setters, to tweak the internal settings.
Overall, I think this would be a net-win for the project and would like to encourage its inclusion in the 0.20.0 development cycle.

This is somewhat related to #564.

Could we not stay with a pointer but use an interface instead of the raw structure ?

@Hinara I'm not sure I completely understand, are you asking about changing the discordgo.Session type to be an interface instead of a struct, but keep it as a pointer value?
Assuming I am understanding that correctly, you pretty much never want something to be a pointer to an interface unless you plan on swapping out the thing that's boxed inside of that interface. If you're using an interface value, it should not be a pointer type since consumers will need to manually dereference it before invoking any methods:

https://goplay.space/#DXs9uIlCfhG (notice the compile time errors)

To summarize, we should change the type from struct to interface and make it no longer a pointer.

hmm ok I didn't remembered the way golang work with intefaces ^^'
Elsewhere I thing this can be a really cool feature :)

I've raised a PR against the develop branch that should accomplish this.


Use serde 1.0

Upgrades all projects to use serde 1.0
Remove unused serde dependencies in root (note: did not verify that serde dependencies were used in the workspaces)
Update Cargo.lock? Should this even be tracked or is it mistakenly committed?

Can we wait until https://github.com/librespot-org/librespot/pull/305 is merged to merge this?

No rush from me. Just would be nice for downstream users to take advantage
of serialisation of librespot types (or Credentials). If there's some easy
workaround (like with newtypes or something) then feel free to defer this
as long as you want. I just didn't take the time to look into workarounds
yet but will do so later this weekend.
On Fri, 15 Mar 2019, 16:19 Ash<EMAIL_ADDRESS>wrote:

Can we wait until #305
https://github.com/librespot-org/librespot/pull/305 is merged to merge
this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/pull/307#issuecomment-473327141,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcq2A-xMpapKZvmu6LWms61ZUZirxAks5vW7oAgaJpZM4b2p6e
.

Sadly I wasn't able to get a newtype struct in a serde 1.0 object to reuse the serde 0.9.6 serde traits in librespot. This leaves only awkward options for downstream users. Downgrading to 0.9.6 ends up requiring downgrading of some other packages (toml and reqwest in my case). I just create my own "credentials" type and manually convert it, though this isn't pretty since the AuthenticationType serde can't be used.
Regarding #305, I don't see any tricky blockers. I'd be happy to present a version of #305 which is compatible with this pull request.

@medwards Not really a big deal - I maintain a separate branch with update crates for similar reasons. I can also just rabase #305 when this is merged in - no issues!

@medwards #305 merged. @ashthespy merge this once you're happy with it.

Resolved some merge conflicts in the manifests and updated the signature
for the track deserializer.
On Wed, 20 Mar 2019 at 11:42, Sasha Hilton<EMAIL_ADDRESS>wrote:

@medwards https://github.com/medwards #305
https://github.com/librespot-org/librespot/pull/305 merged. @ashthespy
https://github.com/ashthespy merge this once you're happy with it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/pull/307#issuecomment-474777141,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcq9DAY1FuNOU3PXcRsv2AdwkWVoIsks5vYhCbgaJpZM4b2p6e
.

Oops was on detached head when I pushed, my bad.

BTW: I'd recommend adding Cargo.lock to the project .gitignore
On Wed, 20 Mar 2019 at 16:15, Sasha Hilton<EMAIL_ADDRESS>wrote:

Merged #307 into master.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm tempted to, but official guidelines suggest otherwise https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html. Still, it's a PITA when merging PRs

"If you’re building a library that other packages will depend on, put
Cargo.lock in your .gitignore." doesn't apply?
I mean, I know librespot is building some binaries, but it also has 'lib'
right in the name. XD
On Wed, 20 Mar 2019 at 16:18, Sasha Hilton<EMAIL_ADDRESS>wrote:

I'm tempted to, but official guidelines suggest otherwise
https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html.
Still, it's a PITA when merging PRs
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/pull/307#issuecomment-474879854,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcqzglV8H68ogx1HEarvBL03zIT7H9ks5vYlFdgaJpZM4b2p6e
.

whilst it is a library, it defaults to building an executable. Will probably remove once it becomes just a library and librespotd is the the binary.


FIX: sphinx >= 2.0 problems and more

FIXES:

Sphinx >= 2.0 problems (tested with Sphinx v3.3.0)
Tests while using newer pytest versions
Add DIAG support, enable via environment variable: SPHINXCONTRIB_ANSI_DIAG=yes
Works for python2.7 and python3 (python3.8 and python3.9 tested)

OTHERWISE:

UPDATED: CHANGES.rst
BUMP VERSION: v0.7.0

NOT FIXED:

LICENSE file is missing in Github repository.

Any chance to revive this work? Having ansi output in sphinx docs would be extremely helpful.

Agreed.
Therefore, I provided this pull-request (to be merged) to fix the existing problems.
I prepared a release branch in my repository that at least I can have reproducible builds/installations with the provided/fixed functionality.
SEE ALSO:

https://github.com/jenisys/sphinxcontrib-ansi/releases/tag/JE_v0.7.0 https://github.com/jenisys/sphinxcontrib-ansi/releases/tag/JE_v0.7.0

On 29. Dec 2020, at 15:05, Sorin Sbarnea<EMAIL_ADDRESS>wrote:
Any chance to revive this work? Having ansi output in sphinx docs would be extremely helpful.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/sphinx-contrib/ansi/pull/4#issuecomment-752086590, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC2Z2PBZWR7IVSJXG3APW3SXHOZ7ANCNFSM4TKJOT2Q.

@jenisys My impression was that you had maintainer rights on the repo, but I made a request for taking care of the project and unblock it. See https://github.com/sphinx-contrib/github-administration/issues/13


Miniflux API Support

fix localization generation by following flutter doc – I was unable to generate l10n.dart on local most of the time received error 65 so I had to follow flutter official doc
fix some broken dependencies like badge
initial support with miniflux api ( including fetch feeds and entries also applying read/unread and star/unstar operations)
tried to map miniflux apis with existing source, item and feed model without any change to existing code

Known Issue

on reload I am getting duplicate entries (still investigating)
markAllRead() WIP

at this stage I am getting duplicate iids added after binary search
https://github.com/yang991178/fluent-reader-lite/blob/dbd02217701c7c100a42547657eca94ed65ab405/lib/models/feeds_model.dart#L71-L79

at this stage I am getting duplicate iids added after binary search which results in duplicate items on second refresh
https://github.com/yang991178/fluent-reader-lite/blob/dbd02217701c7c100a42547657eca94ed65ab405/lib/models/feeds_model.dart#L71-L79

At end of binary search it is pushing element at max and since it's a growableList we end up with duplicate values – we do need to check if at max we have same element before pushing it


Add events on major events

Sometimes it's needed to test sequence of events with file system and currently it's impossible to do that with current implementation of MockFileSystem. Basically, we should add a couple of events, so we could subscribe on that events in our test. Moreover, this way we could simulate various situations (e.g. throw sharing violation exception when particular file is opened).
 Will you approve such kind of PR?
Do you see some other ways to achieve the desired behavior?

@Zvirja which kind of API do you have in your mind? and can you give example(s).

For instance, that could be a public property exposed directly from the MockFileSystem:
var fs = new MockFileSystem();
fs.Events.OnFileCreated += (sender, args) => {}
...

Basically, nothing special - any way it's convenient to implement. The only requirement is to be able to hook such events :)
Let me know if you want more input from me.

I think we need an API for the project TestingHelpers (MockFileSystem).
Some pull requests/issues indicate the need for this API.
see #189, #177 & #183

I wouldnt recommend events on the MockFileSystem at the moment.
You're basically then implementing a FileSystemWatcher instead.  We should make sure the goal is parity with mscorlib.

I prefer to have a FileSystemWatcher.
@Zvirja is a FileSystemWatcher sufficient for your purpose?

I'm not sure that watcher could cover my initial need why I fired this issue. Initially I wanted to have a way to throw exception when file is opened. That will not be achieved by watcher as it doesn't provide us with appropriate event.
Also FileSystemWatcher isn't synchronous by itself (if I'm not mistaken) which also makes it more difficult to  simulate concurrency issues.

I outlined an attempt to do this in #373 and it didn't go over well. It was agreed that this would be too involved for this library. I assume the same answer would apply to this issue.

In my opinion adding synchronous events like described here would enable quite some scenarios, so I would not reject a PR in this direction.


Uncaught TypeError: Cannot convert a BigInt value to a number

"use strict";
/*! noble-ed25519 - MIT License (c) Paul Miller (paulmillr.com) */
Object.defineProperty(exports, "__esModule", { value: true });
exports.utils = exports.verify = exports.sign = exports.getPublicKey = exports.SignResult = exports.Signature = exports.Point = exports.ExtendedPoint = exports.CURVE = void 0;
const CURVE = {
    a: -1n,
    d:<PHONE_NUMBER>4669439343138083508754565189542113879843219016388785533085940283555n,
    P: 2n ** 255n - 19n,
    n: 2n ** 252n +<PHONE_NUMBER>7372353535851937790883648493n,
    h: 8n,
    Gx:<PHONE_NUMBER>9535400772501151409588531511454012693041857206046113283949847762202n,
    Gy:<PHONE_NUMBER>4926478169428394003475163141307993866256225615783033603165251855960n,
};

When useded Browser, the browser will throw an error, 'cannot convert a BitInt value to a number'.
How to solve this? Thanks!

Used how? Show us the code.

Used how? Show us the code.

we import noble-ed25519 in starcoin.js to generate private key and public key: https://github.com/starcoinorg/starcoin.js/blob/a9bb7101d17712effe8b9893ce874b90b1ed84e1/src/encoding/index.ts#L3
then we import starcoin.js in starcoin blockchain explorer
https://github.com/starcoinorg/starcoin-explorer/blob/e8d10c4b25cc6506dbc4b401c9726689d85dc4ac/src/modules/Transactions/components/Detail/index.tsx#L
In the starcoin-explorer repo, it's ok to run yarn start when developing, and when trying to run yarn build,  we can get the built static websites. But the website will throw the Can not convert a BigInt value to a number error.

Everything is working on my machine. You need to specify exactly which browser you're using, and provide an easily reproducible example. I won't download and execute full repo because of security reasons. Debug the error by yourself and tell exactly where's the error is getting thrown in noble-ed code; or provide a 5-line js example that I can execute.

I use the latest version of Chrome and Safari.
The error is thron here:
const CURVE = {
    a: -1n,
    d:<PHONE_NUMBER>4669439343138083508754565189542113879843219016388785533085940283555n,
    P: 2n ** 255n - 19n,
    n: 2n ** 252n +<PHONE_NUMBER>7372353535851937790883648493n,
    h: 8n,
    Gx:<PHONE_NUMBER>9535400772501151409588531511454012693041857206046113283949847762202n,
    Gy:<PHONE_NUMBER>4926478169428394003475163141307993866256225615783033603165251855960n,
};
``

P: 2n ** 255n - 19n, the browser cannot convert variable like 2n or 255n to number automatically. It's supported in Node.js, but not in browser yet.

Bigints are supported in all major browser, including Safari and Chrome. See https://caniuse.com/bigint
I've executed your code in console and everything worked fine.

Look for errors in your bundler, not in this library.


Fixed the poa and pos consensus stopped producing blocks after operations such as proposal changes

Description
通过系统合约进行共识提案投票或者变更候选人集合后，poa和pos类共识偶现停止出块
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Brief of your solution

miner中添加同步最长链检查，如果CompeteMaster后链高度变化，则需要重新计算CompeteMaster
tdpos中计算calHisValidators时获取上一轮term的最后一个区块
tdpos和chained-bft中添加部分日志

How Has This Been Tested?

Codecov Report

Merging #324 (a621c91) into master (52b1682) will decrease coverage by 0.00%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #324      +/-   ##
==========================================
- Coverage   45.73%   45.72%   -0.01%
==========================================
  Files         138      138
  Lines       12272    12284      +12
==========================================
+ Hits         5612     5617       +5
- Misses       5506     5513       +7
  Partials     1154     1154

Impacted Files
Coverage Δ

bcs/consensus/tdpos/schedule.go
42.98% <71.42%> (+0.32%)
:arrow_up:

kernel/consensus/base/driver/chained-bft/smr.go
40.59% <85.71%> (+0.89%)
:arrow_up:

bcs/consensus/tdpos/tdpos.go
46.94% <100.00%> (-1.40%)
:arrow_down:

...el/consensus/base/driver/chained-bft/saftyrules.go
42.85% <100.00%> (+1.03%)
:arrow_up:

bcs/consensus/tdpos/common.go
52.17% <0.00%> (-2.90%)
:arrow_down:

bcs/contract/xvm/code_manager.go
63.63% <0.00%> (-2.73%)
:arrow_down:

bcs/network/p2pv2/server.go
51.33% <0.00%> (-1.07%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
52.28% <0.00%> (+1.01%)
:arrow_up:

bcs/consensus/pow/pow.go
42.96% <0.00%> (+1.14%)
:arrow_up:

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 52b1682...a621c91. Read the comment docs.

Codecov Report

Merging #324 (a621c91) into master (52b1682) will increase coverage by 0.04%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master     #324      +/-   ##
==========================================
+ Coverage   45.73%   45.77%   +0.04%
==========================================
  Files         138      138
  Lines       12272    12284      +12
==========================================
+ Hits         5612     5623      +11
  Misses       5506     5506
- Partials     1154     1155       +1

Impacted Files
Coverage Δ

bcs/consensus/tdpos/schedule.go
42.98% <71.42%> (+0.32%)
:arrow_up:

kernel/consensus/base/driver/chained-bft/smr.go
40.59% <85.71%> (+0.89%)
:arrow_up:

bcs/consensus/tdpos/tdpos.go
48.82% <100.00%> (+0.48%)
:arrow_up:

...el/consensus/base/driver/chained-bft/saftyrules.go
42.85% <100.00%> (+1.03%)
:arrow_up:

bcs/contract/xvm/code_manager.go
63.63% <0.00%> (-2.73%)
:arrow_down:

bcs/network/p2pv2/server.go
51.33% <0.00%> (-1.07%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
52.28% <0.00%> (+1.01%)
:arrow_up:

bcs/consensus/pow/pow.go
42.96% <0.00%> (+1.14%)
:arrow_up:

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 52b1682...a621c91. Read the comment docs.


Update androidSymbolType default value

Changes

Update androidSymbolType default value

Checklist

[x] Read the contribution guide and accept the
code of conduct
[x] Readme (updated or not needed)
[x] Tests (added, updated or not needed)

Relates to https://github.com/game-ci/unity-builder/pull/510

@GabLeRoux @AndrewKahr My understanding is that this will make the android symbols be generated by default, where before they were not generated. I don't foresee this breaking anyone's pipelines, but maybe it would be better to keep the default value as 'none' to be on the safer side?

@davidmfinol @GabLeRoux My thinking is in most cases you are gonna want symbols for play console etc to symbolicate crashes. But if there is a concern this shouldn't be the default behavior we can always go back to none.

It's probably better to be more cautious and wait to change the default until v3.
@AndrewKahr Can you raise a PR to unity builder to reset the default to none?


AirDrop: No Mac mini icon shown on iOS when selecting airdrop target.

Describe the bug
Using Airdrop from my iPhone shows my HaC mini, but it lacks the 2018 mac mini icon. Is this a config error on a limitation of HaC mini?

Expected behavior
A clear and concise description of what you expected to happen.
*Configuration

HaC Mini version: (package from https://github.com/osy86/HaC-Mini/pull/194)
OSX version: 10.15.3
NUC model: NUC8i7HNK
Boot SSD model and protocol: Samsung SSD 970 PRO 1TB
Second SSD model and protocol: Samsung SSD 860 EVO 1TB
First DIMM model: Crucial DDR4-2400 16GB
Second DIMM model: Crucial DDR4-2400 16GB
Display port(s) used: 1x mini-DP
Display resolution(s): 3440x1440 (Dell U3415W)
Any TB3 devices: N/A
Any USB devices: Apple Wired Keyboard, Razer Deathadder Mouse

Modifications
Using Native BCM943602CS Apple Card with NGFF reverse adaptor.

https://support.apple.com/en-us/HT203106

The issue I see is that instead of the default icon, or even the mac Mini device icon, I just get a white circle. I don't have this issue when I AirDrop to my 2018 MacBook Pro, as that shows the icon for the device.

That's weird, but I haven't ran into it. My guess is that it's an iOS bug. I'll wait to see if anyone else can reproduce this.

That's weird, but I haven't ran into it. My guess is that it's an iOS bug. I'll wait to see if anyone else can reproduce this.

Agreed, also had experienced that at first, but later the icon showed up.


Data normalization before feeding into BooteJTK

Hi,
Great work.  I'm wondering if the input expression data should be normalized beyond RPKM values before feeding into BooteJTK. For example, if the RPKM expression values at ZT 0 total to 500,000, and the RPKMs at ZT 12 total to 1,000,000, should some further TSS-normalization be done so that the expression values at each ZT all total the same amount? For example, converting the RPKMs at each ZT to a relative abundance out of 100 before running BooteJTK?
Thank you for any guidance on this!

Hi,
Thanks for reaching out.
You should likely be using transcripts per million (see link for discussion
of rpkm, fpkm, and tpm:
https://rna-seqblog.com/rpkm-fpkm-and-tpm-clearly-explained/) and then
log-normalizing them ( something like log_2 (x+1) ) so that their variance
is normally distributed (instead of log-normally as count values usually
are).
Let me know if this makes sense.
Alan
Alan L. Hutchison, MD, PhD
PGY-2, Internal Medicine
University of Chicago Medicine
he/him/his
On Tue, Feb 2, 2021 at 6:27 PM okeydokey-gif<EMAIL_ADDRESS>wrote:

Hi,
Great work. I'm wondering if the input expression data should be
normalized beyond RPKM values before feeding into BooteJTK. For example, if
the RPKM expression values at ZT 0 total to 500,000, and the RPKMs at ZT 12
total to 1,000,000, should some further TSS-normalization be done so that
the expression values at each ZT all total the same amount? For example,
converting the RPKMs at each ZT to a relative abundance out of 100?
Thank you for any guidance on this!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alanlhutchison/BooteJTK/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3Y77H5LW3KF33Q6FPETBLS5CKAXANCNFSM4W74GMXQ
.

Hi Alan,
Thank you for your helpful and quick response! I have now normalized my data by TPM and I will also log-normalize the TPM data as you suggested.  My issue is that I am working with a meta-omics data set (just piling on the compositional data, I know) where not every feature is represented at every time point. I figured the easiest biological interpretation of the BooteJTK output would be to only use features that were observed at every ZT as input - however this reduction is what causes the total TPM counts start to vary by ZT. If I only consider features that were observed at every ZT, the spread in total TPM between ZTs ranges from ~500,000 to ~800,000.
Do you think it's better to just feed all the features to BooteJTK, even if many features have zero values at some/most ZTs, so that the total TPM is the same at each ZT? Perhaps there's a better way to adjust for this? Maybe including a single line item "other" feature that represents all of the TPM counts removed after reducing the feature set, so that only features hit at every ZT remain while maintaining the total TPM per ZT?
Thanks again for any guidance you have!


Fix docs about "listed" behavior

Text copied from the second commit:

Our docs described a behavior that was implemented differently. This
commit fixes this inconsistency. We discussed this in detail internally
and believe the suggested behavior (which already happened to be
implemented) is the most useful one for Tobira. An explanation of the
three most discuss-worthy points:
(1) Series do NOT become listed via a video-block of their videos:
It is fine that only the event is findable, especially since "series
title" is part of the event data in the search index, so you can find
that event via the series title. And then the series is only one click
away. So why not make the series findable directly as well? It's not
necessary for UX, and would be a lot more complicated
implementation-wise.
(2) Events do NOT become listed via video-blocks of other videos in
their series:
For one, that might be unexpected to some users, especially because
spooky action at a distance. But it also leads to user confusion
elsewhere: if it were findable, then the "manage my events" page for
that event should better also list the page responsible for that
under "referencing pages", but then users might only see another event
on that page, being confused. However, even if these events are not
findable via search, they are "reachable", namely by finding another
video in the series, and then clicking a couple of times. For that
reason we adjusted the phrasing of our "unlisted" note (which is still
hidden behind the experimental feature flag, so no user ever saw it
yet). The new phrasing promises a bit less.
(3) Events DO become listed via playlist-blocks of a playlist containing
them:
At first this seems like a bad idea as every user can add every event to
all playlists they have write access to (for example: their own). So
can every user make any event listed then? No: the playlist block still
needs to be added to a non-user page, which requires a privilege that
likely only few trusted users have. And if they have that privilege,
they can just as easily add a video block with that video directly, so
no one gets any additional powers for mischief. But wait: what if
someone has write access to a playlist that is already mounted on a
non-user page and they add a video there? Yes that is the other option
on how to make the video listed, however: they also need access to such
a playlist first. And note: even if we don't make the event findable
via a playlist block: the event could still be reached by clicking
around in the non-user pages! So it is already not hidden anymore. And
finally: to add a video to a playlist, that person needs to have the
ID (or a link) to that video in the first place. If they had malicious
intends of making the video public, they might as well just e-mail the
link around or something like that.
So in summary: while it first sounds a bit dangerous, thinking it
through shows that there are basically no way in which we give untrusted
users more power to do unintended things.
On the other hand, there are a few advantages of making events findable
via playlist block. To users, a playlist block looks basically like a
series block: the video with its thumbnail "is clearly on this page".
Having different behavior for both could be confusing. Further, we would
like to allow "video in context" pages, i.e. /path/to/realm/v/<id> for
videos only mentioned via playlist in that realm. We also want to show
a realm with a playlist block as a "referncing realm" in the "my videos"
section, and we shouldn't show the "unlisted" note in case a playlist
block exists for a video. With that, it's most consistent and easiest
to explain if playlist blocks make events findable.

Also, this is already the behavior in code! Only the docs were wrong
about this. So this change isn't even breaking, it's just a doc fix.

👍


Cow: Watch revolt.chat

Cow requests the watch of the watch_keyword revolt\.chat. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

revolt\.chat has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by tripleee in Charcoal HQ. Reason: 'the chat domain is legit as such'


No performance gain using GTM / Google Analytics

📚 What are you trying to do?
As I understand it, @nuxt/script should give better performance using the embedded third-party scripts.
However when I use GTM or GoogleAnalytics I see the same hit in PageSpeed reports as using the "vanilla" scripts:

I've done the simple implementation of adding this in my App.vue:
GTM:
useScriptGoogleTagManager({
  id: 'GTM-WHHKRNTJ',
})

Google Analytics:
useScriptGoogleAnalytics({
  id: 'G-0HXKBMGTW0',
})

Have I misunderstood the concept of this package?
🔍 What have you tried?
No response
ℹ Additional context
No response

for me the same
$production: {     scripts: {       registry: {         googleTagManager: {           scriptOptions: {             tagPosition: 'bodyClose',           },           id: 'G-8798ZQP3DJ',         }       }     }   }

Hi, thanks for the issue. You should understand that Nuxt Scripts's performance optimizations are micro at best, they just allow Nuxt to start before loading in other scripts.
The fact is you're still  loading in 104kb of scripts just for GTM, for reference Nuxt itself is only like ~50kb iirc.
My suggestion is to drop GTM if you're only using it as a container for GA, then wait for either one of these that will provide significant improvements:

https://github.com/nuxt/scripts/issues/87
https://github.com/nuxt/scripts/issues/182

Ok, thanks for clearing that up @harlan-zw.
I ended up implementing partytown instead of @nuxt/scripts but will look forward to it being embedded.

@ejerskov  Can you tell me the specific implementation details of partytown? As far as I know, @nuxtjs/partytown has a lot of bugs.


mention nmap 7.0+ required

Might just want to mention nmap 7.+ ?? is required  i had an old version of nmap 6.40 that was not adding the  to the xml output.  took me a bit to figure out why some scans would import and others wouldnt :-)
also just adding that line to the top of the xml file will make it import
also might be a design decision but can we also push the the error log to the console running the server?

Import should support older Nmap XML files now. In addition, logging errors to both console and log file. https://github.com/averagesecurityguy/ptnotes/releases/tag/v1.0.1


Add run-comparer notebook

Closing because the run-comparer is now at https://github.com/HumanCompatibleAI/KataGoVisualizer/blob/main/notebooks/notebooks/run-compare.ipynb.


Question: How can I handle in a cross-platform way that a TCP connection has failed?

Hi!
To check if a Tcp connection has been connected or not, I follow the next schema:

TcpStream::connect(..)
Register to readable and writable interests
wake from the poll

if I wake as writable, the connection was successful => connected
if I wake as readable with 0 bytes read, it was a problem in the connection => not connected

This seems to works fine in Linux. But in MacOS, if I connect to an unreachable address I get also a writable poll event (which until I know it means a connection successful)
Is there something I'm misunderstanding? Do I need to make some extra checks to be "more" cross-platform when my socket wakes after a connect action?
Thanks a lot for your help!

@lemunozm as you found out it's a pretty difficult thing to do correctly. Please take a look at https://github.com/Thomasdezeeuw/heph/blob/12cb4dc3e828c63c18c1ba7a21bcfc39db3bf468/src/net/tcp/stream.rs#L560-L622, specifically https://github.com/Thomasdezeeuw/heph/blob/12cb4dc3e828c63c18c1ba7a21bcfc39db3bf468/src/net/tcp/stream.rs#L606-L609. That should be a fully working implementation to check if a TcpStream is connected.

Thanks for this great source of information!

Hi @Thomasdezeeuw, I tested your solution, and works perfectly in Linux and Mac.
However in Windows seems like if the connection fails, the poll wakes up neither from writable nor read interests and I'm not able to give a ConnectionRefused to the user. Have you experienced the same issue?
Thanks!


chore: removed all CatenaX-ng references

Description
Removed all occurrences of CatenaX-ng
https://github.com/eclipse-tractusx/traceability-foss/issues/1369
Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

@ds-jhartmann, I've implemented the requested changes


SARSEN Error

I have tested on both CentOS 7 and Windows 10. We are unable to use SARSEN because of this error:
sarsen gtc S1A_IW_GRDH_1SDV_20210519T094926_20210519T094951_037955_047ACD_7336.zip "IW2/VV" GLO20_WGS84_clipped.tif
Traceback (most recent call last):
File "/opt/anaconda3/envs/SARSEN/bin/sarsen", line 8, in
sys.exit(app())
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/typer/main.py", line 214, in call
return get_command(self)(*args, **kwargs)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1128, in call
return self.main(*args, **kwargs)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/typer/main.py", line 500, in wrapper
return callback(**use_params)  # type: ignore
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/sarsen/main.py", line 17, in gtc
apps.backward_geocode_sentinel1(
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/sarsen/apps.py", line 84, in backward_geocode_sentinel1
measurement_ds = xr.open_dataset(
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray/backends/api.py", line 495, in open_dataset
backend_ds = backend.open_dataset(
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray_sentinel/xarray_backends.py", line 18, in open_dataset
ds = sentinel1.open_sentinel1_dataset(
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray_sentinel/sentinel1.py", line 715, in open_sentinel1_dataset
product_attrs, product_files = esa_safe.parse_manifest_sentinel1(file)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray_sentinel/esa_safe.py", line 111, in parse_manifest_sentinel1
manifest = ElementTree.parse(manifest_path)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/xml/etree/ElementTree.py", line 1229, in parse
tree.parse(source, parser)
File "/opt/anaconda3/envs/SARSEN/lib/python3.10/xml/etree/ElementTree.py", line 580, in parse
self._root = parser._parse_whole(source)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 2

@S0sh0rt the not well-formed error id from ElementTree and it hints that the manifest file is not a valid XML. It looks like a corrupt zip, or the file is really badly broken for other reasons.
Not a Sarsen issue. I'll close.
BTW: GRD images have the IW/VV group, not the IW2/VV one.

I corrected my comment above. I entered the wrong command that had the wrong parameter: IW2 that I had tested.  I use IW.
SARSEN works using the same file after unzipping. There may be an issue with my environment that is causing the zipped file to error.
FYI: SARSEN results are ~identical geometrically and similar radiometrically compared to S1TBX and GAMMA.  SARSEN is about 3x more CPU for GTC, and 10x more for RTC, than S1TBX.

@S0sh0rt thanks for doing comparative testing, I didn't in fact check s1tbx yet!
A question: with "3x" do you mean 3x slower?


Script slowing down

Describe the bug
HI, I am on a MAgento 2.3, with 12412 products in the database. When launching the commande php bin/magento ok:urlrewrites:regenerate --store-id 0, the first 10 seconds, the script generate around 100 products per sec. At 8000 row, the script generate 1 row per sec. Are you aware of this issue?

Just a guess but could it be that your indexes are set to "update on save"?
The script is running very fast here, although "only" ~4k products.

Hi, tahks for your answer.
I ahav added 2 addAttributeTofilter on the product collection
->addAttributeToFilter('visibility', array('neq' => \Magento\Catalog\Model\Product\Visibility::VISIBILITY_NOT_VISIBLE))
            ->addAttributeToFilter('status',\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)

to the \OlegKoval\RegenerateUrlRewrites\Model\RegenerateProductRewrites::_getProductsCollection function.
Decreasing from 12k products to 3.8, everyrthing.
Moreover, I think you should skip the generation of the product url if the product name is empty. My client had this issue too, as some
->addAttributeToFilter('name', ['neq' => 'NULL']).
Let me know if that make sense.
BEst,
G


Wrap noisy non-errors under config.debug

I think I remember talking about this on slack, but I can't find it right now.
Without this, moloch-capture is very chatty about every connection made or closed to Elasticsearch, generating lines like:
Oct 20 09:11:46 capturehost moloch-capture[25686]: Oct 20 09:11:46 http.c:519 moloch_http_curl_close_callback(): Close 94/29 - eshost:9200   46348->146.xx.xx.xx:9200 fd:12 removed: true Oct 20 09:11:46 capturehost moloch-capture[25686]: Oct 20 09:11:46 http.c:421 moloch_http_curl_watch_open_callback(): Connected 93/29 - eshost:9200   3966->146.xx.xx.xx:9200 - fd:12
This is just noise in normal operation, and should only be logged if debugging is on.

They are very useful for debugging for new folks, may need a different var or something.  Are you really getting a lot of them?

These are the only lines left if I exclude ERROR and WARNING, over 16 hosts, ~2.5M entries in 24h.  They are certainly useful for debugging.  Maybe tie them in with logESRequests, although they might be buried in that output.

added a new setting logHTTPConnections


New decryption protocol

First draft of the new decryption process. I am still trying to debug the submission of pubShares but the basic architecture is implemented.
What's been done:

Now we send all the pubShares of a given node on the chain, through the DKG service.
The decryption is done in two phases, first we "BeginDecryption", which asks all the nodes to send their pubShare, then we send a DecryptBallotsTx which will finish the decryption using the pubShares submitted.
Adapted the integration test to reflet the new decryption flow.

What's still to be done:

Fix the submission of pubShares (I added Rounds but each submission still seems to overwrite the last submission...)
Adapt all the unit tests / scenarioTest
Compare performances

Some thoughts of improvements once the system works: (thought of them too late)

the "index" in the pubShares seems to be the same for all the shares of a node, we could store it only once...
could avoid some code duplication with a "SignedTransaction" interface that would contain the basic primitives to deal with the transactions that need to be signed (Shuffle, RegisterPubShares)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

105 of 588 (17.86%)  changed or added relevant lines in 12 files are covered.
67 unchanged lines in 7 files lost coverage.
Overall coverage decreased (-5.6%) to 49.672%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/evoting/controller/http.go
0
1
0.0%

contracts/evoting/mod.go
0
5
0.0%

contracts/evoting/types/election.go
0
8
0.0%

contracts/evoting/types/transactions.go
0
26
0.0%

services/dkg/pedersen/controller/mod.go
21
47
44.68%

contracts/evoting/controller/handlers.go
0
53
0.0%

services/dkg/pedersen/controller/action.go
9
69
13.04%

services/dkg/pedersen/mod.go
18
87
20.69%

contracts/evoting/evoting.go
9
118
7.63%

services/dkg/pedersen/handler.go
46
172
26.74%

Files with Coverage Reduction
New Missed Lines
%

contracts/evoting/controller/handlers.go
1
0%

services/dkg/pedersen/handler.go
1
71.79%

services/dkg/pedersen/json/mod.go
3
87.15%

contracts/evoting/evoting.go
7
56.57%

services/dkg/pedersen/controller/mod.go
15
41.25%

services/dkg/pedersen/controller/action.go
19
27.96%

services/dkg/pedersen/mod.go
21
57.19%

Totals

Change from base Build<PHONE_NUMBER>:
-5.6%

Covered Lines:
2724

Relevant Lines:
5484

💛  - Coveralls


Added linux support to NetherSX2-builder

Added NetherSX2-builder linux bash script
Changed download url from Discord to AetherSX2 Archive

The builder didn't have a folder in repo files, so i added it in order to make this PR
Xdelta3 package is required to use the builder on Linux.
pkg install xdelta3 - Termux
sudo apt-get install xdelta3 - Ubuntu

Okay let's add it. The builder was based on an xdelta patching script I created for Life Bottle Productions fan translations, undubs and pundubs (partial undubs), so I may use this for that too

I mostly left it out of the repo because it was a heavily adapted script and the NetherSX2 devs aren't a fan of xdelta. So I had to remove it from the repo, but people can still pull the xdelta themselves from the release page, and moving forward your script will be included with the builder archive too


Research and Discussion: AXIS integration

Title of ticket: Research and Discussion: AXIS integration
Description
Summarize issue
Dependencies
Dependency tagged - Dev Access managed by IMB - timetable for access to be confirmed this Friday
DOD

[ ] Set up Abin in dev enviro for AXIS
[ ] Abin to explore AXIS environment
[ ] Meeting to discuss options go-forward available, re: API integration
[ ] ETL options to migrate data

@abin-aot  - IMB advised we can expect access to 10.7 by EOD Wednesday - will report back if I hear anything different!

Received DB access on 17/AUG via my _A account. Can see tables now. But waiting for API details from vendor - @lmullane @m-prodan

On 30/Aug/2021 , as discussed on Sprint Meeting, splitting this task to two. API Integration analysis will be on other task and will start working on it once we get access to AXIS API

AXIS DB analysed : ATIPD on IXIAS\CIRMOTST
Tables are primarily store Request information :

tblRequests
tblCaseDescriptionHistory
tblRequestDocuments
tblCorrespondence
tblRequesterNotes
tblRequestDocuments

TEST Data created on 10.7 version of AXIS Dev Deployment, refer link below
http://dev.axis.gov.bc.ca/ATIPXpress/Request/Correspondence.aspx?**RequestId**=**4217**
MS SQL Master Query to find the Table, Column info.
select t.name,c.name from sys.tables t join sys.columns c on c.object_id = t.object_id where t.name like '%req%'and c.name like '%desc%'
select t.name,c.name from sys.tables t join sys.columns c on c.object_id = t.object_id where  c.name like '%desc%'


Uncaught TypeError: Cannot read property 'id' of undefined

[Enter steps to reproduce:]

...
...

Atom: 1.22.0 x64
Electron: 1.6.15
OS: Microsoft Windows 10 Pro
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'id' of undefined
At C:\Users\Allan\AppData\Local\atom\app-1.22.0\resources\app\src\text-editor-component.js:646

TypeError: Cannot read property 'id' of undefined
    at extraRenderedScreenLines.forEach (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:646:45)
    at Map.forEach (native)
    at TextEditorComponent.renderLineTiles (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:643:43)
    at TextEditorComponent.renderContent (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:586:18)
    at TextEditorComponent.renderScrollContainer (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:561:18)
    at TextEditorComponent.render (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:506:20)
    at Object.updateSync (~/AppData/Local/atom/app-1.22.0/resources/app/node_modules/etch/lib/component-helpers.js:107:40)
    at TextEditorComponent.updateSyncBeforeMeasuringContent (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:383:16)
    at TextEditorComponent.updateSync (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:274:16)
    at TextEditorComponent.didMouseWheel (~/AppData/Local/atom/app-1.22.0/resources/app/src/text-editor-component.js:1538:59)

Commands

Non-Core Packages
atom-beautify 0.30.6
atom-ternjs 0.18.3
busy-signal 1.4.3
docblockr 0.13.2
duplicate-line-or-selection 0.9.0
emmet 2.4.3
emmet-jsx-css-modules 1.0.0
expand-region 0.4.0
file-icons 2.1.13
git-control 0.9.0
git-plus 7.10.0
git-time-machine 1.5.9
highlight-line 0.12.0
highlight-selected 0.13.1
html-shorcuts-react 2.1.0
hyperclick 0.1.5
intentions 1.1.5
js-hyperclick 1.12.2
language-babel 2.78.0
language-patch 1.2.0
linter 2.2.0
linter-eslint 8.4.0
linter-ui-default 1.6.10
local-history 4.3.1
markdown-preview-plus 2.4.16
merge-conflicts 1.4.5
open-html-in-browser 0.2.1
pigments 0.40.2
platformio-ide-terminal 2.7.0
project-plus 1.0.0
re-re-re-react 3.0.0
split-diff 1.5.1
todo-show 2.1.0
xatom-debug 1.6.11
xatom-debug-chrome 0.7.4
xatom-debug-nodejs 0.9.3

Thanks for the report!  Can you confirm a few things for us?

what were you doing at the time of the error?
is the error is reproducible?
if reproducible, do you see the error in safe mode (atom --safe)?

Steps to reproduce:

Create a .log file
have that .log file open in Atom
switch to a different file in Atom (so the .log file isnt visible)
have a script write to that file
go back into that .log file
thats how it happened to meh, i dont know about the otha guy tho!

@rsese Here are a few more issues with this same error. The error reporter is blaming linter-ui-default because it's the last file in the stack trace but these are the same bugs:
https://github.com/steelbrain/linter-ui-default/issues/468
https://github.com/steelbrain/linter-ui-default/issues/469
https://github.com/steelbrain/linter-ui-default/issues/470
Similar issues to this were fixed by @maxbrunsfeld in https://github.com/atom/atom/pull/15051, released in Atom v1.20.0 but this set seems to be a slightly different trigger.
Unfortunately as with the issues referenced from #15051 the issue is notoriously hard to replicate, but doesn't seem to be tied to a specific OS as this issue is from Windows while the others I just linked are macOS and "Arch Linux".

Thanks @Arcanemagus :bow:
Hopefully we'll get a report with consistent repro steps 🤞
@ethamitc do those steps you shared happen to be reproducible on your end or was it just a one time thing?

[Enter steps to reproduce:]

...
...

Atom: 1.24.0 x64
Electron: 1.6.16
OS: Mac OS X 10.13.3
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'id' of undefined
At /Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:650

TypeError: Cannot read property 'id' of undefined
    at extraRenderedScreenLines.forEach (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:650:45)
    at Map.forEach (native)
    at TextEditorComponent.renderLineTiles (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:647:43)
    at TextEditorComponent.renderContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:590:18)
    at TextEditorComponent.renderScrollContainer (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:565:18)
    at TextEditorComponent.render (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:510:20)
    at Object.updateSync (/Applications/Atom.app/Contents/Resources/app/node_modules/etch/lib/component-helpers.js:107:40)
    at TextEditorComponent.updateSyncBeforeMeasuringContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:383:16)
    at TextEditorComponent.updateSync (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:274:16)
    at TextEditorComponent.didMouseWheel (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1550:59)

Commands
     -9:58.6.0 core:confirm (input.hidden-input)
     -9:12.6.0 find-and-replace:show (input.hidden-input)
     -9:11.1.0 core:confirm (input.hidden-input)
     -3:45 find-and-replace:show (input.hidden-input)
     -3:41.3.0 core:confirm (input.hidden-input)

Non-Core Packages
atom-beautify 0.30.9
atom-html-preview 0.2.5
atom-wrap-in-tag 0.6.0
color-picker 2.2.5
emmet 2.4.3
emmet-snippets-compatibility 1.0.6
highlight-selected 0.13.1
minimap 4.29.7
minimap-highlight-selected 4.6.1
mjml-preview 1.4.0
pigments 0.40.2
sync-settings 0.8.4
tag 0.5.0

I can't replicate @ethamitc instructions :(

I created an empty .log, in one different tests, in one test - using Atom, in another test - using touch. Then in both tests, same steps:
Then opened it on active tab.
Then switched to different tab showing the file of the same-level.
Then wrote to the .log using echo "zzz"  >> .log
Then switched back to Atom
Then activated the tab with .log

All fine.
Not that it denies existence of this bug, but it only proves it's a sneaky-one. Let's gather more info about the nature of the script that's writing to the file and also exact timing, if possible. Also, I see @agstew is on Windoze (I'm on Mac), maybe it's a platform specific bug? Did anybody succeed in recreating @ethamitc steps on Windows?

Thanks for giving it a try @revelt :+1:

Did anybody succeed in recreating @ethamitc steps on Windows?

I was unable to reproduce on Windows 10 with 1.24.0 using your steps.

[Enter steps to reproduce:]

...
...

Atom: 1.24.0 x64
Electron: 1.6.16
OS: Mac OS X 10.12.3
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'id' of undefined
At /Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:650

TypeError: Cannot read property 'id' of undefined
    at extraRenderedScreenLines.forEach (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:650:45)
    at Map.forEach (native)
    at TextEditorComponent.renderLineTiles (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:647:43)
    at TextEditorComponent.renderContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:590:18)
    at TextEditorComponent.renderScrollContainer (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:565:18)
    at TextEditorComponent.render (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:510:20)
    at Object.updateSync (/Applications/Atom.app/Contents/Resources/app/node_modules/etch/lib/component-helpers.js:107:40)
    at TextEditorComponent.updateSyncBeforeMeasuringContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:383:16)
    at TextEditorComponent.updateSync (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:274:16)
    at TextEditorComponent.didMouseWheel (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1550:59)

Commands
     -0:38.9.0 editor:consolidate-selections (input.hidden-input)
     -0:38.9.0 core:cancel (input.hidden-input)
     -0:37.9.0 editor:consolidate-selections (input.hidden-input)
     -0:37.9.0 core:cancel (input.hidden-input)
     -0:37.7.0 editor:consolidate-selections (input.hidden-input)
     -0:37.7.0 core:cancel (input.hidden-input)
     -0:37.5.0 editor:consolidate-selections (input.hidden-input)
     -0:37.5.0 core:cancel (input.hidden-input)
     -0:35.6.0 editor:consolidate-selections (input.hidden-input)
     -0:35.6.0 core:cancel (input.hidden-input)
     -0:35.3.0 editor:consolidate-selections (input.hidden-input)
     -0:35.3.0 core:cancel (input.hidden-input)
     -0:34 editor:consolidate-selections (input.hidden-input)
     -0:34 core:cancel (input.hidden-input)
     -0:32 editor:consolidate-selections (input.hidden-input)
     -0:32 core:cancel (input.hidden-input)

Non-Core Packages
atom-bracket-highlight 0.3.2
auto-update-packages 1.0.1
busy-signal 1.4.3
color-picker 2.2.5
emmet 2.4.3
file-icons 2.1.17
file-templates 0.2.0
highlight-line 0.12.0
highlight-selected 0.13.1
intentions 1.1.5
language-htaccess 0.2.0
less-than-slash 0.18.0
linter 2.2.0
linter-htmlhint 1.4.0
linter-jscs 4.1.3
linter-php 1.5.1
linter-sass-lint 1.8.3
linter-ui-default 1.6.10
package-sync 1.1.0
pigments 0.40.2
sass-autocompile 0.13.5
teletype 0.9.0
uglify 1.3.1

I can't tell how to reproduce it, but I can tell you one thing that appeared to resolve the issue: I zoomed out. Usually, I keep my window zoomed (cmd plus) to about 16 to 18pt font, due to vision problems.
On a hunch based on some of the stuff I saw in the stack trace, I just zoomed out to a more normal size (8pt or so), and it was fine.
I had been totally locked out of editing a particular file, since editing it seemed to trigger the error every time, which ruined that tab, making it uneditable (insertion point caret doesn't move, errors keep popping up in rapid succession).  Zooming out seemed to completely resolve it.

I'm interested to see if anyone is running into this issue when using Atom 1.26, currently in beta. We fixed a rendering issue for edits that changed the horizontal scrollbar visibility. Changing font size like @lifelogic mentioned in their comment could also have changed the horizontal scrollbar visibility.

I got this issue with 1.27.0. x64, all I did with click on "Show Invisibles".

Thanks @darkn3rd - based on the stacktrace I think that error is more related to the other issue you commented on https://github.com/atom/atom/issues/16394.

[Enter steps to reproduce:]

Open markdown-preview-plus preview pane
Copy some text from preview pane.
Search it.

Atom: 1.27.1 x64
Electron: 1.7.15
OS: win10
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'id' of undefined
At D:\Atom x64\resources\app\src\text-editor-component.js:663

TypeError: Cannot read property 'id' of undefined
    at extraRenderedScreenLines.forEach (D:/Atom x64/resources/app/src/text-editor-component.js:663:45)
    at Map.forEach (native)
    at TextEditorComponent.renderLineTiles (D:/Atom x64/resources/app/src/text-editor-component.js:660:43)
    at TextEditorComponent.renderContent (D:/Atom x64/resources/app/src/text-editor-component.js:601:18)
    at TextEditorComponent.renderScrollContainer (D:/Atom x64/resources/app/src/text-editor-component.js:577:18)
    at TextEditorComponent.render (D:/Atom x64/resources/app/src/text-editor-component.js:522:20)
    at Object.updateSync (D:/Atom x64/resources/app/node_modules/etch/lib/component-helpers.js:107:40)
    at TextEditorComponent.updateSyncBeforeMeasuringContent (D:/Atom x64/resources/app/src/text-editor-component.js:392:16)
    at TextEditorComponent.updateSync (D:/Atom x64/resources/app/src/text-editor-component.js:275:16)
    at TextEditorComponent.didShow (D:/Atom x64/resources/app/src/text-editor-component.js:1471:18)
    at TextEditorComponent.didFocus (D:/Atom x64/resources/app/src/text-editor-component.js:1495:35)
    at HTMLElement.addEventListener (/app.asar/src/text-editor-element.js:36:67)
    at HTMLElement.activeItemChanged (/app.asar/src/pane-element.js:164:16)
    at Function.module.exports.Emitter.simpleDispatch (D:/Atom x64/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (D:/Atom x64/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
    at Pane.setActiveItem (D:/Atom x64/resources/app/src/pane.js:443:26)
    at Pane.activateItem (D:/Atom x64/resources/app/src/pane.js:583:18)
    at TabBarView.module.exports.TabBarView.onClick (D:/Atom x64/resources/app/node_modules/tabs/lib/tab-bar-view.js:721:25)

Commands
     -4:54.1.0 intentions:highlight (input.hidden-input)
     -4:54 core:undo (input.hidden-input)
     -4:52.2.0 core:backspace (input.hidden-input)
     -4:51.6.0 markdown-img-paste:paste (input.hidden-input)
     -4:51 core:undo (input.hidden-input)
     -4:50.3.0 intentions:highlight (input.hidden-input)
     -4:50.1.0 core:undo (input.hidden-input)
     -4:47.3.0 core:backspace (input.hidden-input)
     -4:31.3.0 markdown-img-paste:paste (input.hidden-input)
  2x -4:27.1.0 core:backspace (input.hidden-input)
     -4:19.3.0 core:confirm (input.hidden-input)
     -4:12.9.0 core:copy (input.hidden-input)
     -4:07.1.0 intentions:highlight (input.hidden-input)
     -4:07.0 find-and-replace:show (input.hidden-input)
     -2:43.5.0 core:confirm (input.hidden-input)
  3x -2:38.1.0 core:backspace (input.hidden-input)

Non-Core Packages
asciidoc-assistant 0.2.2
asciidoc-image-helper 1.0.0
asciidoc-preview 2.12.1
atom-html-preview 0.2.5
autoclose-html 0.23.0
autocomplete 0.47.0
autocomplete-asciidoc 0.1.2
autocomplete-html-entities 0.2.0
autocomplete-javascript 0.0.2
autocomplete-paths 2.12.2
browser-plus 0.0.98
busy-signal 1.4.3
color-picker 2.3.0
convert-file-encoding 0.1.0
css-color-name 0.4.0
css-snippets 1.1.0
emmet 2.4.3
gl-light-syntax 3.0.0
google-translate-modal 1.2.2
intentions 1.1.5
language-asciidoc 1.11.0
language-assembly 0.7.2
language-batch 0.4.0
language-markdown 0.26.0
language-svg 0.9.2
latex 0.50.0
linter 2.2.0
linter-ui-default 1.7.1
lorem 1.5.0
markdown-assistant 0.2.0
markdown-image-paste 2.5.2
markdown-pdf 2.2.0
markdown-preview-enhanced 0.15.6
markdown-preview-plus 3.3.1
markdown-scroll-sync 2.1.2
markdown-table-editor 1.1.1
markdown-toc 0.4.2
markdown-writer 2.7.3
pdf-view 0.70.0
pigments 0.40.2
react 0.18.0
react-snippets 1.1.1
simplified-chinese-menu 5.3.5
solarized-one-light-ui 1.12.0
svg-preview 0.12.1
tidy-markdown 3.0.1
tool-bar 1.1.7
tool-bar-markdown-writer 0.3.1

@revelt sorry for the late response, you daid you did mt steps, but I wrote to it using a nodejs scripy, not echo.


Enable http/2 transport

The transport needs to be explicitly configured to use HTTP/2.

Doing so works, but make dep will alter the go.sum file again and add back the entries. There must be a reason for this... But committing after go mod tidy breaks the check stage.


Roadmap for v3.

v3 will only support the upcoming Win 10 v1803.
Rewrite the whole project in C++.
Use libarchive to read tar files, which would solve https://github.com/DDoSolitary/LxRunOffline/issues/29#issuecomment-368284043.
Take a look at FileStatLxInformation and FileCaseSensitiveInformation.

Did you know the struct that FileStatLxInformation returns?

Did you know the struct that FileStatLxInformation returns?

I haven't investigated it. So I said  "Take a look at"... :smile:

And don't remove the C# source codes. I like it.

I will delete them, but you can always browse them in the git commit history.

Do you think that as a convenience feature, a command for creating an icon and attaching it to the taskbar could be added?
Also, would be nice to be able to specify the input image using friendly name as opposed to the app you offer that redirects you to the files, but I expect there is a reason for why that's not already the case, so that's just a nice-to-have for me.

One idea. Can you hook the LxssManager service process?

One idea. Can you hook the LxssManager service process? There is a string in LxssManager.dll which execute bdstar to extract .tar.gz. If somehow the string can be change then LxssManager may extract .tar, .tar.xz, .squashfs etc.

Take a look at FileStatLxInformation and FileCaseSensitiveInformation.

Just tested both of them. FileCaseSensitiveInformation worked well, but I got some problems on FileStatLxInformation.

The returned FILE_STAT_LX_INFORMATION has all of the WSL-related fields zero even if NtQueryInformationFile is called on a WSL's file, and I don't how to get it working.

As the structure has some read-only fields like FileId and NumberOfLinks I don't think it can be used by NtSetInformationFile to set the extended attributes. (though not tried yet)

So I decided to stick to NtQueryEaFile and NtSetEaFile.

Extended attribute LXATTRB can be added with NtCreateFile(). I don't find that LxssManager use that struct in latest Windows build.

v3 is ready.

@TomasHubelbauer I've reopened #27 and will implement this feature later.

Oooo, you're mimicking the behaviour of LxssManager.dll 👌 One thing I've to say. Microsoft WSL programmers are moving towards DRVFS like extended attributes. That is, LXATTRB may be replaced by the FILE_STAT_LX_INFORMATION. wslconfig.exe /upgrade is responsible to do this conversation.

@Biswa96 Really helpful information, could you please give the source?

BTW, the duplicate command of v3.0.1 has some known issues. Please use it with care.

Ya i also want to mimic that upgrade procedure. But I need some idea about doing the attribute change recursively without memory leaking/high cpu usage.

A makefile with gcc or g++ will be great.

Actually I have got one locally, I'll update it.

@Biswa96 Pushed. I'll add build instructions to README later.