Atlas Operator should delete the project and db-user it creates

Hey
It is a nice concept you have implemented, I embrace the idea to manage Atlas with Helm and Helmfile!
After helm uninstall both project and user exist in the Atlas.
In my case cluster was not created since I don't give billing info. But this should not block cleaning up both project and user.

helm
denis@L560:~/huma/phoenix-server-deployments$ helm list -A
NAME                    NAMESPACE       REVISION        UPDATED                                         STATUS          CHART                                   APP VERSION
atlas-operator          atlas-operator  1               2021-06-25 14:07:33.502111285 +0300 MSK         deployed        mongodb-atlas-operator-0.2.2            0.5.0

install
denis@L560:~/huma/phoenix-server-deployments$ helm install atlas-cluster \
> mongodb/atlas-cluster \
> --namespace=operator-sandbox \
> --set project.atlasProjectName='atlas-operator-demo' \
<..>
NAME: atlas-cluster
LAST DEPLOYED: Fri Jun 25 14:20:19 2021
NAMESPACE: operator-sandbox
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing atlas-cluster.

Your release is named atlas-cluster.
User connection secrets are:
User 0: admin-user
    Secret name: atlas-cluster-admin-user
    Secret namespace: operator-sandbox
To learn more about the release, try:

  $ helm status atlas-cluster
  $ helm get all atlas-cluster
denis@L560:~/huma/phoenix-server-deployments$ helm uninstall atlas-cluster --namespace=operator-sandbox
release "atlas-cluster" uninstalled

manager
2021-06-25T11:25:35.350Z        INFO    controllers.AtlasCluster        -> Starting AtlasCluster reconciliation {"atlascluster": "operator-sandbox/atlas-cluster", "spec": {"projectRef":{"name":"atlas-cluster-my-project"},"name":"atlas-cluster","providerSettings":{"backingProviderName":"AWS","instanceSizeName":"M2","providerName":"TENANT","regionName":"US_EAST_1"}}, "status": {"conditions":[{"type":"Ready","status":"False","lastTransitionTime":"2021-06-25T11:20:21Z"},{"type":"ClusterReady","status":"False","lastTransitionTime":"2021-06-25T11:20:22Z","reason":"ClusterNotCreatedInAtlas","message":"POST https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters: 402 (request \"NO_PAYMENT_INFORMATION_FOUND\") No payment information was found for group 60d5bc003840a353be1ebc1b."}],"observedGeneration":1}}
2021-06-25T11:25:35.350Z        INFO    controllers.AtlasCluster        Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:35.974Z        DEBUG   controllers.AtlasCluster        HTTP Request (GET) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters/atlas-cluster [time (ms): 622, status: 404]      {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:35.974Z        INFO    controllers.AtlasCluster        Cluster atlas-cluster doesn't exist in Atlas - creating {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:36.699Z        DEBUG   controllers.AtlasCluster        HTTP Request (POST) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters [time (ms): 724, status: 402]  {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:36.699Z        INFO    controllers.AtlasCluster        Status update   {"atlascluster": "operator-sandbox/atlas-cluster", "lastCondition": {"type":"ClusterReady","status":"False","lastTransitionTime":null,"reason":"ClusterNotCreatedInAtlas","message":"POST https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters: 402 (request \"NO_PAYMENT_INFORMATION_FOUND\") No payment information was found for group 60d5bc003840a353be1ebc1b."}}
2021-06-25T11:25:46.722Z        INFO    controllers.AtlasCluster        -> Starting AtlasCluster reconciliation {"atlascluster": "operator-sandbox/atlas-cluster", "spec": {"projectRef":{"name":"atlas-cluster-my-project"},"name":"atlas-cluster","providerSettings":{"backingProviderName":"AWS","instanceSizeName":"M2","providerName":"TENANT","regionName":"US_EAST_1"}}, "status": {"conditions":[{"type":"Ready","status":"False","lastTransitionTime":"2021-06-25T11:20:21Z"},{"type":"ClusterReady","status":"False","lastTransitionTime":"2021-06-25T11:20:22Z","reason":"ClusterNotCreatedInAtlas","message":"POST https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters: 402 (request \"NO_PAYMENT_INFORMATION_FOUND\") No payment information was found for group 60d5bc003840a353be1ebc1b."}],"observedGeneration":1}}
2021-06-25T11:25:46.723Z        INFO    controllers.AtlasCluster        Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:47.128Z        DEBUG   controllers.AtlasCluster        HTTP Request (GET) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters/atlas-cluster [time (ms): 405, status: 404]      {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:47.128Z        INFO    controllers.AtlasCluster        Cluster atlas-cluster doesn't exist in Atlas - creating {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:47.485Z        DEBUG   controllers.AtlasCluster        HTTP Request (POST) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters [time (ms): 353, status: 402]  {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:25:47.485Z        INFO    controllers.AtlasCluster        Status update   {"atlascluster": "operator-sandbox/atlas-cluster", "lastCondition": {"type":"ClusterReady","status":"False","lastTransitionTime":null,"reason":"ClusterNotCreatedInAtlas","message":"POST https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters: 402 (request \"NO_PAYMENT_INFORMATION_FOUND\") No payment information was found for group 60d5bc003840a353be1ebc1b."}}
2021-06-25T11:25:49.256Z        INFO    controllers.AtlasCluster        -> Starting AtlasCluster deletion       {"atlascluster": "operator-sandbox/atlas-cluster", "spec": {"projectRef":{"name":"atlas-cluster-my-project"},"name":"atlas-cluster","providerSettings":{"backingProviderName":"AWS","instanceSizeName":"M2","providerName":"TENANT","regionName":"US_EAST_1"}}}
2021-06-25T11:25:49.257Z        INFO    controllers.AtlasCluster        Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlascluster": "operator-sandbox/atlas-cluster", "projectID": "60d5bc003840a353be1ebc1b", "clusterName": "atlas-cluster"}
2021-06-25T11:25:49.360Z        INFO    controllers.AtlasDatabaseUser   -> Starting AtlasDatabaseUser deletion  {"atlasdatabaseuser": "operator-sandbox/atlas-cluster-admin-user", "spec": {"projectRef":{"name":"atlas-cluster-my-project"},"databaseName":"admin","roles":[{"roleName":"atlasAdmin","databaseName":"admin"}],"passwordSecretRef":{"name":"atlas-cluster-admin-user"},"username":"admin-user"}}
2021-06-25T11:25:49.360Z        INFO    controllers.AtlasDatabaseUser   Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlasdatabaseuser": "operator-sandbox/atlas-cluster-admin-user"}
2021-06-25T11:25:49.463Z        INFO    controllers.AtlasProject        -> Starting AtlasProject deletion       {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "spec": {"name":"atlas-operator-demo","connectionSecretRef":{"name":"atlas-cluster-secret"},"projectIpAccessList":[{"comment":"IP address for Application Server A","ipAddress":"<IP_ADDRESS>"},{"comment":"CIDR block for Application Server B - D","ipAddress":"<IP_ADDRESS>/24"}]}}
2021-06-25T11:25:49.463Z        INFO    controllers.AtlasProject        Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:25:49.665Z        DEBUG   controllers.AtlasCluster        HTTP Request (DELETE) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/clusters/atlas-cluster [time (ms): 408, status: 404]   {"atlascluster": "operator-sandbox/atlas-cluster", "projectID": "60d5bc003840a353be1ebc1b", "clusterName": "atlas-cluster"}
2021-06-25T11:25:49.666Z        INFO    controllers.AtlasCluster        Cluster doesn't exist or is already deleted     {"atlascluster": "operator-sandbox/atlas-cluster", "projectID": "60d5bc003840a353be1ebc1b", "clusterName": "atlas-cluster"}
2021-06-25T11:25:50.035Z        DEBUG   controllers.AtlasDatabaseUser   HTTP Request (DELETE) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/databaseUsers/admin/admin-user [time (ms): 674, status: 204]   {"atlasdatabaseuser": "operator-sandbox/atlas-cluster-admin-user"}
2021-06-25T11:25:50.035Z        INFO    controllers.AtlasDatabaseUser   Started DatabaseUser deletion process in Atlas  {"atlasdatabaseuser": "operator-sandbox/atlas-cluster-admin-user", "projectID": "60d5bc003840a353be1ebc1b", "userName": "admin-user"}
2021-06-25T11:25:50.086Z        INFO    controllers.AtlasProject        -> Starting AtlasProject reconciliation {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "spec": {"name":"atlas-operator-demo","connectionSecretRef":{"name":"atlas-cluster-secret"},"projectIpAccessList":[{"comment":"IP address for Application Server A","ipAddress":"<IP_ADDRESS>"},{"comment":"CIDR block for Application Server B - D","ipAddress":"<IP_ADDRESS>/24"}]}}
2021-06-25T11:25:50.086Z        INFO    controllers.AtlasProject        Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:25:50.343Z        DEBUG   controllers.AtlasProject        HTTP Request (GET) https://cloud.mongodb.com/api/atlas/v1.0/groups/byName/atlas-operator-demo [time (ms): 256, status: 200]     {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:25:50.719Z        DEBUG   controllers.AtlasProject        HTTP Request (GET) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/accessList [time (ms): 375, status: 200] {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:25:50.936Z        DEBUG   controllers.AtlasProject        HTTP Request (POST) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/accessList [time (ms): 216, status: 401]{"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:25:50.936Z        INFO    controllers.AtlasProject        Status update   {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "lastCondition": {"type":"IPAccessListReady","status":"False","lastTransitionTime":null,"reason":"ProjectIPAccessListNotCreatedInAtlas","message":"POST https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b/accessList: 401 (request \"USER_CANNOT_ACCESS_GROUP\") User cannot access this group."}}
2021-06-25T11:25:50.963Z        DEBUG   controllers.AtlasProject        HTTP Request (DELETE) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bc003840a353be1ebc1b [time (ms): 1500, status: 202]   {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:25:50.963Z        INFO    controllers.AtlasProject        Successfully deleted Atlas project      {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "projectID": "60d5bc003840a353be1ebc1b"}
2021-06-25T11:25:57.515Z        DEBUG   controllers.AtlasCluster        Object operator-sandbox/atlas-cluster doesn't exist, was it deleted after reconcile request?    {"atlascluster": "operator-sandbox/atlas-cluster"}
2021-06-25T11:26:00.964Z        INFO    controllers.AtlasProject        -> Starting AtlasProject reconciliation {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "spec": {"name":"atlas-operator-demo","connectionSecretRef":{"name":"atlas-cluster-secret"},"projectIpAccessList":[{"comment":"IP address for Application Server A","ipAddress":"<IP_ADDRESS>"},{"comment":"CIDR block for Application Server B - D","ipAddress":"<IP_ADDRESS>/24"}]}}
2021-06-25T11:26:00.964Z        INFO    controllers.AtlasProject        Reading Atlas API credentials from the AtlasProject Secret operator-sandbox/atlas-cluster-secret        {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:26:01.190Z        DEBUG   controllers.AtlasProject        HTTP Request (GET) https://cloud.mongodb.com/api/atlas/v1.0/groups/byName/atlas-operator-demo [time (ms): 225, status: 401]     {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:26:03.183Z        DEBUG   controllers.AtlasProject        HTTP Request (POST) https://cloud.mongodb.com/api/atlas/v1.0/groups [time (ms): 1992, status: 201]      {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:26:03.183Z        INFO    controllers.AtlasProject        Created Atlas Project   {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "name": "atlas-operator-demo", "id": "60d5bd49ce7e6829ca6f7c9a"}
2021-06-25T11:26:03.403Z        DEBUG   controllers.AtlasProject        HTTP Request (GET) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bd49ce7e6829ca6f7c9a/accessList [time (ms): 220, status: 200] {"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:26:03.813Z        DEBUG   controllers.AtlasProject        HTTP Request (POST) https://cloud.mongodb.com/api/atlas/v1.0/groups/60d5bd49ce7e6829ca6f7c9a/accessList [time (ms): 409, status: 201]{"atlasproject": "operator-sandbox/atlas-cluster-my-project"}
2021-06-25T11:26:03.813Z        INFO    controllers.AtlasProject        Status update   {"atlasproject": "operator-sandbox/atlas-cluster-my-project", "lastCondition": {"type":"Ready","status":"True","lastTransitionTime":null}}

UPD 2021-Aug-05
Versions
K8s 1.19.10-gke.1700
AKO 0.5.0
Helm values
I use https://docs.atlas.mongodb.com/reference/atlas-operator/ak8so-quick-start-helm/#deploy-the-cluster
I put my namespace, project name, API key
helm install atlas-cluster \
> mongodb/atlas-cluster \
> --namespace=operator-sandbox \
> --set project.atlasProjectName='atlas-operator-demo' \
    --set atlas.orgId='<orgid>' \
    --set atlas.publicApiKey='<publicKey>' \
    --set atlas.privateApiKey='<privateApiKey>'

@leo-ri Hey
I update an issue with versions.
It seems that I have new experiments overwrite this one.
Anyway, it is a curious piece of the log for me as an operator developer! I can see it created an Atlas Project once more time after deleting it.
I believe it is by concurrent nature of client-runtime an operator can get the same event several times. Maybe this causes an operator to create a project several times.

This has been resolved.


gpl: cells get placed on top of macros

One problem gpl had is that sometimes cells would get placed on top of macros. This is not an issue if the placement is towards the edges of the macro but it becomes problematic when cells get placed towards the center of the macro because these cells will have to be moved long distances to find a legal place.
An example of such case can be found below (the microwatt design):

In this PR, I implement scaling within the macro area such that it is more dense towards the center of the macro and consequently, cells will tend to be placed away from the center of the macro. Scaling is represented as the integration of the density function of a bivariate normal distribution with no correlation. For efficiency, I am using the closed-form solution for the integration instead of integrating numerically.
Such scaling affects the overflow significantly (because the regions at the center of the macro would cause huge unavoidable overflows) and that can make it impossible to indicate convergence in some cases. Consequently, I created an unscaled overflow variables which will be used along the scaled overflow ones. Essentially, the unscaled overflow will be used to indicate convergence while the scaled overflow will be the one actually used to determine the densities and the gradients.
The new implementation has been tested on a couple of designs and an example of using the new implementation can be found below (the microwatt design):

As seen in the image above, no cells got placed within the macro at all. In some cases, cells would get placed on top of the macro but it will always be towards the edges.
Once approved, I will format the files to meet the coding style check.

Not yet. I assumed I should do that during the review process.


Send empty directories in wormhole send too

Closes #232
Hello! Obligatory thanks for the great tool, it makes sending directories between computers work like a dream
I ended up running #232 which confused me for a bit since I wasn't expecting empty directories to be silently excluded.
This change ended up touching more than I was expecting, but reusing the logic for adding files or directories to the zipfile required pulling some things out to separate functions.
In regards to styling I  couldn't find any documentation listing style guidelines or formatters used, so I just kept changes to an 80 character line limit (and it looks like cmd_send.py accidentally got auto-formatted without me realizing it).
The changes do pass the test suite for me (python 3.9 on linux), and beyond that everything seemed to work fine when testing manually. I didn't test any other versions since I don't have any other python interpreters installed and this is my first time dealing with Python 2 code, so any subtle issues there may have slipped by me.
I'd also like to note that this does change the message on the uncompressed size since it's now including directories too which are typically 4KiB each. I think this would be fine since the message is talking about the uncompressed size, but if you want it to just be for the size of files then I'm fine with changing things around to better conform to how things used to be.

Looks like there is a failure with broken symlinks. I'll fix it tomorrow, not sure why I didn't see it when running the tests before

It looks like the issue was actually that ignored files would still be added to num_files. The simple fix was to just have _add_zip_entry() also return a bool that indicates if the entry was added and to check the bool when incrementing num_files

Huh, weird that appveyor said that it succeeded when the 3.7 job failed. Looks like the build environment needs an update
From: https://ci.appveyor.com/project/warner/magic-wormhole/builds/39857754
generating cffi module 'build\\temp.win-amd64-3.7\\Release\\_openssl.c'
    running build_rust
    error: can't find Rust compiler

    If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

    To update pip, run:

        pip install --upgrade pip

    and then retry package installation.

    If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

    This package requires Rust >=1.41.0.

        =============================DEBUG ASSISTANCE=============================
        If you are seeing a compilation error please try the following steps to
        successfully install cryptography:
        1) Upgrade to the latest pip and try again. This will fix errors for most
           users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
        2) Read https://cryptography.io/en/latest/installation.html for specific
           instructions for your platform.
        3) Check our frequently asked questions for more information:
           https://cryptography.io/en/latest/faq.html
        4) Ensure you have a recent Rust toolchain installed:
           https://cryptography.io/en/latest/installation.html#rust
        5) If you are experiencing issues with Rust for *this release only* you may
           set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
        =============================DEBUG ASSISTANCE=============================

Thanks for the PR!
I haven't reviewed it, but that Windows thing is familiar and almost certainly not the fault of your code...I've clicked the button to let the other CI run.

It looks like the only "failure" was a slight reduction in code coverage
I'd be happy to add a test for sending a directory that includes sending an empty dir if you can point out a test that I could base it off of. From a very brief look I couldn't find an integration test to base it off of, but I think that would be a good fit for testing the behavior


Safari loses place in timeline when navigating back from note.

💡 Summary
When viewing a timeline, and then going to detail of a note (or note author), the only way to get back to the timeline is to use the browser back function (with swipe right gesture, or back button), There is no 'back' button within misskey to restore the view. in iOS Safari, going back with the browser causes the position on the timeline to be lost, reset to the top of the timeline. This makes it nearly impossible to catch up on notes from past time.
🙂 Expected Behavior
Going back with the browser should not lose the scroll position in the timeline (Safari normally restores scroll position when going back).
☹ Actual Behavior
The timeline scroll position is reset at the top.
📝 Steps to Reproduce

Open timeline.
Scroll down some way.
Tap the date/time of a note to go to its page and view a thread or reply.
Go back to timeline with browser back button or swipe gesture.
Timeline page reappears scrolled to top, losing position.

📌 Environment
iOS Safari 13.3. Website pinned to home screen. Issue is the same in macOS Safari (Mojave).
Misskey 11.37.1
Endless loading feature is enabled.

Thank you for reporting!
This problem has already been resolved in Misskey v12 :)


exporting to coreml format throws errors

I am doing this:
python -m exporters.coreml --model=bert-base-uncased exported/
and running into error:
RuntimeError: Error compiling model: "compiler error:  Encountered an error while compiling a neural network model: validator error: Model output 'pooler_output' has a different shape than its corresponding return value to main.".
Did the underlying Bert implementation's api change?
I hit similar errors with some of the other models mentioned in the Readme (ready-made configurations)

It's quite possible something has changed, I haven't worked on this in a while. This is very much beta software right now.
One thing you can try is to remove the pooler_output from the outputs. This requires changing the BertCoreMLConfig object.

Hi @a-maci! We have been investigating this and it's looking like it could be some sort of issue with coremltools. While we try to find a solution, you can use the following workaround that @hollance designed:
import coremltools as ct
mlmodel = ct.models.MLModel("exported/Model.mlpackage")
del mlmodel._spec.description.output[1].type.multiArrayType.shape[:]
mlmodel = ct.models.MLModel(mlmodel._spec, weights_dir=mlmodel.weights_dir)
mlmodel.save("ModelFixed.mlpackage")

This removes the shape information of the pooler output (which is correct, but gets Core ML confused) and saves a new version of the model as ModelFixed.mlpackage.
If you don't need the pooler output at all, you can also create a custom configuration to remove it. Let us know if you are interested in this approach and want some assistance.

This has been addressed in #10 following the latest Apple recommendations.


Implement new *.wast directives in wasmtime-wast

This is a follow-up from #9219 to add support for a few more directives in *.wast tests to notably compile a module and possibly instantiate it multiple times.
This copies the upstream spec test using these new directives and edits it to remove the unsupported exception-handling bits.

Looks good, but the component paths aren't exercised in the tests. Is there missing functionality where those can't be exercised yet, or can we add a test for it?

Good point! I've added a small test for components too


Autorun when computer starts (suggestion)

It would be nice to be able to autorun Yez! when computer starts.
This module is perfect to do it: https://www.npmjs.com/package/user-startup

I'm keen adding this to the README. However, I personally don't like such options in the apps that I use. If I want to run something when the OS starts then I'm doing it manually. Of course that's a personal choice.

+1 for this


Removed goto from Promise::invokeWaitList method

Submitted through the github online editor which messed the indentation after commit :(

I'd merge this is the formatting wasn't all wonky. Can you fix it?

This was my first ever Github PR (aka something had to go wrong) so sorry about that. I suppose default setting of editor to 'Tabs' was the reason.

No worries. Thanks for the PR!


Get a fresh connection for all operations

The Postgres adapter was previously accepting an ActiveRecord connection
directly. In some operations, this resulted in Scenic attempting to use
a connection that had already been closed by Rails.
Instead of taking a connection directly, we now take something that
responds to a connection, returning a fresh connection.

Closes #129

Yeah, looks good. I assume you tested this against the issue in #129?
If it doesn't fix it, we can also call establish_connection with Rails.configuration.database_configuration as the argument.

Yeah, I tested with the app I created to reproduce that. Looks good.

Ship.


Multistreamer cant resume when OBS disconnects

I was getting timestamps for more information on the start/end discrepancies between Multistreamer and all the services and halfway through playing/streaming my OBS just gave out an alert that I was disconnected and its trying to reconnect.
All the while I thought that its just gonna be a hiccup and everything would continue on as it should. As I completed my stream, I noticed that the OBS disconnect cut the stream altogether. Is it by design? Or should Multistreamer be at least able to recover on things like this like a network hiccup or some quick OBS failure?
Previously in one service im using, even if OBS disconnects, there would just be a gap on the stream but would still continue on when OBS resumes the stream/reconnects.
To help out further, here are the start timestamps of the videos and services.
YT: Started 23:51:31 (lasted for 00:15:38)
FB: Started 23:51:14 (lasted for 00:16:02)
Twitch: Started 23:51:30 (lasted for 00:15:46)
Please note that these timestamps are GMT +8. I have gathered the logs but unforunately its in UTC.
I wish I could do the math but I would need to sleep. So the logs in question should be around 15:51 UTC at the very least.
20180319 Multistreamer Logs.zip

This is something I've had happen a few times, and it is really, really tricky.
So basically, if you get a network hiccup, you've got a few things that can happen:

The ffmpeg processes can die (I'm not sure what the default ffmpeg timeout is)

this is partially mitigated with version 11.1.0, since it will try to restart ffmpeg a few times

The RTMP module can decide that OBS has timed out, and close the connection

The RTMP module closing the connection causes the most frustration. When that happens and OBS eventually reconnects, the follow things happen:

The RTMP module calls "on-done", indicating the stream is over
It then immediately calls "on-publish", which triggers all the stream-setup stuff. On YouTube and Facebook, this can create a new event.

I think (though I'm not entirely sure) that this can be controlled a bit with the ping and ping_timeout directives, here: https://github.com/arut/nginx-rtmp-module/wiki/Directives#ping - but the behavior can still get pretty weird.
I'll have to experiment some more. It seems like shorter outages (<= 30 seconds) are fine now that ffmpeg will try restarting a few times.

OBS was able to recover, but none of the stream was unable. Let me know if you need more logs or info.

Yeah, I'm not sure what to do on this issue. I created short network hiccups (~10 seconds) and everything recovered fine. Any longer, it seems like no matter what combination of timeout, ping_timeout, etc -- either OBS never succesfully reconnects, or the RTMP module winds up calling "on-done" followed by "on-publish", which ends existing videos and starts new ones. I don't have a good way to detect a dropped connection vs somebody actually clicking "end stream" in OBS.
There's a bit of a work-around on the Facebook module - you can choose a pre-existing live video and uncheck "End live video when stream ends" - I wrote that specifically for a time I did a 24-hour marathon stream on Facebook, so I could disconnect/reconnect.
Implementing similar functionality in the YouTube module wouldn't be too hard. But for both the Facebook and YouTube modules, you'd have to create the event first on Facebook/YouTube, then log into Facebook/YouTube when you want the video to end instead of just ending the stream in OBS.

not sure if this helps you, but the issue can't be reproduced with Xsplit

This happened again when my network connection got knocked out. My PC (gaming, OBS) is separate from my Multistreamer server. I had to stop/start the stream from OBS.
I think the only info I got was I waited for it if it would recover but after a minute i decided to just restart the OBS stream.

I've been considering discontinuing this project for some time now. I'm sorry I couldn't solve your issue, but I just don't enjoy working on multistreamer anymore.

I've been considering discontinuing this project for some time now. I'm sorry I couldn't solve your issue, but I just don't enjoy working on multistreamer anymore.


from sdk-docs

from sdk-docs
Originally posted by @bucanero in https://github.com/near/docs/pull/1121

Looks like some sort of spam bot. I reported user account and these two recent issue comments to GitHub.
@caseyMFRyan, are you a human, or is this a bot account sending spam?


Acrobat Reader ignores snap on new document opening

Despite having turned on "Move newly created windows to their last know zone", ever since 0.19 and still in 0.19.1 when a new PDF document opens, fancy zones will not snap the pdf to the same zone. When the new document is opened in a new tab within Acrobat reader, Acrobat moves to a new location and shrinks to what I assume is Acrobat's default positioning / size for new documents.
Other details:

Will snap to last known zone on the same monitor of the Windows Explorer window where the document is being opened, but only when opening a whole new instance of Acrobat. When snapping to the zone in this case, it quickly flashes in the other on the before moving to the new second monitor and zone.
If Acrobat is open and the new document is opened in a new tab, it relocates Acrobat to the window, size and location that I can only guess is Acrobat's default setting, even if that is on a different monitor.
Issue persists if Acrobat settings changed to open each document in a new window (turn off tabs). The first instance opens in the last known zone in the same monitor as Window Explorer. The second and subsequent instances opens in the same monitor, but with the smaller size and location as described above (not snapped to the zone).
Zone behavior settings attached.

@bickthepickle
this is currently by design since FancyZones doesn't have a way (yet) to determine if a child window is a window that should be snapped or not.

@crutkas hi. saw that this was about snap and just wanted to know whether you guys know about the win+left/right bug with a maximised window and how it doesn't snap properly. I've seen various MS Community threads but no one from MS noticed them. The bug was introduced with W10 v1903.

@crutkas hi. saw that this was about snap and just wanted to know whether you guys know about the win+left/right bug with a maximised window and how it doesn't snap properly. I've seen various MS Community threads but no one from MS noticed them. The bug was introduced with W10 v1903.

File the issue via windows feedback hub please since it is outside PT.  We are trying to be very pointed for having issues stay about the topic/bug at hand

Sorry. Was just wondering. There are already a few FBH bug reports (one of which I filed ages ago) but the FBH is very flawed, especially because it's limited to each country.

Believe that restriction has been removed, once again, we're trying to keep topics on track

Closing this since we don't have a way to determine if a child window should be snapped or not.

feel free to ignore the snap bug.

Interesting reason, "Closing this since we don't have a way to determine if a child window should be snapped or not." I find it interesting since child windows snapped before v0.19. So, there is a way to make them snap. So, the reason for closure is actually that you do not know how to make it snap without breaking other features that have been prioritized over this design limitation introduced in v 0.19. Frankly, I think this should be a priority. Child windows should be snapped the same as parent windows. Child windows is extremely common for many apps, Acrobat, MS Word, MS Excel, etc. etc. By ignoring this issue, you are telling 90% of your user base you don't care about a problem that affects 90% of them every day. :(

@bickthepickle, i think you should assume best intent here versus us not caring.  Trust me, we care a lot.  While this may affect you, no one piled onto the issue bug.  We haven't gotten additional issues logged or people commenting on this.  We really do our best to be data driven here.  We do our best to consulate duplicate issues and pay attention to trends.
We can't introduce behavior that then cause other apps to act quirky. Looking at release notes, i think these are the two issues reason why spawned windows don't snap.  It causes odd behavior.

https://github.com/microsoft/PowerToys/issues/1192
https://github.com/microsoft/PowerToys/issues/1931

We are open source as well, if you feel strongly on this issue, please help us correct the behavior.


Update pubspec.yaml

@pewiher please consider merging and publishing an update (alternative PR: #48).


Github flavoured markdown

Should it not support github  or other flavours of markdown?

The problem with GFM is that one of its main features is to respect newlines.  This completely destroys the layout of the left column
I'd love to support all the other github-specific behaviors, though.  I wasn't able to find a library that managed this, though (docco forked showdown to deal w/ issues like that - which I'd like to avoid if possible)


Merge refs/heads/fix/relations into alpha

Merge refs/heads/fix/relations into alpha

This PR has been merged into alpha and tagged as 1.5.49-alpha-202303231215. Thanks for your contribution!


can't see files on Git panel RStudio

Hi there,
I have changed the folder in which my project and files are located and and now I can't see them in the Git or commit panels while using RStudio.
I can commit changes from the shell though.
I have tried many options but nothing seems to work, yet the directory origin seems ok.
Any ideas why?
Thank you!

Hi @carineemer, please try the advice in https://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html#find-your-git-executiable. It's not official, but was added there upon a very similar question: https://github.com/swcarpentry/git-novice/issues/507
If the advice works for you, please comment over there ;-)


Erratic Developer Preview behavior in macOS

Turning off Developer Preview is in the macOS client — version <IP_ADDRESS>64 running on a MacBook Air (Retina, 13-inch, 2018) with macOS 11.6.8 (20G730) installed — isn't a persistent setting; even when this setting is unchecked, the application will eventually restart itself with Developer Preview enabled. (Sometimes this application restart happens even while presenting, which is distressing to the user).
Also, the Developer Preview setting is sometimes unavailable — Developer Preview is enabled, but there is no option in the About menu to disable it, as illustrated in the following screen shot:

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

ID: 008da4e2-979e-c396-db28-4acf57deb530
Version Independent ID: f1413f77-5eb3-e1fd-9235-d322d6e4eb6c
Content: Public developer preview for Microsoft Teams - Teams
Content Source: msteams-platform/resources/dev-preview/developer-preview-intro.md
Service: msteams
GitHub Login: @surbhigupta
Microsoft Alias: lajanuar

We are mainly responsible for Microsoft Teams app development related issues.
For Microsoft Teams product issues/failures your tenant Admin can reach out to Microsoft 365 Product Support.
For general questions about Microsoft Teams please post your question on Microsoft Teams Community.

I was hoping issues with Developer Perview would be considered development-related.
At any rate, our IT department is in transition right now, and I’m not sure who’s handling tenant admin responsibilities. Could you please pass this to product support for us? A web search will turn up many instances of users discussing this issue.
Thanks for your help.

Added required tag.


🪲[Bug]:  The navbar keeps moving when we hover over the navbar elements.

Describe the bug
The navbar keeps moving when we hover over the navbar elements.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://akshitagupta15june.github.io/PetMe/blog.html'
Hover over home/contact us etc in the Navbar.
See error

Expected behavior
The navbar elements should not change in size and disturb the whole navbar. It should change colour and animate when hovering. This will help us to make the navbar look stable.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser -chrome

I am working under GSSoC'24 . Please assign me this issue .

Hmm it seems to be glitching


Where did FSharp.Compiler.CodeDom go?

Is FSharp.Compiler.CodeDom completely obsolete? In which successor project can I find it?
My usecase is xsd.exe together with CodeDom to create a F# type from an XSD. With FSharp.Data I only get XML to FSharp.

I patched https://xsd2code.codeplex.com community version to generate code for 4.0 and 4.5 plus (main reason ofc) FSharp codeprovider. Works like a charm but only in CSharp project though which, once generated will include it in the project and as such, have intellisense freak out because it cannot interpret any .fs files in a C# project. Anyhew, once I have some more time I'll have a look at it, seemed like the project was a tad outdated but these sort of growing pains in the F# tooling for VS might have been the reason though. Anyway, I'm happy since it generates the extension methods and all sorts of options I wouldn't have figured out in weeks probably. More than happy to share if anyone is interested.

Note the successor project and home for FSharp.Compiler.CodeDom is http://fsprojects.github.io/FSharp.Compiler.CodeDom/ (github site https://github.com/fsprojects/FSharp.Compiler.CodeDom)

closing this since the original question has been answered.


Add exports of SVG attributes

I have several kinds of SVGs in my project: most are icons, but some are pictograms with certain dimensions. Those SVGs are exported from Figma, so the correct dimensions are baked into the SVGs through the width and height attributes. I would like to access those attributes by importing them as named exports from the SVG file.
It could look like this:
import symbolPictogram404, { width, height } from "./pictogram-404.svg";

function Pictogram404() {
  return (
    <svg width={width} height={height}>
      <use href={`#${symbolPictogram404}`} />
    </svg>
  );
}

Since it slightly changes the exports of an *.svg module, we would also have to provide a declaration helper like SVGR does.
Is it something you would accept as a PR?

I seems nice, PR welcome.


[FEATURE] Add PPL support to unnest arrays

Is your feature request related to a problem?
Many log sources include arrays in a log line, and to efficiently extract and analyze these data, it would be very helpful to have a function in place to separate one log line that contains an n-element array to n log lines that contain one element from the array.
What solution would you like?
It's similar to the explode function in Spark SQL, and the expand function in Splunk.
What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.
Do you have any additional context?
Add any other context or screenshots about the feature request here.

@A-Gray-Cat thanks for your request - can you please add some context here if possible for an example command syntax or other language examples for such functionality ?

It's similar to the explode function in spark:
explode(expr) 	Separates the elements of array `expr` into multiple rows, or the elements of map `expr` into multiple rows and columns. Unless specified otherwise, uses the default column name `col` for elements of the array or `key` and `value` for the elements of the map.
Link: https://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#generator-functions
When using this in Spark SQL, it would be used with LATERAL VIEW at the same time:
SELECT r
FROM securitylake.amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_2_0 a
LATERAL VIEW EXPLODE(a.resources) as r


change title

- Summary

- Test plan

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

👷 Deploy Preview for luxury-fox-88d8c4 processing.

Name
Link

🔨 Latest commit
66900187d4fe7ecf32ccb3756a8d4ef0ec84ce19

🔍 Latest deploy log
https://app.netlifystg.com/sites/luxury-fox-88d8c4/deploys/627a9e1e1e528a0009dd043c


Better C++ compatibility and fixes to conditional branch/switch handling

I added couple of additional fixes to my branch and implementation for OpCompositeInsert instruction

@dfranx any chance of merging this? Fixes a major bug with OpPhi

@dfranx And chance we can get some traction on this?


🔄 synced file(s) with worgarside/github-config-files

synced local file(s) with worgarside/github-config-files.

This PR was created automatically by the repo-file-sync-action workflow run #6082557636

This PR is empty, closing it. :no_good:


Add a Remaining Time Sensor

Checklist

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

Is your feature request related to a problem? Please describe.
Would like to be able to check how much playtime there is left.
Describe the solution you'd like
A datetime sensor with the amount of screen time remaining.
In essence. PlayTimeLimit - UsedScreenTime.
Describe alternatives you've considered
Have attempted to create custom sensors, but the current two attributes are different types, and I would prefer to see this information in the one view, under the integration.
Additional context
N/A

Hi,
You can create a template sensor as a "workaround" for this.
I would publish as an attribute to the time entity, however Home Assistant doesn't allow overriding the additional state attributes property in the time platform currently.
{% set split_time = states('time.play_time_limit').split(':') %}
{{ ((split_time[0] | int) * 60)+(split_time[1] | int) - (states('sensor.used_screen_time') | int) }}

Not sure why I closed this now lol.
Just released a beta with a specific sensor for this.

Awesome thank you :)

The nintendo switch shows a remaining time which includes the bedtime alarm. Can you get the data via the api?


WIP Update Libp2p to v0.27.6

All chapters refactored to libp2p v0.24.6

@prateekreddy awesome work!
I ran the bootstrap code 2.2-finished-code.js and then ran the code 2.3-finished-code.js which just dials to the bootstrap. It throws this error:
(node:67986) UnhandledPromiseRejectionWarning: AggregateError:
    Error: protocol selection failed
        at module.exports (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/multistream-select/src/select.js:50:17)
        at async Upgrader._encryptOutbound (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/upgrader.js:361:36)
        at async Upgrader.upgradeOutbound (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/upgrader.js:168:11)
        at async ClassIsWrapper.dial (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p-tcp/src/index.js:42:18)
        at async TransportManager.dial (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/transport-manager.js:87:14)
        at async /Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/dialer/dial-request.js:58:18
        at async /Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/p-some/index.js:53:19
    at maybeSettle (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/p-some/index.js:31:11)
    at /Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/p-some/index.js:69:23
(node:67986) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:67986) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

The error seems to disappear once we add secio in the next chapter. Is the support for plaintext removed in the latest version?
can you check it out why?

Yes looks like encryption is mandatory now.

Other than the package version issue noted in my above comment, this looks great!

@prateekreddy awesome work!
I ran the bootstrap code 2.2-finished-code.js and then ran the code 2.3-finished-code.js which just dials to the bootstrap. It throws this error:
(node:67986) UnhandledPromiseRejectionWarning: AggregateError:
    Error: protocol selection failed
        at module.exports (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/multistream-select/src/select.js:50:17)
        at async Upgrader._encryptOutbound (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/upgrader.js:361:36)
        at async Upgrader.upgradeOutbound (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/upgrader.js:168:11)
        at async ClassIsWrapper.dial (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p-tcp/src/index.js:42:18)
        at async TransportManager.dial (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/transport-manager.js:87:14)
        at async /Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/libp2p/src/dialer/dial-request.js:58:18
        at async /Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/p-some/index.js:53:19
    at maybeSettle (/Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/p-some/index.js:31:11)
    at /Users/shresthagrawal/Desktop/study/libp2p/jslibp2p-chat-tutorial/assets/node_modules/p-some/index.js:69:23
(node:67986) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:67986) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

The error seems to disappear once we add secio in the next chapter. Is the support for plaintext removed in the latest version?
can you check it out why?

Per here, this can be fixed but you have to specify Plaintext as the connEncryption module in the options object for the node.  I did this locally 2.2 and 2.3 completed code sections and it works fine.
const Plaintext = require('libp2p/src/insecure/plaintext')
...
let options = {
    modules: {
        transport: [ TCP, WS, WStar ],
        connEncryption: [Plaintext]
    },...

Nice work, can you check out why does the code 6.2-finished-code.js doesn't work? the code until chapter 5 works perfectly

Oops looks like I missed chapter 6 completely. Let me  update the code in the chapter as  well.

Fired up 2 nodes using the 6.2 finished code and it works great.  Thanks for this!

@shresthagrawal @jjperezaguinaga Hey guys, any chance one of you can give this a final look so we can get it merged?  I'd love to have it merged this weekend if possible so we can start merging the content updates in the other PRs.


code review and bibtex

This pull request resolves #[ISSUE_NUMBER].
The pull request is in progress.
OR
The pull request is ready to be merged.
The details of the pull request:

Pull Request Test Coverage Report for Build 759

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 95.612%

Totals

Change from base Build 740:
0.1%

Covered Lines:
1874

Relevant Lines:
1960

💛  - Coveralls


Move arm-keyvault

Moving packages for arm-keyvault from packages@Azure and putting them under an sdk directory.
A few changes that have been made:

The source code directory lib has been renamed to src
All the links in various files referencing lib have been updated to src
The paths of all the data-plane package under keyvault service (@azure/arm-keyvault) have been updated eg: packages/@azure/arm-keyvault to the new structure path sdk/keyvault/arm-keyvault  to follow the structure sdk/servicename/packagename
All the corresponding links in different files like package.json, etc have also been updated for the new structure path
I have also updated the path in README.md (typescript) for azure-rest-api-specs.
Please review this as well https://github.com/Azure/azure-rest-api-specs/pull/5563

@salameer @daschult @kpajdzik @Azure/azure-sdk-eng

looks like you need to update the docsettings file as well as the readme tests are failing.


v0.44.0 - Cluster eks.aws.upbound.io unable to select subnetIds

What happened?
kubectl describe cluster.eks.aws.upbound.io/platform-ref-aws-cnoe-nm9pn-9l46l
Name:         platform-ref-aws-cnoe-nm9pn-9l46l
Namespace:
Labels:       crossplane.io/claim-name=platform-ref-aws-cnoe
              crossplane.io/claim-namespace=default
              crossplane.io/composite=platform-ref-aws-cnoe-nm9pn
Annotations:  crossplane.io/composition-resource-name: kubernetesCluster
              crossplane.io/external-name: platform-ref-aws-cnoe-nm9pn-9l46l
              upjet.upbound.io/test: true
API Version:  eks.aws.upbound.io/v1beta1
Kind:         Cluster
Metadata:
  Creation Timestamp:  2023-11-18T14:36:14Z
  Generate Name:       platform-ref-aws-cnoe-nm9pn-
  Generation:          718
  Owner References:
    API Version:           aws.platform.upbound.io/v1alpha1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  XEKS
    Name:                  platform-ref-aws-cnoe-nm9pn-wfzr7
    UID:                   50e377c8-d74d-4829-9184-048993a0f249
  Resource Version:        9953
  UID:                     7f8bc536-e65c-4697-8a98-ba5321503dc9
Spec:
  Deletion Policy:  Delete
  For Provider:
    Region:    us-west-2
    Role Arn:  arn:aws:iam::609897127049:role/platform-ref-aws-cnoe-nm9pn-5l8kf
    Role Arn Ref:
      Name:  platform-ref-aws-cnoe-nm9pn-5l8kf
    Role Arn Selector:
      Match Controller Ref:  true
      Match Labels:
        Role:  controlplane
    Tags:
      Crossplane - Kind:            cluster.eks.aws.upbound.io
      Crossplane - Name:            platform-ref-aws-cnoe-nm9pn-9l46l
      Crossplane - Providerconfig:  default
    Version:                        1.27
    Vpc Config:
      Endpoint Private Access:  true
      Endpoint Public Access:   true
      Subnet Id Selector:
        Match Labels:
          Access:                                       public
          networks.aws.platform.upbound.io/network-id:  platform-ref-aws-cnoe
  Init Provider:
  Management Policies:
    *
  Provider Config Ref:
    Name:  default
Status:
  At Provider:
  Conditions:
    Last Transition Time:  2023-11-18T14:36:23Z
    Message:               cannot resolve references: mg.Spec.ForProvider.VPCConfig[i3].SubnetIds: referenced field was empty (referenced resource may not yet be ready)
    Reason:                ReconcileError
    Status:                False
    Type:                  Synced
Events:
  Type     Reason                           Age                From                                              Message
  ----     ------                           ----               ----                                              -------
  Warning  CannotResolveResourceReferences  12m (x3 over 12m)  managed/eks.aws.upbound.io/v1beta1, kind=cluster  cannot resolve references: mg.Spec.ForProvider.RoleArn: referenced field was empty (referenced resource may not yet be ready)
  Warning  CannotResolveResourceReferences  11m (x3 over 12m)  managed/eks.aws.upbound.io/v1beta1, kind=cluster  cannot resolve references: mg.Spec.ForProvider.VPCConfig[i3].SubnetIds: referenced field was empty (referenced resource may not yet be ready)

kubectl get subnets
NAME                                READY   SYNCED   EXTERNAL-NAME              AGE
platform-ref-aws-cnoe-nm9pn-89k8b   True    True     subnet-0b286a046b6931ea6   13m
platform-ref-aws-cnoe-nm9pn-n8n2q   True    True     subnet-0a9814ca1268efc19   13m
platform-ref-aws-cnoe-nm9pn-nrj7g   True    True     subnet-070abff05f30d8712   13m
platform-ref-aws-cnoe-nm9pn-xqsd6   True    True     subnet-0caaa3fb58c03fe6f   13m

apiVersion: v1
items:
- apiVersion: ec2.aws.upbound.io/v1beta1
  kind: Subnet
  metadata:
    annotations:
      crossplane.io/composition-resource-name: subnetPublicB
      crossplane.io/external-create-pending: "2023-11-18T14:36:40Z"
      crossplane.io/external-create-succeeded: "2023-11-18T14:36:40Z"
      crossplane.io/external-name: subnet-0b286a046b6931ea6
      upjet.upbound.io/test: "true"
    creationTimestamp: "2023-11-18T14:36:14Z"
    finalizers:
    - finalizer.managedresource.crossplane.io
    generateName: platform-ref-aws-cnoe-nm9pn-
    generation: 4
    labels:
      access: public
      crossplane.io/claim-name: platform-ref-aws-cnoe
      crossplane.io/claim-namespace: default
      crossplane.io/composite: platform-ref-aws-cnoe-nm9pn
      networks.aws.platform.upbound.io/network-id: platform-ref-aws-cnoe
      zone: us-west-2b
[...]

How can we reproduce it?

What environment did it happen in?

Crossplane Version:
Provider Version:
Kubernetes Version:
Kubernetes Distribution:

after a while we will see:
Events:
  Type     Reason                         Age   From                                              Message
  ----     ------                         ----  ----                                              -------
  Warning  CannotObserveExternalResource  31s   managed/eks.aws.upbound.io/v1beta1, kind=cluster  failed to observe the resource: [{0 reading EKS Cluster (platform-ref-aws-cnoe-nm9pn-9l46l): RequestCanceled: request context canceled
caused by: context canceled  []}]

can see the same issue with v0.43.0 - perhaps its an problem with composition functions patch&transform - see with v0.43.0 every second a flip:
Vpc Config:
   Endpoint Private Access: true
   Endpoint Public Access:  true
   Subnet Id Refs:
    Name: platform-ref-aws-cnoe-66c8s-vldn9
    Name: platform-ref-aws-cnoe-66c8s-xtggc
   Subnet Id Selector:
    Match Labels:
     Access:                    public
     networks.aws.platform.upbound.io/network-id: platform-ref-aws-cnoe
   Subnet Ids:
    subnet-0d3ae81fc5a1a439b
    subnet-080d0fdea79012923

and
Vpc Config:
   Endpoint Private Access: true
   Endpoint Public Access:  true
   Subnet Id Selector:
    Match Labels:
     Access:                    public
     networks.aws.platform.upbound.io/network-id: platform-ref-aws-cnoe

okay looks like a generic problem with crossplane v.1.14 with v1.13 embedded patch & transform its working

feels like a problem with arrays and ref / selectors

Array are replaced, never merged by default. SSA has list-type: map. But for that it needs a key, which vpcConfig does not have. Hence, it is not surprising that Crossplane overwrites the array value created by the provider.

@haarchi Does it work on 1.14 with a "old" style composition (with a resources block, not referencing the patch-and-transform composition function)? My understanding was that in that case crossplane still used client-side apply, although I could be wrong.

The issue arises with the old style in version 1.14, where the function is not present. In version 1.13, everything is "working" correctly; subnetIds are resolved, the managed resource is created, and during creation, the subnetIds are not visible like 1.14. However, after the resource is ready, the subnetIds are late-initialized. This suggests that in version 1.13, it appears to be "working" possibly due to Crossplane not being fast enough in version 1.14. ?!

The root cause of this issue is https://github.com/crossplane/crossplane/issues/3335. As explained in detail there, the MR reconciler and the XR reconciler race on updating the list (spec.forProvider.vpcConfig) item:

The XR reconciler updates the label selector for the subnet IDs (spec.forProvider.vpcConfig[0].subnetIdSelector
The MR reconciler updates spec.forProvider.vpcConfig[0].subnetIds with the resolved references
The list item spec.forProvider.vpcConfig[0] is updated atomically. The MR reconciler preserves the label selector and thus what's observed is that the resolved subnet IDs appear and disappear.

Crossplane v1.14's XR reconciler reconciles more frequently when the XR is not ready and the problem is much more visible with Crossplane v1.14.

Hello guys,
Sorry I know that my question in not related to the issue but I saw that is seems you are using eks created by crossplane so I wanted to ask you how you managed to update aws-auth configmap during creation of the cluster? What I mean:
I create EKS with crossplane provider role and after that I can't access any of the resources and I am not able to update the aws-auth because only the role created the EKS has this permission. Unfortunately I can't assume this role... so the only way is update the aws-auth during creation of the cluster... Maybe I miss something.
Thank you in advance for any help :)


Use common prototype for ast nodes

Currently, instances of the AstNode interface use the Object prototype. In order to operate on these nodes, we currently use exported functions from files like ast-util.ts calculate additional information from the node like the document it belongs to. A call to them looks like this: getDocument(astNode).
I would propose to create a generic createAstNode method that automatically assigns a special AstNodePrototype prototype. This prototype would contain implementations for getDocument, streamContents etc. That way, we could use astNode.streamContents() instead.
Pros:

Fewer imports for the user
More obvious API surface for AstNodes.

Cons:

Makes everything more object oriented
Possible name conflicts, which could be resolved with our usual approach of prefixing with $

The good thing about  getDocument(astNode) is that it's very clear and no magic involved. Using prototypes would increase the API surface of the AST, so it would no longer be possible to create AST nodes with simple objects (this might become relevant if we go towards serialization at some point), but would require factory functions instead.
If in doubt, I'm for the variant that's slightly more verbose, but simpler.

Closing because we won't change this API after version 1.0 anymore.


Create README.md

Should:

Describe what the extension is about.
Link to https://chrome.google.com/webstore/detail/video-title-adder/ddpephnhacfpgcemhioaejgenlgadnnh
Show a few screenshots

I'll work on this!

Wow, lots of activity, heh. 👍
Thanks to @rauenzi, @prestonkyles and @RyanFitzgerald.
I will probably end up with a mix of your efforts. :)


feat: add @fuel-ts/utils/assets-utils package

Closes #1541

Closing this in favor of #1730. The new PR is based off of #1675


Dashboard changes

[ ] Missing property: distribution
[ ] Wrong percentage calculating:
For example: CPU capacity: 2, CPU allocatable: 1930m => response cpuUsagePercent field is 0.
[ ] Node(s) CPU and Memory units. These should be like /details endpoint:
(CPU capacity:4 CPU, memory allocatable: 13.01 GB)

Change ephemeral-storage field to ephemeralStorage also


Show hidden files

Let's enable the ability to show hidden files with the latest version of JupyterLab.

https://github.com/berkeley-dsep-infra/datahub/pull/3210/files
Related
The configuration seen in the image is an addition to a configuration defined elsewhere. See both:

https://github.com/berkeley-dsep-infra/datahub/blob/a50e5936613f741b6beb9d0ac7cfa7b3f50f8ed3/hub/values.yaml#L69
https://github.com/berkeley-dsep-infra/datahub/blob/50399c1561f9faa1d3214e8dbc310c2812bc644a/deployments/stat159/config/common.yaml#L51-L56

Yes, please! @consideRatio - any chance you could push this up to our hub as well? I think we're going to need it more and more... :)

THanks for the ping @fperez! It is now enabled!

Awesome, thanks a lot! Just checked and it works perfectly.


panamax misses latest release

i just noticed that panamax does not always get the latest release of all the crates.
i just ran it. the current latest version of the structopt crate should be 0.3.15 - but panamax only synced up to 0.3.12:
$ ls -1t | head
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.1

i have the same issue with e.g. libcryptsetup-rs (mirrored up to 0.2.1; should be 0.4.1)  and openssl (mirrored up to 0.10.28; should be 0.10.29).
am i doing something wrong? or may this be related to the rebasing of the git repository? (i run panamax daily using a cron job; but i check only occasionally if there was a problem with the git repo).
(maybe i was wrong when i claimed that re-cloning the git repo fixes all problems... my mirror seems pretty unusable by now.)

as a quick fix i re-initialized the mirror and downloaded everything again. this seems to work fine.

Glad to hear the workaround fixed it! At the moment, the crates.io-index git handling is very overcomplicated (instead of using a checked out repository, it tries to perform all operations on a bare repo) in an attempt to save some space. I plan on simplifying this significantly in #11 however, which hopefully will make this (and potentially other) bugs go away.

excellent. great news! thank you very much!
will you update the version on crates.io? or should i compile it from the sources here?
and will i have to re-initialize everything for the change from a bare repo to a checked-out repo?

Yep, I'll make sure to update it once that's complete.
When #11 is finished, you shouldn't need to re-initialize everything, but you will probably have to delete the crates.io-index directory. I'll try to make sure that's automatically handled, if possible.

great, thanks a lot!
i upgraded panamax yesterday and had it run tonight. so far everything works perfect! i will keep it running each night for some time now and see what happens.
thanks again!

Should be fixed by #19 . If this still happens, feel free to re-open this ticket.


fix link to open right travis link, try to build master AND pr builds

I added the travis link to readme, and it shows the right icon for build status but clicking it went to Travis's docs instead of our builds

because of the travis yml change if this doesn't work i'm going to end up undoing that change in the next PR :D


Fix sorting error and user metrics issue [ENG-1876]

Purpose
The total was not working properly on users when sorting, and the search would only return 10 records.
Changes
Adding a default ordering to the user metrics. Increased the user metrics search result size.
QA Notes

Does this change require a data migration? If so, what data will we migrate?
No.
What is the level of risk?
Moderate. Need to ensure this didn't break anything in the institutional metrics.

Any permissions code touched?
No.
Is this an additive or subtractive change, other?
Modification

How can QA verify? (Through UI, API, AdminApp or AdminAdminApp?)
API

If verifying through API, what's the new version? Please include the endpoints in PR notes or Dev docs.
v2/institutions/<institution_id>/metrics/users/
v2/institutions/<institution_id>/metrics/departments/
Make sure all sorting works, and try changing size of pages and make sure the totals stay consistent.

What features or workflows might this change impact?
Institutional Dashboard
How will this impact performance?
Might increase the time elastic search queries run
-->

Documentation
N/A
Side Effects
Elastic search query speed
Ticket
https://openscience.atlassian.net/browse/ENG-1876

Actually, one more thing: could you test that filtering for things after the first 10 also works? So if Raul is result 11, doing a filter[user_name]=Raul will actually bring up his result?


Enhancement: Reset Settings.

Have a reset settings option at the bottom of each list of settings.

I'll add this as a pr when I get home


Help for use with share extension in swift 3

Hi,
I'm using MBProgressHUD in my app that offers a share extension, which purpose is to upload a photo directly from the photo album to a server for image analysis.
I'd like that upload progress is shown during upload and, once that done, a message is displayed for 2 seconds stating that the image was correctly uploaded.
I use the following code but (1) it displays only a spinner during upload and (2) the final message is shown very briefly, very less than half a second.
What am I doing wrong?
Thanks a lot for your help.
Alamofire.upload(multipartFormData: { multipartFormData in
    multipartFormData.append(jpgImageData!, withName: "file",fileName: fname, mimeType: mime)
    for (key, value) in parameters {
        multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
    }
},
                 to:url!)
{ (result) in
    switch result {
    case .success(let upload, _, _):
        upload.uploadProgress(closure: { (progress) in
            print("Upload Progress: \(progress.fractionCompleted)")
            let progressHUD = MBProgressHUD.showAdded(to: self.view, animated: true)
            DispatchQueue.main.async(execute: {
                progressHUD.progress = (Float(progress.fractionCompleted))
                progressHUD.show(true)
                progressHUD.hide(animated: true, afterDelay: 2)
            })
        })

        upload.responseJSON { response in
            if response.response?.statusCode == 200{
                if let result = response.result.value {

                    DispatchQueue.main.async(execute: {
                        var message = "Success"
                        let progressHUD = MBProgressHUD.showAdded(to: self.view, animated: true)
                        progressHUD.label.text = message
                        progressHUD.show(animated: true)
                        progressHUD.hide(true, afterDelay: 2)
                        self.extensionContext?.completeRequest(returningItems: nil, completionHandler: nil)

                    })
                }
            }
        }
    case .failure(let encodingError):
        print(encodingError)
    }
}

You should ask questions like this on stackoverflow.com or similar sites. This is a bug tracker not a support forum.
That being said, two things I see immediately are that you are not setting the mode property and you are not calling showAdded on the main thread. There are probably other issues. Take a look at the example project.

You're absolutely right. I'm sorry, going to close the issue.
Thanks for your help.


⚠ TorrentLeech has degraded performance

In 8aeaab1, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 13348 ms

Resolved: TorrentLeech performance has improved in 1b811f0 after 9 minutes.


Conductor.OnActivate() shoudl not be required to call base.OnActivate()

Description
I've just stumbled on the following scenario:
I have a conductor, MyConductor. In its constructor, I immediately assign an ActiveItem. I expect that when MyConductor is activated, its ActiveItem will also be activated - and most of the times it works exactly that way.
However, if I override MyConductor.OnActivate(), the children are never activated. That's because children activation happens in Conductor.OnActivated(), and that method is overridden by MyConductor. So I have remember to call base.OnActivate() manually, or my ActiveItem won't get activated properly - which is an anti-pattern, see https://en.wikipedia.org/wiki/Call_super.
The same is true for OnDeactivate() and OnClose(): overriding these methods on MyConductor without remembering to manually call the base implementations results in ActiveItem failing to deactivate/close properly.
To Reproduce
var myConductor = new MyConductor();
ScreenExtensions.TryActivate(myConductor);

public class MyConductor : Conductor<IScreen>
{
	public MyConductor()
	{
		ActivateItem(new MyChild());
	}

	protected override void OnActivate()
	{
		//base.OnActivate(); <- I have to remember to call base here, or ActiveItem won't actually get activated
	}
}

public class MyChild : Screen
{
	protected override void OnActivate()
	{
		// never gets called!
	}
}

Version Info

Stylet version: 1.3.6
Runtime version: 7.0.5

Additional Info
The solution could be either:

Instead of overriding OnActivate()/OnDeactivate()/OnClose() methods, Conductor should rather listen for its own Activated/Deactivated/Closed events and change state of ActiveItem from there
Conductor should provide its own implementation of Activate(), Deactivate() and Close() and call Screen.TryActivate(ActiveItem) etc. from there

I'm willing to implement either one of the solutions, but I want to know your opinion first :)

Eh, needing to call the overridden method is common enough in .NET: you should always do it as a matter of habit. It also gives you control as to if and when to invoke the base method's behaviour, which people might be relying on.
At this point, any change here would be a breaking change though, I'm afraid.

I don't think the first solution would actually be a breaking change. Public API remains the same, and even when the users have indeed overridden Conductor.OnActivate() and called base.OnActivate(), their code would still compile and work as intended, but the base call would simply be a no-op, as there will be nothing to do in base.OnActivate().
The only publicly visible change is that from now on, ActiveItem.Activate() would always be activated after its parent Conductor.OnActivate() has returned; while until now, the users could potentially select the order of activation by deciding whether to call base.OnActivate() either before or after they did their work in Conductor.OnActivate().
I've created PR #379 with the first solution, but I'm not trying to force the issue. Please feel free to close the PR if you think it's too risky.

The breaking change is that people who don't call the base method or who rely on the sequencing of calling the base method, have behaviour they potentially rely on changed.
It's common in wpf that you call the base method in your override - look at ant OnXCC method on Window or UserControl. I don't think Stylet is taking an unusual approach here.

Also, I think there's a thread dispatch when the events are called?


SSL question

Hi there,
first of all, thank you very much for WatsonTcp and the time and effort you must have put into this great library!
I've just turned on SSL using a pfx file (with no password) which I copied to both machines. Just to see what would happen if the client had the incorrect certificate, I created another one and let the client connect using that. To my surprise there was no error and the client and server communicated just fine. Is this intended?
I've used this to create the certificates:
https://github.com/Azure/azure-xplat-cli/wiki/Getting-Self-Signed-SSL-Certificates-(.pem-and-.pfx)
Btw, the example on the front page shows "new WatsonTcpSslServer" but that class doesn't exist, instead the WatsonTcpServer takes the SSL related parameters.

Hi @Memphizzz thank you for your kind words.
If the server and client both have Settings.AcceptInvalidCertificates set to true, and, Settings.MutuallyAuthenticate set to false (both of these are default values), then self-signed certificates should work just fine.
If you wish to enforce that the certificates can be validated, set Settings.AcceptInvalidCertificates to false.
If you want to make sure the client and server use the certificates to authenticate with one another, set Settings.MutuallyAuthenticate to true.
The primary reason for these default values is to make it easy to get moving with SSL.
Thanks for the note on the README - I'll take care of that right now!
Cheers, Joel

Hi @jchristn,
thanks for your quick reply!
I basically want to use the certificates instead of a password authentication, so I would like the Connect() to fail if they don't have the same certificate using the certificates mentioned above if possible. How would I have to set AcceptInvalidCertificates and MutuallyAuthenticate in this case?
Oh and I think that it should be "Connect()" instead of "Start()" for the WatsonTcpClient in the example ;)

Hi @Memphizzz in your case you'd want to install the certificate into the certificate store on each machine (on Windows, start > run > certmgr.msc) to import the PFX file into the 'Personal' store (you can either do this under 'current user' or 'local machine' - use 'local machine' unless you do this under the same context as the user under which WatsonTcp will be running).
Once the certificate is loaded on both client and server:

If it's a self-signed certificate, keep Settings.AcceptInvalidCertificates as true.  If it's a cert from a CA your machines trust, set it to false
Then set Settings.MutuallyAuthenticate to true

I'll amend the README again - thanks for pointing it out!  Please let me know if this works.

Hi @jchristn thanks for getting back to me this quickly again.
The server is a ubuntu server running the exe under mono and the client is a windows desktop application, you wouldn't happen to know how to put that pfx into ubuntu's store?

I unfortunately don't have experience doing this in Ubuntu, but I did find this: https://askubuntu.com/questions/645818/how-to-install-certificates-for-command-line
Out of curiosity, any reason you are using Mono instead of .NET Core or .NET 5?

I see, I will try that, thanks!
It's an old project and I haven't bothered converting it to .NET Core yet since it has a lot of dependencies which I would have to check if they are .NET Core compatible as well.

Sweet!  If you happen to take notes and get it working, I'd love to use them as the basis for a wiki article. (If you have time of course!)

Of course, I will report back as soon as I got it working ;)


Where should we publish sbt-twirl to?

I want to publish twirl 1.6.0-M1, now I am asking myself where the sbt plugin should get published to?
The old 1.5.1 (plugin) release got published under com.typesafe.sbt in the read-only repo https://repo.scala-sbt.org/.
We could of course switch to com.typesafe.sbt on maven central, however looking at https://repo1.maven.org/maven2/com/typesafe/sbt/ it seems no one is actually publishing sbt-plugins there anymore. It seems all sbt-plugins are now moving to https://repo1.maven.org/maven2/com/github/sbt/. Actually, if you look at https://repo1.maven.org/maven2/com/typesafe/sbt/, the only newer stuff there is sbt-git, which IMHO should be published under com.github.sbt as well now, I don't know why they keep publishing to com.typesafe.sbt (started a discussion: https://github.com/sbt/sbt-git/issues/198). And sbt-play-ebean only published a RC3, and actually I think that's the same story like sbt-twirl here.
Shouldn't sbt-twirl (as well as sbt-play-ebean) now be published under com.typesafe.play?
Or I am completely wrong and should we keep it under com.typesafe.sbt? However, be aware that whoever wants to publish twirl then will need permissions to publish to com.typesafe.sbt (for the sbt-plugin) as well to com.typesafe.play (to publish the twirl-api,... libs).
Moving twirl (the plugin) to com.github.sbt would be another option, not sure however, because I think that means twirl should move to the sbt Github organization as well.

I vote for com.typesafe.play. Makes lot of sense.

So everyone voted for com.typesafe.play :+1:


Return the height of the current table

Hello,
Can you return the height of the table when a table is created using addTable function? This will be very helpful if we have for example 2 tables in one slide and with the height of the first table we can automatically set the "y" for the second table. Currently it seems there is no such API/Document and we need to work with source code to get such info.
Thanks!

Hi @YakQin
Even though the auto-paging code does some calculations along these lines, implementing this would still be costly and tricky and i'm not sure this passes the 'used by most people' threshold, so i'm going to pass on it for now.
Always appreciate for your feedback and contributions.

This feature is very useful if we use multiple Tables in a single slide.
Do we have any workaround for this?

@vrimar - not really. It's a complicated calculation/lots of code for <10% users, so it's not slated to be implemented.


Search result and playlist has no images

Please provide more information including :

Kaku version
OS platform and version
ctrl + alt + i (windows) or cmd + option + i (mac) to turn on inspector and switch to console panel and copy the error message you found
which song caused the problem or you can even use settings > backup to local feature to export your playlist contains that song and share it here for debugging use.
which platform you are using to listen to music (youtube, vimeo ... etc ?)
any error you found on the UI part

with these information, it would be helpful to help me dig out the problems, thanks :)

1.6.1-1
Arch Linux
log.txt
Every search result and playlists has no images. With last kaku version it was ok.
youtube

I did put the same search keyword "arch that back ..." and it works well here to get the thumbnail. I didn't change the logic to render thumbnail since last version so not sure whether this is related to the network issue there or something else.
If someone got Arch Linux, please help me give it a check because I had no this OS. :disappointed_relieved:

I can reproduce the issue. It's only with youtube search results, not with soundcloud or vimeo. Furthermore, the error
[19146:0112/150006:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR

is produced in the terminal. This seems like an electron or youtube issue, rather than an issue specifically with kaku. This might have something to do with https://www.archlinux.org/news/c-abi-change/ , since my arch package uses the prebuilt binary, and might not be linking to nss properly.

This happened to me also I'm on fedora

interesting, not sure why this is related to SSL hmm Can someone use ctrl + alt + i  to see the src of the image ? I want to make sure whether you guys did get the right url or not ?

i took this screenshot
[img]http://i.imgur.com/TiMoZI5.png[/img]

Interesting, so you guys did get searched images ! Can someone help to see why these images were not rendered on your devices ? Maybe as what @forivall said, this probably not a issue inside Kaku but I am not sure.
Any PR is welcome :)

If I have added video to playlist from Top Rankings, images are okey. But search result added images are missing.

Images coming from search results are mainly taken from the platform (YouTube, Vimeo ... etc) But the results work good here for me, so it would be nice to have someone jump in and debug what's going on there. I got no way to reproduce that.

this is the output when i run it from the terminal
[25697:0128/132429:ERROR:browser_main_loop.cc(173)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[25746:0128/132436:INFO:renderer_main.cc(200)] Renderer process started
[25697:0128/132439:INFO:CONSOLE(109)] "Download the React DevTools for a better development experience: https://fb.me/react-devtools", source: /home/dell/Downloads/apps/Kaku-linux32/resources/app.asar/node_modules/react/lib/React.js (109)
[25697:0128/132500:INFO:CONSOLE(48)] "Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of SearchbarContainer. See https://fb.me/react-warning-keys for more information.", source: /home/dell/Downloads/apps/Kaku-linux32/resources/app.asar/node_modules/react/lib/warning.js (48)
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132504:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132505:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132506:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132507:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25697:0128/132507:WARNING:nss_ssl_util.cc(370)] Unknown SSL error -12218 (SSL_ERROR_ENCRYPTION_FAILURE) mapped to net::ERR_SSL_PROTOCOL_ERROR
[25746:0128/132510:WARNING:channel.cc(549)] Failed to send message to ack remove remote endpoint (local ID 1, remote ID 1)
[25746:0128/132510:WARNING:channel.cc(549)] Failed to send message to ack remove remote endpoint (local ID<PHONE_NUMBER>, remote ID 2)

Here's another screenshot of the errors i get

@Joseph65 can you try to copy any .jpg from the console and see whether that image can be rendered on your browser or not ?

yes it rendered alright

Oddly enough, it's currently working on Manjaro, but still not on Arch.

@forivall any idea for this problem on Arch ?!

Now I have same problem with Ubuntu 15.10

Feel free to reopen this issue again if anyone notices somethings because right now it is lack of information and only happened on Linux


Comparable Enum Screen

Hey.
Thanks a lot for this awesome framework.
I added Comparable protocol to the enum Screen in order to do things like:
if Device.screen <= .inches_4_7 {
  // do something for all screen sizes equal or lower than 4.7 inches.
  // example: all iPods, iPhone 4, 4s, 5, 5c, 5s, 6, 6s, 7, etc.
}

Also, I added screen property in Version to achieve things like:
if Device.screen < Version.phone5.screen {
  // do something for all screen sizes lower than iPhone 5.
  // example: iPhone 4, 4s, etc.
}

Or just:
if Device.screen < Version.phone5 {
  // same as before
}

What do you think?

Nice update, thank you! Sorry for late merge...


drivers: serial: nrfx: Add pullups to RXD and CTS

Configured UART/UARTE input pins to have pullups. Otherwise when
uart is disconnected pins are floating and generate receiver
errors.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

Applied same corrections in uart_nrfx_uart.c.


GCC Warning

From this line
    memset(&m_ProfilerCallbacks, 0, sizeof(m_ProfilerCallbacks));
TaskScheduler.cpp:525:64: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct enki::ProfilerCallbacks’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
     memset(&m_ProfilerCallbacks, 0, sizeof(m_ProfilerCallbacks));

Thanks for reporting this, I'll resolve it shortly.

Once again thanks!

My pleasure! Thanks for the fix.


Replace StakerProxy's own implementation of a mutex by inheriting from Mutex contract.

This will be handled in this ticket.https://github.com/openst/mosaic-contracts/issues/763


Add isUserSettings

Add isUserSettings detector.
Test url:
https://github.com/settings
btw. the live demo is super helpful 👏

If this is accepted I would like to see 2 new additions.
isUserSetting and isuserProfileSettings
isRepliesSettings would need to be updated too.

isuserProfileSettings

What for?

isRepliesSettings would need to be updated too.

Do you mean it should be renamed?

Do you mean it should be renamed?

No what I mean to say is.
Make a general settings detection. And then update isRepliesSettings to use isUserSettings instead of settings/replies

And then update isRepliesSettings to use isUserSettings instead of settings/replies

How is that in any way better than the current url.pathname.startsWith('/settings/replies')?

How is that in any way better than the current url.pathname.startsWith('/settings/replies')?

It is not, but it will be consistent with all other detections.

It is not, but it will be consistent with all other detections.

I think you're referring to isRepo, which makes sense to be repeated since it's not a plain startsWith check. If not that, what other checks do that?

I think you're referring to isRepo, which makes sense to be repeated since it's not a plain startsWith check. If not that, what other checks do that?

You are correct

Thanks for the PR @stefanbuck :)


Add LinkedIn logo alongside instagram

Add link to LinkedIn page of official IETE DIEMS ISF alongside Instagram in Readme.md

hey i would like to work on it can you assign me this issue.


Make lighting parameters for whole planet

Remove each layer lighting parameters for the whole planet. It will helps to increase drawnode performance.

Closes via #443


parser: accelerate DecodeLayers

Most of frequently used (and natively supported) LayerType values are not very big, so we may attempt to use array to search DecodingLayer, fallback to map only if LayerType is too big. Similar approach as in RegisterLayerType. I chose 256 as a decent threshold.
Results on Xeon(R) CPU E5-2620:
benchmark                                      old ns/op     new ns/op     delta
BenchmarkDecodingLayerParserIgnorePanic-32     227           191           -15.86%
BenchmarkDecodingLayerParserHandlePanic-32     291           227           -21.99%

And one more thing. I don't want to overgeneralize (and please correct me if i'm wrong) but I suspect that most common usage pattern here suggests not so many DecodingLayer-s in a single DecodingLayerParser. Most of the time, up to ten layers is enough.
If that's true, naive linear search of DecodingLayer beats map, my laptop (Core i5-3320M) tests:
BenchmarkSearchMap3-4       	30000000	        50.4 ns/op
BenchmarkSearchMap5-4       	30000000	        56.2 ns/op
BenchmarkSearchMap10-4      	20000000	        73.2 ns/op

BenchmarkSearchArray3-4     	30000000	        40.2 ns/op
BenchmarkSearchArray5-4     	30000000	        39.3 ns/op
BenchmarkSearchArray10-4    	30000000	        39.5 ns/op

BenchmarkSearchLinear3-4    	30000000	        45.2 ns/op
BenchmarkSearchLinear5-4    	30000000	        50.0 ns/op
BenchmarkSearchLinear10-4   	30000000	        52.8 ns/op

That's a definite win if some custom LayerType values are in use, so you don't want to use array indexing (too big values).
And, in case of a simple Eth->IPv4->TCP packet, about 60-70% of DecodeLayers() call amounts to searching for an appropriate DecodingLayer rather than layer decoding itself.

I will investigate other ways to boost performance and will return later.

Hey, yerden,
This looked super promising; is there a reason the PR was closed out?

Well, other ideas came up to me, like:

DecodingLayerParser doesn't consider level of a layer. For example, LayerTypeEthernet may encounter at the beginning only, rather than in middle of a packet, so when looking for the first level decoder, layers.Ethernet should be the primary suspect to test against.

As I said earlier, in case we have only few decoders, linear search is preferable to map.

Proposed approach is good when using gopacket-owned LayerType values but it doesn't work when working with custom LayerType values. Maybe we should implement different array values >1000.

Maybe we could provide end-user with a tool to supply his own map implementation for LayerType->DecodingLayer lookup. This would require to break API.

So... I though I should take a break, test these ideas and revisit later. Or, alternatively, I can simply reopen this PR, allow it to merge and work on it for next PR. Any ideas?

Hello, everyone,
I've investigated various ways to gain some extra performance for DecodingLayerParser. In the course of it, I was pursuing these goals:

avoid breaking API;
avoid performance degradation in existing API;
provide maximum flexibility to suit end-user's needs.

So, I ended up adding DecodingLayerContainer which stores DecodingLayer values and allows to address them. Various implementations of DecodingLayerContainer are also presented: DecodingLayerMap, DecodingLayerSparse, DecodingLayerArray.
DecodingLayerParser is refactored to use DecodingLayerContainer. DecodingLayerMap is used by default in current implementation as the most versatile one. Additionally, new decoding logic omits redundant lookup of the first LayerType value. From another side, additional level of indirection may impose some overhead.
Of course, the user may write his/her own DecodingLayerContainer implementation if necessary. Those in need may refer to LayersDecoder function implementation in the package.
Here are benchmark results comparing with master branch, somewhat average value taken:
benchmark                                     old ns/op     new ns/op     delta
BenchmarkDecodingLayerParserIgnorePanic-4     133           130           -2.26%
BenchmarkDecodingLayerParserHandlePanic-4     188           181           -3.72%

As you can see, the performance is nearly the same (or even slightly better) for default DecodingLayerMap container.
Some additional benchmarks added to test new containers:
BenchmarkDecodingLayerParserIgnorePanic-4               10000000               130 ns/op
BenchmarkDecodingLayerParserHandlePanic-4               10000000               179 ns/op

BenchmarkDecodingLayerParserSparseIgnorePanic-4         20000000               113 ns/op (-13.1%)
BenchmarkDecodingLayerParserSparseHandlePanic-4         10000000               163 ns/op (-8.9%)

BenchmarkDecodingLayerParserArrayIgnorePanic-4          10000000               122 ns/op (-6.2%)
BenchmarkDecodingLayerParserArrayHandlePanic-4          10000000               170 ns/op (-5.0%)

BenchmarkDecodingLayerParserMapIgnorePanic-4            10000000               130 ns/op (~)
BenchmarkDecodingLayerParserMapHandlePanic-4            10000000               178 ns/op (~)

As you can see, DecodingLayerSparse container is the fastest with standard LayerType values.
These three benchmarks show how DecodingLayerContainer may be used as a standalone layers decoding tool. As you can see, DecodingLayerParser with identical container imposes some additional overhead though adds some abstraction.
BenchmarkDecodingLayerArray-4                           20000000               118 ns/op (-3.3%)
BenchmarkDecodingLayerMap-4                             10000000               124 ns/op (-4.6%)
BenchmarkDecodingLayerSparse-4                          20000000               106 ns/op (-6.2%)

Tests were run on a laptop (Core i5-3320M), go 1.12.5. Please cross-check the results since I don't have access to another not heavily loaded physical machine.
Some caveat. LayersDecoder method in all presented DecodingLayerContainer implementations is a carbon copy of the package's LayersDecoder function so it leads to some code redundancy. It may be avoided simply by doing indirect call to LayersDecoder() but in that case the performance gains are not convincing that much. I believe it is so due to inlining done by compiler.
Any thoughts?