Update README.md

HuggingFace -> Hugging Face

Haha thanks ;) I think I made this typo elsewhere too though.

Is this even an issue?

It looks more wrong with a space to me lol
They even write it like that in their own docs:

Closing due to multiple acceptable spellings of "HuggingFace"/"Hugging Face"


docs: site: Add GitLab CI/CD example for JWT Auth

Fresh user here!
I was reading the Using Pinniped for CI/CD cluster operations doc. It'd be great to expand this doc by providing some demo instructions about how can we use JWT Auth with GitLab to access kubeconfig from the pipeline.
As a reference, I can drop GitLab's Use HashiCorp Vault secrets in GitLab CI/CD and OpenID Connect (OIDC) Authentication Using ID Tokens docs.
Thanks.

Hi @Dentrax! Thanks for posting this suggestion.
Pinniped abstracts its internal usage of various token types (e.g. JWTs) so that hopefully you don't need to worry about the level of detail shown in either of those GitLab docs.
Here's an outline of the steps if you are using the Pinniped Supervisor:

Install and configure the Pinniped Supervisor to use GitLab as an OIDC identity provider (see https://pinniped.dev/docs/howto/supervisor/configure-supervisor-with-gitlab). Be sure to enable the password grant as described in that doc.
Install and configure the Pinniped Concierge on the target cluster (see https://pinniped.dev/docs/howto/concierge/configure-concierge-jwt)
Create a kubeconfig for that target cluster to distribute to your users by using pinniped get kubeconfig (see https://pinniped.dev/docs/howto/login). Be sure to specify the option --upstream-identity-provider-flow=cli_password so that the resulting kubeconfig will not use a web browser during end user logins.

Then it should "just work" for your users to be able to authenticate without requiring any interactive prompts by using that kubeconfig with the environment variables to hold their username and password (see https://pinniped.dev/docs/howto/cicd).
Is that what you were asking about? Or maybe you meant something else?

Thank you @cfryanr for your detailed explanations and links to useful resource!

Is that what you were asking about? Or maybe you meant something else?

After following the dos you shared, will I be able to obtain kubeconfigs for the cluster(s) in the GitLab CI/CD pipeline running with GitLab Runner? (non-TTY env)

Hi @Dentrax, sorry, I'm not too familiar with the details of GitLab Runner. What I outlined above would give you a kubeconfig that you could use from anywhere. You'd have to figure out how to provide that kubeconfig file to your CI/CD scripts (e.g. pull it from a git repo), but that kubeconfig would not have any credentials or identity included inside it, so it can be shared among all users of that cluster. By setting the env vars PINNIPED_USERNAME and PINNIPED_PASSWORD when using that kubeconfig, all interactive auth prompts will be skipped so no tty will be needed. So you would need to figure out how to provide the username and password of a user to your CI/CD scripts as those env vars, but hopefully that should be easy in any CI/CD system, since it is a common practice.

Ah thanks for PINNIPED_USERNAME and PINNIPED_PASSWORD hint! @cfryanr
Is this possible to make whole process KEYLESS? Are those variables mandatory? Why should we export those?
For example the Vault use-case, I don't export any USERNAME or PASSWORD thing in the CI/CD variables. Both Vault and GitLab verifies each other for trust, enabling keyless authentication with JWT. I was wondering if the same thing is possible with using the Pinniped Supervisor.
I can generate a kubeconfig on the CI, no problem. In my GitLab CI/CD pipeline case, I was mostly asking for, what variable should I particularly pass to pinniped login oidc <FLAGS> (Same as here? https://pinniped.dev/docs/howto/concierge/configure-concierge-jwt/, as you mentioned above?)
GitLab also exports ID_TOKENs, but I couldn't get which flag should I use to pass this variable. (I have read the doc above and there was no flag to pass id_token)

Is this possible to make whole process KEYLESS? Are those variables mandatory?

Pinniped's primary use case is to provide authentication for human users, where those identities are sourced from external identity providers (e.g. GitLab, AD, GitHub, etc.). So you would typically only use Pinniped for non-human auth (e.g. CI bot accounts) when you prefer that those identities are also sourced from an external identity provider in a fashion similar to your human users. That's why you need to provide a username and password to auth in the typical flow. Some companies prefer this approach because then they can have a single, consistent point of control for all human and non-human actors. However, using Pinniped for human auth does not disable any other forms of auth that are supported by your clusters, so you can still use Pinniped for human auth while using other solutions for service-to-service auth (non-human auth) at the same time.

GitLab also exports ID_TOKENs, but I couldn't get which flag should I use to pass this variable.

Maybe you're asking something else that I'm not understanding. Have you already acquired a JWT issued by GitLab somehow using some existing automation unrelated to Pinniped, and are you trying to use that JWT alone to authenticate to a cluster? Sorry, I'm not sure if I understand your use case. In the typical Pinniped use case, we do not assume that you start with a JWT.  Could you describe more about what you are trying to accomplish, without assuming that the reader has any knowledge of your specific tools?

Thank you @cfryanr! Really appreciate you trying to understand my use case and providing further details.

Could you describe more about what you are trying to accomplish, without assuming that the reader has any knowledge of your specific tools?

Happy to describe more! I've tried to draw some flow diagram here: (What I'm trying to accomplish)

Have you already acquired a JWT issued by GitLab somehow using some existing automation unrelated to Pinniped

GitLab already exports this with id_tokens by default

and are you trying to use that JWT alone to authenticate to a cluster?

Exactly! If pinniped supervisor verifies this using GitLab's JWKS, we should able to auth to cluster

In the typical Pinniped use case, we do not assume that you start with a JWT.

Yeah actually, in this scenario, the flow starts with an ID token. Is this something that doesn't fit with the current design/architecture?
I'm not so familiar end-to-end OIDC/JWT flow and terminology, sorry if I'm mixing things up here. Thanks in advance.

Hi @Dentrax, thanks for the diagram. That helped me understand your use case. Here is what I think might work:

On the target cluster, install the Pinniped Concierge and configure a JWTAuthenticator to validate these special ID tokens from GitLab. Be careful to set all the configuration options correctly. Note that this will allow anyone who can get ahold of one of those JWTs to authenticate into the cluster for the lifetime of that token. Hopefully you can make those tokens short-lived and restrict access to those tokens. Hopefully that token can have an audience value which is unique both for this use case and for that specific target cluster, to make the token worthless for other use cases and against other target clusters (not a requirement, but good for security).
With the cluster admin's kubeconfig, use pinniped get kubeconfig to generate a new kubeconfig for that cluster, but use the --static-token-env flag to choose the name of an environment variable where the special ID token will reside inside the CI job, e.g. MY_ID_TOKEN. You can do this once for the cluster, so this does not need to happen as part of the CI job.
Make sure that the pinniped CLI is available inside your CI job, along with the kubeconfig that you generated above.
In the CI job, make sure that the value of the ID token is exported into an environment variable with the name that you chose above, e.g. MY_ID_TOKEN.
In the CI job, make sure you are using the kubeconfig, e.g. by setting the KUBECONFIG environment variable or using the --kubeconfig flag, or however you prefer to accomplish that.
Now the CI job should be able to use kubectl and other similar clients that respect the kubeconfig. It should authenticate automatically.

@cfryanr Just to clarify - it's possible to use a static token against a JWTAuthenticator? I've only seen it used against a WebhookAuthenticator.
I'm guessing this kubeconfig would need to run command pinniped login oidc which does't seem to have any input parameters for a static token.
$ pinniped login oidc -h
Usage:
  pinniped login oidc --issuer ISSUER [flags]

Flags:
      --ca-bundle strings                        Path to TLS certificate authority bundle (PEM format, optional, can be repeated)
      --ca-bundle-data strings                   Base64 encoded TLS certificate authority bundle (base64 encoded PEM format, optional, can be repeated)
      --client-id string                         OpenID Connect client ID (default "pinniped-cli")
      --concierge-api-group-suffix string        Concierge API group suffix (default "pinniped.dev")
      --concierge-authenticator-name string      Concierge authenticator name
      --concierge-authenticator-type string      Concierge authenticator type (e.g., 'webhook', 'jwt')
      --concierge-ca-bundle-data string          CA bundle to use when connecting to the Concierge
      --concierge-endpoint string                API base for the Concierge endpoint
      --credential-cache string                  Path to cluster-specific credentials cache ("" disables the cache) (default "/Users/caseyj/.config/pinniped/credentials.yaml")
      --enable-concierge                         Use the Concierge to login
  -h, --help                                     help for oidc
      --issuer string                            OpenID Connect issuer URL
      --listen-port uint16                       TCP port for localhost listener (authorization code flow only)
      --request-audience string                  Request a token with an alternate audience using RFC8693 token exchange
      --scopes strings                           OIDC scopes to request during login (default [offline_access,openid,pinniped:request-audience,username,groups])
      --session-cache string                     Path to session cache file (default "/Users/caseyj/.config/pinniped/sessions.yaml")
      --skip-browser                             Skip opening the browser (just print the URL)
      --upstream-identity-provider-flow string   The type of client flow to use with the upstream identity provider during login with a Supervisor (e.g. 'browser_authcode', 'cli_password')
      --upstream-identity-provider-name string   The name of the upstream identity provider used during login with a Supervisor
      --upstream-identity-provider-type string   The type of the upstream identity provider used during login with a Supervisor (e.g. 'oidc', 'ldap', 'activedirectory', 'github') (default "oidc")

$ pinniped login static -h
Login using a static token

Use "pinniped get kubeconfig" to generate a kubeconfig file which includes this
login command in its configuration. This login command is not meant to be
invoked directly by a user.

This login command is a Kubernetes client-go credential plugin which is meant to
be configured inside a kubeconfig file. (See the Kubernetes authentication
documentation for more information about client-go credential plugins.)

Usage:
  pinniped login static [--token TOKEN] [--token-env TOKEN_NAME] [flags]

Flags:
      --concierge-api-group-suffix string     Concierge API group suffix (default "pinniped.dev")
      --concierge-authenticator-name string   Concierge authenticator name
      --concierge-authenticator-type string   Concierge authenticator type (e.g., 'webhook', 'jwt')
      --concierge-ca-bundle-data string       CA bundle to use when connecting to the Concierge
      --concierge-endpoint string             API base for the Concierge endpoint
      --credential-cache string               Path to cluster-specific credentials cache ("" disables the cache) (default "/Users/caseyj/.config/pinniped/credentials.yaml")
      --enable-concierge                      Use the Concierge to login
  -h, --help                                  help for static
      --token string                          Static token to present during login
      --token-env string                      Environment variable containing a static token

When you run pinniped get kubeconfig --static-token-env MY_ID_TOKEN then it creates a kubeconfig that contains pinniped login static. That command will call the TokenCredentialRequest for you. It will embed the token from your env var into the body of the request.
This use case doesn't need pinniped login oidc because pinniped login oidc will help you do the authcode flow to get tokens, but in this case @Dentrax is starting with a token already in hand and doesn't need help acquiring one.

I tried something like this. First I created a JWTAuthenticator like this:
apiVersion: authentication.concierge.pinniped.dev/v1alpha1
kind: JWTAuthenticator
metadata:
  name: demo-supervisor-jwt-authenticator-gitlab
spec:  # This should be the issuer URL that was declared in the FederationDomain.
  issuer: "https://gitlab.private.com"
  audience: workload1-dd9de13c370982f61e9f # the id of the workload cluster
  claims:
    username: email

Then I created a pipeline in GitLab like this:
manual_authentication:
  image: alpine:latest
  id_tokens:
    DEMO_ID_TOKEN:
      aud: workload1-dd9de13c370982f61e9f # the same audiance
  script:
  - apk add curl jq
  - |
    mkdir -p $HOME/.kube
    cat "$KUBECONFIG" > $HOME/.kube/config
    export KUBECONFIG=$HOME/.kube/config
    export PINNIPED_USERNAME=gitlab
    export PINNIPED_PASSWORD=$CI_JOB_TOKEN
    curl -Lso pinniped https://get.pinniped.dev/v0.36.0/pinniped-cli-linux-amd64 \
    && chmod +x pinniped \
    && mv pinniped /usr/local/bin/pinniped
    echo "${DEMO_ID_TOKEN}" |base64 > /tmp/web_identity_token
    cat /tmp/web_identity_token
    DEMO_TOKEN=$(cat /tmp/web_identity_token |base64 -d)
    pinniped get kubeconfig \
      --static-token $(cat /tmp/web_identity_token |base64 -d) \
      --concierge-api-group-suffix=pinniped.dev \
      --concierge-endpoint=https://x.x.x.x:6443 \
      --concierge-authenticator-name=demo-supervisor-jwt-authenticator-gitlab \
      --concierge-authenticator-type=jwt \
      --oidc-scopes openid,offline_access,email > /tmp/kubeconfig
    cat /tmp/kubeconfig
    KUBECONFIG=/tmp/kubeconfig pinniped whoami

But the pipeline fails with the following error:
Error: could not complete Concierge credential exchange: login failed: authentication failed
Error: could not complete WhoAmIRequest: Post "https://x.x.x.x:6443/apis/identity.concierge.pinniped.dev/v1alpha1/whoamirequests": getting credentials: exec: executable /usr/local/bin/pinniped failed with exit code 1

The ID_TOKEN includes these claims : https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#token-payload
I'm 100% sure I'm missing something due to lack of knowledge, would you mind helping us @cfryanr? Thank you!
/cc @Dentrax

@developer-guy I see a few problems with what you posted.

According to the GitLab doc that you shared, there will be no email claim in the ID token. It will be called user_email instead. So if you want the value at that claim to become the user's Kubernetes username, then you would need to specify user_email as the JWTAuthenticator.spec.claims.username value.
You don't need PINNIPED_USERNAME and PINNIPED_PASSWORD when you are using the ID token as the credential in this way. Those env vars are only for when you are using the Pinniped Supervisor for authentication.
You shouldn't need the following arguments to pinniped get kubeconfig:    --concierge-api-group-suffix=pinniped.dev    --concierge-endpoint=https://x.x.x.x:6443 --oidc-scopes openid,offline_access,email

If it still doesn't work after making those changes, look at the pod logs for the Concierge pods at the same timestamp as the authentication failure. You should be able to get more information about why it failed.

it worked, thank you very much!!!


Handle symlinks in zip output filenames

Fix issue #128
This fixes the root cause for this problem https://github.com/phonegap/phonegap-app-developer/issues/299 and also adds logging in the zip error handler.

:+1:
Running on linux building for Android using Ember CLI, was getting the "Can't set headers after sending" error.
I can confirm that symlinks were causing the issue for me and that this change fixes it.

Thanks for the nudge @peteonrails! I'll review and merge this pull request if there are no issues!

@sundbry thanks for the pull request and sorry for the slow response. I've just looking into applying your work now.
I've setup my test directory as follows:
my-app/
|__ img/
|__ www/
     |__ img/ -> ../img

Your patch resolves the error that causes the process to terminate. Unfortunately, it's not adding www/img/ to the zip archive.
I'll continue to look into it, but I'm dropping you this line in case I'm missing something obvious.

I've merged #116 to resolve the sym-link issue on both Windows and OS X.

<EMAIL_ADDRESS><EMAIL_ADDRESS>
Thanks for the PR @sundbry! Again, sorry for the delayed review.

Cool thanks @mwbrooks, I'm glad to be able to contribute.

is this not merged yet ?

Hi @darkyen, I merged a different pull request, which has resolved the sym-link issue on OS X and Windows (from my own testing).
The fix is available in<EMAIL_ADDRESS>

@mwbrooks  damn, thanks for the reply and just installed<EMAIL_ADDRESS>many thanks !

Awesome!


adding a custom prompt results in Settings schema Error!

Hello,
While trying to add a custom prompt by editing the logseq-plugin-ai-assistant.json file to add a custom prompt as described in the Readme :
 {
  "apiKey": "MyKey",
  "basePath": "https://api.openai.com/v1",
  "model": "gpt-3.5-turbo",
  "customPrompts": {
    "enable": true, // <- Make sure to enable this.
    "prompts": [
      {
        "name": "Markdown Table",
        "prompt": "Please generate a {{text}} Markdown table",
        "output": "replace" // "property", "replace" or "insert"
      }
    ]
  },
  "disabled": false
}

The plugin can not be used anymore and logseq now displays a "Settings schema Error! " when trying to configure the plugin.
Reverting to  "prompts": [ ] fixes the error.
Logeq version 0.9.17
Thanks for you help,

I just tried it, and it's always working.
Make sure you have removed the comments in the JSON file, such as // <- Make sure to enable this..
 {
  "apiKey": "MyKey",
  "basePath": "https://api.openai.com/v1",
  "model": "gpt-3.5-turbo",
  "customPrompts": {
    "enable": true,
    "prompts": [
      {
        "name": "Markdown Table",
        "prompt": "Please generate a {{text}} Markdown table",
        "output": "replace"
      }
    ]
  },
  "disabled": false
}


Decide on default amount of logfile backups

Just out of curiosity: why 0? Anything to be said against log rotation? Not that it matters much, just curious why it's set this way everywhere.
Originally posted by @dergigi in https://github.com/joinmarket-webui/joinmarket-webui-docker/pull/1#discussion_r798416426

Closing this for now. If it ever comes up again, please reopen or create a new issue.


Heap Size Flexibility + Interrupt handling.

Coverage increased (+0.07%) to 78.108% when pulling<PHONE_NUMBER>c0d751d6c1a83b2cba511937c5c8f2 on goru97/docker-bf-memory-improv into fbaf6b01f8f4f9ef5d6631844d6e4523e4ad8424 on master.

+1 - other than my naming comment.

Changed INITIAL_HEAP_SIZE to MIN_HEAP_SIZE.

Coverage increased (+0.09%) to 78.13% when pulling 75b74a2cad6b5531e0ca35c92280873b39226fa0 on goru97/docker-bf-memory-improv into fbaf6b01f8f4f9ef5d6631844d6e4523e4ad8424 on master.


When a category is selected, but then it disappears from the view, widget says all categories are selected but that's not right

https://github.com/CartoDB/deep-insights.js/pull/263


Request time percentiles stats

I'd like to have also stats about request time percentiles.

I will come up with a consistent solution for this and carbonzipper (at least..)


Fixing anchor link in docs

Making sure anchor link works based on this feedback:
https://discord.com/channels/913109211746009108/1076981721075036251/1256527076203429918

Fixed by https://github.com/liveblocks/liveblocks/pull/1815
So cancelling this PR


best performance training config on nuscenes

VoxelNet

Model
Validation MAP
Validation NDS
Link

centerpoint_voxel_1440
59.6
66.8
URL

PointPillars

Model
FPS
Validation MAP
Validation NDS
Link

centerpoint_pillar
31
50.3
60.2
URL

Hi,  I want reproduce the voxel and pointpillars results above, the CONFIG_PATH should be what?
python -m torch.distributed.launch --nproc_per_node=2 ./tools/train.py CONFIG_PATH

THanks!
:)

this one https://github.com/tianweiy/CenterPoint/blob/master/configs/nusc/pp/nusc_centerpoint_pp_02voxel_two_pfn_10sweep.py
for a slightly better result, you can use https://github.com/tianweiy/CenterPoint/blob/master/configs/mvp/nusc_centerpoint_pp_fix_bn_z_scale.py
it has slightly better data augmentation parameters and achieve 52.4 map / 61.5 nds in my experiments. models are available at https://github.com/tianweiy/MVP#main-results

this one https://github.com/tianweiy/CenterPoint/blob/master/configs/nusc/pp/nusc_centerpoint_pp_02voxel_two_pfn_10sweep.py
for a slightly better result, you can use https://github.com/tianweiy/CenterPoint/blob/master/configs/mvp/nusc_centerpoint_pp_fix_bn_z_scale.py
it has slightly better data augmentation parameters and achieve 52.4 map / 61.5 nds in my experiments. models are available at https://github.com/tianweiy/MVP#main-results

thanks for your reply.
Now i have the answer of best result of centerNpoint based on pointpillars.
could you tell me the config path pf best result of centerpoint based on voxelnet? @tianweiy
thanks!
:)


[android] Do not try to turn EOF into an UInt8

Android is one of those platforms that define the symbol EOF as a
negative number. Trying to turn it into an UInt8 will only crash the
test. Move the transformation after we have checked for EOF first. In my
opinion, in other platforms, having the EOF attached to the getline
result was also invalid, and that's probably why the two test that use
EOF were sending an extra newline.
Even with this, the tests do not pass on Android because it deadlocks
waiting for input/output from the child process, which never happens. I
haven't find why this happens, but only happens if the last test of the
suite closes stdin. I will try to fix that in another PR.

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 5835cebe995dd5372662b9418f4bcbc7d076ee0b

Build failed
Swift Test OS X Platform
Git Sha - 5835cebe995dd5372662b9418f4bcbc7d076ee0b

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 5835cebe995dd5372662b9418f4bcbc7d076ee0b

@swift-ci please test macOS platform

Build failed
Swift Test OS X Platform
Git Sha - 5835cebe995dd5372662b9418f4bcbc7d076ee0b

@swift-ci please test macOS platform

@swift-ci please test macOS platform

Yeps. Testing still doesn’t work for me.

@swift-ci please test macOS platform


[example] Fix TypeScript compilation error

alpha.8 needs a Theme import and typed theme passed to useStyles (issue #15542)
Line 15:
useStyles = makeStyles((theme: Theme)

[x] I have followed (at least) the PR section of the contributing guide.

Closes #15542

I'm not sure the example is the right place. Our demos should already display this.

@emmtqg It's in the /src folder.

I think that we should merge this pull request as is, waiting for the TypeScript fix to be released.

@emmtqg Thank you!
@eps1lon We can update the examples once v4.0.0-beta.1 is released. We might want to change the demos at the same time :).


Update mod compatibility for 1.18.2

Allows newer versions of sodium/iris for 1.18.2 to work with this mod.

I actually agree but you are missing one more thing. we need Iris compatibility for it to go along with sodium and will allow the shaders to be enabled

build.zip
this is the build.gradle file, I modified it so it would have the Sodium & Iris supported with the 1.18.2 versions but it will not let me build the .jar

good name change

Did you test whether it works with the new sodium and iris?

I roughly tested and it seems to work.

I couldn't build the gradle, for me it said I was using deprecated gradle features, I did try to make a jar of it, so I couldn't test the Iris & Sodium mods at all.

I couldn't build the gradle, for me it said I was using deprecated gradle features, I did try to make a jar of it, so I couldn't test the Iris & Sodium mods at all.

Could you post a full log? I was having a similar error and I had to reinstall Java and reset my gradle config.

Did you test whether it works with the new sodium and iris?

we couldn't, it wasn't letting us build the .jar, I tried using the gradle and it said I had deprecated gradle features and they told me to use gradle 8.0 when it doesn't exist.

Did you test whether it works with the new sodium and iris?

we couldn't, it wasn't letting us build the .jar, I tried using the gradle and it said I had deprecated gradle features and they told me to use gradle 8.0 when it doesn't exist.

There should be an error printed before the deprecated gradle features warning.

gradlew build error.txt
here it is, since it was too long, I putted it in a txt

gradlew build error.txt here it is, since it was too long, I putted it in a txt

It looks to be having trouble locating dependencies to build, try deleting and downloading a new clone and building again

I did that already, It just doesn't work for me.

Idk how I would fix it, I've been looking up how to.


Reuse an immutable ObjectMapper, and perform a full (deep) value equa…

…lity on serialized JSON.

Thanks!


tensorflow_backend.py add backend deleted in Keras

I'm creating a workaround for keras_backend change by directly incorporating the relevant backend code from keras/backend/tensorflow_backend.py into keras_contrib.
The unit test failures are caused by changes form https://github.com/fchollet/keras/commit/6b106ab4ec9a1c0eb3e24ae590ce63f84022ad40.
Long term this needs to be fixed properly to match and use the functions in the keras/master tensorflow backend.

closing in favor of https://github.com/farizrahman4u/keras-contrib/pull/169


SmokeCloud.smokeview version 1.15.6

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Manual Validation ended with:

2024-07-23 09:12:24.514 [FAIL] Installer failed security check. Url: https://smokecloud.io/smvlua/releases/windows/x86_64/1.15.6 Result: 0x80004005

(Automated response - build 886.)


Revert "[wasm] Minify the Emscripten JS files"

Reverts GoogleChromeLabs/chromeos_smart_card_connector#435.
Another bug was discovered in Emscripten related to this flag:
https://github.com/emscripten-core/emscripten/issues/15692
Until that issue is resolved, reverting our usage of the flag, so that
the Smart Card Connector works when built in Release mode.

For posterity, more bugs were discovered in Emscripten (https://github.com/emscripten-core/emscripten/issues/15734), so we'll hold off relanding this commit.


Testing mathcomp 1.15

Testing https://github.com/NixOS/nixpkgs/pull/180779

I guess we can merge (CI is green).


Google vision camera tell

Hi
Iam Naveen
I doing Google vision as my final year project.
I need block diagram of these project.
I need your help for these project
Thank you


Notify user (snackbar) when settings are updated

If the settings object changes, throw up a sidebar that says something along the lines of "you're saved preferences have been loaded".

@tzarebczan, besides the object being updated during (1) Desktop App startup and (2) logging into Web, are there other situations where this would happen?
From my experiment, the snackbar just ends up appearing on every startup and login.  For the web case, it feels useful since there are visible changes (e.g. theme) and the notification is a good reminder of what's happening, but for Desktop, it feels a bit annoying.
(p/s: In master, I'm not sure why my Desktop is having 2 sets settings -- at startup, I can see two sets of followed channels being toggled.  I don't recall this happening in the past.)
If this is the desired behavior, I'll post the PR.

Thanks for investigating! We're currently working on changing the sync process a bit to resolve the problem you are seeing on Master.
I think we need some additional logic to do a diff between what's actually loaded in redux/local state vs what's applied via preference set. Right now you are right, there may be too many false positive notifications since we save preferences without checking if something actually changed/needs to be saved.
Probably worth revisiting after our current work goes through.


offer a post route that increments a counter belonging to a level

The counter will indicate how often the level has already been played.
Problem: Protect agains spam
Client feature: https://github.com/TouchTheBeat/TouchTheBeat/issues/49

Please make the route non-protected, so that the counter can also be increased when non-logged-in users play the level.


CD set up & Dependabot

As an Automation Developer. I will want to make sure my team has a GitHub repo configuration that continuously deploys approved changes to the main branch, and then in turn deploys changes to the client's servers. Ideally I will employ a Dependabot. I will get in touch with the lead engineer should I have any questions or need support. I will utilize GitHub Actions for my CD.
Story Points: 6-12

This Issue is complete, yes?

This issue is outdated since we've moved to our new user story format.


46 cleanup nav bar

Preview:

Description
:recycle: Refactor: Trimmed navbar for better user experience. src/components/Header.astro
:recycle: Refactor: Temporarily disabled dark mode due to unfinished style board. src/components/Header.astro
:recycle: Refactor: Improved clarity and readability in Navigation component. src/components/Header.astro
:bento: Update: Fixed incorrect URL in Guides component.
:memo: Update: Updated syntax for improved maintainability in Guides component.
:lipstick: Update: Enhanced styling in Header component for better visual appeal. src/pages/guides/[...page].astro

I'm having a problem with the Get request not reading the file type properly. Maybe it has to do with the schema of the default layout but i have to check further

Looks good other than the gradient image missing, did you get a chance to figure that out @rcmtcristian?

Gradient missing is a path adjustment in background class in the file [...page].astro

Closed - Refactored in issue #46 Due to conflicts with main branch


Listen for detection event and take photo.

How can I listen to the "motion detection" event, take a photo and capture it ?
In case I need to get a photo every time the "motion detection" event is activated.
thank you since now

You'll need to use another application that implements this library to achieve that.  Home assistant is the most popular use case and it can do what you're looking for.

Understand. Would I be able to listen to the motion detection event and perform an action every time motion detection is activated? Because if I can, I thought about doing this and use the camera's api to take the photo through an http and every time there is a motion detection.

This library listens to the camera/nvr event stream and pushes them to subscribers. If you'd like to roll your own program the basic usage example shows you how to subscribe to the events, from there it would just be a matter of a requests call to the camera image url to save the image.

Got it, I'll create the script and return here with the result. Thanks a lot for the help!

would like to see some fragment-code for this here
(as i try the same as a newbie...) thx


Tasks related ideas

Add notes, clickable links, pictures
Dates - Important, deadline, created, modified
Change history, footnote, logs
Drag and drop
Category tags
Searching

Able to add code snippet

Add check mark for completion
Todo by settings

Name list for check mark ( for questions, for example)
Could be the same as tags


h1 > small > abbr does not look good

How to reproduce this bug:
Sample code:

ACLS, PALS and BLS training
    for EMS professionals

What should happen:
abbr is given appropriate weight and color.
What happened instead:
Rendering:

Browser(s) and Device(s) tested on:
macOS / Chrome
Test case link:
http://codepen.io/anon/pen/pPxJLm

So it should inherit the font weight and color?
Makes sense to me - are you able to submit a PR for this so we can add it to the framework?

PR sent, https://github.com/zurb/foundation-sites/pull/10067

You rock!


Ridicules questions: 2 in English read 二 èr

Self Checks

[X] This template is only for bug reports. For questions, please visit Discussions.
[X] I have thoroughly reviewed the project documentation (installation, training, inference) but couldn't find information to solve my problem. English 中文 日本語 Portuguese (Brazil)
[X] I have searched for existing issues, including closed ones. Search issues
[X] I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
[X] [FOR CHINESE USERS] 请务必使用英文提交 Issue，否则会被关闭。谢谢！:）
[X] Please do not modify this template and fill in all required fields.

Cloud or Self Hosted
Self Hosted (Source)
Environment Details
macOS python 3.12
Steps to Reproduce
-t "With Docling v2, we introduce a unified document representation format called DoclingDocument. It is defined as a pydantic datatype, which can express several features common to documents"
✔ Expected Behavior
[tuː] not èr in english
❌ Actual Behavior
èr

奇怪的外国口音：二十点零四

重复


Improve documentation of project structure to ease onboarding of new contributors

Is your feature request related to a problem? Please describe.
From the point of view of a new module developer I have some feedback on the documentation of the whole tool. It is currenlty rather laborious to find your way around the file structure, dependencies within the code base and how the data is handled and stored.
Describe the solution you'd like
Introduce a page to the documentation with a visual representation of the architecture of the tool. This should include the base classes used for ui and backend, how the data flows including where it is stored, where the skeleton code for proteobench ends and module specific code starts (e.g. the quant scores are proteobench wide as far as I understand?).
Additional context
I am currenlty trying to plan the implementation of my proposed module and rerunning of results files if the code changes and a visual representation of the data flow would be very helpful for that.

Here is something that I dug up from old discussions :)
ProteoBench C, using common notation.pdf


Support tuples in model roots

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
Or, I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
Here's a self-contained minimal, reproducible, example with my use case:

from fastapi import FastAPI
from pprint import pprint
from fastapi.testclient import TestClient
from typing import Tuple, Dict, List
from pydantic import BaseModel

app = FastAPI()

class TupleModel(BaseModel):
    __root__: Tuple[int, str]

class DictModel(BaseModel):
    __root__: Dict[str, str]

class ListModel(BaseModel):
    __root__: List[str]

@app.get('/', response_model=TupleModel)
def get(l: ListModel, d: DictModel):
    return TupleModel([1, ''])

print(TupleModel.schema_json())  # works
print(DictModel.schema_json())  # works
print(ListModel.schema_json())  # works
print(app.openapi())  # breaks

{"title": "TupleModel", "type": "array", "items": [{"type": "integer"}, {"type": "string"}]}
{"title": "DictModel", "type": "object", "additionalProperties": {"type": "string"}}
{"title": "ListModel", "type": "array", "items": {"type": "string"}}
Traceback (most recent call last):
  File "test_tuple.py", line 30, in <module>
    print(app.openapi())
  File "/home/me/.local/share/virtualenvs/rarbg_local-S8att4rT/lib/python3.8/site-packages/fastapi/applications.py", line 105, in openapi
    self.openapi_schema = get_openapi(
  File "/home/me/.local/share/virtualenvs/rarbg_local-S8att4rT/lib/python3.8/site-packages/fastapi/openapi/utils.py", line 372, in get_openapi
    return jsonable_encoder(OpenAPI(**output), by_alias=True, exclude_none=True)
  File "pydantic/main.py", line 346, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 2 validation errors for OpenAPI
components -> schemas -> TupleModel -> items
  value is not a valid dict (type=type_error.dict)
components -> schemas -> TupleModel -> $ref
  field required (type=value_error.missing)

Description

Ideally this would be supported in fastapi as it in pydantic

If you're happy to see this fixed, I can (attempt to) raise a pr to fix it myself

Hey @Mause how is it going? Have you already tried to fix it?

Just found this is related to #466, as @tiangolo says

tuples with exact values inside are explicitly unsupported by OpenAPI

I do not think we can implement this, but I could not find that part in the OpenAPI specification either.

I think this will be doable once https://github.com/tiangolo/fastapi/pull/3038 is merged. With 3.1 any JSON schema will be valid. And with https://github.com/samuelcolvin/pydantic/pull/2497 the generated tuple schema should be the expected one

Tuples are supported directly in FastAPI, but not with the __root__ trick, as FastAPI uses and encourages the annotations directly, and it can handle them directly, because internally it creates Pydantic fields for each parameter. Nevertheless, OpenAPI and the current version of Swagger UI don't support showing them in the docs, so yeah, that doesn't work.
The latest version of OpenAPI, based on the latest JSON Schema, does support them, but Swagger UI still doesn't support that version.
Pydantic v2 will come with the latest JSON Schema, and FastAPI will support the latest OpenAPI using it, although doing some tricks, probably declaring it as a previous version, to make Swagger UI keep rendering the rest (while they make a release that supports the latest versions).
This is gonna be updated with the update to Pydantic v2, but without __root__ fields, instead, using type annotations directly.
Given that I'll close this issue to clean up things, as this is mainly a drawback of Swagger UI. But still, soon with Pydantic v2 and the latest OpenAPI (with overridden tricks for the version, to convince Swagger UI) we'll have a way to do this.


Modern Events Calendar template rendered after  tag

[x ] I've read the guidelines for Contributing to Roots Projects
[x ] This request isn't a duplicate of an existing issue
[x ] I've read the docs and followed them (if applicable)
[ x] This is not a personal support request that should be posted on the Roots Discourse community

Description
Viewing an event created with Modern Events Calendar Pro renders the_content after the </html> tag.
Steps to reproduce

Enable Modern Events Calendar in a site using a sage 9 based theme
Create event
View event page

Expected behavior:
--------------------
¦    Sage header   ¦
--------------------
¦    MEC Content   ¦
--------------------
¦    Sage footer   ¦
--------------------

Actual behavior:
--------------------
¦    Sage header   ¦
--------------------
¦    Sage footer   ¦
¦     </html>      ¦
--------------------
¦    MEC Content   ¦
--------------------

Reproduces how often:
Consistently
Versions
9.0.10: November 9th, 2020
Additional information
In my theme I have created a header.php and footer.php respecting the golden rule (silence is gold), which I had to do to make it compatible with the Elementor plugin.
I've tried overriding the single-mec-events.php and I guess I could make it work by overriding each template used by the plugin. However, this feels like a bad practice, given that I'm not planning to change anything within those templates and I want them to update along with the plugin.
Theme template:
<?php
/** no direct access **/
defined('MECEXEC') or die();

/**
 * The Template for displaying all single events
 *
 * @author Webnus<EMAIL_ADDRESS> * @package MEC/Templates
 * @version 1.0.0
 */
get_header('mec'); ?>

    <section id="<?php echo apply_filters('mec_single_page_html_id', 'main-content'); ?>" class="<?php echo apply_filters('mec_single_page_html_class', 'mec-container'); ?>">

        <?php do_action('mec_before_main_content'); ?>

        <?php while(have_posts()): the_post(); ?>

            <?php $MEC = MEC::instance(); echo $MEC->single(); ?>

        <?php endwhile; // end of the loop. ?>
        <?php comments_template(); ?>
    </section>

    <?php do_action('mec_after_main_content'); ?>

<?php get_footer('mec');

Some more details here: https://discourse.roots.io/t/custom-plugin-template-rendering-after-html-overriding-template-duplicates-html-block-in-page/19972

Some more details here: https://discourse.roots.io/t/custom-plugin-template-rendering-after-html-overriding-template-duplicates-html-block-in-page/19972

Turns out that the problem was this snippet I was using to make my theme compatible with BuddyPress.
Does someone know why it was creating the conflict? (would be useful to undersand it and to have it documented somewhere)

/**
 * Adds BuddyPress compatibility
 */
add_filter('bp_template_include_theme_compat', function ($template) {

    if (strpos($template, "mec-events") !== false) {
        return $template;
    }

// Find any oif the templates mentioned by BP codex
    $theme_template = locate_template([
        'plugin-buddypress',
        'buddypress',
        'community',
        'generic',
        'page',
        'single',
        'singular',
        'index',
    ]);
    // Load template from theme if it exists
    if ($theme_template) {
        $data = collect(get_body_class())->reduce(function ($data, $class) {
            return apply_filters("sage/template/{$class}/data", $data);
        }, []);

        echo template($theme_template, $data);
        return get_stylesheet_directory() . '/index.php';
    }

    return $template;

}, PHP_INT_MAX, 1);

/**
 * Prepares BuddyPress classes for usage with Controller
 */
add_filter('body_class', function (array $classes) {
    if (function_exists('bp_get_the_body_class')) {
        $bp_classes = array_filter(bp_get_the_body_class());

        if (!empty($bp_classes) && is_array($bp_classes)) {
            foreach ($bp_classes as $bp_class) {
                // We need to append 'bp-' to classes like 'directory'.
                // It will help to sort the Controller Classes and avoids duplicated classes:
                // e.g. class BpDirectory for 'bp-directory-data'
                $prepend = preg_match('/bp|buddypress/i', $bp_class) ? '' : 'bp-';
                $classes[] = $prepend . $bp_class . '-data';
            }
        }
    }

    return $classes;
}, 100);

/**
 * Adds the resources/views folder as potential
 * parent of buddypress/community folder
 */
add_filter('bp_get_template_locations', function ($locations) {
    return array_merge(
        $locations,
        [
            'views/buddypress',
            'views/community',
        ]
    );
});

Turns out that the problem was this snippet I was using to make my theme compatible with BuddyPress.
Does someone know why it was creating the conflict? (would be useful to undersand it and to have it documented somewhere)

/**
 * Adds BuddyPress compatibility
 */
add_filter('bp_template_include_theme_compat', function ($template) {

    if (strpos($template, "mec-events") !== false) {
        return $template;
    }

// Find any oif the templates mentioned by BP codex
    $theme_template = locate_template([
        'plugin-buddypress',
        'buddypress',
        'community',
        'generic',
        'page',
        'single',
        'singular',
        'index',
    ]);
    // Load template from theme if it exists
    if ($theme_template) {
        $data = collect(get_body_class())->reduce(function ($data, $class) {
            return apply_filters("sage/template/{$class}/data", $data);
        }, []);

        echo template($theme_template, $data);
        return get_stylesheet_directory() . '/index.php';
    }

    return $template;

}, PHP_INT_MAX, 1);

/**
 * Prepares BuddyPress classes for usage with Controller
 */
add_filter('body_class', function (array $classes) {
    if (function_exists('bp_get_the_body_class')) {
        $bp_classes = array_filter(bp_get_the_body_class());

        if (!empty($bp_classes) && is_array($bp_classes)) {
            foreach ($bp_classes as $bp_class) {
                // We need to append 'bp-' to classes like 'directory'.
                // It will help to sort the Controller Classes and avoids duplicated classes:
                // e.g. class BpDirectory for 'bp-directory-data'
                $prepend = preg_match('/bp|buddypress/i', $bp_class) ? '' : 'bp-';
                $classes[] = $prepend . $bp_class . '-data';
            }
        }
    }

    return $classes;
}, 100);

/**
 * Adds the resources/views folder as potential
 * parent of buddypress/community folder
 */
add_filter('bp_get_template_locations', function ($locations) {
    return array_merge(
        $locations,
        [
            'views/buddypress',
            'views/community',
        ]
    );
});

Please open a discussion on https://discourse.roots.io/ (or follow the existing one there) – once docs are done we will compile a list of filters for plugins like this.

try this out https://gist.github.com/Log1x/d02f35f6f9de5f1a5078a3807c6a36c2


How do you check whether a client supports workspace/didChangeWorkspaceFolders?

With the lsprotocol.types.WorkspaceClientCapabilities object, I understand that you can check other client capabilities like

workspace/configuration
workspace/didChangeConfiguration
workspace/workspaceFolders

However, there is no corresponding field for workspace/didChangeWorkspaceFolders. How do you determine whether a client supports this capability?
A more general question - why is this field missing from the WorkspaceClientCapabilities?

This should be filed on the LSP spec here ( https://github.com/microsoft/vscode-languageserver-node/issues ). This repo is for implementations based on the LSP spec model (https://github.com/microsoft/vscode-languageserver-node/blob/main/protocol/metaModel.json). Any changes to types or new fields go into the model there.
For workspace/didChangeConfiguration, the spec defines it like this:
        {
            "method": "workspace/didChangeConfiguration",
            "typeName": "DidChangeConfigurationNotification",
            "messageDirection": "clientToServer",
            "params": {
                "kind": "reference",
                "name": "DidChangeConfigurationParams"
            },
            "registrationOptions": {
                "kind": "reference",
                "name": "DidChangeConfigurationRegistrationOptions"
            },
            "documentation": "The configuration change notification is sent from the client to the server\nwhen the client's configuration has changed. The notification contains\nthe changed configuration as defined by the language client."
        },

For workspace/didChangeWorkspaceFolders, the spec defines it like this:
        {
            "method": "workspace/didChangeWorkspaceFolders",
            "typeName": "DidChangeWorkspaceFoldersNotification",
            "messageDirection": "clientToServer",
            "params": {
                "kind": "reference",
                "name": "DidChangeWorkspaceFoldersParams"
            },
            "documentation": "The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace\nfolder configuration changes."
        }


Wrap instrumentation command in begin-rescue

This way, if the gcloud command exits with 1 instead of 0, it won't crash the fastlane lane and will do the clean up properly
This is a duplicate of https://github.com/pink-room/fastlane-plugin-run_tests_firebase_testlab/pull/20, but uses a non-master branch for the PR

Thanks @mpp-anasa 👍


Feature Request: Worker Configuration

I'm submitting a

[ ] feature request

What is the current behavior
Worker node number and instance type cannot be configured.
What's the expected behavior
Configuration options for worker node number and instance type can be specified in module inputs.

Hey @Jeeppler -
I want to get a sense of what you mean by worker node number exactly. If you're meaning the name of the workers themselves, that's configurable through the list of maps passed to the module. Likewise, for each worker group, desired capacity, max capacity, and min capacity of each autoscaling group is controlled through the same mechanism: https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/variables.tf#L53-L57
Maybe I'm missing what you're after here. If so, can you explain a little more? Thanks for taking interest in the project and hopefully we can get these use cases clarified for module consumers like you. 🌟

@brandoconnor that make sense. However, I don't really understand how to use the "workers_group_defaults" map. Maybe providing an example would be nice. Have a look at the vpc module it includes an example section.
I tried this:
    workers_group_defaults = {
        key_name = "eks-worker"
        instance_type = "m5.large"
        asg_desired_capacity = 2
    }

and got the following error message while running the terraform plan command:
$ terraform plan -out=plan

Error: module.eks.data.template_file.userdata: 1 error(s) occurred:

* module.eks.data.template_file.userdata: lookup: lookup failed to find 'additional_userdata' in:

${lookup(var.worker_groups[count.index], "additional_userdata",lookup(var.workers_group_defaults, "additional_userdata"))}

The solution for my above problem was to simply copy and paste the default values and set my own.
    workers_group_defaults = {
      name                 = "count.index" # Name of the worker group. Literal count.index will never be used but if name is not set, the count.index interpolation will be used.
      ami_id               = ""            # AMI ID for the eks workers. If none is provided, Terraform will search for the latest version of their EKS optimized worker AMI.
      asg_desired_capacity = "2"           # Desired worker capacity in the autoscaling group.
      asg_max_size         = "3"           # Maximum worker capacity in the autoscaling group.
      asg_min_size         = "1"           # Minimum worker capacity in the autoscaling group.
      instance_type        = "m5.large"    # Size of the workers instances.
      key_name             = "eks-worker"  # The key name that should be used for the instances in the autoscaling group
      additional_userdata  = ""            # userdata to append to the default userdata.
      ebs_optimized        = true          # sets whether to use ebs optimization on supported types.
      public_ip            = false         # Associate a public ip address with a worker
    }

Thanks for that @Jeppler. I should have made an example showing how to
leverage the pattern like this.
Im out of town for a couple days here but should be able to cut a release
toward the end of the week. Look for an example in the next realease.
On Tue, Jun 19, 2018 at 15:45 Jeppler<EMAIL_ADDRESS>wrote:

The solution for my above problem was to simply copy and paste the default
values and set my own.
workers_group_defaults = {
  name                 = "count.index" # Name of the worker group. Literal count.index will never be used but if name is not set, the count.index interpolation will be used.
  ami_id               = ""            # AMI ID for the eks workers. If none is provided, Terraform will search for the latest version of their EKS optimized worker AMI.
  asg_desired_capacity = "2"           # Desired worker capacity in the autoscaling group.
  asg_max_size         = "3"           # Maximum worker capacity in the autoscaling group.
  asg_min_size         = "1"           # Minimum worker capacity in the autoscaling group.
  instance_type        = "m5.large"    # Size of the workers instances.
  key_name             = "eks-worker"  # The key name that should be used for the instances in the autoscaling group
  additional_userdata  = ""            # userdata to append to the default userdata.
  ebs_optimized        = true          # sets whether to use ebs optimization on supported types.
  public_ip            = false         # Associate a public ip address with a worker
}

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/terraform-aws-modules/terraform-aws-eks/issues/20#issuecomment-398569636,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACYveISAiwbykuISfJ1w4jNh-DuYzY1eks5t-X8LgaJpZM4UqSBH
.

Here's an example that uses some static values as well as a variable that you can configure in your tfvars that will create an AutoScalingGroup with a desired/miniumum of 2 worker nodes, and allows the cluster to scale up to 10:
locals {     worker_groups = "${list(                   map("asg_desired_capacity", "2",                       "asg_max_size", "10",                       "asg_min_size", "2",                       "instance_type", "${var.worker_instance_type}",                       "name", "worker",                       ),   )}"

Thanks for that @fdornberger . I've added a commented out example resembling this to the example main.tf.

@brandoconnor you're very welcome.


Bad "alias" chain behavior on fast path

In https://github.com/sorbet/sorbet/pull/5940, we committed a test case that, while technically passes, captures incorrect behavior.
The correct behavior is captured in the PR description.
There is also a vague sketch of a potential solution to this in the PR description, but we have not decided to implement it due to time constraints at the moment.

The root problem here manifests in other ways. For the time being I'm going to collect those test cases all on this issue:
It manifests with class aliases (which at time of writing actually take the slow path when edited):
A = Integer
#   ^ change this to String

# -- new file --

B = A

# -- new file --

C = A
T.reveal_type(C)

and it manifests with type member redefinitions:
class Grandparent
  extend T::Generic
  Elem = type_member
end

# -- new file --

class Parent < Grandparent
end

# -- new file --

class Child < Parent
  # error: must redeclare type member from parent
end


How can I get an invitation to the slack channel so I can ask questions there?

Commit:
Steps to reproduce

go to https://higlass.io/about
scroll down the page to the list of contacts
by "General" click on "Slack"
try to "Start by entering the email address you use for work"
it seems only @harvard.edu email addresses are allowed
notice the small print "Don’t have an @harvard.edu email address? Contact the workspace administrator at HiGlass for an invitation."
click on "contact us" at the very bottom of the page.
try to sign in with your already-existing slack email address and password (good luck)

Observed behavior

It seems that you have to ALREADY have been invited to join the HiGlass slack worskspace to be able to sign in at this page. Please correct me if I am wrong.

Expected behavior
(A) Considering that this is listed as the "general" contact point for HiGlass, it would seem like it ought to lead you to a way to ask general questions.
(B) At step 6 the user is told to "the workspace administrator at HiGlass" but isn't given any means to do so. Clicking on that instruction does nothing. The "contact us" link at the bottom of the page is the only other option that appears relevant, but it seems you already have to have your foot in the door before you are allowed to knock.
Before posting this it was suggested I check out the posting guidelines. That took me to
https://github.com/higlass/higlass/blob/a143984528abd8383da5a59b87932c58904c8027/CONTRIBUTING.md
which under "Help! I am lost" says "Join our Slack channel and we're happy to help." Seems promising. But that just took me to
404: NOT_FOUND
Code: DEPLOYMENT_NOT_FOUND
ID: iad1::4c6nt-1632771336302-39dd73da97b7
Further down the posting guidelines page I see "Community: https://higlass.slack.com Join Now!" but that just takes me back to the same locked door described earlier.

Sorry, Slack doesn't let us have an open invite to any email address. Even trying to enter a general one like gmail.com is rejected:

If you send me<EMAIL_ADDRESS>your email address, I'll be happy to send you an invite.
There used to be a service that would auto-generate an invite for any email address but it was discontinued at some point. If you know of a way to create a perma-invite on Slack, we would be happy to use it. The @harvard.edu email address is there because that's where the HiGlass project originated.


Refactor Protect transform

Refactor pulled out of https://github.com/shotover/shotover-proxy/pull/661
This should have no functional changes.
Technically the serialization format for protected values has changed making it a breaking change, (as can be seen in the changed integration test) but its impossible to use this transform in production yet anyway.
Changes included in this refactor:

private_cached_fetch key_id an &str now to save an allocation as we never needed a String anyway (key_id only ever gets used in a format!())
KeyMaterial is moved into the key_management module - its pretty closely related to KeyManager, so makes sense to keep it together.
All the encryption/decryption logic is moved into its own module and is reduced into a simple encrypt/decrypt pair of functions.

the logic is now much simpler, so we can follow the entire encryption or decryption process in just 15 lines instead of 50 lines spread across different functions
the logic is now stateless making it less bug prone. Previously we had to rely on asserts to know that encryption/decryption was actually occuring, now it just happens.

sodiumoxide our crypto lib is also deprecated. Given this is a breaking change on the serialization side of things. Let's make the jump to an actively developed rust crypto lib. RustCrypto and the nacl wrapper seems to be a possible path to take -> https://github.com/RustCrypto/nacl-compat

I'm going to leave that for future work, the true purpose of this PR is to reduce the size of the cql3-parser PR and I dont want to distract too much from that.


System.ObjectDisposedException when using the MediaTranscoder class

I use the MediaTranscoder class to convert a stream of bitmaps to a video file. This works fine when using .net core 3.1, but fails when using .net 5. After supplying a few frames, a System.ObjectDisposedException is thrown in System.Private.CoreLib.dll. The stacktrace is shown below:
at media_transcoder_test.MainWindow.StartMediaTranscodeSession(String outputFile, UInt32 videoWidth, UInt32 videoHeight, UInt32 framerate) in media_transcoder_test\MainWindow.xaml.cs:line 128
at media_transcoder_test.MainWindow.Window_Loaded(Object sender, RoutedEventArgs e) in media_transcoder_test\MainWindow.xaml.cs:line 35
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run()
   at media_transcoder_test.App.Main()

I have attached a repro project that generates up to 200 (empty) frames and tries to generate a mpeg-4 video out of them. When started using vscode it fails after around 100 frames on my machine. It also fails when started without debugging. Interestingly, this repro project finishes on my machine when running under the visual studio debugger so I suspect some kind of timing related issue.
media_transcoder_test.zip

Looks like this has been fixed.  No longer repros with:

Unfortunately, I can still reproduce the problem even with those lines added to the project file.

@lhak investigating again

Hi, I am also receiving this exception but did not get this exception when running on .NET Core 3.1 with the NuGet Package <PackageReference Include="Microsoft.Windows.SDK.Contracts" Version="10.0.19041.1" />.
I tried to make a small reproducible bit of C# code and I thought maybe I could handle it myself or see where in my code it was now breaking, but it seems to be an external call as I suspected.
Does anything look particularly wrong with the following very simple code that I am using to take screenshots? The real application needs to take a screenshot each second and then converts it to a SoftwareBitmap for OCR usage.
https://gist.github.com/pjmagee/d74ba9c0e3f5b9bbdb732ca05c9f7c4b

@pjmagee - do you have a complete repro project?  My attempt to wrap your source file with a console csproj with TargetFramework = net5.0-windows10.0.19041.0 and a nuget reference to System.Drawing.Common results in:
Exception thrown: 'System.Runtime.InteropServices.COMException' in System.Private.CoreLib.dll
Exception thrown: 'System.Runtime.InteropServices.COMException' in System.Private.CoreLib.dll
An exception of type 'System.Runtime.InteropServices.COMException' occurred in System.Private.CoreLib.dll but was not handled in user code
The image is unrecognized. (0x88982F60)

@pjmagee - never mind, my target window was minimized, causing the BitBlt to fail.  I have the repro with ObjectDisposedException - thx.

@Scottj1s  I'm not very good at understanding the abstractions and complexities with how WinRT works with C# but I'd be interested to at least read through an area of the code which may be causing this. More curiosity than being able to submit a bug fix myself.

@pjmagee - thanks to your repro, I think I've root caused and have a fix - the team is evaluating.  In short, the .NET 5 runtime may occasionally hand out a disposed RCW for a given COM pointer, via ComWrappers.GetOrCreateObjectForComInstance.  This happens most often with recycled COM pointers that are temporarily wrapped for callbacks (e.g., async handlers).  The solution is to resurrect the disposed wrapper and reregister it with the GC.
Fix, using reflection (temporarily):
https://github.com/microsoft/CsWinRT/compare/ujjwalchadha/fix-media-transcoder-error?expand=1#diff-61ead3a3c21696d411a1071c0e16e284e38c804c6fde4f68ddd2da7301e110d3

see also:
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1251438

Workaround: if the identity of the disposed RCW can be determined, then the app can stash a reference to it to prevent premature disposing.

I upgraded to cswinrt 1.1.1, but I can still reproduce this issue.

I upgraded to cswinrt 1.1.1, but I can still reproduce this issue.

Can this bug be reopened? I can still reproduce it after upgrading to 1.1.3.

This is holding me back from moving to .NET 5 from NET Core 3.1

@lhak @pjmagee Are both your repros still the same from above and do you have a stack for your current failure?  When you capture the stack, can you in Exception settings configure to break on System.ObjectDisposedException and provide the stack from when that is hit.
Can you both also confirm what version of WinRT.Runtime is loaded in the process?
I feel like given the use of async calls in your repro, you are hitting a variant of this issue which was recently fixed by #682  which the stack should help confirm.  The CsWinRT 1.1.3 update had part of the fix (the changes in WinRT.Runtime), but the other part still needs to ship in an updated Windows SDK projection which we will update for 1.1.4 and ingested in an upcoming .NET SDK servicing update.  Typically we update both at the same time, but 1.1.3 was shipped early to fix a regression in the CsWinRT package.

Yes, the repro project is still the same, I just added the cswinrt 1.1.3 nuget package and can confirm that WinRT.Runtime has this version. The stacktrace is the following:
	WinRT.Runtime.dll!WinRT.IObjectReference.ThrowIfDisposed()
 	WinRT.Runtime.dll!ABI.WinRT.Interop.IAgileReference.WinRT.Interop.IAgileReference.Resolve(System.Guid riid)
 	WinRT.Runtime.dll!WinRT.AgileReference.Get()
 	Microsoft.Windows.SDK.NET.dll!ABI.Windows.Foundation.AsyncOperationWithProgressCompletedHandler<uint, uint>.NativeDelegateWrapper.Invoke(Windows.Foundation.IAsyncOperationWithProgress<uint, uint> asyncInfo, Windows.Foundation.AsyncStatus asyncStatus)
 	Microsoft.Windows.SDK.NET.dll!System.Threading.Tasks.TaskToAsyncInfoAdapter<System.__Canon, System.__Canon, uint, uint>.OnCompletedInvoker(Windows.Foundation.AsyncStatus status)
 	Microsoft.Windows.SDK.NET.dll!System.Threading.Tasks.TaskToAsyncInfoAdapter<Windows.Foundation.AsyncOperationWithProgressCompletedHandler<uint, uint>, Windows.Foundation.AsyncOperationProgressHandler<uint, uint>, uint, uint>.Completed.set(Windows.Foundation.AsyncOperationWithProgressCompletedHandler<uint, uint> value)
 	Microsoft.Windows.SDK.NET.dll!ABI.Windows.Foundation.IAsyncOperationWithProgress<uint, uint>.Vftbl.Do_Abi_put_Completed_2(System.IntPtr thisPtr, System.IntPtr handler)

@pjmagee Was there something you were specifically concerned about in that block?

@pjmagee Was there something you were specifically concerned about in that block?

Im not too versed in the Graphics API. I am releasing the device contexts, but im not sure if thats enough or if the way its being used is robust? I just dont want this not cleaning up correctly which may contribute to any kind of leaking.


Docker deployment sequence fails

Not sure if I'm missing anything- followed documentation. Heres the error:

dhcp-10-154-124-100:oci-designer-toolkit ttorresv$ docker run -d --rm -p 443:443 -p 80:80
--name okit
--hostname okit
--volume ~/okit/user/templates:/okit/templates
okit
docker: Error response from daemon: Conflict. The container name "/okit" is already in use by container "e9499007d9f5af9ae0fe36e6b47e479114449fdd4b022ed909fb0e863645c7b0". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

Not a docker expert but trying to learn- was able to get something going by finding image id of okit container.

docker ps -a
docker run <IMAGE_ID>

Looks like there is process running but nothing shows at localhost on web console.
Any guidance greatly appreciated. I will be investigating docker documentation to figure it out.

So i've been reading the documentation wrong, whoops.

docker run -d --rm -p 80:80 --volume /okit/user/templates:/okit/templates --volume /.oci:/root/.oci --name okit okit
docker: Error response from daemon: Conflict. The container name "/okit" is already in use by container "e9499007d9f5af9ae0fe36e6b47e479114449fdd4b022ed909fb0e863645c7b0". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

Found right command but same error as above. I'm assuming i need to use image_id perhaps instead of name? learning docker as i go here

dhcp-10-154-124-100:oci-designer-toolkit ttorresv$ docker run -d --rm -p 80:80 --volume /okit/user/templates:/okit/templates --volume /.oci:/root/.oci image b970dbae4725
Unable to find image 'image:latest' locally
docker: Error response from daemon: pull access denied for image, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

dhcp-10-154-124-100:oci-designer-toolkit ttorresv$ docker ps -a
CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS                     PORTS                                      NAMES
e9499007d9f5        b970dbae4725                      "gunicorn --workers=…"   2 days ago          Up 9 minutes               <IP_ADDRESS>:80->80/tcp, <IP_ADDRESS>:443->443/tcp   okit

Resolved.

dhcp-10-154-124-100:oci-designer-toolkit ttorresv$ docker run --publish 8000:8000 okit
[2020-12-04 18:01:07 +0000] [1] [INFO] Starting gunicorn 20.0.4
[2020-12-04 18:01:07 +0000] [1] [INFO] Listening at: http://<IP_ADDRESS>:80 (1)
[2020-12-04 18:01:07 +0000] [1] [INFO] Using worker: sync
[2020-12-04 18:01:07 +0000] [8] [INFO] Booting worker with pid: 8
[2020-12-04 18:01:07 +0000] [9] [INFO] Booting worker with pid: 9
[2020-12-04 18:01:07 +0000] [10] [INFO] Booting worker with pid: 10
[2020-12-04 18:01:07 +0000] [11] [INFO] Booting worker with pid: 11

Then http://localhost/okit/designer


ERROR when using Model densenet169

Hi! I got an ERROR when I using the MODEL_NAME=densenet169. It looks like that there are some BUGs in the backbone codes. I can train, however, with MODEL_NAME=densenet121, and I didn't try other models.
My Environment:

OS: win 10
python: 3.8.5
pytorch: 1.9
CUDA: 10.2

Input:
An RGB image [1, 3, 1024, 1024]
Output:
Traceback (most recent call last):
  File "run.py", line 327, in <module>
    main()
  File "run.py", line 314, in main
    engine.train_process(model=model, optimizer=optimizer,
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\tools\engine.py", line 82, in train_process
    loss_dict = model(images, targets)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\generalized_rcnn.py", line 40, in forward
    features = self.backbone(images.tensors)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\backbone_utils.py", line 62, in forward
    x = self.afpn(x)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\fpn.py", line 77, in forward
    last_out = self.get_result_from_inner_blocks(x[-1], -1)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\fpn.py", line 50, in get_result_from_inner_blocks
    out = module(x)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\container.py", line 139, in forward
    input = module(input)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\conv.py", line 443, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\conv.py", line 439, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: Given groups=1, weight of size [256, 1024, 1, 1], expected input[1, 1664, 25, 25] to have 1024 channels, but got 1664 channels instead

Hi there~ I found that it outputs the similar ERROR in densenet161:
Traceback (most recent call last):
  File "run.py", line 337, in <module>
    main()
  File "run.py", line 255, in main
    macs, params = profile(model, inputs=([torch.randn(1,3,1024,1024)]))
  File "E:\envs\yolov5\lib\site-packages\thop\profile.py", line 188, in profile
    model(*inputs)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\generalized_rcnn.py", line 40, in forward
    features = self.backbone(images.tensors)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\backbone_utils.py", line 62, in forward
    x = self.afpn(x)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\fpn.py", line 77, in forward
    last_out = self.get_result_from_inner_blocks(x[-1], -1)
  File "D:\WSI_analysis\det_train\AttFPN-Ovarian-Cancer-master\utils\fpn.py", line 50, in get_result_from_inner_blocks
    out = module(x)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\container.py", line 139, in forward
    input = module(input)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\module.py", line 1071, in _call_impl
    result = forward_call(*input, **kwargs)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\conv.py", line 443, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "E:\envs\yolov5\lib\site-packages\torch\nn\modules\conv.py", line 439, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: Given groups=1, weight of size [256, 1024, 1, 1], expected input[1, 2208, 25, 25] to have 1024 channels, but got 2208 channels instead

And, for another densenets and resnets, they are all unsettled.
So, I can only use the densenet161 for your model in our comparison.
Looking forward to your rely !

Thank you for pointing out the bug. You need to ensure that the code in line 124 to line 126 matchs the backbone network structure. For example, if you use the densenet121, you need to use the line 124; if you use the densenet161, you need to use the line 125. In fact, you need to make the number of channel correct.
I will update and write a more detailed instruction in the near future.

Hi there~ I found that the commented codes for densenet161 is correct, but others still cannot work
So, I can only use the densenet161 for your model in our comparison.
Looking forward to your rely !

Thank you for pointing out the bug. You need to ensure that the code in line 124 to line 126 matchs the backbone network structure. For example, if you use the densenet121, you need to use the line 124; if you use the densenet161, you need to use the line 125. In fact, you need to make the number of channel correct.
I will update and write a more detailed instruction in the near future.

Hi there~ I found that the commented codes for densenet161 is correct, but others still cannot work
So, I can only use the densenet161 for your model in our comparison.
Looking forward to your rely !

Line 124 to line 126 in utils backbone_utils.py


Fix typo in ts-rainbow highlight names

Looks like there's a typo in the ts-rainbow highlight names; I was getting searing red brackets instead of nice nightfox red ones, and the colour order of nested ones didn't match.
I did run make compile but it seems to have introduced a bunch of additional changes beyond the rainboe/rainbow fixes, so I'm not sure if you want that or not, so I've not included it. Happy to do patch-add just the necessary lines if you want, but wanted some guidance since I've not worked on this project before.
nightfox.nvim % git st
 M lua/nightfox/precompiled/dawnfox_compiled.lua
 M lua/nightfox/precompiled/dayfox_compiled.lua
 M lua/nightfox/precompiled/duskfox_compiled.lua
 M lua/nightfox/precompiled/nightfox_compiled.lua
 M lua/nightfox/precompiled/nordfox_compiled.lua

nightfox.nvim % git diff | awk '/-highlight/ { print $2 }' | sort | uniq
BufferInactiveMod
DiagnosticVirtualTextError
DiagnosticVirtualTextHint
DiagnosticVirtualTextInfo
DiagnosticVirtualTextWarn
DiffAdd
DiffChange
DiffDelete
DiffText
GlyphPallet8
GlyphPallet9
NeoTreeFileNameOpened
NeoTreeSymbolicLinkTarget
NeogitDiffAddHighlight
NeogitDiffContextHighlight
NeogitDiffDeleteHighlight
NvimTreeOpenedFile
NvimTreeSymlink
PreProc
diffIndexLine
rainboecol1
rainboecol2
rainboecol3
rainboecol4
rainboecol5
rainboecol6
rainboecol7

Thanks for catching the issue. I checked your branch and you are not behind main. That is weird. LGTM and then I can compile it in another commit


Bump to PyGMT v0.1.1 and enable Windows builds

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I tried to rerender for you, but it looks like I wasn't able to push to the pygmt-v0.1.1
branch of GenericMappingTools/pygmt-feedstock. Did you check the "Allow edits from maintainers" box?

I don't see a "Allow edits from maintainers" box. Perhaps I shouldn't use the repository in the GenericMappingTools account?

Hmm, not sure if they allow organization repos? I see in #2 that you were using your own account though.

Closed. Reopen a PR using my own account in https://github.com/conda-forge/pygmt-feedstock/pull/4.


fails to download draft7

why does this download an empty draft7 if its not pre-registered? It has no problem to download the mapping schema json file.
       // SetupExampleTest.java
        URI schemaUri = createUri ("https://openapiprocessor.io/schemas/mapping/mapping-v4.json");
        SchemaStore store = new SchemaStore (loader);
        //store.registerDraft7();
        store.register(schemaUri);

looks like the http schemas get redirected to https.


How do I install this?

the readme lacks hints on how to install this plugin.

That's true sorry. The easiest way is to download it from SteamWorkshop.
You can also download the latest zip from releases BuildColors.1.1.2.zip

and extract it to your '%appdata%\SpaceEngineers\Mods' folder


python311Packages.yaspin: disable tests that fail assertion, minor cleanup

Description of changes
see commits
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 281299 run on x86_64-linux 1

4 packages built:

python311Packages.yaspin
python311Packages.yaspin.dist
python312Packages.yaspin
python312Packages.yaspin.dist


Can't build sdl_mixer.go with gccgo 5.3.0

$ go version
go version go1.4.2 gccgo (GCC) 5.3.0 linux/amd64
$ go get -v github.com/veandco/go-sdl2/sdl_mixer
github.com/veandco/go-sdl2/sdl_mixer
# github.com/veandco/go-sdl2/sdl_mixer
gocode/src/github.com/veandco/go-sdl2/sdl_mixer/sdl_mixer.go:83:2: error: embedded type may not be a pointer
  unsafe.Pointer
  ^

Interesting,
https://github.com/golang/go/issues/6357
but you could replace it with any typedef since all it ever uses is the pointer to the object, never the object itself (I think).
looking at the defition of the struct that is actually used (unofficial mirror https://github.com/aduros/SDL_mixer/blob/master/music.c), it looks like it actually is different depending on how it's compiled (I don't know how C unions work).
Anyways, replacing that struct definition with
type Music struct{}

should be fine

Hi @akovaski! A C union is actually not too tough, e.g.:
union {
    Foo *foo;
    Bar *bar;
} data;

The union above makes the variables 'foo' and 'bar' reside at the same memory location (the size of the memory used by the union itself depends on the inputs (the largest of them determines the memory reserved for it). With the above union you can use either 'data.foo' (type Foo*) or 'data.bar' (type Bar*) to refer to the value stored there, depending on what type you actually want to be using. So the union in struct _Mix_Music is always just a pointer to the data for that type of music file. The conditional compilation basically just adds or removes other types in the union, but shouldn't change the structure's size since it's always a pointer-size value anyway.
Incidentally, while I'm kind of a C whiz, I'm a Go flunkie, so I have no idea what doing type Music struct{} is actually doing. Looks to me like a declaration of a type of struct with no members? I need to read up on how the Go<->C interop works.

Ok, I didn't notice they were all pointers (and thus didn't notice the union would take up just the space of 1 pointer in the struct).
Yes, that is an empty struct... (If you look at the methods of the 'Music' type, they all just use a pointer to the Music type and don't actually acre what's in it, or even about the size of the struct, which is why I suggested it as a potential replacement). Go structs work similarly to C structs. In practice they seem to have the same layouts in memory, though I don't think Go or C makes any promises on memory layout. (It might be a good idea to replace the couple times a cast is done from a C struct to a Go struct in this library, but I'm not doing it :))
Anyways, the safest approach is probably as follows
type Music C.Mix_Music

Using type Music C.Mix_Music seems to work. I tested the 'audio' and 'audio_mp3' examples and they worked as well, built with go build -gccgoflags '-lSDL2_mixer -lSDL2'.

huh, I'm surprised that you need to pass those link flags.
Anyways, feel free to send a push request with that change, I'm sure Jacky would accept it.

I think gccgo is a bit of a special snowflake.  I'll get a pull request up in a minute.


iOS scheme for carthage

Carthage can now be used to add the framework to iOS projects.

@nourahassan Can you also create a target for tvOS?

Current coverage is 89.08% (diff: 100%)

Merging #47 into master will increase coverage by 9.17%

@@             master        #47   diff @@
==========================================
  Files             6         10     +4
  Lines           214        394   +180
  Methods          54        112    +58
  Messages          0          0
  Branches         29         29
==========================================
+ Hits            171        351   +180
  Misses           27         27
  Partials         16         16

Powered by Codecov. Last update 9cecfc2...ce4b67c

@nourahassan Thanks for your contribution.


feat: add DAI v2 -> DAI v2 migration

Important changes detected  (payment related code)

Found address 0x6B175474E89094C44Da98b954EedeAC495271d0F in files app/containers/Vaults/migrationWhitelist.json. This address is from token DAI
Found address 0x19D3364A399d251E894aC732651be8B0E4e85001 in files app/containers/Vaults/migrationWhitelist.json. This address is from vault yvDAI
Found address 0xdA816459F1AB5631232FE5e97a05BBBb94970c95 in files app/containers/Vaults/migrationWhitelist.json. This address is from vault yvDAI

Important changes detected  (payment related code)

Found address 0xdA816459F1AB5631232FE5e97a05BBBb94970c95 in files app/containers/Vaults/customOrder.json, app/containers/Vaults/migrationWhitelist.json. This address is from vault yvDAI
Found address 0x6B175474E89094C44Da98b954EedeAC495271d0F in files app/containers/Vaults/migrationWhitelist.json. This address is from token DAI
Found address 0x19D3364A399d251E894aC732651be8B0E4e85001 in files app/containers/Vaults/migrationWhitelist.json. This address is from vault yvDAI


[Feature Request] Library Update Frequency - Exclusion Period.

Why/User Benefit/User Problem
Well, it won't update the library especially when we don't use tachi. let's say frequency is set for every 3 hours, and from 0900 to 1500 I would like the app to disregard auto-updates frequency set and do not update the library.
setting it to the manual is a bit of hassle and need to revert later to set auto-update library
What/Requirements
I would say something like biometric lock time.
Option
It would also be feasible to halt the auto-update process when biometric lock time is set.

This is basically the same as custom time range for library update I think

well, it is the same as the custom range, and  I would be satisfied with if the job is done^^.
I would want to minimize unnecessary update check while my phone is idle, especially at work and at night.
So advance flexibility on update frequency with custom time range would be niche.
what Syer thinks? is this meriting?
Thx
Cheers Joseph


Determine process for selecting a new name

#1638 was opened to collect new possible names.  The community needs to agree on a process of actually selecting a name.  In the mailing list discussion a ranked vote was proposed.  Need to determine if there are other possibilities and when action should be taken.  This issue was opened to discuss the process.

On #1638, I put the proposals in separate comment fields, so people can informally declare their preferences by "thumbing up" a comment. After we gather some feedback informally, I'm happy to initiate a vote thread with the most popular names.
I'm not sure we need a separate issue open for this, though. Can we close this issue?

Closing based on lack of response to previous comment. Please re-open if this is necessary.

The name agreed to in a vote on the mailing list was 'manager'.


use decode fn from quick_xml

Make quick_xml decode non utf8 files.
From your example in reddit:
$ cargo run --example quick_xml data/ISO-8859-5.xml
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/examples/quick_xml data/ISO-8859-5.xml`
  Text: ""
Declaration
  version="1.0"
  encoding="ISO-8859-5"
  standalone="yes"
  Text: "\n"
Start: text
    Text: "\n    Текст\n"
End: text
  Text: "\n"

Thanks! I've updated the readme.

Thanks for the project!

I've updated the readme.

I think you've updated the wrong column

D'oh!


Update messages_es_ES.properties

Minor bug fixes: es_ES translation
Description
Please provide a summary of the changes, including relevant motivation and context.
Closes #(issue_number)
Checklist:

[x] I have read the Contribution Guidelines
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

Contributor License Agreement
By submitting this pull request, I acknowledge and agree that my contributions will be included in Stirling-PDF and that they can be relicensed in the future under the MPL 2.0 (Mozilla Public License Version 2.0) license.
(This does not change the general open-source nature of Stirling-PDF, simply moving from one license to another license)

Hello @NeilJared, can you translate the string: pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :

Hello @NeilJared, can you translate the string: pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :

Sure


fix: ui enhencement

Codecov Report

Merging #35 (b095b45) into master (2b77f08) will increase coverage by 0.68%.
The diff coverage is 42.10%.

@@            Coverage Diff             @@
##           master      #35      +/-   ##
==========================================
+ Coverage   68.95%   69.64%   +0.68%
==========================================
  Files          83       84       +1
  Lines         612      616       +4
  Branches      120      119       -1
==========================================
+ Hits          422      429       +7
+ Misses        190      187       -3

Impacted Files
Coverage Δ

src/ColorPreview.tsx
33.33% <ø> (ø)

src/component-demos/button/button-icon.tsx
100.00% <ø> (ø)

src/component-demos/index.tsx
100.00% <ø> (ø)

src/token-panel/token-card/index.tsx
93.33% <ø> (ø)

src/token-panel/token-item/index.tsx
10.14% <0.00%> (-0.63%)
:arrow_down:

src/utils/classifyToken.ts
100.00% <ø> (ø)

src/token-panel/index.tsx
70.58% <33.33%> (+17.64%)
:arrow_up:

src/FilterPanel.tsx
47.05% <47.05%> (ø)

src/previewer.tsx
51.56% <50.00%> (-0.98%)
:arrow_down:

src/component-panel/ComponentTree.tsx
80.00% <100.00%> (+9.41%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


Add logger wide context field handling

This small patch provides the ability to add "Fields" at the logger level which will be inherited by any Entry created by that logger. Essentially it just pre-populates the Entry's fields with the global ones. This is useful for things like overall context such as "environment":"dev" etc

You can use an Entry just as well as a Logger. Just do:
contextLogger := logrus.WithFields(..)
contextLogger.WithFields(..).Info("Logs with all the fields")

This is different, it lets you set the context for the logger, and pass it around as type Log not type Entry, so that you can have a consistent set of broader context for each Log not each Entry

Are you talking about passing the logger around in your own application and the interface of an Entry and Log being different?

Yes, particularly for 3rd party products. We do use the pattern you suggest above extensively in our own code (it's in the examples, after all) but for other code which expects something exporting the log API I added the global context.
The other reason we pass a Logger not an entry is so that some sub-systems may add and remove hooks, something else which I don't believe is available on Entry


Update Describe_the_different_types_and_use_cases_for_the_built-in_ne…

URL doesn't resolve anymore (updated) + add useful doc about the available default network drivers

@lvthillo Thanks for the update.


Add include parameter to the Open API interface

Environment

Python version: sandbox
Nautobot version: 1.1.0.b2

Steps to Reproduce

Open the Open API page at https://develop.demo.nautobot.com/api/docs/
inspect the list of Parameters for the /api/dcim/devices endpoint

Observed Behavior
The include field added in 1.1 is not listed as a valid option
Expected Behavior
include should be listed as a valid parameters

Great idea. Consistency is kind of important!

A little homework shows that the ?exclude= and ?brief= query parameters are also not documented in the schema. I'm thinking we should tackle these all together.

For reference:
https://github.com/nautobot/nautobot/pull/689
https://github.com/nautobot/nautobot/pull/577

With recent work in 2.0, we've gotten rid of brief and exclude should no longer be necessary: Sub-optimal field should not be included by default.
We should include in our docs a complete list of the fields available via include and the OpenAPI interface.


TestForwarderTestSuite/TestCombinations/Ip/Kernel/Wireguard is unstable

Signed-off-by: Nikita Skrynnik<EMAIL_ADDRESS>

https://github.com/networkservicemesh/cmd-forwarder-vpp/issues/417


Implement get members API

Implement the get members api as per the specification in https://github.com/chinthakarukshan/lbms/issues/2

Implementation completed


[feature] Add settings to getEndGrades function.

Add a settings parameter to the getEndGrades function. This settings object should determine the behavior of the function and/or what the returnObject looks like.
For instance:
{
  full_class_name: true || false // Default false
}

Added in #4


Enable FreeRTOS for all ARMv7M platforms

This checks only for specific platform...
https://github.com/epernia/embedded_framework/blob/16315ac53479b082d71a4d894e8d62286fcba787/framework/lib/os/freertos/portable/lib.mk#L4
This is the idea of $(ARCH) variable...

I've solved it


Ensure that outlier detection works if there is NaN in the data

In this PR, NaN will be replaced by the most negative floating point number prior to computing the percentile.

Coverage increased (+0.02%) to 92.461% when pulling 5d7baf34531ca367d932fa9bfb4c1c6cd8feef0a on aaron-mcdaid-zalando:outlier.removal.with.NaNs into 08c600ba3601f839a633df3bdba0065fd549db6c on zalando:master.


Issue with urllib3 using requests 2.31.0

Thanks for all of your work on this project!
Since Requests v2.3.0, Requests has been vulnerable to potentially leaking Proxy-Authorization headers to destination servers, specifically during redirects to an HTTPS origin. This is a product of how rebuild_proxies is used to recompute and reattach the Proxy-Authorization header to requests when redirected. Note this behavior has only been observed to affect proxied requests when credentials are supplied in the URL user information component (e.g. https://username:password@proxy:8080).
Version 2.31.0 is now available to patch the issue.
As of requests 2.30.0, it appears that urllib3 2.x is required:
https://requests.readthedocs.io/en/latest/community/updates/
2.30.0 (2023-05-03)
Dependencies - ⚠ Added support for urllib3 2.0. ⚠

This may contain minor breaking changes so we advise careful testing and reviewing https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html prior to upgrading.

Users who wish to stay on urllib3 1.x can pin to urllib3<2.

Using the current version that is specified as a dependency for whoisit causes a conflict.
Would it be possible to update the dependency?
Thanks!
Wes

Sure, done. Note though that the whoisit PyPI package just has a requirement of requests without a pinned version. Bumping the required version in the Pipfile (to resolve this issue) doesn't change the package in any way and most people who install the package from PyPI are unaffected by this. Thanks for the issue!

As an update, I think there might be another issue with urllib3 2.x, with DEFAULT_CIPHERS  being removed. Should the ssl module and ssl.create_defaul_context() be used to set the value?
For example, something like the following. I haven't tested it.
import ssl
ssl_context = ssl.create_default_context()
< Optionally set ciphers >
ssl_context.set_ciphers('...')
<>
request.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = ssl_context.get_ciphers()

Let me know what you think and if I should create a separate issue.
Thanks!
Wes

Ah, yes that will require an additional patch. Looks like it will need to be moved to a requests adapter. Feel free to create an new issue.

Will do. Thanks!