New Websocket transport

Hey 👋
First of all thank you for this amazing library, it is really well written and organised, and you can learn a lot just by scrolling around.
I'm interested in having a MQTT library with support for Websockets, a colleague and I already did some work on Hulaaki to try to achieve it, but it felt a bit hackish. So I looked into this library to see if it would be better suited for it. The Tortoise.Transport behaviour is heavily attached to gen_tcp module API, so I'm developing a library that wraps a Websocket client (gun) and provides an API similar to gen_tcp. The problem now is on testing, since the Tortoise.Transport behaviour requires some functions that are essentially used for testing and not for the normal function of the client. Basically I would have to implement a Websocket server (or use a third party library) to listen and accept connections for testing.
I would like to know if you would be interested in having support for Websocket transport in this library, and if so if you have any insights on how the support for Websockets could be achieved (refactoring the Tortoise.Transport behaviour an option?)?

Thanks. I would love to support websockets in this library, if we can get it working.
Perhaps I should scale the abstraction for the transports a bit back so they don't need to implement the server parts, but it has been neat for testing. Perhaps there is a websocket server implementation we could add as a test dependency and include in the official websocket Tortoise transport—if we choose to include it—websockets could perhaps be a package one could add as a dependency; ssl and tcp does rely on stuff already in OTP so I think it is reasonable to support them out of the box.
Anyways, as you might now: I am working on MQTT 5 support. I hope to get it stable soon, because it is kinda hard to accept pull requests right now, as most of Tortoise will change in the near future (because MQTT 5 demands it)
I promise I will keep an eye on my issues :)

As such I think implementing the server part would be best, as it would allow us to test the transport without having a MQTT server with the given transport enabled.

That was my first approach, I used the (Socket)[https://github.com/meh/elixir-socket] package to implement the server part. I just wanted to know if you were comfortable with this approach.
I still have somethings to finish before I can open a PR, but I can open a PR on your MQTT 5 branch or if you prefer I can wait until it is merged to master.

The system should support adding transports as dependencies; so I don't think a PR to Tortoise core should be necessary. By doing this we can update the websocket transport without having to push a new version of Tortoise.
Perhaps I should make an organisation for Tortoise such that we can have the dependencies under one org. What do you think of this plan ?

Oh I didn't understand the transport as a dependency before, that makes sense.
👍for the organisation

Hey, I created this repository https://github.com/ejscunha/tortoise_websocket (we can later move it the Tortoise organisation) which will provide a Tortoise.Transport.Websocket module. It has a PR open with the client and transport implementation.

Also, I think that Tortoise will need minor changes in order to support websockets. In the guards where it checks the transport type (i.e. when transport in [:tcp, :ssl]), we need to add :websockets.
Do you have any suggestion to make this better (maybe an overridable configuration)?


Always redirect to the "sign in" page

Describe the issue
When authentication succeeded, it returned to the "sign in" page, not the url that what I Inputed.

I inputed the url "http://xxx.xxx.xxx.xxx:8888"
It jumped to "http://xxx.xxx.xxx.xxx:8888/auth" automatically.
I inputed the username&password, clicked the login button.
It should be into "http://xxx.xxx.xxx.xxx:8888", but it jumped to "http://xxx.xxx.xxx.xxx:8888/auth" again.

Note: "xxx.xxx.xxx.xxx" is my server's ip.
It was the first time I used this module. I tried to check by myself over and over again, but I didn't know what's wrong with my configuration.
I am confused about this question. So please help me to take a look. Thank you very much.
Configuration
Paste full Caddyfile below:
[root@tccctu01 caddytest]# cat Caddyfile
{
    http_port 8888
    debug
}

xxx.xxx.xxx.xxx:8888 {
    route /* {
        jwt {
            auth_url /auth
            primary yes
            allow roles superadmin
            trusted_tokens {
                static_secret {
                    token_name access_token
                    token_secret 0e2fdcf8-6868-41a7-884b-7308795fc286
                }
            }
        }
        root * /data/wwwroot/default/servsts
        file_server
    }

    route /auth* {
        auth_portal {
            path /auth
            backends {
                local_backend {
                    method local
                    path /data/caddytest/users.json
                    realm local
                }
            }

            jwt {
                token_name access_token
                token_secret 0e2fdcf8-6868-41a7-884b-7308795fc286
            }

            ui {
                theme basic
                logo_url "https://caddyserver.com/resources/images/caddy-circle-lock.svg"
                logo_description "M2Net"
                links {
                    "ServerStatus" /
                    "Alertmanager" /servsts icon "las la-bell"
                    "My App" /myapp/ target_blank
                    "My Identity" /auth/whoami target_blank icon "las la-star"
                    "My Settings" /auth/settings icon "las la-cog" target_blank
                    "Hidden" /hidden disabled
                }
            }
        }
    }

    route {
        redir http://{hostport}/auth 302
    }

}

Version Information
Provide output of caddy list-modules -versions | grep auth below:
http.authentication.hashes.bcrypt v2.2.2
http.authentication.hashes.scrypt v2.2.2
http.authentication.providers.http_basic v2.2.2
http.authentication.providers.jwt v1.2.3
http.handlers.auth_portal v1.3.8
http.handlers.authentication v2.2.2

Expected behavior
When authentication succeeded, it should be into the url that what I inputed.
Console output
[root@tccctu01 caddytest]# ./caddy run -config Caddyfile
2020/12/10 08:38:36.769 INFO    using provided configuration    {"config_file": "Caddyfile", "config_adapter": ""}
2020/12/10 08:38:36.772 INFO    admin   admin endpoint started  {"address": "tcp/localhost:2019", "enforce_origin": false, "origins": ["localhost:2019", "[::1]:2019", "<IP_ADDRESS>:2019"]}
2020/12/10 08:38:36.772 INFO    http    server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server {"server_name": "srv0", "http_port": 8888}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       Authentication URL found        {"instance_name": "portal-1", "auth_url_path": "/auth"}
2020/12/10 08:38:36.773 INFO    http.handlers.auth_portal       JWT token name found    {"instance_name": "portal-1", "token_name": "access_token"}
2020/12/10 08:38:36.773 WARN    http.handlers.auth_portal       JWT token origin not found, using default       {"instance_name": "portal-1"}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       JWT token origin found  {"instance_name": "portal-1", "token_origin": "localhost"}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       JWT token lifetime found        {"instance_name": "portal-1", "token_lifetime": 900}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       JWT token configuration provisioned     {"instance_name": "portal-1", "auth_url_path": "/auth", "token_name": "access_token", "token_origin": "localhost", "token_lifetime": 900, "token_sign_method": "HS512"}
2020/12/10 08:38:36.773 INFO    http.handlers.auth_portal       local backend configuration     {"db_path": "/data/caddytest/users.json"}
2020/12/10 08:38:36.773 INFO    http.handlers.auth_portal       validating local backend        {"db_path": "/data/caddytest/users.json"}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       Provisioned authentication backend      {"instance_name": "portal-1", "backend_name": "local_backend", "backend_type": "local", "backend_realm": "local"}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       Provisioned registration endpoint       {"instance_name": "portal-1", "dropbox": ""}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       Provisioned authentication user interface parameters    {"instance_name": "portal-1", "title": "Sign In", "logo_url": "https://caddyserver.com/resources/images/caddy-circle-lock.svg", "logo_description": "M2Net", "action_endpoint": "/auth", "private_links": [{"link":"/","title":"ServerStatus"},{"link":"/servsts","title":"Alertmanager","icon_name":"las la-bell","icon_enabled":true},{"link":"/myapp/","title":"My App","target":"_blank","target_enabled":true},{"link":"/auth/whoami","title":"My Identity","target":"_blank","target_enabled":true,"icon_name":"las la-star","icon_enabled":true},{"link":"/auth/settings","title":"My Settings","target":"_blank","target_enabled":true,"icon_name":"las la-cog","icon_enabled":true}], "realms": [], "theme": "basic"}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "login"}
2020/12/10 08:38:36.773 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "portal"}
2020/12/10 08:38:36.774 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "whoami"}
2020/12/10 08:38:36.774 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "register"}
2020/12/10 08:38:36.774 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "generic"}
2020/12/10 08:38:36.774 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "settings"}
2020/12/10 08:38:36.775 INFO    http.handlers.auth_portal       JWT token validator provisioned {"instance_name": "portal-1", "access_list": [{"action":"allow","values":["anonymous","guest","*"],"claim":"roles"}]}
2020/12/10 08:38:36.775 INFO    http.handlers.auth_portal       provisioned plugin instance     {"instance_name": "portal-1", "started_at": "2020/12/10 08:38:36.773"}
2020/12/10 08:38:36.775 DEBUG   http.authentication.providers.jwt       JWT access list entry   {"instance_name": "jwt-1", "seq_id": 0, "acl": {"action":"allow","values":["superadmin"],"claim":"roles"}}
2020/12/10 08:38:36.775 DEBUG   http.authentication.providers.jwt       JWT token configuration provisioned     {"instance_name": "jwt-1", "trusted_tokens": [{"token_name":"access_token","token_lifetime":900,"token_secret":"0e2fdcf8-6868-41a7-884b-7308795fc286"}], "auth_url_path": "/auth", "token_sources": "header cookie query", "token_types": "HS512", "token_validator": {"TokenConfigs":[{"token_name":"access_token","token_lifetime":900,"token_secret":"0e2fdcf8-6868-41a7-884b-7308795fc286"}],"AuthorizationHeaders":{"access_token":{},"jwt_access_token":{}},"Cookies":{"access_token":{},"jwt_access_token":{}},"QueryParameters":{"access_token":{},"jwt_access_token":{}},"Cache":{"Entries":{}},"AccessList":[{"action":"allow","values":["superadmin"],"claim":"roles"}],"TokenBackends":[{}],"TokenSources":["header","cookie","query"]}, "token_validator_options": {"ValidateSourceAddress":false,"SourceAddress":"","ValidateBearerHeader":false,"ValidateMethodPath":false,"ValidateAccessListPathClaim":false,"Metadata":null}, "forbidden_path": ""}
2020/12/10 08:38:36.775 INFO    http.authentication.providers.jwt       provisioned plugin instance     {"instance_name": "jwt-1", "started_at": "2020/12/10 08:38:36.775"}
2020/12/10 08:38:36.775 DEBUG   http    starting server loop    {"address": "[::]:8888", "http3": false, "tls": false}
2020/12/10 08:38:36.776 INFO    autosaved config        {"file": "/root/.config/caddy/autosave.json"}
2020/12/10 08:38:36.776 INFO    serving initial configuration
2020/12/10 08:38:36.776 INFO    tls.cache.maintenance   started background certificate maintenance      {"cache": "0xc0000e7880"}
2020/12/10 08:38:36.777 INFO    tls     cleaned up storage units
2020/12/10 08:39:09.116 DEBUG   http.authentication.providers.jwt       token validation error  {"error": "user invalid"}
2020/12/10 08:39:09.117 DEBUG   http.stdlib     http: superfluous response.WriteHeader call from github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP (server.go:255)
2020/12/10 08:39:15.089 DEBUG   http.handlers.auth_portal       Authentication succeeded        {"request_id": "86d5dbb1-a69b-40f3-b139-a66ac7ea9005", "user": {"exp":1607590455,"jti":"86d5dbb1-a69b-40f3-b139-a66ac7ea9005","iss":"http://xxx.xxx.xxx.xxx:8888/auth","sub":"webadmin","email":"webadmin@localdomain.local","roles":["superadmin","guest","anonymous"],"origin":"localhost"}}

Additional context
UserDB:
[root@tccctu01 caddytest]# more /data/caddytest/users.json
{
  "revision": 1,
  "users": [
    {
      "id": "c6f4813d-b8d4-4cb5-809d-d6bfc099887a",
      "username": "webadmin",
      "email_addresses": [
        {
          "address"<EMAIL_ADDRESS>          "domain": "localdomain.local"
        }
      ],
      "passwords": [
        {
          "purpose": "generic",
          "type": "bcrypt",
          "hash": "$2a$10$hw0UAwAMHq9kXL8tScRWjuUyQhthpMkz/JbJEhOPLGkYzv8QT2qZe",
          "cost": 10,
          "expired_at": "0001-01-01T00:00:00Z",
          "created_at": "2020-05-09T15:59:15.318042659Z",
          "disabled_at": "0001-01-01T00:00:00Z"
        }
      ],
      "created": "2020-05-09T15:59:15.318042165Z",
      "last_modified": "2020-05-09T15:59:15.318042285Z",
      "roles": [
        {
          "name": "superadmin"
        }
      ]
    }
  ]
}

It should be into "http://xxx.xxx.xxx.xxx:8888", but it jumped to "http://xxx.xxx.xxx.xxx:8888/auth" again.

@MxdStudio , the issue is that you are putting default route (which matches first) prior to more specific routers.
You need to move the default “/*” to be at the end of the config. Try it. If it does not work, I will be back online 9am EST.

@MxdStudio , also, once you login do you see your portal links?

@MxdStudio , also remove the following from you config. Thay is the same as having a second default route.
route {
redir http://{hostport}/auth 302
}

Closing, no activity.

@greenpau
Thank you for reply.
I tried, but it didn't work.
I did :

I removed the following from my config.
route { redir http://{hostport}/auth 302 }
I moved the default “/*” to be at the end of the config.

After these, my config became :
`{
http_port 8888
debug
}
xxxx.xxxx.xxxx.xxxx:8888 {
route /auth* {
    auth_portal {
        path /auth
        backends {
            local_backend {
                method local
                path /data/caddytest/users.json
                realm local
            }
        }

        jwt {
            token_name access_token
            token_secret 0e2fdcf8-6868-41a7-884b-7308795fc286
        }

        ui {
            theme basic
            logo_url "https://caddyserver.com/resources/images/caddy-circle-lock.svg"
            logo_description "M2Net"
            links {
                "ServerStatus" /
                "Alertmanager" /servsts icon "las la-bell"
                "My App" /myapp/ target_blank
                "My Identity" /auth/whoami target_blank icon "las la-star"
                "My Settings" /auth/settings icon "las la-cog" target_blank
                "Hidden" /hidden disabled
            }
        }
    }
}

route /* {
    jwt {
        auth_url /auth
        primary yes
        allow roles superadmin
        trusted_tokens {
            static_secret {
                token_name access_token
                token_secret 0e2fdcf8-6868-41a7-884b-7308795fc286
            }
        }
    }
    root * /data/wwwroot/default/servsts
    file_server
}

}`
The result was same.
Logs here:
2020/12/14 03:47:55.031 INFO    using provided configuration    {"config_file": "Caddyfile", "config_adapter": ""} 2020/12/14 03:47:55.034 INFO    admin   admin endpoint started  {"address": "tcp/localhost:2019", "enforce_origin": false, "origins": ["localhost:2019", "[::1]:2019", "<IP_ADDRESS>:2019"]} 2020/12/14 03:47:55.034 INFO    http    server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server {"server_name": "srv0", "http_port": 8888} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       Authentication URL found        {"instance_name": "portal-1", "auth_url_path": "/auth"} 2020/12/14 03:47:55.035 INFO    http.handlers.auth_portal       JWT token name found    {"instance_name": "portal-1", "token_name": "access_token"} 2020/12/14 03:47:55.035 WARN    http.handlers.auth_portal       JWT token origin not found, using default       {"instance_name": "portal-1"} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       JWT token origin found  {"instance_name": "portal-1", "token_origin": "localhost"} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       JWT token lifetime found        {"instance_name": "portal-1", "token_lifetime": 900} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       JWT token configuration provisioned     {"instance_name": "portal-1", "auth_url_path": "/auth", "token_name": "access_token", "token_origin": "localhost", "token_lifetime": 900, "token_sign_method": "HS512"} 2020/12/14 03:47:55.035 INFO    http.handlers.auth_portal       local backend configuration     {"db_path": "/data/caddytest/users.json"} 2020/12/14 03:47:55.035 INFO    http.handlers.auth_portal       validating local backend        {"db_path": "/data/caddytest/users.json"} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       Provisioned authentication backend      {"instance_name": "portal-1", "backend_name": "local_backend", "backend_type": "local", "backend_realm": "local"} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       Provisioned registration endpoint       {"instance_name": "portal-1", "dropbox": ""} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       Provisioned authentication user interface parameters    {"instance_name": "portal-1", "title": "Sign In", "logo_url": "https://caddyserver.com/resources/images/caddy-circle-lock.svg", "logo_description": "M2Net", "action_endpoint": "/auth", "private_links": [{"link":"/","title":"ServerStatus"},{"link":"/servsts","title":"Alertmanager","icon_name":"las la-bell","icon_enabled":true},{"link":"/myapp/","title":"My App","target":"_blank","target_enabled":true},{"link":"/auth/whoami","title":"My Identity","target":"_blank","target_enabled":true,"icon_name":"las la-star","icon_enabled":true},{"link":"/auth/settings","title":"My Settings","target":"_blank","target_enabled":true,"icon_name":"las la-cog","icon_enabled":true}], "realms": [], "theme": "basic"} 2020/12/14 03:47:55.035 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "login"} 2020/12/14 03:47:55.036 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "portal"} 2020/12/14 03:47:55.036 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "whoami"} 2020/12/14 03:47:55.037 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "register"} 2020/12/14 03:47:55.037 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "generic"} 2020/12/14 03:47:55.038 DEBUG   http.handlers.auth_portal       Provisioning default authentication user interface templates    {"instance_name": "portal-1", "template_theme": "basic", "template_name": "settings"} 2020/12/14 03:47:55.040 INFO    http.handlers.auth_portal       JWT token validator provisioned {"instance_name": "portal-1", "access_list": [{"action":"allow","values":["anonymous","guest","*"],"claim":"roles"}]} 2020/12/14 03:47:55.040 INFO    http.handlers.auth_portal       provisioned plugin instance     {"instance_name": "portal-1", "started_at": "2020/12/14 03:47:55.035"} 2020/12/14 03:47:55.040 DEBUG   http.authentication.providers.jwt       JWT access list entry   {"instance_name": "jwt-1", "seq_id": 0, "acl": {"action":"allow","values":["superadmin"],"claim":"roles"}} 2020/12/14 03:47:55.040 DEBUG   http.authentication.providers.jwt       JWT token configuration provisioned     {"instance_name": "jwt-1", "trusted_tokens": [{"token_name":"access_token","token_lifetime":900,"token_secret":"0e2fdcf8-6868-41a7-884b-7308795fc286"}], "auth_url_path": "/auth", "token_sources": "header cookie query", "token_types": "HS512", "token_validator": {"TokenConfigs":[{"token_name":"access_token","token_lifetime":900,"token_secret":"0e2fdcf8-6868-41a7-884b-7308795fc286"}],"AuthorizationHeaders":{"access_token":{},"jwt_access_token":{}},"Cookies":{"access_token":{},"jwt_access_token":{}},"QueryParameters":{"access_token":{},"jwt_access_token":{}},"Cache":{"Entries":{}},"AccessList":[{"action":"allow","values":["superadmin"],"claim":"roles"}],"TokenBackends":[{}],"TokenSources":["header","cookie","query"]}, "token_validator_options": {"ValidateSourceAddress":false,"SourceAddress":"","ValidateBearerHeader":false,"ValidateMethodPath":false,"ValidateAccessListPathClaim":false,"Metadata":null}, "forbidden_path": ""} 2020/12/14 03:47:55.041 INFO    http.authentication.providers.jwt       provisioned plugin instance     {"instance_name": "jwt-1", "started_at": "2020/12/14 03:47:55.040"} 2020/12/14 03:47:55.041 DEBUG   http    starting server loop    {"address": "[::]:8888", "http3": false, "tls": false} 2020/12/14 03:47:55.041 INFO    autosaved config        {"file": "/root/.config/caddy/autosave.json"} 2020/12/14 03:47:55.041 INFO    serving initial configuration 2020/12/14 03:47:55.041 INFO    tls.cache.maintenance   started background certificate maintenance      {"cache": "0xc0000e7ab0"} 2020/12/14 03:47:55.042 INFO    tls     cleaned up storage units 2020/12/14 03:48:23.358 DEBUG   http.authentication.providers.jwt       token validation error  {"error": "user invalid"} 2020/12/14 03:48:23.358 DEBUG   http.stdlib     http: superfluous response.WriteHeader call from github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP (server.go:255) 2020/12/14 03:48:30.409 DEBUG   http.handlers.auth_portal       Authentication succeeded        {"request_id": "ae5064f3-9893-4a46-8d19-cb119d95cf3f", "user": {"exp":1607918610,"jti":"ae5064f3-9893-4a46-8d19-cb119d95cf3f","iss":"http://xxx.xxx.xxx.xxx:8888/auth","sub":"webadmin","email":"webadmin@localdomain.local","roles":["superadmin","guest","anonymous"],"origin":"localhost"}}

@MxdStudio , I think the issue is that you are using HTTP, not HTTPS. The authentication cookie you get is “secure http-only”. Try adding “tls” and retrying.

@MxdStudio , this explains what “secure httponly” means https://blog.dareboost.com/en/2019/03/secure-cookies-secure-httponly-flags/

@MxdStudio , I think the issue is that you are using HTTP, not HTTPS. The authentication cookie you get is “secure http-only”. Try adding “tls” and retrying.

Feedback:
It worked by using HTTPS.
Thank you very much.


Use custom server name

Hello,
First, let me thank you for this project.
This PR has the same goal than #68 , meaning using a custom env variable for the server name (for the moment is it symfony.dev in the config file)
Description
Nginx is not supposed to read for env variables, to do so, you need the Lua support through the dedicated module. The recommanded way to use it is to use openresty, which I did in the nginx image
Usage
A new env variable has been added to the .env.dist file, SERVER_NAME. You should update this variable to change your server name
Changes
The nginx service now uses openresty.
Because Openresty does not come with default file, I had to :

Create dedicated config directories
Add fastcgi_params and mime.types files to the project

The env variables is retrieved using the set_by_lua_block directive, using this simple block :
return os.getenv("SERVER_NAME")

Related Issue
Fix #58
Misc
This PR has been tested with this demo app, which is in 3.1, and an internal application (not from auth0), which is in 3.3 .
The applications have been tested both on Mac OS X and Ubuntu.
Thank you for reading 😄

@PyRowMan you're welcome 😄
Tell me if you have any issue, but I think you could make it run on your env.
We have been deploying a staging env for our application using this PR code, for the moment we have had no issue, but this is an env we tailored to our needs

@maxpou I am too, i'm really tired of working with that shitty wampserver uU
@milanito I haven't actually even installed the PR for now, but i have seen the commit files and there is no probleme i can foresee.
Nonetheless i have a problematic that i can't solve :
At first my idea for integrating more than one app into the project was to creating a new docker container for each symfony app.
But after trying that solution I had ran into some issues.
I then got back to the temporary easy standard "all symfony apps in the same container".
So i'm asking it now: what are you thinking is the best solution ?
Btw : One of the problems with the second solution is that you can't set the workdir to the symfony app directly... And i'm annoyed with it.

@PyRowMan I think the first solution is the one I'd use. But in this case, you might have to change several things :

You'd have to update your nginx configuration with a new configuration file for your new application
Update the nginx docker file with ADD your_new_conf.conf /etc/nginx/sites-available/ and RUN ln -s /etc/nginx/sites-available/your_new_conf.conf /etc/nginx/sites-enabled/your_new_conf
Update the docker compose file, by adding a new service for each application, in which the most important part is the volume one, in particular :- ${SYMFONY_APP_PATH_2}:/var/www/your_new_conf
Don't forget to update the volumes_from: entry for the nginx and elk volumes
Update the .env file with the value of SYMFONY_APP_PATH_2 (But I think it might work with the same value)

I think with all that it should work.
Anyway, I'm not sure it's the right place for this discussion 😄 maybe after this PR is merged, you could open an issue for that ?

@milanito Yes, you are totally right ! I'll do that as soon as I have the time to write the right issue.
About that PR, I tested your branch yesterday, here is my review :
Note that I had activated the opcache before merging you PR.
I had less performances after merging your branch, something like 0.3 seconds more loading page on a standard symfony page.
Do you have any idea where that can come from ?

@PyRowMan uhm, to be honest no 😄
Could you provide maybe a benchmark comparing both env (before and after the PR) ? I though it'd might be openresty but it's supposed to be even better.

@milanito Today my environnement don't want to play I think. I was at like 1.5 sec loading time yesterday; today i'm at 17 sec loading time.
But when i tested it there was no real difference between the two branches. (0.3 seconds like I said)
I'll make a Issue to integrate opcache and test the perfs.


set an argument for the interpreter doesn't work

When using Platypus, if I set an argument for the interpreter (bash) then when clicking to "Create App" nothing happens. if I don't, everything work as expected

same for me.

this whole setup is not working. Clicking on the "create app" button does absolutely nothing but change the title of the application from "Platypus" to "Platypus – Select destination". But i can not proceed in any meaningful way.
yourScript is located under /usr/local/bin/

This is a known bug in the latest version, will be fixed in the next update.

Same problem here.
Using the "Args" popup once seems to break the dialog system completely.
Is there any projection for when the next version can be expected?

I just ran into this problem too. as a workaround, what I did was create a config.sh script which set the arguments that I want:
eval set -- -x -y -z
and then the bash script reads config.sh before parsing the command-line options:
if [ -f config.sh ]; then     . config.sh fi options=$(getopt ...)

@jglass524 I think this issue is fixed, the author just hasn't released a new binary with the fix. Try compiling the project yourself and I believe it should just work. It does for me 👍🏼

There is another workaround: Change the args as you want and save as profile.
Then close and go to 'Load Profile' (and don't change the args anymore).
After that it'll work


Sleeping during a thunderstorm loops "The night has been skipped"

We're running Harbor v1.6.2-SNAPSHOT on Minecraft 1.15.2. Our night-skip settings are:
night-skip:
  enabled: true # Skip the night if a percentage of the players in a world are sleeping
  percentage: 50 # Percentage of players required to be sleeping to skip the night (0 - 100)
  time-rate: 70 # The amount of ticks added to the current time every tick when skipping the night
  daytime-ticks: 1200 # The time in ticks that Harbor considers day
  instant-skip: true # Instantly skip the night instead of showing the full animation
  proportional-acceleration: false # Increase the night skipping speed based on the amount of sleeping players
  clear-rain: true # Clear rain (if it's raining) when the night is skipped
  clear-thunder: true # Clear thunder (if it's thundering) when the night is skipped
  reset-phantom-statistic: false # Treats everyone online as if they have slept in the last 3 days after the night is skipped (check out /gamerule doInsomnia on 1.15+)

If we sleep during a thunderstorm, the following sequence of events occurs:

50% of players begin to sleep
Night advances to day
We get a "The night has been skipped"
The thunderstorm has not been skipped, all players remain sleeping
Repeat 3 and 4 ad nauseum until players begin getting out of bed
If all players are sleeping, clear thunder, advance to day, and kick players from their beds.

I think intended behaviour should be that the thunderstorm is skipped and we go to morning, just like if it was night and we were sleeping.

This seems to now be fixed as of 792328d.


How to train Cityscapes dataset

Hi！How to load and train cityscapes dataset? Cityscapes dataset has no bounding box, so how do you train it for detection? thanks.

you can get a bounding box when it changes to coco detection format.
first change cityscape format to coco panoptic format using converting script in cityscapes dataset github, and then change coco panoptic dataset to coco detection format using coco/panopticapi/converter. then you can use cocoapi to load data.

Please check out PR #1090 with the update you can load files directly in their original format

thanks@ingeechart  @botcs

Please check out PR #1090 with the update you can load files directly in their original format.
By convention it uses the tightest bounding box for each instance, based on their binary mask.

Hi. When I run the convert_cityscapes_to_coco.py, it shows error as follows:
ModuleNotFoundError: No module named 'cityscapesscripts.evaluation.instances2dict_with_polygons'
Do you know how to solve it? Thanks.


1.18.2 backport?

@the-just-luke Can u try the mod please on 1.18?(I think it should work there)

You can try it on 1.18.2 and if it doesn’t work tell us and we will create new version for 1.18.2

@uhb217 the mod isn't working on 1.18.2, the fabric api changed there, we will need to make another version 😭

@the-just-luke and @uhb217, I added a 1.18.2!
if there any problems please Dm me or open here an issue.


Create default wrapped clients only if necessary also for S3AsyncEncryptionClient

Problem:
If the region is not set in the environment, instantiation of S3Client fails. Therefore, when setting up S3Client, we also set the region on the client. That works with S3EncryptionClient:
S3EncryptionClient.builder()
                .wrappedClient(S3Client.builder().region(EU_CENTRAL_1).build())
                .wrappedAsyncClient(S3AsyncClient.builder().region(EU_CENTRAL_1).build())
                .build();

Unfortunately, it does not with the S3AsyncEncryptionClient as its Builder instantiates a default wrapped client without a region set.
S3AsyncEncryptionClient.builder()
                .wrappedClient(S3AsyncClient.builder().region(EU_CENTRAL_1).build())
                .build();

Solution:
Apply the same fix as for S3EncryptionClient, commit 285eab68fdc2468e678d3b745d6502a9584752e4.

Just noticed it had just been fixed last week in #187.

Any chance to release new version soon with the fix?


upload SCORE repeating data

This task has become unclear to me. Needs more description written here so I can remember it @AidaasinAyda

score numbers to brick numbers...in a script try_replacecolname_intro_script.R


Features/project moises diogo

I, can you kindly change the destination branch? to "features/classes/2/springboot_starter/g1" ?

Will do.


Escaped chars not translated to ELM correctly?

Given the following CQL:
define EscapeExample: 'Hello \'World\''

the CQL-to-ELM translator produces:
{
  "name" : "EscapeExample",
  "context" : "Patient",
  "accessLevel" : "Public",
  "expression" : {
    "valueType" : "{urn:hl7-org:elm-types:r1}String",
    "value" : "Hello \\'World\\'",
    "type" : "Literal"
  }
}

Is this intentional?  I would have expected the ELM to remove the escape characters since they're no longer necessary (rather than double-escaping them).  In other words, I expected "value" : "Hello 'World'", not "value" : "Hello \\'World\\'".

So, this was quite the rabbit-hole :) Yes, the CQL-to-ELM translator was not correctly dealing with escape sequences in strings and identifiers, so I added logic to escape/unescape CQL literals and identifiers, and a unit test to verify it. Along the way, I found an issue with the CQL grammar itself, the way strings and identifiers are defined slightly too greedily, which results in an edge case with escape characters, specifically the backslash escape (\\) isn't handled properly. Because that's a specification change, I can't fix that until the grammar changes in the spec, so I've submitted an STU comment to address that, and until then, I've commented out the affected tests in the unit test.
However, having fixed all that and verified that escape sequences are being handled correctly for all possible escape sequences in both strings and identifiers, the output in the XML is still Hello \'World\' instead of the simpler Hello 'World'. In the JSON, the value is the simpler, but apparently, the escape logic for XML escapes single-quotes.
So I'm committing the fix I have so far, but leaving this issue open until the full fix can be applied based on the spec change.

That's a reasonable approach.  Thanks for looking into this.  If it works in JSON, I'm happy for now!

Submitted CQL STU comment #1317 to address the STRING and QUOTEDIDENTIFIER lexical rules. (A similar fix was applied to the FHIRPath specification).

Released in v1.1.1-SNAPSHOT


SelectTagHelpers: asp-item shouldn't require/depend on asp-for.

In the SelectTagHelper you can't use asp-items without specifying asp-for.
This does NOT work:
<select<EMAIL_ADDRESS>
I can think of multiple scenarios where this might be a valid use case, the simplest one is when I want to provide my own name attribute without having a property on the view model.
Another is to use with client-side libraries for client-side content behavior not even involving using a form (my current situation)
Workaround (this DOES work):
@{
    int? empty=null;
}
<select asp-for="@empty" <EMAIL_ADDRESS><!-- or -->
<select name="my-custom-name" asp-for="@empty" <EMAIL_ADDRESS>

@DamianEdwards @dougbu any idea if this was deliberate for some reason? Or just oops?

I ran into this myself in the localization sample and forgot to log an issue. I think was just an oops, and we should try to fix it.

:smiling_imp: Well, the better excuse is the MVC tag helpers were originally modelled after the HTML helpers. DropDownListFor() and ListBoxFor() have a similar restriction; the passed expression must not be null. :smiling_imp:
My only concern is a need to muck with the IHtmlGenerator APIs to enable this scenario. It's definitely doable, just not in an hour.


Bottom of window not rendered

Issue Type: Bug
When maximized on my left screen, the bottom +-155 pixels are not rendered, windows behind it also do not render but when I click in this region it will interact with the application open behind vs code or the desktop. On my right screen the problem does not occur. Both screen are 1920x1080 with the desktop extended over them and the taskbar on the bottom of both screens without it hiding. This is a fresh install of vscode on a new windows profile and the issue also occurred before installing the cpptools extension.

VS Code version: Code 1.40.2 (f359dd69833dd8800b54d458f6d37ab7c78df520, 2019-11-25T14:54:45.096Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz (4 x 3193)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.88GB (6.43GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

cpptools
ms-
0.26.2

Same problem also occurs in adobe acrobat reader so is not a VS code issue after all

Problem turned out to be a common Windows 10 issue for systems migrated from Windows 7. To fix it all I had to do was:

Right click the desktop
Select Display settings
Under scale and layout change the setting to another percentage i.e. from 100% to 125%
Wait for the screen to adjust
Set it back to the previous setting


Proposal: Rename principal in Account type

The Account type is a combination of a principal and a subaccount. The subaccount was correctly called "subaccount" but the principal was called "of" for some reason. In the context of the icrc1_balance_of method, this makes sense. However, in the context of icrc2_transfer it does not.
In the future we may implement even more methods where "of" doesn't make sense as the name of the principal. By separating the usage from the definition, Account will remain flexible for all these use cases.
Additionally, when #26 was merged in we didn't update the did file. This takes care of that.

Thanks, @dansteren!

The subaccount was correctly called "subaccount" but the principal was called "of" for some reason.

I guess I'm responsible for calling the field of.
The only reason for that spelling is that Account { of : principal } looks irresistibly neat to me (reads very naturally, isn't it?). The of part indicates the owner of the account. That spelling reminds me a bit of Objective-C naming conventions that I find very readable. I now realize that it doesn't look good in Motoko, where we don't specify the type name when constructing a record.
Since you are not the first one who is confused with this naming, we should consider changing it.
record { principal : principal } also reads well, both in transfer and in balance_of context:
transfer({ to = { principal = myPrincipal } ... })
balance_of({ principal = myPrincipal })


Discussion: react-native-create-library is not maintained now

I am not sure this repo is correct place to post this problem, but there is no other channels to discuss the topic.
react-native-create-library is recommended in the public documents. And it seems the repo is not maintained.
https://github.com/frostney/react-native-create-library/issues/106
There are some differences between latest sources in master branch and published package. Options written in README is not available with cli. It's truly confusing.
On the other hand, there are discussions about next generation of native modules.
https://github.com/react-native-community/discussions-and-proposals/issues/96

Tell me a correct place to discuss this topic if you know
I can send a PR to change docs with workaround: cloning the repo and run /cli.js directly, is this needed ?
Consider to maintain the repo by  react native community

Thanks

For now that package should work for you but in the future we are planning on providing a new library scaffold.

@cpojer

in the future we are planning on providing a new library scaffold.

Where is wrote the plan??
I think it's a problem that ways to scaffold new libraries is not maintained now
Do you think about this?

@januswel we do not have a proper plan yet. The best place to stay up to date is the discussions-and-proposals repository, specifically the discussion about TurboModules: https://github.com/react-native-community/discussions-and-proposals/issues/40

Thx, @cpojer

@cpojer

For now that package should work for you

it doesn't work with v0.60-rc.3


certificate update should trigger lb config update

@vincent99

Tested with server version v1.0.0-rc1

Created Lb service for 2 targets with ssl enabled listener using default certificate say - test2 - with domian-name test2.com.

Make sure that Lb service IP is accessible with certs for test1.

Update certificate - "test1" with new set of key and cert so the new domain name is test3.com.

When accessing  Lb service IP with old cert (from step1) , it is not accessible and following error is encountered:
ERROR: cannot verify <domains> certificate, issued by '/C=US/ST=CA/L=Cupertino
<EMAIL_ADDRESS>  Self-signed certificate encountered.
    ERROR: certificate common name 'test3.com' doesn't match requested host name
 'test2.com'.
To connect to test2.com insecurely, use `--no-check-certificate'.
root@0d4ddd34219b:~#

Able to access  Lb service IP with new certs (for domian - test3.com) successfully.


Java new features

Added java new features questions and answers

@shai1esh Thanks for the PR. I have a bunch of suggestions that include some minor grammatical fixes as well as rewriting points to make them shorter and more apt for slides.
For most of the suggestions, you should be able to accept them with just a click of a button.


Clarify NetPol applies to connections, not pkts

This PR aims to clarify two things:

Reply traffic is implicitly allowed by NetPol
Creating/Editing NetPol in a disruptive manner to existing connections is implementation defined behavior.

Closes #120525 (https://github.com/kubernetes/kubernetes/issues/120525)

/cc @astoycos

/lgtm
/assign @danwinship

Hello @tssurya .
Are you actively working on these changes?
Thanks

@danwinship @caseydavenport can you please review?

@kbhawkey : I already pushed changes as per the necessary reviews I got. Unsure what else I need to do?
I think this is blocked on reviews.

/sig network

@kubernetes/sig-network-pr-reviews can we get a tech LGTM on this change?

one last comment and LGTM

/lgtm

/approve


flask:3.0.0 incompatible with flask-restx:1.1.0 seems to break the ansibledb server

My docker container during an automated build updated flask from 2.3.3 to 3.0.0 and am now getting the following traceback when attempting to redeploy the ansibledb pod with the latest container running flask 3.0.0.  Looks like flask-restx is trying to use something that is no longer included in the base flask package: https://github.com/python-restx/flask-restx/issues/567
I'll be forcing the requirements.txt to use v2.3.3 for now.  Just wanted to let you know of the issue.
Maybe update requirements.txt to the following in order to ensure compatability between flask and flask-restx until restx is updated to 1.1.1.
pymongo
Flask==2.3.3
python-dotenv
gunicorn
flask_swagger_ui
flask_restx==1.1.0
ldap3

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask_restx/api.py", line 18, in <module>
    from flask.helpers import _endpoint_from_view_func
ImportError: cannot import name '_endpoint_from_view_func' from 'flask.helpers' (/usr/local/lib/python3.9/site-packages/flask/helpers.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/gthread.py", line 95, in init_process
    super().init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 371, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/app/ansibledb.py", line 15, in <module>
    from models import AnsibleDB
  File "/app/models.py", line 5, in <module>
    from main import app, servers
  File "/app/main/__init__.py", line 3, in <module>
    from flask_restx import Api, apidoc
  File "/usr/local/lib/python3.9/site-packages/flask_restx/__init__.py", line 2, in <module>
    from .api import Api  # noqa
  File "/usr/local/lib/python3.9/site-packages/flask_restx/api.py", line 20, in <module>
    from flask.scaffold import _endpoint_from_view_func
ModuleNotFoundError: No module named 'flask.scaffold'
[2023-10-10 14:59:17 +0000] [11] [INFO] Worker exiting (pid: 11)
[2023-10-10 14:59:17 +0000] [12] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask_restx/api.py", line 18, in <module>
    from flask.helpers import _endpoint_from_view_func
ImportError: cannot import name '_endpoint_from_view_func' from 'flask.helpers' (/usr/local/lib/python3.9/site-packages/flask/helpers.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/gthread.py", line 95, in init_process
    super().init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 371, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/app/ansibledb.py", line 15, in <module>
    from models import AnsibleDB
  File "/app/models.py", line 5, in <module>
    from main import app, servers
  File "/app/main/__init__.py", line 3, in <module>
    from flask_restx import Api, apidoc
  File "/usr/local/lib/python3.9/site-packages/flask_restx/__init__.py", line 2, in <module>
    from .api import Api  # noqa
  File "/usr/local/lib/python3.9/site-packages/flask_restx/api.py", line 20, in <module>
    from flask.scaffold import _endpoint_from_view_func
ModuleNotFoundError: No module named 'flask.scaffold'
[2023-10-10 14:59:17 +0000] [12] [INFO] Worker exiting (pid: 12)
[2023-10-10 14:59:17 +0000] [7] [ERROR] Worker (pid:11) exited with code 3
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 209, in run
    self.sleep()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 360, in sleep
    ready = select.select([self.PIPE[0]], [], [], 1.0)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
    self.reap_workers()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 530, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/gunicorn", line 8, in <module>
    sys.exit(run())
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 67, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 236, in run
    super().run()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 229, in run
    self.halt(reason=inst.reason, exit_status=inst.exit_status)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 342, in halt
    self.stop()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 396, in stop
    time.sleep(0.1)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
    self.reap_workers()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 530, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>

Hi @bmorris53 ,
Thanks for your feedback, I will check and get back to you to fix this issue.
Regards

Hi @bmorris53 ,
Thanks for your feedback, I've updated the requirement.
Regards

Closing this issue

@bmorris53 ,
Can we close this issue ?

Yes, I apologize for the late response. Thank you for the support!Sent from my iPhoneOn Oct 27, 2023, at 7:49 PM, Nasredine Bentoumi @.***> wrote:
@bmorris53 ,
Can we close this issue ?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


[5725] Add HESA numhus to collection

Context
https://trello.com/c/rITJVFEo/5725-add-numhus-to-trainees-table
Changes proposed in this pull request

Adds a new NUMHUS field to collect from Hesa to our Hesa::Student table as student_instance_id which is what it represents
Adds zip file format handling support to the Hesa::SyncStudents class for uploaded files
Data migration to backfill 2021/22 records (file already uploaded to support console)

Guidance to review
You can test this out locally:

Upload a collection file to the support console
Run the data migration with the upload id
Assert Hesa records are populated in the table for that collection with the student_instance_id filled

Notes

Backfilling 2022/23 records will be done via the usual daily job since it is the current collection reference.
Zip support added as the actual collection files are quite large (around 60-80mb) and timeout when uploading via the UI

 Add NUMHUS to Trainees table


fix broken link for android useractivities

OPS Build status updates of commit 0e10348:
:clock10: Incremental building: average incremental building time is 20 sec(s)

OPS Build status updates of commit 0e10348:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

project-rome-docs/user-activities/api-reference-for-android.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Folder icon

It would be nice to have a folder icon :)

I second this - a generic file, directory and symlink icons would be marvelous. A project I am trying to modify to be more POSIX-ish is already using this icon-set, so locating icons from elsewhere that'd match this theme would be difficult :(


Migrate CI from Travis / Appveyor to Github Actions

It should not be too difficult to get a build on GH Actions working on MacOs, Linux, and Windows.
The problem is to get the build working with a long line of old compilers.
FlatCC has a default CI build on the master brach and a separate CI build on the ci-more branch that run tests on many more compiler versions. Prior to a new release, the master branch is merged into ci-more to check that everything builds. GH Actions would need to have a script that installs these old compilers because only a few compilers are installed by default on each supported platform.
Travis is moving their CI to a new url and FlatCC is currently broken on Travis MacOS because something changed in the Homebrew / git shallow clone support.
Appveyor does not work with all MSVC compilers in the same build image so either old or new, which is not ideal.
Having multiple build systems is also not ideal.
A GH Actions script should use a branch test to enable more builds on a separate branch but it should suffice with using the same build scripts on all branches, contrary to how it is made today where the ci-more branch has different scripts.
If anyone wants to help out with this, it would be great. Otherwise this might take a while.

See https://github.com/actions/virtual-environments for the available environments on github actions.
The windows images currently only support VS2017 (windows-2016) and VS2019 (windows-2019), with the possibility that windows-2016 goes away.

There are more, they are just not installed. MSVC can be pulled from somewhere and someone probably already made an action for that.

https://www.microsoft.com/en-us/download/details.aspx?id=5555
MSVC 2010 redist package < 5MB.
https://github.com/microsoft/setup-msbuild
https://github.com/ilammy/msvc-dev-cmd
Problem is, installing a compiler might conflict with an existing one. But Appveyor has many compilers on one image while Microsoft do not want to install old compilers on any image.

While useful, I don't think these links provide a Microsoft compiler:

A re-distributable only contains the dll's of microsoft's C(++) runtime, we need the c++ compiler
microsoft/setup-msbuild is only about making available msbuild (=sln + vcxproj of Visual Studio)
ilammy/msvc-dev-cmd is about easy access to a MSVC console (using vcvars). This needs a version of MSVC installed.

I found these older headless compiler packages:

MIcrosoft Build Tools 2013: https://www.microsoft.com/en-us/download/details.aspx?id=40760: I'm not sure though it contains a c++ compiler. Is c++ categorized as managed?
Visual Studio 2015: https://devblogs.microsoft.com/cppblog/announcing-visual-c-build-tools-2015-standalone-c-tools-for-build-environments/

VIsual Studio 2013 was the first Visual Studio version that was avaiable as a community edition.
Unless Microsoft steps up, or looses restrictions on the re-distribution of its older compilers, I don't have much faith that these older Visual Studio versions become available as a github

There is Visual Studio Express for older versions, but Microsoft is not making them available. My link was only a redestribution of runtime components.
cnet has a version
https://download.cnet.com/s/visual-studio-2010-express/
but dubious to build CI on that.

Anyway, let's aim for 2013 upwards.
Appveyor can run 2010 for now and until it doesn't matter.

I didn't try it, but I don't think it's meant for CI.
Not sure, but choco probably works fine.

I have some pretty solid shell scripts to build with any MSVC compiler from bat scripts if that can help, but some of the GH actions listed above should do the job. The key is vswhere.exe that knows how to find things.

Is c++ categorized as managed?
Well, if it is it doesn't matter. We are not going to use managed compilers.
However, MSVC almost exlusively support C++ and C is an afterthought in their world, so chances are 99.997% that C++ is working if there is a C installer.

https://www.microsoft.com/en-us/download/details.aspx?id=40760

This is probably not good. It seems to be build tools, which just msbuild.exe, a fancy make tool.
https://visualstudio.microsoft.com/vs/older-downloads/
https://www.wireshark.org/docs/wsdg_html_chunked/ChToolsMSChain.html
Maybe using GH Actions is not such a great idea?

Only somewhat recent compilers, but ...
https://github.com/wireshark/wireshark/blob/master/.github/workflows/windows.yml

https://stackoverflow.com/questions/22290501/can-i-download-the-visual-c-command-line-compiler-without-visual-studio

For now, I think the sanest thing to do is to keep the appveyor script in the ci-more branch.
That way, you will remain testing older MSVC compilers.
Using github actions on the main branch for ci, and do regular merges with ci-more.
(These regular merges can also be automated with e.g. a github actions cron event)
Depending on how much you care about compatibility, Visual Studio 5 and 6 are available as abandonware. :smile:

For now, I think the sanest thing to do is to keep the appveyor script in the ci-more branch.
That way, you will remain testing older MSVC compilers.

Using github actions on the main branch for ci, and do regular merges with ci-more.
(These regular merges can also be automated with e.g. a github actions cron event)
makes sense, older GCC clang still needed for nix


getStyleFunction() for ol.layer.Image ?

Hi all!
I'm using a map with a lot of different types of layer - including an ol.layer.Image for performance reasons. I prefer to style these layers with layers style function, not with per-feature styles.
Problem:
When looping over all layers the Image layer causes some problems because its interface is different from the "normal" layers.
Currently I'm using hacks like this:
ol.layer.Image.prototype.getStyleFunction = function() {
if (typeof this.getSource().getStyleFunction === "function") {
		return this.getSource().getStyleFunction()
	} else {
		console.log('! This', this, 'image layer has no styled source!')
	}
}

The same problem occurs with getSource() - when hitting the image Layer getSource().getSource() is required.
Is there any better way to solve these problems? Or does an ol3 solution to this already exist?
Best regards
Michael

In my opinion we should get rid of ol.source.ImageVector, and instead give ol.layer.Vector a renderMode property, like we have for ol.layer.VectorTile. That renderMode could be set to image to get what ol.source.ImageVector currently provides. Opinions?

I agree that would be a simpler paradigm

Good idea! Same feature, cleaner interface.


<EMAIL_ADDRESS>requires administrator privileges.

Error when launching without admin :

It works fine for me, without administrator privileges

Did you change the global path?

It doesn't work for me when I install libreoffice-stable globally, but it works when I install it locally.


Add more details about expected docker network setup in to the README

Improve the README. Without the gateway set in the default bridge the certs generation will fail and subsequent steps will fail too due to missing certs.

I have added check in to the code to make obvious what is going on wrong for me. Sorry I should have done it from start. I hope it is now clear.


handle partial batch cleanup error

Explicitly filter out deleted file status in case
entire batch was not cleaned up
https://github.com/google/exposure-notifications-server/issues/711

/retest

It's always the one-liner changes that cause the most surprised. Some of these errors look unrelated:
--- FAIL: TestAuthorizedAppLifecycle (10.38s)
    authorized_app_test.go:48: failed to start postgres container: : error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/17/17150f4321a3d6cf305f9db0d8a2a6cd68f4cc0571d0e482aa35e6da3326fdc7/data?verify=1595024574-xjrhgcoIZ9ksh8M1jnpHtTGrJew%3D: dial tcp: lookup production.cloudflare.docker.com on <IP_ADDRESS>:53: server misbehaving

Do we have flakes in the integration tests?

Apparently a cloudfare outage:

/retest

/lgtm


Default Robots.txt for Devtron dashboard

Since default installation of devtron does not restrict the access to a certain range of IPs, search engine bots might crawl and list it in search.
It will be beneficial if a default robots.txt is included in the dashboard which restricts the crawl for all the search engine crawlers.

Does this PR(https://github.com/devtron-labs/dashboard/pull/904) close this issue?


Add wrapper method to set font size

Add support for https://wiki.libsdl.org/SDL2_ttf/TTF_SetFontSize

Is this error related to the PR? From the message it seems unrelated: error: invalid cpu architecture: aarch64

Is this error related to the PR? From the message it seems unrelated: error: invalid cpu architecture: aarch64

Na, don't worry, it's from macos/arm64


[Feature  Request]  Automatic Check for Newer CLI Version

Note: If your feature-request is regarding the AWS Amplify Console service, please log it in the
official AWS Amplify Console forum

Is your feature request related to a problem? Please describe.
Since the Amplify Client libraries and the CLI work together, errors can occur when the CLI is out of date.  I've run into issues that are resolved simply by updating the amplify-cli to the latest version.
Describe the solution you'd like
I'd like amplify-cli to do an automatic check for a newer version and alert the user if it exists (like some other node packages do).  Perhaps during "amplify init".
Describe alternatives you've considered
automatic update is a bad idea, and checking on every CLI command is too much.
Additional context
I've seen the problem show itself at "amplify push", where it gives me state errors.

@fuji8bit we already have this feature implemented in https://github.com/aws-amplify/amplify-cli/pull/4046 and its pending release.


Game: Do tests with more Abilities

Create a new Ability (for example SwordAttack) and test of this one will take precedence over BareHandAttack.

Done, fixed some bugs with this, yaaay!


How to extract vectors?

If I have a sentence "I hate potatoes"
How can I get vectors for that using this model?

Sorry about that, I just used the example you outlined on the homepage.


Port to MiSTer

Would these games work on MiSTer?

Only if someone will port them. I definitely can't do it :)


Compiler warning on 32-bit architectures: cast to/from pointer from/to integer of different size

While building Vulkan-Tools sdk-<IP_ADDRESS> for Steam Runtime 2 'soldier' (derived from Debian 10), 32-bit x86 ("i386" ABI), using gcc 8:
[  122s] cd /usr/src/packages/BUILD/build/cube && /usr/bin/cc -DVK_ENABLE_BETA_EXTENSIONS -DVK_USE_PLATFORM_XCB_KHR -I/usr/src/packages/BUILD/build/cube -I/usr/src/packages/BUILD/cube -I/usr/src/packages/BUILD/build/cube/.. -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -fno-builtin-memcmp -Wimplicit-fallthrough=0 -fvisibility=hidden -o CMakeFiles/vkcube.dir/cube.c.o -c /usr/src/packages/BUILD/cube/cube.c
[  122s] /usr/src/packages/BUILD/cube/cube.c: In function 'debug_messenger_callback':
[  122s] /usr/src/packages/BUILD/cube/cube.c:533:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
[  122s]                          (void *)(pCallbackData->pObjects[object].objectHandle), pCallbackData->pObjects[object].pObjectName);
[  122s]                          ^
[  122s] /usr/src/packages/BUILD/cube/cube.c:537:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
[  122s]                          (void *)(pCallbackData->pObjects[object].objectHandle));
[  122s]                          ^
[  122s] /usr/src/packages/BUILD/cube/cube.c: In function 'demo_draw_build_cmd':
[  122s] /usr/src/packages/BUILD/cube/cube.c:770:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
[  122s]              .objectHandle = (uint64_t)cmd_buf,
[  122s]                              ^
[  124s] [ 27%] Linking C executable vkcube

Some toolchains make warnings like these into an error, causing build failure.

If I'm reading correctly, line 770 is storing a pointer (cmd_buf) in a uint64_t, to be printed later for debugging purposes. On 64-bit architectures like x86_64 it fits exactly and does not cause a warning. On 32-bit architectures like i386, this is a widening conversion, which is lossless but provokes a compiler warning in case it isn't what you meant. On more obscure architectures like CHERI, pointers can be larger than 64 bits (CHERI uses 128-bit tagged pointers) which means this is a narrowing conversion that loses the high bits, but if printing only the low 64 bits is OK for your debugging purposes then it's good enough.
If the size change is acceptable, it should be possible to suppress the compiler warning with something like this:
-             .objectHandle = (uint64_t)cmd_buf,
+             .objectHandle = (uintptr_t)cmd_buf,

Similarly, if I'm reading correctly, lines 533 and 537 are taking the number from the uint64_t and telling printf to print it as though it was a pointer, presumably in order to get any special formatting that the platform might apply to pointers (printing NULL as (null), or printing non-null pointers as hex padded to an appropriate width, or whatever). On 64-bit, again this is lossless, but on 32-bit this is a narrowing conversion which loses the high bits of the uint64_t, causing a compiler warning - although in this case I think we have domain-specific knowledge that the high bits are uninteresting?
Again, if the size change is acceptable, it should be possible to suppress the compiler warning with an intermediate cast:
-                         (void *)(pCallbackData->pObjects[object].objectHandle));
+                         (void *)(uintptr_t)(pCallbackData->pObjects[object].objectHandle));

although I'm not sure whether this will do the right thing on architectures with very large pointers like CHERI.
Alternatively, vkcube could print the objectHandle as a 64-bit hex integer with format "%" PRIx64 instead of printing it as a pointer.

Since debug utils expects 64 bit ints, when giving data to the API, all objects handles need to be converted to uint64_t (or something convertable to it) which may require some sort of specialization for dispatchable handles on 32 bit.

For 32- and 64-bit architectures, .objectHandle = (uintptr_t)cmd_buf works fine, doesn't generate warnings and is lossless. uintptr_t is the same size as a pointer by definition.
For large-pointer architectures like CHERI, assigning the uintptr_t to the 64-bit objectHandle will truncate the pointer value to its least-significant 64 bits - which is unavoidable, we can't fit a more-than-64-bit value into a 64-bit type. That's probably adequate for debug info though?

Inside the callback, it would be prudent to also special case the printing

What's the purpose of printing this thing? Is it just so a developer can correlate the object handle with the pointers they see in gdb, or with an object handle seen in a previous debug message, or similar, with no particular formatting requirements?
If it's that, then using printf("0x%" PRIx64, pObjects[object].objectHandle) seems like the simplest way to display an opaque 64-bit number that might (or might not!) secretly be a pointer, in hex. It seems to me that going via "%p" can only lose information (if your 64-bit number is larger than a pointer), and cannot really be an improvement vs. PRIx64, because any information outside the 64-bit range was already lost by the time we get here. The only advantage that I see of "%p" is if some platform pretty-prints pointers in some way that makes them more developer-friendly than an opaque 64-bit integer?

CHERI support is a 'nice to have' but not of particular concern to me. The fact that the API uses 64 bit here means there is no good solution for such a platform without changing the Vulkan API itself here.
The pseudocode I wrote was trying to convey the idea of special casing dispatchable handles to print pointers. I forgot to finish the rest of the function, so I'll copy/paste an actual code solution describing what I was thinking. (and could be used in a PR).
for (uint32_t object = 0; object < pCallbackData->objectCount; ++object) {
    sprintf(tmp_message, "\t\tObject[%d] - %s", object, string_VkObjectType(pCallbackData->pObjects[object].objectType));

    VkObjectType t = pCallbackData->pObjects[object].objectType;
    if (t == VK_OBJECT_TYPE_INSTANCE || t == VK_OBJECT_TYPE_PHYSICAL_DEVICE || t == VK_OBJECT_TYPE_DEVICE ||
        t == VK_OBJECT_TYPE_COMMAND_BUFFER || t == VK_OBJECT_TYPE_QUEUE) {
        sprintf(tmp_message, ", Handle %p", (void *)(pCallbackData->pObjects[object].objectHandle));
    } else {
        sprintf(tmp_message, ", Handle Ox%" PRIx64, (pCallbackData->pObjects[object].objectHandle));
    }

    if (NULL != pCallbackData->pObjects[object].pObjectName && strlen(pCallbackData->pObjects[object].pObjectName) > 0) {
        sprintf(tmp_message, ", Name \"%s\"", pCallbackData->pObjects[object].pObjectName);
    }
    sprintf(message, "\n");
    strcat(message, tmp_message);
}

Yes, I believe the purpose is to allow the user to see all the objects involved with the current message. In addition, vkcube is often used to 'showcase' how to use extensions, thus I suspect that this code was written to show off how to use the API as well.


Consumption Plan Functions and resource usage including Sockets\Processes.

This issue is affecting some customers who have an application that opens sockets and is limited by the Sandbox when their Function is invoked in large numbers.
E.G
A Node.Js application that is using the Request Library for Node.Js to pass on the Request body to an MQTT endpoint.
A PHP Application that is creating a number of processes to handle the Function processing.

There's also some discussion here... https://github.com/Azure/azure-webjobs-sdk-script/issues/850


Writing back to SCADA using OPC Publisher?

Hello,
Can you give more info on writing back upstream (SCADA) using the OPC Publisher module? I see a bi-directional arrow. I am able to read data but was wondering on the write back.
Thanks

In 2.8 we have what is called OPC Twin IoT Edge module, and the cloud services required to operate it.  These cloud services expose a REST API that allow you to read/write variables or call methods in an OPC UA server. The API documentation can be found in the docs folder of the latest 2.8 branch (e.g., release/2.8.6).
In 2.9 preview 2 release out soon this will be moved into the OPC Publisher and will not require the cloud services anymore (you can call a direct method directly through IoT Hub, call the API through MQTT5, or even call a REST API.  The latter 2 options will remain in preview until end of year.


Warning: dependency-cli is not a sfdx command.

I know you will close this as a duplicate but after trying everything in previous issues I am still unable to install this.

Hi @rsoesemann - we just came across an issue with sfdx running on node v12.x.
The solution here was to update node to v13 first and re-install sfdx afterwards.
To do that follow the uninstall instructions followed by the reinstall instructions.
Finally check your sfdx --version and make sure it is running on node v13, like sfdx-cli/7.50.0 darwin-x64 node-v13.11.0
Did that resolve it for you?

Same here,
tl;dr
Windows 10
Installed sfdx using: npm install sfdx-cli --global
sfdx version: sfdx-cli/7.53.0 win32-x64 node-v13.12.0
Installed dependencies-cli using: npm install dependencies-cli -global
Details

Had sfdx already installed via Windows installer.
Wanted dependencies-cli
Tried installing by sfdx plugins:install dependencies-cli
Install failed (don't remember details)
Came here and glanced at the readme.
Installed NodeJS LTS (12.16.1) via windows installer (including npm)
Tried installing dependencies-cli using npm install dependencies-cli --global
Install failed by hanging on step 2 of 4 (I just read of this on a closed issue)
Came here and glanced at this open issue.
Uninstalled sfdx and NodeJS via Windows Add & Remove Programs.
Installed NodeJS Current (13.12.0) via Windows installer.
Installed sfdx using npm install sfdx-cli --global
Installed dependencies-cli using npm install dependencies-cli --global

Here is the output from the install:
npm WARN deprecated<EMAIL_ADDRESS>We're super �  excited that you're trying to use ES2017+ syntax, but instead of making more yearly presets � , Babel now has a better preset that we recommend you use instead: npm install babel-preset-env --save-dev. preset-env without options will compile ES2015+ down to ES5 just like using all the presets together and thus is more future proof. It also allows you to target specific browsers so that Babel can do less work and you can ship native ES2015+ to user � ! We are also in the process of releasing v7, so please give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and help test it out in beta! Thanks so much for using Babel �, please give us a follow on Twitter @babeljs for news on Babel, join slack.babeljs.io for discussion/development and help support the project at opencollective.com/babel

npm WARN deprecated<EMAIL_ADDRESS>This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.

npm WARN deprecated<EMAIL_ADDRESS>Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)

npm WARN deprecated<EMAIL_ADDRESS>This package has been deprecated in favour of @sinonjs/samsam

npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142

npm WARN deprecated<EMAIL_ADDRESS>�  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!

npm WARN deprecated<EMAIL_ADDRESS>�  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!

npm WARN deprecated<EMAIL_ADDRESS>�  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!

npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.

npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated

npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated

npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142

C:\Users\myUserName\AppData\Roaming\npm\componentizer -> C:\Users\myUserName\AppData\Roaming\npm\node_modules\dependencies-cli\bin\run

><EMAIL_ADDRESS>install C:\Users\myUserName\AppData\Roaming\npm\node_modules\dependencies-cli\node_modules\dtrace-provider
> node scripts/install.js

><EMAIL_ADDRESS>postinstall C:\Users\myUserName\AppData\Roaming\npm\node_modules\dependencies-cli\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

><EMAIL_ADDRESS>postinstall C:\Users\myUserName\AppData\Roaming\npm\node_modules\dependencies-cli\node_modules\ejs
> node ./postinstall.js

Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)

+<EMAIL_ADDRESS>added 765 packages from 939 contributors in 60.638s`

Then this:
> sfdx dependency
Gave me this:
 »   Warning: dependency is not a sfdx command.

Still have this issue. Followed uninstall instructions.. then updated Node to 13.12.0 .. reinstall everything as per install instructions... still no work..

Please use the below force installer and hope that should resolve the issue :
sfdx plugins:install dependencies-cli -f -v

I encountered a similar issue to others on here on macOS 10.15. I was able to install the plugin only after installing sfdx via npm and not with the the client specific packages.
The client packages are bundled with an older version of node that does not get upgraded when updating the cli.

I had this problem and after upgrading node from older version 10.xx to current LTS version v12.18.3, the install worked.
My SFDX and node version now is: sfdx-cli/7.72.0 win32-x64 node-v12.18.3

Isn't the proper syntax to install this plugin supposed to be "sfdx plugins:install dependencies-cli"? That's the only command that worked for me.
I've followed the uninstall-reinstall instructions and that did not work. Only installing the plugin through the sfdx command worked.


LiveScript watch should detect new files in folder

lsc -wc . Doesn't notice any newly added files. Any changes made to existing .ls files is of course detected. But newly added .ls files are ignored.
It's pretty annoying re-running this command everytime I add a file.

:+1: this is still an issue it's weird it's even an issue for things like gulp's *.ls watch I wonder if it's because it's a similar style of watch...


Add MaxEncodedLen bound to MultiCurrency

Is it possible to add the MaxEncodedLen bound to Balance and CurrencyId of MultiCurrency and related traits similar to substrate, makes it possible to use
MultiCurrency<<T as frame_system::Config>::AccountId>>::Balance as a storage item.
I can make the PR if no objections

PRs are welcome


Fix "Quick Checks" step on CI

We use ubuntu-latest to run the "Quick Checks" step, and ubuntu-latest very recently switched to Ubuntu 24.04. On 24.04, attempting to install clang-format via pip gives this error:
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP [6](https://github.com/CesiumGS/cesium-unity/actions/runs/11059061896/job/30737490347#step:3:7)68 for the detailed specification.

We could fix this by following the instructions in the error message. But there's really no need, because the GH Actions image already has clang-format installed. So this PR just removes that install step completely.

I'm going to merge this once CI passes, because it is need to fix breakage in main.


Standardize README.md names for Fuse build tools.

Standardize README.md names for Fuse build tools.

[merge]


fix: networkId is now taken from the network magic

Description
Closes: #238
Proposed Solution
As stated in #238
Important Changes Introduced
n/a
Testing
n/a

@rhyslbw can you update #238 so I can change this one please?

Ignore the change request, this works


Modules missing after putting computer to sleep: ModuleNotFoundError No module named 'PIL'

Describe your environment

GPU: Nvidia 3070
VRAM: 8gb
CPU arch: i5
OS: Windows
Python: I don't know, whatever is in your default windows installation walkthrough
Branch: main
Commit: [run git show and paste the line that starts with "Merge" here]

Describe the bug
When I  run invoke I get "ModuleNotFoundError: No module named 'PIL'"
If I install pillow, then it just goes to the next module, "torch".  This is where I stopped as I am not even a beginner with python.
I got everything installed and working first try.  I first played with command line, then stopped that, and ran invoke via --web and made images with the web UI.  After a while, I put the computer to sleep, and when I came back the next day, invoke is not working and gives the error mentioned above.
To Reproduce
I don't know if it's reproduceable, don't feel like going through the whole process again, but I'll give the steps anyway.
Steps to reproduce the behavior:

Install on windows as described in the docs
Make some images with command line, then exit out
Run invoke with --web and make images with the web editor
Close powershell.
Put computer to sleep
Open powershell and cd to InvokeAI
Try to run invoke again with --web

Expected behavior
For invoke to run every time normally.
Screenshots

Additional context
Add any other context about the problem here.

I went ahead and tried to pip install all the missing modules as they showed up, but I ran into a problem here:

I'm not on windows, but if it can find packages that it had earlier, my guess is that you dropped out of your conda environment. Try:
conda activate invokeai

This sounds like what is going on. Please try the conda activate invokeai command referenced above.

I decided to do a fresh install.  When going to the windows installation, I initially used the whole manual "pip" install process found here: https://github.com/invoke-ai/InvokeAI/wiki/Easy-peasy-Windows-install
and not the anaconda one.  I'm doing the anaconda one this time.

Hi @borlak , did the fresh install resolve this issue?

Yes @psychedelicious , I did the other install this time (anaconda) and it worked first time and continues working.  Also, with the manual pip install, some features were broken out of the box like the face upgrade and other things, which are working now.  So maybe the manual one needs some tweaking.

We've vastly improved the setup process as of v2.1, with further improvements in v2.2. Sorry you had such a hard time getting everything working initially and glad it is working now.


docs: remove mkdocs-material platform and extraneous docs

Description
I have unhooked the KL repo from the kurtosis repo.
This PR removes the mkdocs-material platform from the repo. It also adds back the quickstart and native token docs which were removed probably in error.
Let me know if you have any questions.

I couldn't push changes to your branch so I opened a new PR #196


Merge model compression dev branch to master

Updates are going to PR #1590

Due to failures in our pipeline, the patch PR #1590 is not able to merge in time.
I'll merge this PR first and redirect #1590 to master.


Simplify PMP JSON contents

Current PMP output json files have heavy contents (e.g., Mean clim, MoV). In effort to reduce the file size for regular online archive, one possibility is to not include "YAML" and "script" as default.
I think this could be handled by revising base.py in pcmdi_metrics/io directory, maybe by adding if statement for this line of the code, so storing YAML info can be optional.

@acordonez would you mind helping on this when you have time?

@lee1043 Yes I'll start taking a look at this

@acordonez, I got this handled in this commit, as a part of PR for cloud metric, so no worries.
I am yet to test its influence to the cmec flag, presume there should be no impact. @acordonez any thoughts?

@lee1043 It shouldn't have any effect on the cmec flag operation, but I'll give it a test

I tried out the monsoon_wang and enso drivers with the new changes. They don't include the YAML or scripts by default. The enso flag worked fine with monsoon_wang.

@acordonez thank you for checking this. I believe you meant "cmec" flag worked fine with monsoon_wang and enso driver, is that right?

@lee1043 I don't think we've implemented the "cmec" flag with enso driver - I get an "unrecognized argument" error when I add it in, and I don't see it in the driver code.

@acordonez right, thanks for clarifying. I just got confused because you mentioned enso in your comment

I tried out the monsoon_wang and enso drivers with the new changes. They don't include the YAML or scripts by default. The enso flag worked fine with monsoon_wang.

@lee1043 Oh I see, my brain kept skipping over my own typo! Yes, the cmec flag.


timeFmt called with invalid date in VWaveform

Description

https://sentry.io/share/issue/ea8316be37c94b7296c867797cc0dd41/
Not sure why this happens, according to the data Sentry has scraped, we are passing an actual number of seconds for the current time: 6.011812837 (this isn't visible in the shareable Sentry link, but if you have access to the full Sentry page then you can scroll down to the "vue" section and see the propsData that was collected)
Going to the search the error is for, /search/audio?q=lofi doesn't cause the error for me locally. It is happening frequently though, so I'm prioritizing as high.
Reproduction

Not sure how to reproduce.
Environment
According to Sentry this appears to happen almost exclusively to Macs and iPhones with Safari.
Resolution

[ ] 🙋 I would be interested in resolving this bug.

@WordPress/openverse-frontend This issue requires a Mac and Safari to work on it. Could someone with the appropriate hardware/software setup take a look at this soon?

I managed to reproduce it on Firefox, too, but can't reproduce it the second time . I searched for 'ears ringing', as in the linked issue, and on 'All content' search result page clicked on the first audio, and got a 404 page.
Also, sometimes when you click on short audios from Freesound, you get Unexpected value NaN parsing width attribute. warnings in the console

progressBarWidth can sometimes be NaN...
https://github.com/WordPress/openverse-frontend/blob/7eac75b019f3b3e65462b26c27c82f899d9a7bcf/src/components/VAudioTrack/VWaveform.vue#L370-L373

Aha! Good find Olga! I wonder which of those is undefined :thinking:

There is something wrong with the way the defaultRef sets the duration value, @sarayourfriend:
https://github.com/WordPress/openverse-frontend/blob/7eac75b019f3b3e65462b26c27c82f899d9a7bcf/src/components/VAudioTrack/VAudioTrack.vue#L223-L233
I tried debugging, but I can't understand what and how to fix it. For some reason, by the time localAudio is available, the defaultRef's value is already set to NaN.

The problem turned out to be in the way VGlobalAudioTrack was setting duration. It was registering a handler for audio duration change in an audio object watcher. This watcher was firing even when audio object didn't have duration property set, which resulted in NaN value.

@obulat this is fixed then, I believe? Please close this if so; thank you!


Typo error in an article about HTML tables by Hillary Nyakundi

Describe the Issue
https://www.freecodecamp.org/news/html-tables-table-tutorial-with-css-example-code/
This is the article i found the typo error.
In this article, under the title How to Style HTML Tables using CSS there is a typo.
Under this heading in the article, in the second paragraph there is a line -> Afterall you wouldn't want your reader to stare at data divided by only a sinle line.
Here see the last two words it says sinle line which doesn't makes sense. the correct word is single line.
This is the issue I found. I looking forward that the error will be resolved soon.
update me after the error is resolved
Affected Page
https://www.freecodecamp.org/news/html-tables-table-tutorial-with-css-example-code/
Steps to Reproduce
there is a typo error in a single word.
In this article, under the title How to Style HTML Tables using CSS there is a typo.
Under this heading in the article, in the second paragraph there is a line -> Afterall you wouldn't want your reader to stare at data divided by only a sinle line.
Here see the last two words it says sinle line which doesn't makes sense. the correct word is single line.
Recommended fix or suggestions
its a small typo error in a word so the owners can just change the typo error.
In this article, under the title How to Style HTML Tables using CSS there is a typo.
Under this heading in the article, in the second paragraph there is a line -> Afterall you wouldn't want your reader to stare at data divided by only a sinle line.
Here see the last two words it says sinle line which doesn't makes sense. the correct word is single line.
Screenshots

i would like to solve error please assign me

Can i work on this issue?

Hi @sanketshevare and @SWAMIADITYA !
Issues marked with the help wanted and good first issue are available for contribution.
This issue is not marked with that label and not available for contribution.
Please read through the contributing docs to learn more about how to contribute to freeCodeCamp

Hey @nandhakumar-ss !
Thank you for spotting this issue.
I will go ahead and message the editorial team so they can resolve this issue.

Thank you for reporting this issue, @nandhakumar-ss.
I just checked the article in our CMS and it seems like someone on our editorial team fixed this typo. The correction should go live within the next few hours.
Thanks again, and please let us know if you notice any other issues in this or other articles.


Failing to redirect after creating an issue

Description
When you click on "create" in issues, gitea shows json with redirect urls
Gitea Version
trunk
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots

Git Version
No response
Operating System
No response
How are you running Gitea?
docker
Database
None

After Use fetch to send requests to create issues/comments #25258 , Gitea uses AJAX to submit issue/comment forms, so backend returns the JSON "redirect".
On try.gitea.io, I can't reproduce your problem.

I found out, that I've overritten issue templates in gitea's custom folder. Those were like 2 days old and already broke. I reverted the changes and now everything is okay


Differentiate between left and right shift in input map

Right now when binding keys to the input map left shift and right shift are both seen as "shift." you should be able to map input specifically to left shift or right shift.

Duplicate of https://github.com/godotengine/godot/issues/3347.


Fix #15438 PSR middleware

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
yes

Tests pass?
yes

Fixed issues
#15438, #10659

Any progress on PSR-7 and PSR-15 support on Yii? Is it decided to be supported?

Closing since it won't be applied to 2.x.


Add a query to collect registration fields

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Issue ticket number and link
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my code
[ ] I have made corresponding changes to the documentation
[ ] Any dependent changes have been merged and published in downstream modules

@hosszukalman 👆


Verify v2

Adds Verify v2 and improves exception handling for 4xx responses by extracting a base VonageApiResponseException class which contains the fields used in our APIs which conform to RFC 7807 for error responses.

Codecov Report

Merging #440 (5a2a1f9) into main (54f303e) will increase coverage by 0.10%.
The diff coverage is 90.47%.

:exclamation: Current head 5a2a1f9 differs from pull request most recent head 902d6a6. Consider uploading reports for the commit 902d6a6 to get more accurate results

@@             Coverage Diff              @@
##               main     #440      +/-   ##
============================================
+ Coverage     91.53%   91.63%   +0.10%
- Complexity     1796     1865      +69
============================================
  Files           305      322      +17
  Lines          4865     5081     +216
  Branches        222      231       +9
============================================
+ Hits           4453     4656     +203
- Misses          321      329       +8
- Partials         91       96       +5

Impacted Files
Coverage Δ

...ava/com/vonage/client/messages/MessagesClient.java
100.00% <ø> (ø)

...ent/messages/whatsapp/WhatsappLocationRequest.java
100.00% <ø> (ø)

...in/java/com/vonage/client/verify/VerifyClient.java
91.17% <ø> (ø)

.../com/vonage/client/VonageApiResponseException.java
68.29% <68.29%> (ø)

...om/vonage/client/verify2/VerificationResponse.java
71.42% <71.42%> (ø)

...onage/client/verify2/VerifyCodeRequestWrapper.java
75.00% <75.00%> (ø)

...com/vonage/client/verify2/VerificationRequest.java
88.46% <88.46%> (ø)

.../com/vonage/client/verify2/VerifyCodeEndpoint.java
92.30% <92.30%> (ø)

.../com/vonage/client/verify2/VerifyUserEndpoint.java
92.30% <92.30%> (ø)

...onage/client/verify2/EmailVerificationRequest.java
95.00% <95.00%> (ø)

... and 12 more


ML 1.12: Confusion Matrix (D)

Welcome to 'ML' Team, good to see you here
This issue will helps readers in acquiring all the knowledge that one needs to know about Confusion Matrix.
To get assigned to this issue, add your Batch Numbers mentioned in the spreadsheet of "Machine Learning", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
Domain : Machine Learning
Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.

"Issue Title" and "PR Title should be the same. Include issue number along with it.

Changes should be made inside the Machine Learning/Machine_Learning/Statistics_for_Machine_Learning Branch.

Follow Contributing Guidelines & Code of Conduct before start Contributing.

This issue is only for 'GWOC' contributors of 'Machine Learning' domain.

To be Mentioned while taking the issue :

Full name
Batch Number
GitHub Profile Link
Which type of Contribution you want to make :

[ ] Documentation

All the best. Enjoy your open source journey ahead. 😎

/assign

Vansh Sharma, Batch 3, Github profile

I would like to work on this issue.
Name: Basudev Tyagi
Batch: ML Batch-6
Type: Documentation

/assign
Name: Pranjal Mittal
Batch: 6
Type: Documentation

@BasuDevTyagi10 @Praannjaal This issue is already assigned :)

What is the update @vanshhhhh ? It's been 4 days and you were although you've assigned an issue. Create the PR ASAP, otherwise we can't make further issues!


Update comment

Updated the URL reference in the PaginationUtil class to point to the correct GitHub API pagination guide.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@yhao3 can you sign the cla?

@DanielFran, I have signed the CLA. Please check again. Thank you!

Thanks @yhao3 for the contribution


Display an error messages when miv unable to parse ~/.vimrc.yaml

Hi! This software is Interesting. but if ~/.vimrc.yaml unable to parce. I can not found mistake.
For example,
itchyny/miv : master
> miv: Parse error
So I displaying error massage of Aeson.
eliza0x/miv: errorMsg
> miv: Aeson exception: Error in $.plugin['itchyny/vim-cursorword']: failed to parse field plugin: expected plugin, encountered Null

Great! Thank you!