TSC returns an error for TSX code where the plain TS equivalent compiles fine

TypeScript Version:  2.1.5
Code
type SelectProps<T> = { items: T[] }
class Select<T> extends React.Component<SelectProps<T>, any> { }

const someItems: [1, 2, 3, 4];

function renderJsx() {
return <Select items={someItems} />; // Error: Generic type 'Select<T>' requires 1 type argument(s).
}

function renderJs() {
return React.createElement(Select, { items: someItems }); // No error
}

Expected behavior:
TS should infer the generic type in the renderJsx function just as it does in the renderJs function.
Actual behavior:
TS requires a generic type argument which unfortunately cannot be specified because this is not supported by the parser.
See also #3960 for some related discussions.

Probably worth raising here : https://github.com/facebook/jsx/issues/new for some explicit syntax in JSX :rose:

@basarat I'm not sure what you are suggesting; it has nothing to do with the original JSX syntax IMHO.
The type inference is related to TypeScript only, and I do think that it would solve most (if not all) JSX generic component use cases without requiring any syntax enhancement (or kludges as discussed in #3960).

I understand 🌹

+1 for this or at least #6395

+1 Yes please, type inference would be IMHO the correct (and welcomed) solution.

It would be great if TypeScript at least could infer generics even though you can't write them explicitly.
See this:
export function AsyncList<D extends {loading: boolean}>(props: {data: D, getItems: (data: D) => Array<any>}) {
  return (
    <div>
    </div>
  )
}

const data = {loading: false, items: [1, 2, 3]}

function a() {
  return <AsyncList
    data={data}
    getItems={data => data.items}
  />
}
function b() {
  return AsyncList({
    data,
    getItems: data => data.items
  })
}

a fails with
Type '{ loading: boolean; items: number[]; }' is not assignable to type 'D'.
Property 'items' does not exist on type 'D'.

but b have no issues.
I think TS should be able to infer D as typeof data in the JSX case just as it does int the call/object literal case.

There is not really a place for inference to happen here. there is no reason to assume that the T in Select<T> is the propTypes, unless we hard-code the React component handling, which is something we would not want to do.
The best option here is https://github.com/Microsoft/TypeScript/issues/6395, where you can explicitly specify your type arguments.

@mhegazy Maybe "type inference" is the wrong terminology. Nevertheless, since the renderJs is the code equivalt to what should be generated by the compiler in the renderJsx case, I don't get why the first is acceptable without type argument while the JSX case is not. Basically, since they are equivalent AFAIK they should also both be accepted the same by the compiler.

@mhegazy Maybe "type inference" is the wrong terminology. Nevertheless, since the renderJs is the code equivalent to what should be generated by the compiler for the renderJsx case, I don't get why the first is acceptable without type argument while the JSX case is not. Basically, since they are equivalent AFAIK they should also both be accepted the same by the compiler.

There is no inference happening in the second one either (renderJsx), the type parameters both go to any. you just not getting an error. you can get the same behavior by not having the component be generic, and setting T to any.

@mhegazy OK, even if any is used for T, it still does check that the properties of the props are as required by the component. See Playground.
type SelectProps<T> = { items: T[] }
class Select<T> extends React.Component<SelectProps<T>, any> { }

const someItems = [1, 2, 3, 4];

function renderJsOk() {
    return React.createElement(Select, { items: someItems }); // No error
}

function renderJsFail() {
    return React.createElement(Select, { itemz: someItems }); // Error
}

The question I'm asking really is this: why does the plain and the JSX version not behave the same, e.g. why is there a compile error in the JSX case? If the JSX case was acting the same as the plain version I'd be pretty happy already, as it would allow people to use JSX syntax throughout and achieve the same level of type safety as with the plain version, e.g. checking that the passed in properties are valid (even if it is using any for T).

with https://github.com/Microsoft/TypeScript/issues/15455, you can get the same bahvuour with default paramters:
import * as React from "react";

type SelectProps<T > = { items: T[] }
class Select<T = any> extends React.Component<SelectProps<T>, any> { }

const someItems = [1, 2, 3, 4];
const someItems2 = ["ss"];

function renderJsx() {
    return <Select items={someItems} />; // OK
}

@mhegazy Thank you for the hint, I'll use that when it becomes available in the stable version.
Nevertheless it remains unclear to me why the plain and the JSX-style code do not behave the same, could you maybe shed some light on that?

@avonwyss  The reason is on how we resolve JSX.Expression.  The way we resolve React.Component in JSX-style syntax is different than how we do for normal function in particular it doesn't go through overload resolution logic (like how  new call expression does).
In 2.3, however, stateless-function component does go through overload resolution and so if you declare Select as SFC and using 2.3 we will be able to infer type parameter
function Select<T>(attr: SelectProps<T>) {...}

We are considering using overload resolution when we are trying to resolve JSX expression that is declared as React Component class.

Thank you @yuit for explaining the difference. Indeed, I think that using the same overload resolution would be the correct way to do things, so that behavior remains consistent (even more so in the light of using other JSX factories).

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


i got an error in the minecraft debug window

some thing with No GUI provider registered for field 'public static final com.google.gson.Gson com.tom.storagemod.Config.gson'!
thats everting i could find in the latest log there is not even acrash log its playable but tought let you know ;)

Don't worry about it, thanks for reporting.


Error in VS Code when creating IoT Edge module project

Hi,
I have encountered an error in VS Code at the following point in the Python IoT Edge module tutorial: Step 5 under the heading "Create an IoT Edge module project", subheading "Create a new solution". I am being asked to run the command "Azure IoT Edge: New IoT Edge solution" in the command palette.
The command being executed by VS Code appears to be:
cookiecutter --no-input https://github.com/Azure/cookiecutter-azure-iot-edge-module module_name=PythonModule image_repository=<my-repository-address>/pythonmodule --checkout master
After the Python traceback there is the following message:
subprocess.CalledProcessError: Command '['git', 'clone', 'https://github.com/Azure/cookiecutter-azure-iot-edge-module']' returned non-zero exit status 128.
Error: Command failed with exit code 1
I have a suspicion that this is caused by my corporate proxy. I needed to install Git to get this command to run in the first place, but if I do not set the proxy settings by running "git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080" in the terminal, I get an identical error when running the command myself. Only once I set the correct proxy settings am I able to run this command manually.
I am running Windows 10, with up to date versions of VS Code, the Azure IoT Edge extension, Python, the VS Code Python Extension, Pip, Docker CE (i.e. all the prerequisites), as well as Git for Windows.

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

ID: b251621c-bcb0-b9ce-bd87-90499766137b
Version Independent ID: b23ad340-bdfa-0597-9a0a-51c5e7b18b48
Content: Azure IoT Edge Python tutorial
Content Source: articles/iot-edge/tutorial-python-module.md
Service: iot-edge
GitHub Login: @shizn
Microsoft Alias: xshi

Hi @proctorm . Have you successfully get a python module project in VS Code? Looks like it's your proxy issue. If you haven't resolved this issue, I'd suggest first you can manually download the files from here (https://github.com/Azure/cookiecutter-azure-iot-edge-module/tree/master/{{cookiecutter.module_name}}) and put it in the modules folder. Make sure you update the module.json and deployment.template.json file, so that you can continue the tutorial.
BTW, If you are able to run git clone https://github.com/Azure/cookiecutter-azure-iot-edge-module, the cookiecutter command should work fine.
Let me know if you have any updates to share.

Thanks for your response. I am currently working through the details of what changes I'll need to make to the json files to get this running and will update once I've figured it out, or need extra help. I have been reading the extension source code and think I've figured out where the problem occurs. I'm not at all experienced in Javascript or Node.js, but it seems that Git does not play nicely with child_process.spawn() in terms of passing the proxy environment variables when the command is executed.
Do you think it would be worthwhile adding an issue to the vscode-azure-iot-edge for later follow-up?

Hi,
I've managed to solve the problem. Thanks @shizn for pointing me in the right direction, much appreciated!
I will lay out my solution for future reference in case others have the same issue with a proxy. I had to make changes to three files: deployment.template.json, .env and Dockerfile.amd64. I also needed to deploy via the Azure CLI as the integration with VS Code also didn't work behind a proxy and I was unable to see my edge device in the VS Code explorer.
Prior to these changes, I ran the cookiecutter command while in the modules folder to pull the appropriate files from the repository:
cookiecutter --no-input https://github.com/Azure/cookiecutter-azure-iot-edge-module module_name=PythonModule image_repository=<my-repository-address>/pythonmodule --checkout master
The changes to deployment.template.json and .env were simply doing what the VS Code extension would do if the error had not occurred, but the change to Dockerfile.amd64 is in addition to the original error, as during the Docker build process we must pass through the proxy to run apt-get and pip/pip3.
deployment.template.json

Under modulesContent.$edgeAgent.properties.desired.runtime.settings.registryCredentials I included the following lines:

              "<my-registry-name>": {
                "username": "$CONTAINER_REGISTRY_USERNAME_<my-registry-name>",
                "password": "$CONTAINER_REGISTRY_PASSWORD_<my-registry-name>",
                "address": "<my-registry-address>"
              }

Under modulesContent.$edgeAgent.properties.desired.modules I included the following lines (note these are after the tempsensor structure):

          "PythonModule": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "${MODULES.PythonModule.amd64}",
              "createOptions": "{}"
            }

Under modulesContent.$edgeHub.properties.desired.routes I included the following lines:

          "PythonModuleToIoTHub": "FROM /messages/modules/PythonModule/outputs/* INTO $upstream",
          "sensorToPythonModule": "FROM /messages/modules/tempSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/PythonModule/inputs/input1\")"

(As per the tutorial) I added the following lines under modulesContent at the end of the file:

    "PythonModule": {
      "properties.desired":{
          "TemperatureThreshold":25
      }
    }

.env
This file was not created due to the original error, so I created this file with the following contents:
CONTAINER_REGISTRY_USERNAME_<my-registry-name>="<my-registry-username>"
CONTAINER_REGISTRY_PASSWORD_<my-registry-name>="<my-registry-password>"

Dockerfile.amd64
Please note that I am not certain this is the best practice way of getting apt-get to work behind a proxy.

I included these lines below WORKDIR /app:

ENV HTTP_PROXY=<my-proxy-details>`
RUN echo 'Acquire::http::Proxy "'$HTTP_PROXY'";' > /etc/apt/apt.conf

I changed the pip3 command to include the proxy:
RUN pip3 install --proxy=$HTTP_PROXY --upgrade pip
I changed the pip command to include the proxy:
RUN pip install --proxy=$HTTP_PROXY -r requirements.txt

After these changes were made, I was able to build, and push to my repository. Then using the Azure CLI I was able to deploy to my edge device.

Glad to know you made it. And really appreciate the detailed steps!!! Thanks a lot.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Remove github-action-markdown-link-check

Fix https://github.com/dotnet/core/issues/9544
Fix https://github.com/dotnet/core/issues/9545

I don't want to remove it without a replacement since it works for most links.

blocking-clean-ci

but it's a non-blocking check


Drone auth not working with internal users

Gitea version (or commit ref): 1.8.1
Git version: N/A
Operating system: Linux
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Drone no longer works with Gitea as of 1.8.1. Logging into drone is successful in so much as I see it creates an access token in Gitea even after I delete it. After drone logs in and creates the token, it then hits /api/v1/user. Gitea responds with 401 Unauthorized.
I switched back to 1.8.0 as a workaround for now. Sorry I do not have more details. The logs were not very detailed. I suspect some of the auth bug fixes in 1.8.1 could have caused this. Can anyone else confirm drone no longer working with Gitea?
Screenshots

Can confirm having the same problem with gitea version 1.9.0+dev-223-g6db3dc7c0 and and latest drone. Was working fine until gitea update.

Same case for me. I tried to downgrade gitea to image 6b4465a87455 but it failed. I'm using gitea/gitea:latest  1.9.0+dev-223-g6db3dc7c0

Let me add some additional information here. Looks like I have the same issue with the following setup:
Docker compose:
version: "3"
services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./data/nginx/config:/etc/nginx/conf.d

  gitea:
    image: gitea/gitea:latest
    restart: always
    volumes:
      - ./data/gitea:/data/gitea
    ports:
      - 3000:3000
      - 22:22

  drone:
    image: drone/drone:latest
    environment:
      - DRONE_GITEA_SERVER=https://git.<server>
      - DRONE_RUNNER_CAPACITY=2
      - DRONE_SERVER_HOST=drone.<server>
      - DRONE_SERVER_PROTO=https
      - DRONE_GIT_ALWAYS_AUTH=false
      - DRONE_RPC_SECRET=<secret>
    ports:
      - 81:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data/drone:/data

nginx configuration:
server {
    listen 443 ssl;
    server_name git.<server>;
    ssl_certificate ####
    ssl_certificate_key ####
    location / {
        proxy_pass http://gitea:3000;
        proxy_set_header Host $host;
    }
}
server {
    listen 443 ssl;
    server_name drone.<server>;
    ssl_certificate ####
    ssl_certificate_key ####
    location / {
        proxy_pass http://drone:81;
        proxy_set_header Host $host;
    }
}

After loggin in on drone. i get the message "Login Failed. Unauthorized".
docker compose log:
gitea_1  | [Macaron] 2019-05-10 19:48:13: Started GET /api/v1/users/<user>/tokens for <IP_ADDRESS>
gitea_1  | [Macaron] 2019-05-10 19:48:13: Completed GET /api/v1/users/<user>/tokens 200 OK in 39.309966ms
nginx_1  | <IP_ADDRESS> - <user> [10/May/2019:19:48:13 +0000] "GET /api/v1/users/<user>/tokens HTTP/1.1" 200 35 "-" "Go-http-client/1.1" "-"
gitea_1  | [Macaron] 2019-05-10 19:48:13: Started GET /api/v1/user for <IP_ADDRESS>
gitea_1  | [Macaron] 2019-05-10 19:48:13: Completed GET /api/v1/user 401 Unauthorized in 318.568µs
nginx_1  | <IP_ADDRESS> - - [10/May/2019:19:48:13 +0000] "GET /api/v1/user HTTP/1.1" 401 0 "-" "Go-http-client/1.1" "-"
nginx_1  | <IP_ADDRESS> - - [10/May/2019:19:48:13 +0000] "POST /login HTTP/1.1" 303 0 "https://drone.<server>/login/form" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"
nginx_1  | <IP_ADDRESS> - - [10/May/2019:19:48:13 +0000] "GET /login/error?message=Unauthorized HTTP/1.1" 200 786 "https://drone.<server>/login/form" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"
nginx_1  | <IP_ADDRESS> - - [10/May/2019:19:48:13 +0000] "GET /api/user HTTP/1.1" 401 27 "https://drone.<server>/login/error?message=Unauthorized" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"
nginx_1  | <IP_ADDRESS> - - [10/May/2019:19:48:15 +0000] "GET /serviceworker.js HTTP/1.1" 200 786 "https://drone.<server>/serviceworker.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"

I think I'm encountering the same issue - looking at the HTTP requests from Drone to Gitea I can see the token creation working fine (with Authorization: basic):
POST /api/v1/users/jonny/tokens HTTP/1.1
Authorization: Basic am9*************
Content-Type: application/json

{"name":"drone"}

HTTP/1.1 201 Created
Content-Type: application/json; charset=UTF-8
Set-Cookie: ...

{"id":8,"name":"drone","token":"1448ee**********************************","hashed_token":"","token_last_eight":""}

But then the subsequent user profile request fails, because the 'Authorization: token' header is missing the actual token:
GET /api/v1/user HTTP/1.1
Authorization: token

HTTP/1.1 403 Forbidden
Content-Type: application/json; charset=UTF-8
Set-Cookie: ...

{"message":"Only signed in user is allowed to call APIs."}

The token is clearly being returned back to Drone in the token creation step, but Drone is not then using it correctly for the subsequent call. Perhaps the token-create response format has changed and is confusing Drone?

This problem was apparently fixed by https://github.com/go-gitea/gitea/commit/1dc401635b8acb20f4222216ad0828ef39617989 (I can confirm that it is fixed in 1.9.0+dev-231-g34eee25bd - Drone is authenticating without the error).

This problem was apparently fixed by 1dc4016 (I can confirm that it is fixed in 1.9.0+dev-231-g34eee25bd - Drone is authenticating without the error).

I still have the same problem right on that version.

Fixed in #6903

It worked earlier for me but I have just had a recurrence. I had to go into Gitea -> Settings -> Applications and delete the 'drone' token, after which Drone could then reconnect (recreating the token).
I'm not yet sure what the cause is.

That’s likely because the token is now hashed for security reason. Drone tried to fetch it again which doesn’t work because it cant, as we are using a one way hash function. However OAuth2 is the recommended way of using Drone.

Indeed, I just tried Gitea 1.8.0 again and the call to /tokens does return the token itself which Drone expects, not so with the newer versions.
So presumably either the Drone documentation needs updating to remove the non-OAuth2 method as it is broken, or Drone needs changing to regenerate the token each time (via Basic auth) as it can no longer retrieve the previous one?

On gitea 1.9.0+dev-233-g13583a650 and still, I have the same problem. So I simply did what @jonny5532 said, and everything worked: I removed the token from gitea, and then the drone itself made another token in gitea, and everything worked.

@techknowlogick Just to clarify, is Gitea 1.8.1 Oauth fully working with Drone?

@xoxys yes it is

@lafriks Thanks :)

i can't run drone:latest with gitea:latest, i'm setup oauth2, but drone says: Login Failed. unauthorized_client: client is not authorized

Which actual versions do you run? Did you manually pull updated images before testing? And what are the steps you used to setup oauth?

Running both gitea and drone on latest docker images (managed by containrrr/watchtower - which is the newly maintained v2tec/watchtower).

You need to register drone application in gitea. settings -> applications -> Manage OAuth2 applications

The Redirect URI must be identical to that used from drone. Mine is https://:/login

You need to set the env parameters in the docker container DRONE_GITEA_CLIENT_ID and DRONE_GITEA_CLIENT_SECRET - both generated in step 1./2. after saving.

What I need to adjust was DRONE_SERVER_HOST which seems to have the port also - otherwise the redirect uri is not constructed proper.

That's it...

i'm try and it not works. i'm pull latest from drone and gitea now. recheck oauth2 settings but when i'm try auth in drone i get error like before. why gitea returns bad request?
May 14 19:18:51 central01.z1.unistack.org dockerd-current[1517]: [Macaron] 2019-05-14 16:18:51: Started POST /login/oauth/access_token f
or <IP_ADDRESS>
May 14 19:18:51 central01.z1.unistack.org docker[14542]: [Macaron] 2019-05-14 16:18:51: Started POST /login/oauth/access_token for 172.1
8.0.100
May 14 19:18:51 central01.z1.unistack.org dockerd-current[1517]: 2019/05/14 16:18:51 .../xorm/session_get.go:95:nocacheGet() [I] [SQL] S
ELECT `id`, `uid`, `name`, `client_id`, `client_secret`, `redirect_uris`, `created_unix`, `updated_unix` FROM `oauth2_application` WHERE
 (client_id = ?) LIMIT 1 []interface {}{"047a2bfd-69c1-49ed-b8b1-594d1ce538aa"}
May 14 19:18:51 central01.z1.unistack.org docker[14542]: 2019/05/14 16:18:51 .../xorm/session_get.go:95:nocacheGet() [I] [SQL] SELECT `i
d`, `uid`, `name`, `client_id`, `client_secret`, `redirect_uris`, `created_unix`, `updated_unix` FROM `oauth2_application` WHERE (client
_id = ?) LIMIT 1 []interface {}{"047a2bfd-69c1-49ed-b8b1-594d1ce538aa"}
May 14 19:18:52 central01.z1.unistack.org dockerd-current[1517]: [Macaron] 2019-05-14 16:18:52: Completed POST /login/oauth/access_token
 400 Bad Request in 114.665538ms
May 14 19:18:52 central01.z1.unistack.org docker[14542]: [Macaron] 2019-05-14 16:18:52: Completed POST /login/oauth/access_token 400 Bad
 Request in 114.665538ms
May 14 19:18:52 central01.z1.unistack.org dockerd-current[1517]: ERRO[0013] oauth: cannot exchange code: OlyzwZ8_6aB0r3wgu4q1uh6uKB9iluy
oeQodwWREw5Q=: unauthorized_client: client is not authorized
May 14 19:18:52 central01.z1.unistack.org dockerd-current[1517]: DEBU[0013] cannot authenticate user: unauthorized_client: client is not
 authorized

@kimpenhaus works like a charm, thanks for the step by step guide!

@kimpenhaus would you like to post a blog on gitea or send it to docs so that more people could get benefits from your comment?

@lunny don't you think it would be more beneficial to put it into the drone docs as that's the system that wants to authenticate? I could check if they would accept a pull request on their docs for an addition in oauth2 with gitea.

@kimpenhaus that's better.

As i know drone docs sources are not public available for now

As i know drone docs sources are not public available for now

It looks like ... those on github are either archived or deprecated

Yeah....

That was a helpful walkthrough - but I was still getting a 400 bad request error. I have traefik providing https proxy to drone (and gitea), but had to drop the s for the redirect uri configured on the token, so it was of the format: http://mydomain:443/login

Sure about port 443 and protocol http? Normally port 443 world indicate a secure connection like https. Having insecure http I would think it might be default port 80.
Am 10. Juni 2019 um 23:05:24, Adrian Simmons (notifications@github.com(mailto:notifications@github.com)) schrieb:

That was a helpful walkthrough - but I was still getting a 400 bad request error. I have traefik providing https proxy to drone (and gitea), but had to drop the s for the redirect uri configured on the token, so it was of the format: http://mydomain:443/login
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub(https://github.com/go-gitea/gitea/issues/6883?email_source=notifications&email_token=AAEMNBJQOAWNTJVIG7O64YDPZ26ZJA5CNFSM4HLWNPEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXLHNYY#issuecomment-500594403), or mute the thread(https://github.com/notifications/unsubscribe-auth/AAEMNBN6FF3VJYLFPRJIC5TPZ26ZJANCNFSM4HLWNPEA).

I still have this problem but found a way to resolve this. However, this is the first and only Google result you get when you google this issue in the most straight forward way so I hope it is okay if I post my solution here.
My setup: Drone and Gitea both in docker in their own networks with a shared network used for a reverse proxy via Caddy. Caddy maps subdomains to docker host names so ci.example.com leads to drone and gitea.example.com leads to gitea. I use the domain for the drone gitea configs.
I could login via OAuth 2 but then it just said "bla bla :443 no route to host".
I fixed this by allowing https in my firewall. Technically this is not necessary because docker is opening all ports you publish but in this case, I had to do it manually.
Then I had some other issues with DNS stuff. Since Drone was literally never functional I took the easy way out and stopped all drone containers, deleted everything in the database volume and restarted all drone containers and then it worked flawlessly.

I still have this problem but found a way to resolve this. However, this is the first and only Google result you get when you google this issue in the most straight forward way so I hope it is okay if I post my solution here.
My setup: Drone and Gitea both in docker in their own networks with a shared network used for a reverse proxy via Caddy. Caddy maps subdomains to docker host names so ci.example.com leads to drone and gitea.example.com leads to gitea. I use the domain for the drone gitea configs.
I could login via OAuth 2 but then it just said "bla bla :443 no route to host".
I fixed this by allowing https in my firewall. Technically this is not necessary because docker is opening all ports you publish but in this case, I had to do it manually.
Then I had some other issues with DNS stuff. Since Drone was literally never functional I took the easy way out and stopped all drone containers, deleted everything in the database volume and restarted all drone containers and then it worked flawlessly.

什么意思？没看懂，dns 如何支持 https  ？我的 docker-compose.yaml 已经配置了 https 端口，但是我外部使用 nginx 代理的，没必要 https


Suggestion to Provide Access to WriteResult in *Result Classes

The various *Result classes, Insert[Many|One]Result, DeleteResult, UpdateResult, etc., store the underlying WriteResult object in the class in a private variable, but don't provide a getWriteResult method to access it. This prevents access to the WriteResult get*Count methods for cross checking expected outcomes of insert/update operations. For example, in DeleteResult you can call the getDeletedCount to find out the number of records deleted, but you do not have access to the WriteResult's getMatchedCount to determine if the two match or match the expectations of your calling code. Suggest adding a getWriteResult method to each of the *Result classes:
    /**
     * Gets the WriteResult object that was used to create this class instance.
     *
     * @return \MongoDB\Driver\WriteResult
     */
    public function getWriteResult()
    {
        return $this->writeResult;
    }

I've actually done this in a couple cases, DeleteResult and UpdateResult and it has proven very helpful, but I cannot persist our customization of this library and hope for easy maintenance of this public library in our environment.
Thanks for your consideration.

For example, in DeleteResult you can call the getDeletedCount to find out the number of records deleted, but you do not have access to the WriteResult's getMatchedCount to determine if the two match or match the expectations of your calling code.

In what cases would the underlying WriteResult report non-zero values for anything other than getDeletedCount()? The Insert[Many|One]Result, DeleteResult, and UpdateResult classes are only used by the respective single-type CRUD methods in MongoDB\Collection, so I'd consider it a bug (in either the library, driver, or server) if some other operations snuck into there (or were reported in the result).
The write result classes in the library are derived from our cross-driver CRUD specification and purposefully only have relevant fields. As such, only the BulkWriteResult class (returned via Collection::bulkWrite()) provides access to all of the MongoDB\Driver\WriteResult getters. From the library's perspective, MongoDB\Driver\WriteResult is purely an internal, implementation detail.

It's less about a difference between WriteResult->getMatchedCount() DeleteResult->getDeletedCount() and more about the calling code's need to verify its expectations were met relative to the code that lead to the delete call.
For example:
The calling code executes a query and other logic in order to determine that 150 records need to be deleted, but, due to the execution time of the client code between the query and potentially other activity or similar delete activity against the data in a high traffic system, the remove only matches 140 and deletes 140. Although those two numbers may be okay because they match, they don't meet the caller's expectation of 150. This may be either a legitimate outcome or and unexpected behavior. With only the ability to say we deleted 140 but the calling code expects 150, this could only safely be deemed an error. However, with the addition of the ability to cross check the discrepancy against the matched count, the client code is given the ability to decide if the outcome is favorable or in error based on its business needs.

MongoDB doesn't report a "matched count" for delete operations (see the MongoDB WriteResult documentation).

The remove() returns a WriteResult object that contains the status of the operation. Upon success, the WriteResult object contains information on the number of documents removed

Closing this, as I believe @lindelius addressed the misunderstanding. The server only reports the number of deleted documents. The matched and modified counts are specific to update operations. Their getters exist on the BulkWriteResult library class and WriteResult extension class because bulk write operations may included a mix of inserts, updates, and deletes.

So, how would I get access to the getWriteErrors() on the underlying writeResult of an updateResult?  I would agree unless you add wrappers for all functions on the WriteResult then you need to make that variable accessible.

@fellars: In the event of a write concern error or one or more write errors, the driver will throw a BulkWriteException, which has a getWriteResult() method.
The library currently does not abstract the driver's write exceptions, although we may do so down the line for https://github.com/mongodb/mongo-php-library/issues/261 (tracked in PHPLIB-225). At that point, the library exception will also have an accessor method for either the underlying write result or the errors directly.

gotcha @jmikola . makes sense.
thanks


Fixed compatibility issues

Fixes in reference to #202

I submitted this late at night and upon reading it again I want to modify how the input is interpreted to better conform to python standards. Ill update the code and send a new pr.


Phaser 3 restart the scene armature not animate

when I star scene newly all animation are working very good but once I restart the scene all armature are not animating

Too. i think it's a phaser 3 problem. After scene chenging armature don't loading any more...

Hey, guys! Sorry I just saw this. I had this problem ages ago, but digging in the source code was able to solve it. Before switching scenes or restarting, you need to destroy the armature and clear the dragonbones pool. I typically put the scene change inside of a setTimeout, just to be sure. So example:
`this.player.armature.destroy();
this.dragonbone.factory.clear(true);
dragonBones.BaseObject.clearPool();
setTimeout(()=>{
this.scene.start('nextScene');
}, 20);`
@jentleyonadoss @Stasikiii I hope this helps! If you have questions, let me know and maybe I can answer!

@faradaym Hi. Ths for answer this. But i have no property armature of my player.
this.load.dragonbone("player","characters/player/player_tex.png","characters/player/player_tex.json","characters/player/player_ske.json");
player=SceneMain.add.armature(skin, name);
player.armature.destroy();
player.armature.destroy is not a function
and whe i can find this.dragonbone.factory.clear(true);
and what mean this in your's case? A Scene?
SceneMain.dragonbone.factory.clear(true);
not a function! :(
Pls help. :(

@Stasikiii in your case, player is the armature, so just call destroy on it directly.
dragonbone is a property of a Scene, so dragonbone.factory.clear(true) needs to be run from within a Scene, or from an object with access to the Scene.

@photonstorm Hello, Richard. Glad to answered my question, but i still stuck on this last Month  :(
I moved those lines of code you did pointed for me, but still no effect :( after scenes chenging my dragonbones character every time disapeart.
My scene:
var SceneMain = new Phaser.Scene('SceneMain');
SceneMain.preload = function(){
        player.destroy();
	SceneMain.dragonbone.factory.clear(true);
	dragonBones.BaseObject.clearPool(true);

	SceneMain.load.dragonbone("doc",
	"characters/doc/doc_tex.png",
	"characters/doc/doc_tex.json",
	"characters/doc/doc_ske.json");
	clickHandler(SceneMain);

	player=scene.add.armature("doc", "doc_test");
}

No errors, game runned normaly.

That code really doesn't look right to me. Some obvious things:

SceneMain is an instance of a Scene, so from within a method of it you should be calling this.dragonbone to get the Scene level property. You really shouldn't be overriding preload like this, either. See below for a much cleaner approach.

You cannot do add.armature in the preload function. None of the data has even loaded by that point, so you cannot then create your player from it. All calls to add._anything_, that relies on assets being preloaded, should happen in the Scene create method, or later.

There looks to be lots of confusion with your JS scope here. Global properties, open accessors, etc. There is almost certainly code outside of what you've shown influencing what is going on here.

I would use a much more standard approach to your Scenes, like the follow (assuming ES6, but easy to backport to ES5 if you need):
export class SceneMain extends Phaser.Scene
{
    constructor ()
    {
        super('SceneMain');
    }

    preload ()
    {
	    this.load.dragonbone("doc",
            "characters/doc/doc_tex.png",
	        "characters/doc/doc_tex.json",
	        "characters/doc/doc_ske.json"
        );
    }

    create ()
    {
        this.player = this.add.armature('doc', 'doc_test');

        this.events.once('shutdown', this.shutdown, this);

        //  Do stuff, when finished, move to another Scene, this will trigger the shutdown event
    }

    shutdown ()
    {
        this.player.destroy();

        this.dragonbone.factory.clear(true);

        dragonBones.BaseObject.clearPool(true);
    }
}

const config = {
    width: 800,
    height: 600,
    backgroundColor: 0x0,
    plugins: {
        scene: [
            { key: "DragonBones", plugin: dragonBones.phaser.plugin.DragonBonesScenePlugin, mapping: "dragonbone" }
        ]
    },
    scene: [ SceneMain ]
};

new Phaser.Game(config);

Obviously, you cannot just run this code directly. But you should clearly see the approach. The scope of your calls is of paramount importance in JavaScript.

@photonstorm thx for answer. I don't sure about ES6, i can't try on this moment cuse if erro about export.
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
    <script src="api/phaser.js"></script>
	<script src="api/dragonBones.js"></script>
</head>
<script>
class SceneMain extends Phaser.Scene {

    constructor ()
    {
        super('SceneMain');
    }

    preload ()
    {
        this.load.dragonbone("doc",
            "characters/doc/doc_tex.png",
            "characters/doc/doc_tex.json",
            "characters/doc/doc_ske.json"
        );
    }

    create ()
    {
        this.player = this.add.armature('doc_test', 'doc');
		this.player.setPosition(300, 500);
		this.player.animation.play("idle");

		this.input.on('pointerup', function (pointer) {

            this.scene.start('SceneMain2');

        }, this);
		this.events.once('shutdown', this.shutdown, this);
    }

    shutdown ()
    {
		console.log("*****************");
        this.player.destroy();
        this.dragonbone.factory.clear(true);
        dragonBones.BaseObject.clearPool(true);
    }
}

class SceneMain2 extends Phaser.Scene {

    constructor ()
    {
        super('SceneMain2');
    }

    preload ()
    {
        this.load.dragonbone("doc",
            "characters/doc/doc_tex.png",
            "characters/doc/doc_tex.json",
            "characters/doc/doc_ske.json"
        );
    }

    create ()
    {
        this.player = this.add.armature('doc_test', 'doc');
		this.player.setPosition(500, 500);
		this.player.animation.play("idle");
		this.input.on('pointerup', function (pointer) {

            this.scene.start('SceneMain');

        }, this);
		this.events.once('shutdown', this.shutdown, this);
    }

    shutdown ()
    {
        console.log("!!!!!!!!!!!!!!!");
		this.player.destroy();
        this.dragonbone.factory.clear(true);
        dragonBones.BaseObject.clearPool(true);
    }
}

const config = {
			type: Phaser.WEBGL,
			scale: {
				mode: Phaser.Scale.FIT,
				autoCenter: Phaser.Scale.CENTER_BOTH,
				width: 1920,
				height: 1080
			},
			audio: {
				noAudio: true
			},
			plugins: {
				scene: [
					{ key: "DragonBones", plugin: dragonBones.phaser.plugin.DragonBonesScenePlugin, mapping: "dragonbone" }
				]
			},
			scene: [ SceneMain,SceneMain2 ]
		};

var game = new Phaser.Game(config);
</script>

With no succes :(


Renew TLS certs on IP change

see comment by @openoms on #324 :
https://github.com/rootzoll/raspiblitz/issues/324#issuecomment-527331964
Users have been reporting that the they could not connect Zap after chnaging their IP.
Manually resetting the TLS.cert helped.
Should this be automated every time when the publicIP is triggered to changed in lnd.conf
by the
 # RECHECK PUBLIC IP
 # when public IP changes, restart LND with new IP

function of _background.sh?

Movin to v1.6 because just an automatic renew of TLS without notifying the user is also confusing and not a good fix. Maybe when LCD interface is more advanced this can be a "notification".

Moving to v1.7 because 1.6 will not have any new LCD-interface features

When you run duck.dns.org, the scan code for Zap is generated with your public ip address but  Zap wallet will only load code edited to use your domain name instead of public ip.

There is a request to renew the TLS cert on expiry for Electrs also: https://t.me/raspiblitz/140628
This is not covered with the reset script if LND is not installed.

Tests good on my machine. Closing issue for release.


Adafruit I2C GPS is Discontinued

The Adafruit I2C GPS we supported is now discontinued, and the new V3 is USB only.
We will have to:

Redesign our hat to support the new V3 (or whichever GPS we decide to support going forward,)
Update our firmware to automatically select between the legacy and the new USB GPS.
Update our build instructions.

For now, I am going to buy out all of the remaining stock from Digi-Key.

Update:  I am ordering one for testing.

Well, darn. I'm not sure if USB is the right play, I think maybe we should go to a UART gps instead. It'll probably require about the same amount of nonsense to connect it, and we can get much much cheaper GPS units.

Sure, link me whatever product you prefer and we can standardize on that instead.

These may be options for us:
Flashtree BN-180
SparkFun GPS Breakout
DFRobot GNSS/GPS

Dr. Hood wants 20 more units.  I'm going to buy a couple more to evaluate.
I do have the new Adafruit USB one, but it's expensive, awfully large, and I agree with @bensonk 's concern that USB isn't the right play for us.

Ok, I'm going to try the DFRobot GNSS/GPS.
Pros:

It's half the price of the Adafruit units.
It has Python drivers: https://github.com/DFRobot/DFRobot_GNSS

Cons:

It uses a different connection standard versus Adafruit (DFRobot's versus Adafruit's connector.  Maybe we can find an adapter?)
It has a different form factor and we'll need new hats.

And a question:
Since you can't even buy Adafruit's GPS anymore, is it reasonable to drop support for it?  Or should we code in the possibility of different GPS units?

If we drop support for it, won't all the existing units break?

If we drop support for the old GPS units, it will not affect existing units
unless they update their firmware.
On Tue, Nov 28, 2023, 6:07 PM Benson Kalahar @.***>
wrote:

If we drop support for it, won't all the existing units break?
—
Reply to this email directly, view it on GitHub
https://github.com/simpleairquality/SimpleAQ-Device/issues/56#issuecomment-1830901658,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKYP2UYLRLQGWFLCP4LMXDYGZVENAVCNFSM6AAAAAA7PFWS2CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZQHEYDCNRVHA
.
You are receiving this because you were assigned.Message ID:
@.***>

Commit 3a1913e adds prototype support for DFRobot's GPS, while continuing to allow legacy support for the old Adafruit PA1010D.
If it works pending field testing, I like a lot of things to like about the DFRobot GPS.

The lower price.
Doesn't use any non-standard Python libraries.
Also provides altitude and number of satellites used.
Allows multiple modes, separately or in concert:  GLONASS, GPS, and BeiDou
No asynchronous processes leading to intermittent data corruption, something we actually saw in the Adafruit one.

In fact:  we can even support multiple different GPS units attached at once!  The behavior will be a race, but it will work.

#57 Adds support for DFRobot's I2C GPS unit, but I think we're actually going to move to UART GPS support instead.

Based on the recommendation of @bensonk , I bought a UART GPS:  https://www.amazon.com/dp/B078Y4XZN9/?th=1

This is now done, save for updating build instructions


feat: timer estimates GPU costs

Details

first pass at optional GPU cost estimations in the timer, just using the base rate quoted by modal
Code of Conduct

[x] I agree to follow this project's Code of Conduct
[x] I agree to license this contribution under the MIT LICENSE
[x] I checked the current PR for duplication.

looks like this in dev


chore(main): release nvim 1.17.2

:robot: I have created a release beep boop
1.17.2 (2024-09-12)
Miscellaneous

nvim: small fixes (155aef3)

Code Refactoring

nvim: disable J in visual vertical move (afa66ec)
nvim: remove hydra.nvim and replace with which-key.nvim (b35851c)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

nvim-v1.17.2
:sunflower:


Disable output when NODE_ENV === 'test'

Hi, I am trying to disable output when running tests with the code below:
export const logger = pino({
  enabled: process.env.NODE_ENV !== ENV.TEST
})

const pino = Pino({
  autoLogging: process.env.NODE_ENV !== ENV.TEST,
  logger,
  prettyPrint: process.env.NODE_ENV !== ENV.PROD,
  enabled: process.env.NODE_ENV !== ENV.TEST
})

With the code above the log for requests is still present in the output, while the other log lines are correctly hidden.
I am writing integration tests for an Express server that is started by the test.
Am I missing something or is it something that I could take a look on?

I'm not sure we support an enabled property. You can set the level to silent for unsupported envs.

OK, that works too. Thanks.


Bugfix: has_header doesn't work for headers that could validate as fields

It seems like the "has_header" attribute was only checked if the current line couldn't be parsed.
I moved the check one level up, directly skipping the line on the csv reader.

:+1:


rootfs tarball

I would like to build a NixOS Dockerfile from scratch.
For this, it is easiest to have a rootfs.tar.xz.
Running something like NIXOS_CONFIG=/home/nequi/dev/DevSetup/docker/configuration.nix nix-build -A config.system.build.tarball --argstr system x86_64-linux will give me a tarball, which I assume to be the rootfs under a different name.
This tarball does not quite work for me but that is not what this is about.
Is there a place on Hydra that keeps the tarballs used to create the ISOs for official releases?
I tried looking through some evaluations but could not find anything.

ISO creation doesn't use an intermediate tarball. It's built from the system closure (config.system.build.toplevel) directly.

Oh, I see.
So the output of nixos/release.nix -> makeSystemTarball is not actually generated?

Oh, indeed we actually generate those: http://hydra.nixos.org/build/42024611. But it is not used by the ISO image build, it's something separate (and quite likely not covered by any NixOS tests).

Ah, this is what I was looking for :D
Except, the file seems to get deleted  :(

Yeah, this tarball seems to vanish instantly after generation. ☹ I used the „reproduce this build“ link and compiled it myself, problem is the resulting tarball seems to only contain /nix/store and some mountpoints but no something like /etc/os-release (or any /etc at all) so that I could execute it with e.g. systemd-nspawn.

nixos/hydra#321

Are there any updates to this issue, please?

I'm still interested in this. My use case for this is that I want to bootstrap a minimal image which is 'ready to go'. Kind of like how you can with debootstrap. I realise I could use something like Packer to run the installation ISO but I'm not too keen on this.


x/pkgsite: package removal request for "github.com/highdeger/jason", "github.com/highdeger/eris", "github.com/highdeger/logwarts", "github.com/highdeger/vexillum" and "github.com/highdeger/acri-collision-detector"

These modules weren't meant to be public at their current state, I was just testing and now all are published with wrong state and tags.
Could you please remove them.

github.com/highdeger/jason
github.com/highdeger/eris
github.com/highdeger/logwarts
github.com/highdeger/vexillum
github.com/highdeger/acri-collision-detector

since you mention tags, note that removal only means hiding the generated documentation, you will not be able to reuse any tags you have already published

that's totally fine, I won't reuse any of published tags.

I'd still want to get these package removed. These were not meant to be public.

I confirm that the repo owner matches the GitHub username and have made the configuration change. Please allow a few days for it to propagate.


Android Support?

Stupid question kind of, but are there plans to try to support an android version of this as well? If not, won't this ruin some code bases that support both iOS and Android? Or does this already provide a work around for Android?

@mikehuebner, your question is actually spot-on. We are currently working on adding support for Android too, hopefully we’ll be able to release an initial version in the upcoming weeks so stay tuned.

That is awesome! Thanks for the information!

On Mar 9, 2016, at 6:10 AM, guyca<EMAIL_ADDRESS>wrote:
@mikehuebner, your question is actually spot-on. We are currently working on adding support for Android too, hopefully we’ll be able to release an initial version in the upcoming weeks so stay tuned.
—
Reply to this email directly or view it on GitHub.

Update regarding our current plans for Android. After some discussion and research, it seems that a direct port of react-native-controllers to Android is not the best approach due to differences between the platforms. We've added another simpler layer of cross-platform abstraction over the navigation API:
https://github.com/wix/react-native-navigation
What we plan to do is implement this abstraction for Android as well. This means if you want Android support and a shared abstract API for both platforms, you should probably be using react-native-navigation. Your life will be simpler too :)

I've been looking at that one and was planning on doing a restructure here shortly! 😁 it seems redux would be easier to implement on that API as well.

On Mar 17, 2016, at 3:22 AM, Tal Kol<EMAIL_ADDRESS>wrote:
Update regarding our current plans for Android. After some discussion and research, it seems that a direct port of react-native-controllers to Android is not the best approach due to differences between the platforms. We've added another simpler layer of cross-platform abstraction over the navigation API:
https://github.com/wix/react-native-navigation
What we plan to do is implement this abstraction for Android as well. This means if you want Android support and a shared abstract API for both platforms, you should probably be using react-native-navigation. Your life will be simpler too :)
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

I plan release a redux flavor of the API in react-native-navigation itself since we're all using it


Add .svelte files support

I add .svelte projects support and fixed it

@MNouriWork Thanks for your work. I will check and update you soon.

You're welcome. It was my pleasure 😊

The new version was released, v1.0.2, with svelte support. @MNouriWork Please check

Yes, I checked. Thank you for your work👍


just wonder if zyphyr has firewall nor not?

your comment welcome

No, we do not have firewall support, what is your use case and what type of FW are you looking for?


workflow: give input data files unique names

Description of proposed changes
I'm running into a problem when running multiple config files on different input data (ex. hmpxv1 vs. mpxv, or Nextstrain vs. LAPIS). Since the input data is hard-coded to data/sequences.fasta and data/metadata.tsv it makes it difficult to run different inputs without conflict.
One option could be to add the {build_name} into input filenames to make them unique. This is an example of the changes I've made:
rule download:
    message: "Downloading sequences and metadata from data.nextstrain.org"
    output:
        sequences = "data/{build_name}_sequences.fasta.xz",
        metadata = "data/{build_name}_metadata.tsv.gz"
	...

Testing
Running the following commands will produce distinct outputs in data and results:
snakemake -c 1 results/mpxv/filtered.fasta --configfile config/config_mpxv.yaml
snakemake -c 1 results/hmpxv1/filtered.fasta --configfile config/config_hmpxv1.yaml

data:

hmpxv1_metadata.tsv
hmpxv1_metadata.tsv.gz
hmpxv1_sequences.fasta
hmpxv1_sequences.fasta.xz
mpxv_metadata.tsv
mpxv_metadata.tsv.gz
mpxv_sequences.fasta
mpxv_sequences.fasta.xz

results:

hmpxv1/
hmpxv1_metadata.tsv
mpxv/
mpxv_metadata.tsv

To compare different data sources, I add the data source into the build name. For example
#config_hmpxv1_nextstrain.yaml
build_name: "hmpxv1_nextstrain"
auspice_name: "monkeypox_hmpxv1_nextstrain"

#config_hmpxv1_lapis.yaml
build_name: "hmpxv1_lapis"
auspice_name: "monkeypox_hmpxv1_lapis"

I quite like this approach, since it mirrors the output structure of https://github.com/nextstrain/ncov. But I would love to know more about how you're implementing multiple "builds", without invoking the full input/build logic from the ncov pipeline. Thanks!

Can you share the workflow in which you're having issues with input files? I think data/ is supposed to contain all sequences. I could imagine naming them lapis_sequences.fasta and gisaid_sequences.fasta etc., but giving them names by builds would be confusing - maybe I don't understand the problem you're having.

That actually clarifies things a lot, thanks! Is my understanding of the current workflow correct:

data/sequences.fasta should contain all possible sequences.

Which might include sequences from lapis, gisaid, local assemblies, etc

A build is specified with config_{build_name}.yaml, and customized with filter options, example:## filter
min_date: 2017
min_length: 10000
filters: "--exclude-where clade!=hMPXV-1"

If I just wanted to make a lapis+local sequences build, maybe I could make a data_source column in data/metadata.tsv, and then do something like:min_date: 2017
min_length: 10000
filters: --query "(data_source == 'lapis') | (data_source == 'local')"


Manage Python Dependencies

I feel like this is something that should be covered in the documentation for Dask, but couldn't really find it. Basically, how do people make sure python code in other project files is accessible to the workers?
https://stackoverflow.com/questions/63944610/how-do-people-generally-manage-dependencies-for-their-tasks-in-dask

We have a section in the FAQ which covers a bit of this:
https://distributed.dask.org/en/latest/faq.html#how-do-i-use-external-modules
Perhaps this could be expanded to included other recommendations like bundling things in conda-pack ?


Real time data and navi scripts

Describe the bug
Hi, I've been working with the library and it looks great. I have a problem adding a script with ‘navi’ when using real time data.
`
// Navy ~ 0.1-lite
// Meta tag
[OVERLAY name=Custom, ctx=Canvas, author=ChartMaster, version=1.0.0]
console.log("Draw function called");
draw(ctx) {
console.log("Draw function called");
}
`
`
let chart = new NightVision("chart-container", {
autoResize: true,
colors: {
back: "#111113",
grid: "#2e2f3055",
},
scripts: [Custom]
});
`
I just want to be able to log a message at that time and it never arrives. Previously adding data to a test JSON file bugged the whole graph, any solutions, thanks!
I make a clarification, in sandbox I seem to have some problems updating the ws, the client blocks it.
Reproduction
https://codesandbox.io/p/sandbox/playing-around-10-forked-problem-kg6gtq?file=%2Fmain.js
Steps to reproduce
No response
Javascript Framework
no-framework (vanilla-js)
Logs
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a NightVision issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

I think you need to add this. I'm not totally sure if type and name are correct tho.. Since you have added in the script, you have to attach a overlay for that script.
chart.data.panes[0].overlays.push({
    type: "Custom",
    name: "Custom",
    data: [],
    props: {},
    settings: {
      zIndex: 1
    }
  })


docs(zh-cn): 32_managing-a-repo-on-the-model-hub.srt

docs(zh-cn): 32_managing-a-repo-on-the-model-hub.srt #390
modifie subtitle
ts: 00:03:21,300 --> 00:03:24,050
change: idea --> id

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Add Search in the outline view

Hi, I would like a feature where you can search in the outline tab.
Why I want this?
I work on large 3k loc c files
In this i want to search for functions with things in its name, it would be easier for me to do this in outline, so every occurrence is only once or twice.
How would it work?
Add a search bar when you press Ctrl+F in the outline view.
Thanks

Add a search bar when you press Ctrl+F in the outline view.

That is how it works.

Lol, im dumb sorry


Can't get Get-AutorunscDeep.ps1 to run.

When running Get-AutorunscDeep.ps1 standalone or called from Kansa.ps1 I get the error below.  I have tried running it on localhost and remote machines with the same error.  Other -Pushbin type modules work correctly.  If I carve out the basic autorunsc.exe command from the Get-AutorunscDeep.ps1 module,  it will run.  Thoughts?
PS .\Modules\ASEP\Get-AutorunscDeep.ps1 -Target localhost -Credential mark -Authentication Negotiate

You cannot call a method on a null-valued expression.
At G:\tmp\Kansa-master\Modules\ASEP\Get-AutorunscDeep.ps1:140 char:13
+         if (($_."Image Path").ToLower() -match "\.bat|\.ps1|\.vbs") {
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Error log only contains the "You cannot call a method on a null-valued expression."
Carved out autorunsc.exe command line that works:
Autorunsc.exe /accepteula -a * -c -h -s '*' > autorunsc_output.txt

The issue appears to be that the latest release of Autorunsc.exe doesn't support the -nobanner flag. Easy to fix.

Want to reopen this as this issue is still on-going as of today. Pulled down the latest version of AutoRunsc and this script. Removed the -nobanner flag and this issue is still occurring.


Allow wrapping widgets whose name start with _ (underscore)

Hi folks,
When creating a zle widget whose name starts with _, it is ignored by zsh-autosuggestions, leading to various situations where the suggestion should be refreshed, but isn't.
Typically, other plugins often create such widgets, making them incompatible with zsh-autosuggestions.
This PR changes this.
Preliminary testing seems to indicate everything works fine on my machine, and before going through more extensive testing and/or writing tests, I wanted to ask if there's a specific reason to forbid wrapping such widgets.
It looks like the current presence check is not a mistake, but a voluntary design, but I can't understand why. As far as I can tell, the only reason to ban such widget names, is to prevent wrapping an already-wrapped widget.
Which the proposed change still does.
https://github.com/zsh-users/zsh-autosuggestions/issues/737 is a manifestation of this issue, and provides a nice minimal reproducing example (although the problem is bigger than stated there, as it affects all types of widget wrapping)
If we go through with this change, it would likely require a 0.8.0 tag, as suddenly starting to wrap previously-unwrapped widgets may break unexpectedly on specific edge cases. It is however possible for users with such a setup to reproduce the current behavior with ZSH_AUTOSUGGEST_IGNORE_WIDGETS, so, it's not a blocking change.
Please let me know if I've missed the rationale behind the current design !

Any chance of having this merged an released soon?

bump?


Wrap DB queries in SDK with sane limits

Problem
There are a few wrapped DB queries already (getTransfers, getRoutersData, etc) in the SDK. We should wrap other tables/views and use sane default limits for all of them to prevent unoptimized queries from inadvertently DDOS'ing the DB.
Impact
Because clients may not write optimized queries and the default limits can act as guardrails.
Proposed Solution
Wrap all DB tables that clients may use and apply sane defaults.
Acceptance Criteria
From an end user perspective, the below criteria must be met to consider this done:
Starting with what the bridge/scanner UI uses:

[ ] daily_transfer_metrics
[ ] daily_transfer_volume
[ ] hourly_transfer_metrics
[ ] hourly_transfer_volume
[ ] daily_swap_tvl
[ ] daily_router_tvl
[ ] daily_swap_volume

We'll do this in new sdk.


sidebar fixed

@breese8009 – Look at requirements for PR body.
Also, there is cleaner way to implement this fix with fewer lines of code (don't add CSS).

Look at requirements for PR body (should include Issue # and explanation).
Still unnecessary file changes.
Squash commits so it is just 1 commit.


Ivestigate using simple-git instead of spawning git via execa

I happened to stumble upon simple-git (https://github.com/steveukx/git-js), which seems to support nice bindings for all the git features we currently run via spawning git with execa.
It might make sense to leave execa for running tasks, and use git via simple-git.

I’m not sure about it. What benefits does it provide to us?

I had some time to look at it a bit better, and it seems to still be spawning via child_process:
https://github.com/steveukx/git-js/blob/edfd4595194d83663a0299a63c32cb150a78b6da/simple-git/src/lib/runners/git-executor-chain.ts#L87-L91
So no benefits! I've tried out isomorphic-git (https://isomorphic-git.org) previously which comes with huge performance improvements since it's accessing git natively, but alas, it doesn't support stashing or diffing.

I think the performance issue are related to git itself rather than us, though. But I would be curious if you have done some analysis.


Fixing transfer stok

Coverage increased (+0.02%) to 31.405% when pulling f2a7cc3110ec5eb3cd47fcdac5d77d2e224722e6 on uat into fb5a57789067e073de30c2f7ef23347b55365119 on master.


Cannot run out-of-the-box locally on Windows 10 using the VS Code extensions

Have you checked that your issue isn't already filed?

[X] I read through FAQ and searched through the past issues, none of which addressed my issue.
[X] Yes, I have checked that this issue isn't already filed.

Bug description
Tried to follow the steps in the instructions, but failed to opened it in VS Code and run it locally
How to reproduce the bug
I've been following the steps in https://github.com/alshedivat/al-folio/blob/master/INSTALL.md to try and develop the website locally using VS Code on my Windows computer. So I've:

Had the repository copied to my GitHub repository and changed all the settings/names as in the instructions
Installed WSL in PowerShell following https://learn.microsoft.com/en-us/windows/wsl/install
Downloaded the repository locally
Opened the repository using VS Code
Tried opening it using dev container
Getting the following error:

[34563 ms] Start: Run in container: /bin/sh -c ./bin/entry_point.sh
/bin/sh: 1: ./bin/entry_point.sh: not found
[34647 ms] postAttachCommand failed with exit code 127. Skipping any further user-provided commands.
Done. Press any key to close the terminal.

And some pop-up windows saying "Ruby LSP" failed, and "Ruby LSP client: couldn't create connection to server".
If I close and re-open VS Code, I get a pop-up windows saying: "Reopen using Dev Container". If I click on that then I get the following error:
[14449 ms] Command failed: ls -a c:/Users/User/Documents/GitHub/TIG/data-centric-biodesign-tig.github.io
[14449 ms] ls: cannot access 'c:/Users/User/Documents/GitHub/TIG/data-centric-biodesign-tig.github.io': No such file or directory
[14449 ms] Exit code 2

Which I am guessing is a permission problem??
Anyway, I've been trying to solve this by:
Downloading docker desktop
Downloading ubuntu from the Microsoft store
Setting up docker desktop to use WSL 2 and Ubuntu
I don't know how to solve this. Please help!
Error messages and logs
[34563 ms] Start: Run in container: /bin/sh -c ./bin/entry_point.sh
/bin/sh: 1: ./bin/entry_point.sh: not found
[34647 ms] postAttachCommand failed with exit code 127. Skipping any further user-provided commands.
Done. Press any key to close the terminal.

What operating system are you using?
Windows
Where are you seeing the problem on?
Running locally with Docker
More info

The solution I would recommend is to install Ubuntu on Windows (via WSL2) then clone the repo on it and access the directory through VSCode.

Ok I've been trying to do this. Copied the repository to the ubuntu system, opened a VS Code with wsl navigated there, then tried to re-open with the dev-container and it failed again. Is there anything that I might be doing wrong?

Instead of copying the repo to the ubuntu system, download it inside the ubuntu system. If this is really a permission problem, the best solution is to do everything locally in the ubuntu system. Do you have any other suggestion @CheariX?

Oh wow that actually worked! Steps:

Deleted all the local repo's
Open a bash terminal (fro the ubuntu app in Windows)
Git clone the repo to the ubuntu file system
Open VS code, change to WSL
Open repo local folder
Let the dev-container extension do the rest

THANK YOU!


Implement function to fetch box Metadata and fix installBox function

function to fetch box Metadata
For below API, I implemented getString in DavCollection class.
https://personium.io/docs/ja/apiref/303_Progress_of_Bar_File_Installation/
fix installBox function
Parameter boxName in installBox function in Cell class receive only box URL.
And, when boxName is URL, it returns broken Box object.
Is there any testing?
closes #61
Added other features

Support for recursive DELETE box API

Thank you @yoh1496! It is a great function that has been missing.

I modified codes you pointed out.
Could you review this again?

I added getMetaData method


Update websockets dependency requirements

Hey!
I have been using this SDK with a uvicorn server. They have recently upgraded the websockets requirements (link), and the version 9.1 includes a fix for a security issue introduced in version 8.
Currently, they require >=9.1, while this SDK requires >=8,<9.  It would be awesome if you could also bump your requirements so that we didn't need to pin the uvicorn version and could also benefit from this security fix.
I'd be happy to open a PR to help with the upgrade if needed, but I couldn't quite figure out how the library is used and what code changes might need to be done for this major upgrade.
Category (place an x in each of the [ ])

[ ] slack_sdk.web.WebClient (sync/async) (Web API client)
[ ] slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
[ ] slack_sdk.models (UI component builders)
[ ] slack_sdk.oauth (OAuth Flow Utilities)
[X] slack_sdk.socket_mode (Socket Mode client)
[ ] slack_sdk.audit_logs (Audit Logs API client)
[ ] slack_sdk.scim (SCIM API client)
[ ] slack_sdk.rtm (RTM client)
[ ] slack_sdk.signature (Request Signature Verifier)

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

Hi @ggml1, thanks for sharing this! There is no blocker for upgrading websockets dependency to the latest as it's an optional one. As this is a security update, we set 9.1 as the oldest supported version. I think we can set >=9.1,<10 this time. Your contributions would be appreciated!


solves issue 308: update gradle version and android gradle plugin version

preliminary to next round of changes. @dlemures please review & merge if RTM.

Coverage increased (+0.6%) to 96.163% when pulling 84f3a4347ac784e4c85084b0ab7cf4b6191610ea on sni/update-gradle-issue-308 into 5f3b2a876a4eacbaf195208f021c22afb8e74598 on master.


Added CustomError to imports

BTW nit sure why the bot says that the CLA was not signed since I get this screen when follow the link


Suspected configuration blow-up in evm-semantics/tests/specs/benchmarks/ecrecover00-siginvalid-spec.k

The recent CI runs in evm-semantics were suffering from kore-rpc-booster consuming too much memory when proving evm-semantics/tests/specs/benchmarks/ecrecover00-siginvalid-spec.k. The issue has been mitigating by limiting rewriting depth to 300. This is symptomatic of the problem highlighted in https://github.com/runtimeverification/hs-backend-booster/issues/331. We need to profile ecrecover00-siginvalid-spec.k to confirm that it is the same issue.

A request file and (Haskell) definition for ecrecover00-siginvalid  are attached here. Symptom is that the server memory grows considerably when running more than ~300 steps (remarkable growth around 360-370). When running the 300 steps and then making a new request with the resulting state, the memory does not (immediately) grow.
exec-request-after300.json
exec-request365.json

The regression has been introduced by https://github.com/runtimeverification/hs-backend-booster/pull/333 and is fixed by reverting the change (PR https://github.com/runtimeverification/hs-backend-booster/pull/348)


Issue transfer pokemon optimicer with last changes

Expected Behavior

If pokemon iv = 1 evolve
once evolved if u have another other pokemon with last evolution, same type and iv = 1, compare movesets and release worst, so keep best moveset and after this upgraded if possible
else i have only 1 pokemon of this class and iv = 1, so bot must keep it
Actual Behavior
Release pokemon AFTER upgrading even if u dont have pokemon of this type
Your FULL config.json (remove your username, password, gmapkey and any other private info)
http://pastebin.com/XwqTcgrw

Other Information
OS:

Branch:
 master
Git Commit:
 Latest commit efda870
Python Version:
 Python 2.7.12
Any other relevant files/configs (eg: path files)

Strange.... The change I made was to run the optimizer twice, so we get rid of the evolved trash asap.
It seems strange that we would transfer Pokemon after we upgraded them (or else they would have been transferred before the upgrade, right?)
Maybe @pogarek has a clever insight in why this might happen?

@Jcolomar is this still a issue?


Update accessibility to WCAG 2.2

Is this pull request a content or a code change? (Please fill in the relevant section and delete the other)
Code change
I can confirm:
Accessibility considerations

[X] This change might impact accessibility and is not covered by automated aXe tests - manual testing has been performed

Review of site and accessibility guidance to bring it up to compliance with WCAG 2.2.
WCAG2.2 changes: https://www.w3.org/WAI/standards-guidelines/wcag/new-in-22/

[X] 2.4.11 Focus Not Obscured (Minimum) (AA)

We don't have banners/modals/other elements that appear over the page content
Updated layout accessibility guidance to indicate this assumption

[X] 2.5.7 Dragging Movements (AA)

The site is not interactive in this way - covered by existing assumption statements

[x] 2.5.8 Target Size (Minimum) (AA)

axe-core has an automated check for this, which has been explicitly enabled as it's off by default at the moment.
The breadcrumbs are failing this on /standards/managing-secrets/, /standards/signing-code-commits/, and /patterns/using-generative-ai/ - which looks to be an axe bug as they display the same as other pages that pass, and adding space doesn't help. Resolved, forced breadcrumbs to minimum 24px tall.

[x] 3.2.6 Consistent Help (A)

There is a feedback link in the phase banner which is in the same place on all pages  ✅
There is accessibility link in the footer that is consistent across all pages ✅
Question: do we want a more explicit get help link in the footer?

[X] 3.3.7 Redundant Entry (A)

The site doesn't provide forms for users to submit
Updated layout accessibility guidance to indicate this assumption

[X] 3.3.8 Accessible Authentication (Minimum) (AA)

The site does not have any authentication
Updated layout accessibility guidance to indicate this assumption

Discussed 3.2.6 with @edhamiltonHO and @keithkennedyHO. As we're compliant this is ready to merge and an issue will be raised to see if we want to add a help using this site link.


Node is removed during transition from one route to another

I have a use-case where I want to do a slide enter/leave left/right transitions like we see in vue hackernews 2.0 app. Currently I see that route nodes are removed when we transition from one route to another, we can see this if slow down the animation the previous route nodes will not be visible while current route node appears slowly with the animation. While this works for some cases, but we still want previous node like vue-hackernews-2.0 has.
An example can be seen here: https://waiting-direction.glitch.me/cards/2 and the code is here: https://waiting-direction.glitch.me
You can also try and slow down the transition in hackernews app here: https://vue-hn.now.sh/top/2 and see that the previous card is still there while the next card animates in.
Maybe I'm missing something or Nuxt.js is removing the nodes from one page to another during routing push ? @Atinux

Also I noticed that when we use vue-devtools to view the nodes, it appears like this.

There is only <RouteLink> and no nodes inside ? while on other pages, child-nodes are visible in vue-devtools

@johnlindquist @alexchopin

Hi @piyushchauhan2011
This is a bit tricky with nuxt.js since we use <router-view> for every page, and since it's the same component, vue-router will not "duplicate" it so it removes the node when doing the transition.
You have to do like it does in https://github.com/vuejs/vue-hackernews-2.0/blob/master/src/views/ItemList.vue
Futhermore, Nuxt.js calls data & asyncData every time :page is updated, so the transition is reset to 'slide-right', that's why you can see in my code cachedTransition.
Demo: https://fern-clerk.glitch.me/cards/1
Code: https://glitch.com/edit/#!/fern-clerk?path=pages/cards/_page.vue:3:21

Thanks @Atinux ! Love the community 😍


Issue 163 - Enable Request Response Logging

Pull Request Review
Checklist

[x] Issue: https://github.com/IBM/ansible-lifecycle-driver/issues/163

[x] List of related PRs : N.A.

[x] Project builds without any errors.

[x] Unit Tests - all pass.

[x] Ran manual functional “smoke” test (does product as a whole still work?).

[x] User Story meets the acceptance criteria - and passes. acceptance criteria should be understood at outset.

[x]  Description of the changes:
We have to enable Request & Response logging with ExternalRequestId, ContentType, Payload and MessageDirection in Ansible Driver.

Created a new Ansible Module which will help us to capture the log data.

Implemented code changes in Ansible Driver which will print those captured logs.

Added documentation for the new ansible module.
Renamed the module from ibm-cp4na-log-message to ibm_cp4na_log_message
Changed the directory of the module from 'docker' to 'ansibledriver' source code.
Added unit test for the new ansible module which will run a playbook script having ibm_cp4na_log_message module
Updated the Dockerfile

Hi Dan @dvaccarosenna ,
Please find the below updates:

Code have been modified to accommodate the new changes made in our internal Design Document.
Updated the custom ansible module document in docs folder with the latest design.
Review comments have been addressed in the new code changes. Only one thing we have not changed yet but if you want we can change that too. We had added _generate_additional_logs() to _log_event_for_ok_task() intentionally so that it can cover both v2_runner_on_ok() & v2_runner_item_on_ok() as both call _log_event_for_ok_task(). Please refer to this link - https://github.com/IBM/ansible-lifecycle-driver/pull/164/files#r917869338
We have tested the new module with different scenarios. It is working fine. Below are some of the negative scenarios which we tested.
a) If any one of the parameter (message_direction, external_request_id & protocol) is missing, task will fail as those 3 params are mandatory.
b) If message_direction value is given other than sent or received, task will fail as it supports only 2 values, sent and received.
c) If message_data is given but content_type is not given and vice versa, task will fail as both should exist together.
etc ...
Tested in OCP cluster by creating Assembly Instances on Nimrod UI. We had pushed the resource package which contains playbook script having our custom module. We could see desired logs.
OCP cluster log (Generated Request log)
{"@timestamp": "2022-07-14T13:09:30.299Z", "@version": "1", "message": "{'name': 'Surya', 'gender': 'male', 'email'<EMAIL_ADDRESS>'status': 'active'}", "host": "ansible-lifecycle-driver-57bbbc5dd9-9wmtr", "path": "/usr/local/lib/python3.9/site-packages/ansibledriver/service/ansible.py", "tags": [], "type": "logstash", "thread_name": "MainThread", "level": "INFO", "logger_name": "ansibledriver.service.ansible", "tracectx.processid": "fbf83d27-f907-4d54-a679-84806b1c4844", "tracectx.transactionid": "3b38a365-a616-4936-8423-9db853cd8a3e", "tracectx.taskid": "13", "messageDirection": "sent", "tracectx.externalRequestId": "5d1cd9ca-f6d9-11ec-8084-00000a0b650b", "ContentType": "application/json", "protocol": "http", "protocol_metadata": {"url": "https://gorest.co.in/public/v2/users"}, "tracectx.driverrequestid": "64c7f66b-81f9-458b-8477-526513d03b15"}
Unit test is also passing. Below is the Unit Test log snapshot.

Hi Dan @dvaccarosenna ,
We have done the code changes to support the additional field message_type in our Ansible module. After the code changes, we have executed unit test and it is passing. Also tested from Nimrod UI by creating Assembly instances and could see the expected logs including message_type.


Stop bolding the link texts in the home page ("I'm looking for someone" etc.).

@nmakida suggested this because it looks more readable for languages with complicated characters e.g., CJK, Hindi.

LGTM

Thanks! Merged.


Add files via upload

@excalibur408 uomanara.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


Check for corrupt settings on launch

Fixes #589
It's apparently a known thing with the .NET settings framework that the user config file can get corrupted if the PC crashes while an app is running that uses settings.
Unfortunately, Flight Simulator 2020 likes to crash PCs so this isn't as rare for MobiFlight users as one would expect.
The fix is to manually test the settings file for validity before anything in the app references Settings.Default and if a corrupt file is detected delete it. This will cause the settings framework to use defaults.

I tested this locally by manually chopping the end off my user.settings file and it correctly handled the exception, nuked the user settings file, and replaced it with a default.


Add ui to setup deferred scripts

Add support for n schedules (trigger at) and m intervals.
(the wierd looking input won't be there for long, so there is no need to make it look nice)

Merged


Update SGX SDK to 2.23

Motivation

Future Work

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#492  👈
#490
#491
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nick-mobilecoin and the rest of your teammates on  Graphite


Add filetype detection for eyaml files

https://github.com/voxpupuli/hiera-eyaml/ uses and produces the eyaml
format, which is simply yaml with some encrypted values.
It's convenient to edit the file without decrypting when not touching
encrypted values (or when you don't have access to the decryption key),
which is why vim should treat those files as yaml files.

Thanks!


Pytest discovery should ignore environment folder

I have a virtual environment under my workspace, and I enabled pytest.
I'm getting an error from test discovery (and no test discovered):
[7/26/2019 12:55:11.508 PM Error] Not a valid Python module: c:\projects\github\temp\pytest\env\lib\site-packages\setuptools\site-patch.py

because it's searching for tests under the virtual environment folder.
We should skip any file that's under the active environment's folder.

Fixed in https://github.com/microsoft/PTVS/pull/5571


wz-next function is called before canexit validation

I have a wz-next function and a canexit function for my wizard step. The wz-next function is called before the canexit function. Surely this is the incorrect order?

Yes that does not sound right, can you post some sample code? In our example page things work and fire as expected.


fix(curriculum): add comma to fix syntax in example

…he javascript syntax
Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #45308

Hi @jmurphy1196. Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 📝


Add native/firstParty flag to collector exporters

To address #4795, this is a series of PRs that add native or first party flags to registries that lack them. This batch touches collector-builder and all collector-exporter-* registries.

Moving the discussion out from my outdated comment:

Depends on how we want to use that flag. We had a thirdParty flag in the past that we removed because it created so much confusion. Right now the first party flag is used in the registry to say what I outlined above. I don't know if we water down the value of that if all otel first party components have that label as well

I don't think that we should add the isFirstParty flag to non-instrumentation entries of the registry, especially not for things build by the opentelemetry community. Otherwise 50%+ of our entries would have this flag (it is currently not showing up because layouts/partials/ecosystem/registry/entry.html is implementing that flag exactly that way that it only works for instrumentation)
We already highlight components by the opentelemetry community by distinguishing the "by The OpenTelemetry Authors" from other others by highlighting them.
Again, @haidong, I appreciate the effort you put into creating this PR, and I apologies for the confusion that my comment in #4795 might have created, but I would like to not implement this.

Agreed, let's keep this scoped to just instrumentations then.

I've been busy with other stuff and didn't get a chance to attend to this until today.
Thanks all for your input. I've created a new PR that touch files under data/registry. Please let me know your suggestions/comments there.


Automated Pull Request — New/Updated feed(s)

This pull request contains new or updated feed(s)

This was just for testing, please ignore.


two tasks add  at same time

I want to add two tasks two or more tasks at the same time.

Thank you but I do not want to add that option to my application, so please do not implement it.


Line in Distance and Direction widgets needs to be an arrow

From @kgonzago on November 4, 2016 18:45
render an arrow to indicate direction the line has been drawn.
Copied from original issue: Esri/military-tools-webappbuilder#109

Looks like this has been fixed:

Not sure where the pr was for this but it's definitely drawing a line now.


OpenSSL 3.0.15 won't build on AIX Power machines that don't support the xxlor instruction.

Summary
OpenSSL 3.0.15 won't build on AIX Power machines that don't support xxlor instruction.
OpenSSL 3.0.14 was fine because it pre-dates this git push
Details
perl <openssl 3.0.14 source tree>crypto/aes/asm/aesp8-ppc.pl "aix64" > /tmp/aesp8-ppc.3.0.14.s
perl <openssl 3.0.15 source tree>crypto/aes/asm/aesp8-ppc.pl "aix64" > /tmp/aesp8-ppc.3.0.15.s
diff /tmp/aesp8-ppc.3.0.14.s /tmp/aesp8-ppc.3.0.15.s

2343   xxlor 2, 32+10, 32+10   <<----- Ouch.
2344   vsldoi  10,11,10,1
2345   xxlor 1, 32+10, 32+10   <<----- Ouch.

The xxlor instruction is a Power ISA (Instruction Set Architecture), specific to certain versions of the Power architecture. xxlor is supported on Power9 and Power10 processors running AIX 7.2 (with appropriate Technology Levels) and AIX 7.3.
Unfortunately we have an earlier AIX Power build machine so our OpenSSL 3.0.15 build fails at:
cc -Dinline= -qpic -q64 -qmaxmem=16384 -qro -qroconst -qthreaded -O -DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib/engines-3\"" -DMODULESDIR="\"/usr/local/lib/ossl-modules\"" -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG  -c -o crypto/aes/libcrypto-lib-aesp8-ppc.o crypto/aes/aesp8-ppc.s

With:
Assembler:
crypto/aes/aesp8-ppc.s: line 2343: invalid opcode or pseudo-op
crypto/aes/aesp8-ppc.s: line 2345: invalid opcode or pseudo-op
crypto/aes/aesp8-ppc.s: line 2350: invalid opcode or pseudo-op
crypto/aes/aesp8-ppc.s: line 2411: invalid opcode or pseudo-op
crypto/aes/aesp8-ppc.s: line 2412: invalid opcode or pseudo-op
crypto/aes/aesp8-ppc.s: line 2421: invalid opcode or pseudo-op
crypto/aes/aesp8-ppc.s: line 2422: invalid opcode or pseudo-op

Build machine
We are building on AIX 5.3
kylie@lucky53:~$ oslevel
<IP_ADDRESS>
pack@vaixp53:~$ ls -l /unix
lrwxrwxrwx    1 root     system           21 Jun 21 2011  /unix -> /usr/lib/boot/unix_64
kylie@lucky53:~$ prtconf
System Model: IBM,8202-E4B
Machine Serial Number: 06B1BFP
Processor Type: PowerPC_POWER7
Processor Implementation Mode: POWER 6
Processor Version: PV_6_Compat
Number Of Processors: 2
Processor Clock Speed: 3000 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 2 02-vaixp53
Memory Size: 8192 MB
Good Memory Size: 8192 MB
Platform Firmware level: AL720_090
Firmware Version: IBM,AL720_090
Console Login: enable
Auto Restart: true
Full Core: false

@dannytsen can you please look at this?  Not sure if the intent was to ignore pre-power 9 systems here, or if we need to conditionally compile the xxlor instruction only when supported.
@MattHart-London immediate workaround should be to just build with no-asm

@nhorman xxlxor is supported in ISA 2.07.  So, power8 is supported but AIX is not included.

@dannytsen thank you for the quic response
To clarify, when you say "AIX is not included", is that meant to imply that the compiler on AIX for power8 is just unaware of the xxlor mnemonic?  i.e. those systems need a newer compiler to support this code?
@MattHart-London can you clarify what kind of system you are running on? You noted your system is pre-power9, but it would be good to know specifically what cpu you are using.
Trying to get to a path forward here - e.g. is the intent that power8 systems need a newer compiler version/os update to support this version of openssl?  Or are older power system users just left with no-asm builds as the only recourse?

@nhorman I am not sure what compiler AIX used.  So, a different compiler or newer one may solve the issue if xxlxor is supported.

It's actually this PR that backported the change to 3.0 and 3.1 https://github.com/openssl/openssl/pull/24531

My understanding is that the xxlxor instruction was introduced in Power8 as part of its enhanced vector and SIMD (Single Instruction, Multiple Data) capabilities.
Examining the pdfs under https://wiki.raptorcs.com/wiki/Power_ISA  i see that Power ISA v 2.06+ supports xxlor, but Power ISA v 2.05 and earlier doesn't support xxlor.
My AIX 5.3 reports:
lsconf | grep "Processor"
Processor Type: PowerPC_POWER7
Processor Implementation Mode: POWER 6
Processor Version: PV_6_Compat
Number Of Processors: 2

I'll try excluding aesp8-ppc.s for my AIX build, something like:
"Disable AES-XTS optimization for AIX"
crypto/aes/build.info
41 -   IF[{- $target{sys_id} ne "MACOSX" -}]
41 +   IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]

Thanks for the impressive support.

Should we revert the performance change?

This isn't the first time this kind of thing has stung us.  I'd add:

Have CI tests that cover multiple revisions of a processor architecture.

Qemu tests should be able to handle this.  For PPC, we only test 64 bit LE via Qemu.  Qemu supports ppc, ppc64 and ppc64le, each with a myriad of cpu versions.  I suspect we'll need vendor or community assistance choosing a representative sample and these CIs are pretty slow but neither is a reason to not expand the selection via daily or weekly tests.
I don't recommend removing the on PR and push tests, they continue to find programming errors.  I don't recommend expanding these greatly -- these tests are expensive.

I don't want to disagree with the notion of adding more ci ( who wouldn't being favor of more testing, or puppies, or feeding hungry people).  But I feel like I need to point out that power is currently a community platform.  While we certainly could add more arch variant tests for power (and other) arches, doing so adds CPU cycles to our ci set, and there is some monetary impact there, especially if we're using qemu.
It might not be a big deal, but if we were to add daily/weekly tests for something like this I would feel better doing so if
A) IBM could donate access to the appropriate power arches to run this testing
And
B) as a community platform, we don't gate releases on passing any of these ci tests
Alternatively we could promote power to a primary platform, but that's a much larger conversation, and one I personally don't believe we have the resources to support right now

I disagree that such a failure shouldn't stall a release: breaking compatibility is treated as a regression which usually gets an urgent fix.
I didn't realise GitHub had switched to CI hours rather than maximum number of simultaneous CI jobs.  Keeping costs down is always good.  Could such CIs be run on OpenSSL infrastructure instead?

If we had sufficient CPU infrastructure to run it on, I don't see why not, but I think all our dedicated hardware is currently allocated.
Regarding ci blockage, I'm struggling to see m way to why we would treat power any differently from any other community platform.  We don't block release for late breaking regressions on nonstop or vms or such as release blocking as far as I can see.
I understand the prevalence of power possibly being an argument for giving it special treatment.  But rather than treat it specially, I would much rather have the debate hinge on promoting power to a primary platform and weigh it against the cost of doing so

I wasn't limiting this to Power.  We've had similar problems on MIPS, ARM, S390 and probably other architectures.

Thats a noble goal in principle, but not something we can undertake practically speaking ,unless the associated community maintainers can donate real hardware to allocate github runners on.

Please note this particular thing would NOT be find by QEMU based tests on Linux. This problem is on old AIX systems. I cannot really see how we could have such machine(s) in CI without having them been provided (and maintained) by the respective communities.

QEMU emulates some very old PPC machines, I'd be extremely surprised if one of them didn't support the specific instruction used.  There are some processors emulated that date back to the early 1990s.  Justifying the inclusion of such processors in CI runs is another matter.

AFAIK This is a compiler thing, not a question of presence of these instructions. The code won't be used on old CPUs however the affected sources are still being built. I believe CI on contemporary Ubuntu/Debian with qemu (no matter how old CPU will be emulated) won't discover this issue on old AIX OS versions.
Yeah, an old Linux with sufficiently old gcc would probably find this on the cross-compile step, but such builder would still have to be a custom one and it is questionable how easy would it be to set it up.


Allow pachyderm to use a database such as Dynamo for metadata storage

What is the goal / desired outcome?
To use a database to store pachyderm metadata
If there is a way to accomplish this today via workaround, what does that require?
No workaround. I'm using the helm chart and all Amazon EBS implementations are locked to a single availability zone
(Optional) What is your proposal for a feature to solve this?

Environment?:

Kubernetes version (use kubectl version):
Pachyderm CLI version (use pachctl version):
Cloud provider (e.g. aws, azure, gke) or local deployment (e.g. minikube vs dockerized k8s):
OS (e.g. from /etc/os-release):
Others:

Pachyderm uses etcd to store metadata which works well for us as a database because it's designed for metadata, and fits in with the container / kubernetes ecosystem. We have long term plans to move off it onto Postgres, although there's a good chance that etcd will still be required, because it provides some consenus semantics that Postgres doesn't. It's unlikely that we'll ever consider using Dynamo because, afaik it doesn't support a standard query language, it's SQL based but it looks like it only supports a small subset of the language and is "schema free," so we'd have to write support specifically for dynamo, and it doesn't make sense for us to do that for a solution that's tied to a single cloud provider.


Don't expose "global" when node integration is off

Fix #2183.

Thanks. :+1:

We should consider reverting this, this change actually is causing a ton of headaches:

You have a webview with a preload script
The preload script calls require to load some other code, which has a reasonable expectation that global will be defined
global gets yanked because of #2215
Code that was previously working before now blows up because global is not defined

If you've got code that is reused between the browser process and preload script (like for logging, etc), you're kind of hosed because there is no window in browser, and no global in preload (of course, you can patch one back in, but it's a hack)

Should preload script expect nodejs things to work if node-integration is disabled?

Should preload script expect nodejs things to work if node-integration is disabled?

Yes, that is the only reason that we have preload scripts

Ok, and it's executed before things get cleaned up, so they don't get mixed with guest javascript, right?

@alexindigo Exactly, so:

Preload script runs, includes everything it needs
node.js constants get removed (require, process, etc)
Page load happens

However, you can define objects that will end up in the page's global scope. If that page calls a method that uses global, we die. This is true of other node.js constants too (especially process), but global is one that bites particularly hard because in practice, most node.js libs end up grabbing references to things they need during require

Sounds like a leak to my ears. I mean we have webview with disabled node-integrations for a reason – third-party content, we can't trust. Allowing privileged modules to expose themselves like that is dangerous.
As fast solution I'd see something like a flag keep-global along with node-integration, or cleanup-global (pretending-browser).
Although it feels right to investigate (brainstorm) other solutions for community benefits.
For example, preload.js populate exports object with stuff it wants to expose to the guest content,
and when guest content is loaded, reset script would copy stuff from exports to the window object.
PS. When I was hacking around, I found it was somewhat annoying that reset script being executed within same tick as guest javascript. Not sure if it's something easy/hard to fix, but seems like separating those two would allow for better user-land hacks. I mean running things process.nextTick and knowing it will be executed before first line of the guest javascript, but after reset script is done (therefore within "browser" environment).

Since we are also removing process, I think it is impossible to make all node modules happy anyway, so I would rather keep consistency in this situation, e.g. removing both process and global.