Panic when providing a TLS certificate and a key to a listener.

When i try to run the server with TLS certificates i get an error saying
thread 'main' panicked at rmqtt-bin/src/server.rs:214:53:
removal index (is 0) should be < len (is 0)

seems to happen here
    let key_file = &mut BufReader::new(File::open(listen_cfg.key.as_ref().unwrap())?);

        let cert_chain = certs(cert_file).unwrap();
        let mut keys = rsa_private_keys(key_file).unwrap();

        let mut tls_config = if listen_cfg.cross_certificate {
            let root_chain = cert_chain.clone();
            let mut client_auth_roots = RootCertStore::empty();
            for root in root_chain {
                client_auth_roots.add(&root).unwrap();
            }
            ServerConfig::new(AllowAnyAuthenticatedClient::new(client_auth_roots))
        } else {
            ServerConfig::new(NoClientAuth::new())
        };

    >    tls_config.set_single_cert(cert_chain, keys.remove(0)).map_err(|e| MqttError::from(e.to_string()))?;

        let tls_acceptor = Acceptor::new(tls_config);

Is anyone else having a similar issue ?
The certificate has been validated and checked with openssl and the key has also been checked, it is a 4096 bit rsa key.

If i disable tls listener and certificates and let it pass over to wss without panicking i get the same thing for the wss
thread 'main' panicked at rmqtt-bin/src/server.rs:437:53:
removal index (is 0) should be < len (is 0)

Line 437 Col 53

From the error message, it appears that it is a configuration problem with ‘listener.tls.external.key’. Can you post your complete configuration so I can take a look?

##--------------------------------------------------------------------
## General
##--------------------------------------------------------------------

##--------------------------------------------------------------------
## Node
##--------------------------------------------------------------------
#node id
node.id = 0

##--------------------------------------------------------------------
## RPC
##--------------------------------------------------------------------
rpc.server_addr = "<IP_ADDRESS>:5363"
rpc.server_workers = 4
#Maximum number of messages sent in batch
rpc.batch_size = 128
#Client concurrent request limit
rpc.client_concurrency_limit = 128
#Connect and send to server timeout
rpc.client_timeout = "5s"

##--------------------------------------------------------------------
## Log
##--------------------------------------------------------------------
# Value: off | file | console | both
log.to = "both"
# Value: trace, debug, info, warn, error
log.level = "info"
log.dir = "/var/log/rmqtt"
log.file = "rmqtt.log"

##--------------------------------------------------------------------
## Plugins
##--------------------------------------------------------------------
#Plug in configuration file directory
plugins.dir = "/etc/rmqtt/plugins"
#Plug in started by default, when the mqtt server is started
plugins.default_startups = [
    "rmqtt-cluster-raft",
    # "rmqtt-cluster-broadcast",
    #"rmqtt-auth-http",
    "rmqtt-web-hook",
    #"rmqtt-retainer",
    "rmqtt-http-api",
]

##--------------------------------------------------------------------
## Listeners
##--------------------------------------------------------------------

##--------------------------------------------------------------------
## MQTT/TCP - External TCP Listener for MQTT Protocol
listener.tcp.external.addr = "<IP_ADDRESS>:1883"
#Number of worker threads
listener.tcp.external.workers = 8
#The maximum number of concurrent connections allowed by the listener.
listener.tcp.external.max_connections = 1024000
#Maximum concurrent handshake limit, Default: 500
listener.tcp.external.max_handshaking_limit = 500
#Handshake timeout.
listener.tcp.external.handshake_timeout = "30s"
#Maximum allowed mqtt message length. 0 means unlimited, default: 1m
listener.tcp.external.max_packet_size = "1m"
#The maximum length of the TCP connection queue.
#It indicates the maximum number of TCP connection queues that are being handshaked three times in the system
listener.tcp.external.backlog = 1024
#Whether anonymous login is allowed. Default: true
listener.tcp.external.allow_anonymous = true
#A value of zero indicates disabling the keep-alive feature, where the server
#doesn't need to disconnect due to client inactivity, default: true
listener.tcp.external.allow_zero_keepalive = true
#Minimum allowable keepalive value for mqtt connection,
#less than this value will reject the connection(MQTT V3),
#less than this value will set keepalive to this value in CONNACK (MQTT V5),
#default: 0, unit: seconds
listener.tcp.external.min_keepalive = 0
#Maximum allowable keepalive value for mqtt connection,
#greater than this value will reject the connection(MQTT V3),
#greater than this value will set keepalive to this value in CONNACK (MQTT V5),
#default value: 65535, unit: seconds
listener.tcp.external.max_keepalive = 65535
# > 0.5, Keepalive * backoff * 2
listener.tcp.external.keepalive_backoff = 0.75
#Flight window size. The flight window is used to store the unanswered QoS 1 and QoS 2 messages
listener.tcp.external.max_inflight = 16
#Maximum length of message queue
listener.tcp.external.max_mqueue_len = 1000
#The rate at which messages are ejected from the message queue,
#default value: "u32::max_value(),1s"
listener.tcp.external.mqueue_rate_limit = "1000,1s"
#Maximum length of client ID allowed, Default: 65535
listener.tcp.external.max_clientid_len = 65535
#The maximum QoS level that clients are allowed to publish. default value: 2
listener.tcp.external.max_qos_allowed = 2
#The maximum level at which clients are allowed to subscribe to topics.
#0 means unlimited. default value: 0
listener.tcp.external.max_topic_levels = 0
#Whether support retain message, true/false, default value: true
listener.tcp.external.retain_available = true
#Session timeout, default value: 2 hours
listener.tcp.external.session_expiry_interval = "2h"
#QoS 1/2 message retry interval, 0 means no resend
listener.tcp.external.message_retry_interval = "20s"
#Message expiration time, 0 means no expiration
listener.tcp.external.message_expiry_interval = "5m"
#The maximum number of topics that a single client is allowed to subscribe to
#0 means unlimited, default value: 0
listener.tcp.external.max_subscriptions = 0
#Shared subscription switch, default value: true
listener.tcp.external.shared_subscription = true
#topic alias maximum, default value: 0, topic aliases not enabled. (MQTT 5.0)
listener.tcp.external.max_topic_aliases = 32

##--------------------------------------------------------------------
## Internal TCP Listener for MQTT Protocol
listener.tcp.internal.enable = true
listener.tcp.internal.addr = "<IP_ADDRESS>:11883"
listener.tcp.internal.workers = 4
listener.tcp.internal.max_connections = 102400
listener.tcp.internal.max_handshaking_limit = 500
listener.tcp.internal.handshake_timeout = "30s"
listener.tcp.internal.max_packet_size = "1M"
listener.tcp.internal.backlog = 512
listener.tcp.internal.allow_anonymous = true
listener.tcp.internal.allow_zero_keepalive = true
listener.tcp.internal.min_keepalive = 0
listener.tcp.internal.max_keepalive = 65535
listener.tcp.internal.keepalive_backoff = 0.75
listener.tcp.internal.max_inflight = 16
listener.tcp.internal.max_mqueue_len = 1000
listener.tcp.internal.mqueue_rate_limit = "1000,1s"
listener.tcp.internal.max_clientid_len = 65535
listener.tcp.internal.max_qos_allowed = 2
listener.tcp.internal.max_topic_levels = 0
listener.tcp.internal.retain_available = true
listener.tcp.internal.session_expiry_interval = "2h"
listener.tcp.internal.message_retry_interval = "30s"
listener.tcp.internal.message_expiry_interval = "5m"
listener.tcp.internal.max_subscriptions = 0
listener.tcp.internal.shared_subscription = true
listener.tcp.internal.max_topic_aliases = 0

##--------------------------------------------------------------------
## MQTT/TLS - External TLS Listener for MQTT Protocol
listener.tls.external.addr = "<IP_ADDRESS>:8883"
# listener.tls.external.cross_certificate = true
# listener.tls.external.cert = "/etc/rmqtt/certificates/RMQTT.fullchain.pem"
listener.tls.external.cross_certificate = false
listener.tls.external.cert = "/etc/rmqtt/certificates/RMQTT.pem"
listener.tls.external.key = "/etc/rmqtt/certificates/RMQTT.key"

##--------------------------------------------------------------------
## MQTT/WebSocket - External WebSocket Listener for MQTT Protocol
listener.ws.external.addr = "<IP_ADDRESS>:8080"

##--------------------------------------------------------------------
## MQTT/TLS-WebSocket - External TLS-WebSocket Listener for MQTT Protocol
listener.wss.external.addr = "<IP_ADDRESS>:8443"
# listener.wss.external.cross_certificate = true
# listener.wss.external.cert = "/etc/rmqtt/certificates/RMQTT.fullchain.pem"
listener.wss.external.cross_certificate = false
listener.wss.external.cert = "/etc/rmqtt/certificates/RMQTT.pem"
listener.wss.external.key = "/etc/rmqtt/certificates/RMQTT.key"

This is the config as it was when those errors occurred, when i commented out/disabled the listener.tls.external blocks then the same error came up when starting up the listener.wss.external, so to continue my work i had to disable listener.wss.external as well.
I have verified and the certificates and keys are in the correct position and can be read by the runtime user running the application.

It should be that the '/etc/rmqtt/certificates/RMQTT.key' file format is wrong. I configured the key as 'rmqtt-bin/rmqtt.key' in the project, which is correct. If you must enable the TLS function, it is recommended to use the 'key' and 'cert' in the project to debug the connection correctly, and then replace it with the 'key' and 'cert' generated by yourself. If tls functionality is not needed, disable it.

You can try using 'https://github.com/rmqtt/rmqtt/blob/master/rmqtt-bin/gen_x509.sh' to generate your own 'key' and 'cert'

Wait what!,, changing out the certs worked,, but why,, the certificates and keys are generated and validated using openssl, what could be the difference between them ?
I'll have a look at that, these certificates work with other types of TLS servers,, i will investigate and give a feedback, the only difference i can see is that my keys are 4096 bit size and yours are 2048 bit

I changed "SERVER_RSA_KEY_BIT="rsa:2048"" and "CLIENT_RSA_KEY_BIT="rsa:2048"" in "gen_x509.sh" to 4096 and regenerated the key and cert for testing, which was also successful.
Note: Currently only TLSv1.2 is supported
---- Replied Message ----
| From | Anton @.> |
| Date | 01/24/2024 00:01 |
| To | @.> |
| Cc |<EMAIL_ADDRESS>|
| Subject | Re: [rmqtt/rmqtt] Panic when providing a TLS certificate and a key to a listener. (Issue #51) |
Wait what!,, changing out the certs worked,, but why,, the certificates and keys are generated and validated using openssl, what could be the difference between them ?
I'll have a look at that, these certificates work with other types of TLS servers,, i will investigate and give a feedback, the only difference i can see is that my keys are 4096 bit size and yours are 2048 bit
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Another question about the TLS certificates, where would i provide the server with the CA that signed the Client Certificates to validate and allow connection to the server using certificates ?


LIB-282 added Redirect back to /home if the user type is not admin

Correction:
In the commit message for this issue, the user type should exist with the type of 'user' in Okta.
Therefore, the OktaAuth authentication state object should have userType with the value of 'user'.
authState?.accessToken?.claims.userType !== undefined && authState?accessToken?.claims.userType === 'user'


audit: fix brew audit for casks that require cookies

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

The cask adobe-acrobat-pro requires cookies to access the download URL, which is making https://github.com/Homebrew/homebrew-cask/pull/109110 fail.

No longer needed


[stable/etcd-operator] Added etcdCluster.repository parameter to the template in order to specify a custom registry

Is this a new chart
No, It's an existing chart: etcd-operator
What this PR does / why we need it:
This PR allows the users to specify a custom registry to pull the etcdCluster image from. It does not work with the documented values. The unused values have been removed from the doc. They were misleading.
Which issue this PR fixes
There are no issues related to this PR.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Wrong signing. Recreating PR.


feat: add page "email_confirm.html"

Looks good, but I think we can unify some of the design by extending from the "whitebox" block as in other templates.
https://github.com/danihodovic/django-allauth-ui/blob/master/allauth_ui/templates/account/signup.html
https://github.com/danihodovic/django-allauth-ui/blob/master/allauth_ui/templates/account/password_reset_from_key.html
What do you think?

Looks good, but I think we can unify some of the design by extending from the "whitebox" block as in other templates.
https://github.com/danihodovic/django-allauth-ui/blob/master/allauth_ui/templates/account/signup.html
https://github.com/danihodovic/django-allauth-ui/blob/master/allauth_ui/templates/account/password_reset_from_key.html
What do you think?

ok i have fixed it.


Update to RN 0.25

I tried doing that as part of my PR #8, but it seems that it re-breaks my simple workaround for the image view getting a zero size rect.

Also #24


Compile broken with old SDL?

Trying to build inside github actions, where the current version of SDL is 2.0.8
| /root/go/src/github.com/veandco/go-sdl2/sdl/render.go:330:14: could not determine kind of name for C.GoString
| /root/go/src/github.com/veandco/go-sdl2/sdl/render.go:865:3: could not determine kind of name for C.RenderCopy
| /root/go/src/github.com/veandco/go-sdl2/sdl/render.go:354:14: could not determine kind of name for C.SDL_CreateRenderer
[...]
| gcc errors for preamble:
| /root/go/src/github.com/veandco/go-sdl2/sdl/render.go: In function 'SDL_LockTextureToSurface':
| /root/go/src/github.com/veandco/go-sdl2/sdl/render.go:204:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
|  {
|  ^
| /root/go/src/github.com/veandco/go-sdl2/sdl/render.go:213:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
|  {
|  ^
| cgo-generated-wrapper:1:0: error: expected '{' at end of input

It looks to my eyes like the SDL_LockTextureToSurface stub for pre-2.0.12 versions is missing a body?
https://github.com/veandco/go-sdl2/blob/0abc017f41d3daacca87cef4f36cbab8a95e1b14/sdl/render.go#L193

Thanks, @shish for reporting the issue! I have pushed the fix to master and v0.4.x branches.

Also broken with SDL 2.0.10.
../../go/pkg/mod/github.com/veandco/go-sdl2@v0.4.15/sdl/timer.go:22:16: could not determine kind of name for C.SDL_GetTicks64
Since this commit: https://github.com/veandco/go-sdl2/commit/06f44fad53c24fe011318f3bc2c2d31bac315e7c
This function is only available in SDL 2.0.18.

Hi @AXDOOMER, thanks for reporting the issue! I have fixed it in the latest tag release v0.4.16.

Looks like another one just appeared
../../../go/src/github.com/veandco/go-sdl2/sdl/log.go:55:18: could not determine kind of name for C.SDL_LogCategory

Using latest go-sdl2 and libsdl 2.0.10
Example of a build that was working a couple of days ago and not today: https://github.com/shish/rosettaboy/runs/7602639263

Hi @shish, did it really use the latest go-sdl2 which is v0.4.24? The go.sum seems to suggest that it's using v0.4.10.

Looks like I was actually ignoring go.sum because my github actions script installed the latest go-sdl from the main branch before it even checks out my project code ^^;
(I am not a go expert, I don't even know how to install specific versions of things >.>)

Bumping go.sum to use v0.4.24 also seems to hit the same error

Actually, this happens before even getting to my code at all - just taking a fresh github actions VM, running sudo apt-get update && sudo apt-get install -y golang libsdl2-dev + go get github.com/veandco/go-sdl2/sdl

Hi @shish , it seems like the container is using Go provided by Ubuntu 18.04 which is relatively old at v1.10. Could you use newer Go, at least v1.13? Since we are using Go modules now, the minimum Go version has been bumped to v1.13.

I'm not sure where you're seeing ubuntu-18.04 / golang 1.10 -- I was using the ubuntu-20.04 base with golang 1.13 :S (See the "install deps" logs in https://github.com/shish/rosettaboy/runs/7602639263?check_suite_focus=true )
However, using the "ubuntu-22.04 beta" container with golang 1.18 + libsdl2 2.0.20 appears to work, so that's enough for me :)

Oh I'm sorry, I must have confused it with another new issue which has the same issue as yours and same way of using Ubuntu's Go package. It seems like it might not only be the Go version issue as our Github Actions for v0.4.x have been building fine with Go 1.13 though it's using latest Ubuntu. I will see if I can make it work with Ubuntu 20.04 as well if there's truly an issue with it somewhere.


Prepare config validation for new randomWalk config parameters

As per: https://github.com/libp2p/js-libp2p-kad-dht/issues/76

randomWalk isn't getting picked up by the dht config. We should probably just update dht creation to take the whole config object. I'm thinking we should just do this:
diff --git a/src/index.js b/src/index.js
index 0350b69..b7b7adf 100644
--- a/src/index.js
+++ b/src/index.js
@@ -105,14 +105,10 @@ class Node extends EventEmitter {
     // dht provided components (peerRouting, contentRouting, dht)
     if (this._config.dht.enabled) {
       const DHT = this._modules.dht
-      const enabledDiscovery = this._config.dht.enabledDiscovery !== false

       this._dht = new DHT(this._switch, {
-        kBucketSize: this._config.dht.kBucketSize,
-        enabledDiscovery,
-        datastore: this.datastore,
-        validators: this._config.dht.validators,
-        selectors: this._config.dht.selectors
+        ...{ datastore: this.datastore },
+        ...this._config.dht
       })
     }

Good find!
Your suggestion makes a lot of sense, will implement it that way :)

I went ahead and fixed the linting and merged this via 91e60d4. Thanks for submitting this!


Fix line endings

Description:
Followup on #12266
This actually applies the new settings and adds mp3 as binary format (we missed that one).

Thanks Paulus, I probably should have applied it!
After our discussion I ran out of weekend 😁

Hooray for unified line endings!

Interesting, I thought I already fixed this in #12248 🤔

.gitattributes should help us keep it fixed 👍


http://www.freecodecamp.org/challenges/next-challenge results in 502 bad gateway

Finished (http://www.freecodecamp.org/challenges/waypoint-use-a-css-class-to-style-an-element)  and when it takes you to the next set of things it gives you that error message.

http://www.freecodecamp.org/challenges/next-challenge results in 502 bad gateway #1009

This should be fixed now


Update Scoped Variables for Annotations

Codecov Report
Patch coverage: 66.66% and no project coverage change.

Comparison is base (8c231e0) 73.15% compared to head (7800445) 73.15%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   73.15%   73.15%
=======================================
  Files          24       24
  Lines         298      298
  Branches       33       33
=======================================
  Hits          218      218
  Misses         68       68
  Partials       12       12

Impacted Files
Coverage Δ

src/api/annotations.ts
50.00% <60.00%> (ø)

src/datasource/datasource.ts
70.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Update Gunicorn for Production

Add Gunicorn to requirements.txt
Update Dockerfile to use Gunicorn
Convert lists to tuples for better performance (per @antonpetrov145  )

@techUdayMungalpara I thought Unicorn is the recommended server for FastAPI, which works with ASGI. Am I missing something? cc @antonputra @pkucmus

@antonputra yes you are correct, even fastapi run runs uvicorn under the hood.
https://www.uvicorn.org/#running-with-gunicorn
Reasoning behind using gunicorn is because it is more mature and offers more control over the main and worker processes despite it being WSGI server it is better to use it in production instead of pure uvicorn.
For instance in uvicorn you can't tell it to recreate a workter process after a number of requests, or how many max requests each worker to consume before being recreated.

Great PR! ❤
Awesome videos @antonpetrov145 👏🏻
Just want to add that web server impacts performance of a web framework, not just web framework gaining performance alone.
With that in mind, based on my personal experience, modern web servers actually beat gunicorn quite noticeably.
One that I tried and resulted in better latency and throughput is https://github.com/emmett-framework/granian/tree/master/benchmarks
Generally speaking, to get a good idea on the web servers progress you can look at the following benchmark:
https://www.techempower.com/benchmarks/#hw=ph&test=fortune&section=data-r22&p=zik0zj-zik0zj-zik0zj-zik0zj-qmx0qn-sf
That being said, not all web servers are production ready, some might be developed purely for the sake of blowing benchmarks.
Hope it helps 🤗
Happy to open up a PR if required.


hard to extend the nodes of upstream

recommended that nodes of upstream be changed from
nodes = {
	"<IP_ADDRESS>:80": 1
}

to
nodes = [{
	ip = ,
	port = ,
	weight = ,
	metadata = {

	}
}]
```.

For easy extension and integration with the spring cloud.

@Miss-you please take a look at this

@qiujiayu why change to the latter format?

@qiujiayu why change to the latter format?
"<IP_ADDRESS>:80": 1 is easy and clear.

@moonming When using the registry, manage the metadata of nodes through the registry, Then through this metadata to achieve some of the enterprise personality requirements, such as: gray deployment.

please show a example. thx
Thanks,
Ming Wen
Twitter: _WenMing
qiujiayu<EMAIL_ADDRESS>于2020年3月17日周二 上午9:25写道：

@qiujiayu https://github.com/qiujiayu why change to the latter format?
"<IP_ADDRESS>:80": 1 is easy and clear.
@moonming https://github.com/moonming When using the registry, manage
the metadata of nodes through the registry, Then through this metadata to
achieve some of the enterprise personality requirements, such as: gray
deployment.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-apisix/issues/1282#issuecomment-599830777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJZBK44WKPPF75XTSFGXFLRH3GQLANCNFSM4LMMA2ZA
.

@moonming Sometimes we test online and want the test request to go to the test server, other requests are not.

nodes = {
"<IP_ADDRESS>:80": 1
}
@qiujiayu I means the example for metadata

@moonming Sometimes we test online and want the test request to go to the test server, other requests are not.

can you show a example how metadata for it, thx

@moonming
service A has two nodes:
nodes = [{
	ip = "<IP_ADDRESS>",
	port = 8080,
	weight = 1,
	metadata = {
              test_server = "true"
	}
},
{
	ip = "<IP_ADDRESS>",
	port = 8080,
	weight = 1,
	metadata = {
              test_server = "false"
	}
},
]

if request header has "test:true", then proxy to node: "<IP_ADDRESS>", else  proxy to "<IP_ADDRESS>".

We recommend do this job on the route in Apache APISIX, not the upstream node, for example:
curl -i http://<IP_ADDRESS>:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri": "/index.html",
    "vars": [
        ["arg_test", "true"]
    ],
    "upstream": {
        "nodes": {
            "<IP_ADDRESS>:80": 1
        }
    }
}'

and
curl -i http://<IP_ADDRESS>:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri": "/index.html",
    "vars": [
        ["arg_test", "false"]
    ],
    "upstream": {
        "nodes": {
            "<IP_ADDRESS>:80": 1
        }
    }
}'

We recommend do this job on the route in Apache APISIX, not the upstream node, for example:
curl -i http://<IP_ADDRESS>:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri": "/index.html",
    "vars": [
        ["arg_test", "true"]
    ],
    "upstream": {
        "nodes": {
            "<IP_ADDRESS>:80": 1
        }
    }
}'

and
curl -i http://<IP_ADDRESS>:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri": "/index.html",
    "vars": [
        ["arg_test", "false"]
    ],
    "upstream": {
        "nodes": {
            "<IP_ADDRESS>:80": 1
        }
    }
}'

This example is good for static configuration. but for dynamic nodes from service discovery center.

@qiujiayu any update?

Because these metadata is not only for the gateway, also apply to internal RPC. So be managed by registry

implement in https://github.com/apache/incubator-apisix/pull/1440


KeyError with oracle_text

Using the card "Bonecrusher Giant" and the following script:
card = scrython.cards.Named(fuzzy="Bonecrusher Giant")
text = card.oracle_text()

I'm getting:
KeyError: "This card has no key 'oracle_text'"

This is because the oracle text for adventure cards is actually in the card_faces array. So the way you would access them is
card.card_faces()[0]['oracle_text']

I suppose there's an argument to be made that oracle_text could just grab the front face of the card if provided no index.

Thank you for the clarification.


Click-to-center breaks with meshopt-compressed GLB files

Description
Seems something goes wrong either with the bounds calculation or with click-to-zoom when meshopt compression is used (nodes might be scaled?). Trying to navigate in this model in modelviewer.dev/editor leads to a white screen; can't be navigated / explored. Double-click on the background brings me back to the original view.
Live Demo
Drag this model into modelviewer.dev/editor:
LargePlane.meshopt.zip
Then, try to click on the little sphere (or pan-and-center) and zoom in on it.

Thanks, I can repro, but this feels like a three.js bug. We use a raycast for this feature, so I'd guess you could make a simple repro using that in three.js and file an issue there. In fact there's a known issue regarding normalized accessors that's in the middle of getting fixed, which is a likely culprit: https://github.com/mrdoob/three.js/pull/22874

Thanks, I think no need to report another issue then, seems there's already good progress (and this one here is now linked as well).

This was fixed by you when we pulled into r144, so thanks for that!


Jobs end ok but with warnings "Failed to restore: "/usr/bin/tar" failed with error"

Hi,
I was just updating some actions in my workflows away from Node16 (deprecated), and that made me move from amdilabs/setup-bats@v1 (not much maintained)  to your awesome<EMAIL_ADDRESS>And, while the bats tests in the project are passing ok, I'm getting 4 warnings (related to tar problems) for every job in our matrix.
Curiously, I think that the problem doesn't happen on initial executions, but later, when there is stuff cached and the action tries to restore it. Note I may be wrong, but looking to the raw logs... that seems to be the issue.
For reference, here it's a job with 4 matrix elements, each one getting the tar warnings 4 times (note it's still running at the time of writing this):
https://github.com/moodlehq/moodle-local_ci/actions/runs/6877757547
Ciao :-)

hey!
thanks! I'm glad that my action is used in the moodle project :)
Coming to your questions is a well know issue with the official cache action while you are try to cache/restore files outside the home directory: https://github.com/brokenpip3/setup-bats-libs?tab=readme-ov-file#about-caching
So if you want you can set your libraries to be stored inside the home so it will be cached correctly. For instance in another project I set the action like this and then load the libraries with the BATS_LIB_PATH env here, also here.
Let me know if you have other question!

Aha,
thanks for the insight, I'll move them (in fact I think I don't need all them) and will use BATS_LIB_PATH as suggested. I had read that section about caching but was unable to connect the points.
Apart from that, just guessing... wouldn't be better to make the default behaviour to be a warnings-free one? Note I've zero idea about GH Actions, heh. But I would expect the action to work without "surprises" by default. Not sure if that implies trying to install in a supported (by caching) place or if it implies to disable caching by default... but for sure any of them would provide a better default experience.
Just sharing my thoughts, will all respects. Thanks for the action and the support!
Ciao :-)

Apart from that, just guessing... wouldn't be better to make the default behaviour to be a warnings-free one? Note I've zero idea about GH Actions, heh. But I would expect the action to work without "surprises" by default. Not sure if that implies trying to install in a supported (by caching) place or if it implies to disable caching by default... but for sure any of them would provide a better default experience.

I decide to not do that 'cause before 1.x of this action (without caching) the default options was using /usr/lib so I preferred to leave the time to all the historically users of this action to digest the latest changes of this actions (cache, bats binary etc) and then one day switch the default path to something like "${{ github.workspace }}/.bats by default for everyone.
Maybe from 1/2024 I will change it for good with a deprecation notice :)

All right!
BTW, confirmed that following your recommendation (installing the libraries @ ${{ github.workspace }}/.bats and setting BATS_LIB_PATH to point to it worked and made the reported tar warnings to disappear.
Thanks and ciao :-)

yw :)
Can we close this issue?

Ah, for me it's ok. 100%


deps(phoenix-channel): upgrade tokio-tungstenite

Resolves: #2200.

Nice, glad it was a relatively simple fix!

Let's see if the integration tests pass :D


add Dockerfile & docker-compose for pd

This branch adds an initial setup for running a Penumbra node using
docker-compose, and a Dockerfile for building a pd docker image.
There's some room for additional work here. In particular:

the docker-compose file could also include Prometheus and
Grafana containers (and Prometheus can be configured to scrape metrics
from both Tendermint and pd)
the correct way to volume mount the Tendermint dir so that it can be
effected by running tendermint CLI commands locally on the host (for
dev purposes) remains to be figured out
docker-compose configuration should probably make a private network
for tendermint -> pd RPCs so that nothing else on the host is allowed
to talk to the pd process' ABCI RPCs
Tendermint has a nifty docker-compose config for running a local
testnet of several nodes in Docker, we might want something like that
as well for dev purposes?
I should actually write down how to test this.
Docker image Rust build times could be improved using experimental
Docker features; I punted on this for now because I didn't want
to introduce potential complexity for anyone trying to run this...
It would be cool to use a scratch base image rather than Debian,
but then we would need a statically linked libc (read: musl), which
is its own can of worms...

We may want to eventually have separate docker-compose configs for
actually distributing to run in production and for spinning up dev
testnets. But, for now, this basically Just Works.

Awesome, thanks!!


[APEXCORE-528] Fix OutputPort Default Optional Behavior

This PR removes the validation logic that requires output ports to be connected if not explicitly annotated as optional. This change complies with the behavior defined by the optional annotation as it states they should be optional by default.

@twigglius PR looks fine, just add the jira id in the commit message. I will merge the pull request afterwards.

@tushargosavi commit message amended


[Bug]: Sorting calendar_time field does not work as expected when the date format is modified

Contact Details
No response
What happened?
Sorting calendar_time fields sorts based on the output of the date format instead of the value of the date. Here's a video with using the date format EEE MMM dd yyyy hh:mm :
https://user-images.githubusercontent.com/80559262/196015377-e78722c3-9e2f-4650-a8b4-983bee49e91f.mp4
What platform were you using?
Desktop
Version of the plugin
2.7.2
Relevant log output
No response
Are you using the latest version of the plugin in your Obsidian vault?

[X] I have verified that I am on the latest version

Are you check if there is a similar issue?

[X] I have verified that there are not similar issues

the format affects the order. internally it's transformed to text and then its sorted
With the last version we adapt the sort function with its own parser function so I think it could be good idea to parse the datetime to   timestamp ans then apply the sorting


Legends of Lightning Tournament

This issue summarizes the goals / features for the legends of lightning tournament.
Release app on desktop and android.

[x] #128
[ ] #79
[ ] #133
[x] #30
[x] #9

The taker gets a full fledged on and off-chain wallet

This will allow the user to receive and send on-chain and off-chain funds
The taker runs a full lightning node running on her phone.
Use electrum (instead of bitcoind) to monitor onchain transactions.
Taker opens an uni-directional lightning channel with maker with funds provided by the maker.

[x] #125
[x] #100
[x] #102
[x] #11
[x] #68
[x] #113
[x] #165
[x] #114
[x] #132
[x] #82
[x] #10
[x] #139

The maker runs a full lightning node server side.
(would be cool if this could also work eventually on the phone 😉 )

Simple HTTP apis to fetch offers, propose settlement, etc.

[x] #89
[x] #106

Taker can trade a non-perpetual CFD position.

Only happy case

[x] #106
[x] #126
[x] #87
[x] #115
[x] https://github.com/itchysats/rust-lightning/issues/2
[x] #85
[x] #126

Note: Keeping the list of tickets up to date is hard, so I added the Legends of Lightning label to the tickets to be actioned, see: https://github.com/itchysats/10101/labels/Legends of Lightning

I am closing this issue as the tournament is over!


java.lang.NoClassDefFoundError: Could not initialize class org.springframework.ide.eclipse.beans.ui.BeansUIImages

Couldn't show content assist in any "field" field in xml view because a NCDFE error occurs.
last version of dozer eclipse plugin installed 0.8.1.
error occurs when CTRL+SPACE after "ma" (see sample file).
class test.mapping.Car exists with field "make".
class test.mapping.CarDto exists with field "manufacturer".
sample dozer-mapping.xml file :
dozerMapping.xml.txt
Eclipse traces :
first time
java.lang.ExceptionInInitializerError
at org.dozer.eclipse.plugin.sourcepage.util.DozerPluginUtils.createMethodProposal(DozerPluginUtils.java:300)
Caused by: java.lang.NullPointerException
at org.springframework.ide.eclipse.beans.ui.BeansUIImages.(BeansUIImages.java:66)
dozer-eclipse-first-trace.txt
then next times
java.lang.NoClassDefFoundError: Could not initialize class org.springframework.ide.eclipse.beans.ui.BeansUIImages
at org.dozer.eclipse.plugin.sourcepage.util.DozerPluginUtils.createMethodProposal(DozerPluginUtils.java:300)
dozer-eclipse-trace.txt

@njaner ; the plugin has moved to its own repo, can you raise the issue there please.

https://github.com/DozerMapper/dozer-eclipse-plugin


SPFarm fails test method when HTTP used for central admin

Details of the scenario you tried and the problem that is occurring
Looking over the recent changes to the SPFarm resource, I can see @ronx added some stuff around managing if central admin runs to the resource (which is cool, love the way it works if your using HTTPS), but if you are running central admin on HTTP there appears to be some issues in its logic. The code I'm looking at is here, but the issue is that if you try any of these combinations of settings you can't get it to show a pass on the test-resource:
Scenario 1
CentralAdministrationUrl="http://custom-name.domain.com"
CentralAdministrationPort="80"
Result = Error message when running set, Invalid Port (which comes from SharePoint itself, not DSC so lets call this one expected behaviour but it means I can't run central admin on my own custom URL this way)
Scenario 2
CentralAdministrationUrl="http://machine-name"
CentralAdministrationPort="9999"
Result = Set runs, test returns false - failing on the CentralAdministrationUrl not matching, get returns http://machine-name:9999, which led to me trying scenario 3
Scenario 3
CentralAdministrationUrl="http://machine-name:9999"
CentralAdministrationPort="9999"
Result = Error, don't specify the port in CentralAdministrationURL
Suggested solution to the issue
The solution needs to be that at a minimum if there is an error saying "Don't specify the port in the CentralAdministrationUrl" property, the get method shouldn't return it with a port either - which would stop the breaking behaviour and mean that scenario 2 becomes the approach that works. I can still use SPAlternateUrl to add my own custom URL to central admin (which is what I've always done anyway) so I'm not super fussed about this - but I wanted to capture it here incase anyone else hit it, so we can get the behaviour adjusted.
Version of the DSC module that was used ('dev' if using current dev branch)
dev

Hey @BrianFarnhill , thanks for the detailed test scenarios and explanation. Very helpful! I'll take a look at this later this afternoon and try to get some fixes in quickly. Cheers!

BTW - CentralAdministrationUrl was added specifically to support HTTPS implementation, but I was thinking that it could also be used for HTTP in the future. When I implemented it, I was thinking it would be ignored unless it was an HTTPS URL. Glad you jumped on it and identified the errors to keep it on the radar while it's all still fresh ;) ...
Quick question for you @BrianFarnhill . When you use SPAlternateUrl to set the custom hostname, does it get wiped out if you run psconfig_ui.exe all the way through on the CA server? Unlike psconfig.exe, which doesn't reprovision CA every time you run it, psconfig_UI.exe can be a bit intrusive in that regard. If you have a lab setup this way, would you mind trying that and then checking the bindings in IIS to see if they're still intact? Also, double check AAMs after psconfig_UI. Thanks!

@ronx I don't think I've run the UI config tool in about the last 5 years, so I actually don't know! It's a good point. If I'm running DSC regularly and it blows away the admin AAM then DSC will put it back, but it's worth kicking the tyres on a little to validate that scenario as well. I'll have a look over the next day or two and let you know how it behaves.

Yeah, SP2016 improved psconfig_ui tremendously, throwing in an automatic Get-SPProduct -Local across the board to avoid the common erroneous version mismatch error among other improvements. IMHO, 2016 made the UI config relevant to professionals again ;). But it also still reconfigures CA on every run when it shouldn't. Usually doesn't matter, but since binding information seems to be persisted in some hidden locations that are hard to set properly, especially with CA, reconfiguring often hijacks your bindings.
Also, most folks using DSC to install and configure SharePoint have set their farm servers' LCM ConfigurationMode to ApplyOnly, so if psconfig_ui hijacks their bindings, they will have to manually run Start-DscConfiguration again to have DSC fix up their bindings again. In fact, I bet only a very, very small percentage are running in ApplyAndAutoCorrect, so at best, their LCM's are logging the deviation to the event log and no one is monitoring.
Now, while I'm on my soapbox, the better solution would be for the PG to add proper support to (New|Set)-SPCentralAdministration, but then again, I certainly understand how far down the priority list these things are pushed if the PowerShell cmdlet noun doesn't match Msol*. ;)

@Ronx Yeah I agree - if the psconfig UI does change the URLs though there might not be any other options that to let DSC either fix it (or at worst tell you about it if you're in ApplyAndMonitor). Other than us documenting it as a known thing in our docs on the wiki maybe - I think there's not a whole lot of other options in there for us. So if we just fix the output of the get method so our tests can pass with the local URL and then use alternate URL to set the CA HTTP url I think that's about all we can do realistically for right now. Do you think that's a fair assessment? Happy to hear other thoughts but I think that's about where we are at with it.

I think that at a minimum, we document that CentralAdministrationUrl should only be used for HTTPS and the Get method would throw an error if someone passed in an HTTP URL. In other words, if using HTTP, you would still have to accept the default http://: for CA. Does the documentation/wiki already have an example of how to use SPAlternateUrl to update the CA binding with a vanity host?

@ronx thats fair for an initial solution. I'll finish my config up that does the alternate URL config and post it here so that one of you guys can get it updated on the wiki seeing as I don't have permissions to this repo any more :P

@ronx OK so I just ran the config wizard, here is a run down of what I did in the setup:

Add an "intranet" zone AAM to the central admin site (if you try to update the default one it makes a couple of other resources a little trickier, so I keep it seperate)
Add xWebsite with BindingInfo on the servers that run central admin so that I listen on both :9999 and spadmin.domain.com:80 for the central admin site
Use SPServiceInstance to make sure central admin is running on those servers I expect CA to run on
The central admin URL registry setting is updated to my custom URL so the start menu shortcut directs you to the custom domain name

After this I run the config wizard UI to see what breaks, the status afterwards was:

The intranet AAM was still present, so this is fine
The bindings I added to IIS were removed and it went back to only listening on :9999
The central admin service was still running where it should have been running
The registry setting appears to stay at my custom value

What I can tell the only thing that breaks when you run the wizard is the IIS bindings, not the AAM mappings - which is still bad (especially if you're doing SSL since it'll take out the cert bindings too).
So to be clear about how we do this going forward:

Update SPFarm to throw an error if you give central admin URL as a property with a URL that isn't HTTPS (for now, I think longer term we can actually make this work well with a HTTP path so then it's easier for people to use custom URLs without HTTPS if thats what they want to do, but if this was my project I would probably leave that as a low priority work item ;) )
We add some doco to the wiki that captures how to do a custom URL with HTTP using the approach I have below, and include wording to the effect of "If you run psconfig_ui.exe then you will lose your bindings, so run your DSC config again after or things will be broken"

The config I use for this looks like this (just the resources in question, not the whole thing):
    $runCA = $true
    if ($Node.NodeName -eq "wfe") {
        $runCA = $false
    }

    SPFarm CreateSPFarm
    {
        Ensure                    = "Present"
        DatabaseServer            = '${SPDatabaseName}'
        FarmConfigDatabaseName    = '${GenerateUsernames.db}_Config'
        Passphrase                = $Passphrase
        FarmAccount               = $FarmAccount
        PsDscRunAsCredential      = $SPSetupAccount
        AdminContentDatabaseName  = '${GenerateUsernames.db}_AdminContent'
        RunCentralAdmin           = $runCA
        IsSingleInstance          = "Yes"
        DependsOn                 = "[Script]SQLPermissions"
    }

    if ($Node.NodeName -eq "farm") {
        SPAlternateUrl CentralAdminAAM
        {
            WebAppName           = "SharePoint Central Administration v4"
            Zone                 = "Intranet"
            Url                  = 'http://${DNSPrefixCentralAdmin}.${DomainDNSName}'
            Ensure               = "Present"
            PsDscRunAsCredential = $SPSetupAccount
            DependsOn            = "[SPFarm]CreateSPFarm"
        }

        xDnsRecord CentralAdminDns {
            Name                 = '${DNSPrefixCentralAdmin}'
            Zone                 = '${DomainDNSName}'
            Target               = '${AdminLoadBalancer.DNSName}'
            DnsServer            = '${DNSServerIP}'
            Type                 = "CName"
            Ensure               = "Present"
            PsDscRunAsCredential = $domainAdminCredential
            DependsOn            = "[SPAlternateUrl]CentralAdminAAM"
        }
    }

    Registry CentralAdminLinkUpdate {
        Key       = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\16.0\WSS\"
        ValueName = "CentralAdministrationURL"
        Ensure    = "Present"
        ValueData = 'http://${DNSPrefixCentralAdmin}.${DomainDNSName}'
        ValueType = "string"
        DependsOn = "[SPFarm]CreateSPFarm"
    }

    if ($Node.NodeName -eq "app" -or $Node.NodeName -eq "farm") {
        xWebSite CentralAdminBindings {
            Ensure = "Present"
            Name = "SharePoint Central Administration v4"
            State = "Started"
            BindingInfo = @(
                MSFT_xWebBindingInformation
                {
                    Protocol = "http"
                    Port     = 80
                    HostName = '${DNSPrefixCentralAdmin}.${DomainDNSName}'
                }
                MSFT_xWebBindingInformation
                {
                    Protocol = "http"
                    Port     = 9999
                }
            )
        }
    }

@ronx are you able to do a PR to add that error on http or do you want me to try to get one in for it? @ykuijs whats the ETA on the 3.4 drop? I think this catch needs to go in on that to head this off from other people trying to do what I did with it (your call though)

@BrianFarnhill I just submitted the PR. I talked to @ykuijs earlier and the 3.4 cutoff was Wednesday. When the PR is merged, would you mind pulling dev and testing it out on your lab to see if it works as expected? I'll look into the possibility of hitting the stretch goal of supporting custom hostnames with http in the meantime for the 3.5 release, but I don't know how much demand there is for that. I would think the same method removing the web app and recreating with New-SPWebApplicationExtension would work for HTTP as well. But we might have to make assumptions, like whether the user intends to replace the Default zone AAM or add it using the Intranet zone AAM like you did and leave the default binding in place. When we're aiming for HTTPS, it's easier to assume that we can replace the default HTTP binding because we're making the admin application more secure and want to close up the non-secure binding. But with HTTP, we're primarily doing it for cosmetic reasons, or possibly to point to a load balancer instead of a specific server, or just to obfuscate the server name. Let me know if you have any opinions on what assumptions we could make and what we should consider giving the option for.

@ronx I agree, don't sweat the HTTP support at all. I'm only looking at it so I can use a load balancer, which I think is a common enough scenario - but given HTTPS is a preferred practice I wouldn't go out of your way to support HTTP, especially given that it can work with the config I've got there. I would say that feature would be a nice to have, definitely not mandatory though. I'll run the development branch through my lab next week and confirm that it's all fine though and let you know. Thanks bud.

PR #1066 is merged. Reopening this issue, since it isn't 100% fixed yet.

@ykuijs The "bug" is fixed, right? The meta has been updated to provide info about how CentralAdministrationUrl is only for HTTPS, and an exception is now being thrown when an HTTP URL is passed. So we're now purposefully handling those scenarios instead of letting them happen and then failing as an unexpected error.
By it being not 100% fixed, are you referring to it being able to support HTTP as well? If so, do you think we should track that as a new enhancement instead of it being part of this bug?

@ronx That is correct. Could you please create the new issue?


[Feature] I hope that the color of the heat map can support the configuration of custom scale values, and the heat map color can be smoothly transitioned

What problem does this feature solve?
I hope that the color of the heat map can support the configuration of custom scale values, and the heat map color can be smoothly transitioned
this is the echarts:
https://codesandbox.io/p/sandbox/heatmap-forked-ssks6k?file=%2Findex.js%3A50%2C42

this is the plot
https://codepen.io/m01i0ng/pen/NWeaXVm

What does the proposed API look like?
Does inRange.color support this configuration of the corresponding range?
[
[0, 'rgb(0,0,131)'],
[0.125, 'rgb(0,60,170)'],
[0.375, 'rgb(5,255,255)'],
[0.625, 'rgb(255,255,0)'],
[0.875, 'rgb(250,0,0)'],
[1, 'rgb(128,0,0)']
]

ECharts demo unavailable - "Sandbox not found"


Add sss scheme as part of share meta data

Add sss scheme as 1o1, 2of3, or 3of5 as part of meta share data structure

Backend issue


Error on opening files from Cassini

I am trying to execute
imdata = PDS3Image.open('./Data/02NASA_Cassini/N1454725799_1.IMG')
in my Jupyter notebook, and I see the following error:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-7-ed1161877cab> in <module>()
----> 1 imdata = PDS3Image.open('./Data/02NASA_Cassini/N1454725799_1.IMG')

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/planetaryimage-0.4.1-py3.5.egg/planetaryimage/image.py in open(cls, filename)
     90         else:
     91             with open(filename, 'rb') as fp:
---> 92                 return cls(fp, filename)
     93
     94     def __init__(self, stream_string_or_array, filename=None, compression=None):

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/planetaryimage-0.4.1-py3.5.egg/planetaryimage/image.py in __init__(self, stream_string_or_array, filename, compression)
    119
    120             #: A numpy array representing the image
--> 121             self.data = self._load_data(stream_string_or_array)
    122
    123     def __repr__(self):

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/planetaryimage-0.4.1-py3.5.egg/planetaryimage/image.py in _load_data(self, stream)
    198
    199     def _load_data(self, stream):
--> 200         if self.data_filename is not None:
    201             return self._load_detached_data()
    202

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/planetaryimage-0.4.1-py3.5.egg/planetaryimage/image.py in data_filename(self)
    172     def data_filename(self):
    173         """Return detached filename else None."""
--> 174         return self._data_filename
    175
    176     @property

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/planetaryimage-0.4.1-py3.5.egg/planetaryimage/pds3image.py in _data_filename(self)
    299     @property
    300     def _data_filename(self):
--> 301         return self._image_pointer.filename
    302
    303     @property

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/planetaryimage-0.4.1-py3.5.egg/planetaryimage/pds3image.py in _image_pointer(self)
    312     @property
    313     def _image_pointer(self):
--> 314         return Pointer.parse(self.label['^IMAGE'], self.record_bytes)
    315
    316     @property

/home/andput/anaconda3/envs/py35/lib/python3.5/site-packages/pvl/_collections.py in __getitem__(self, key)
    121         if isinstance(key, INDEX_TYPES):
    122             return self.__items[key]
--> 123         return dict_getitem(self, key)[0]
    124
    125     def __delitem__(self, key):

KeyError: '^IMAGE'

My default Python evironemnt is
Notebook Executed:	 2017-09-12 21:39:34.026349
================================================================================
Python Version:
--------------------------------------------------------------------------------
3.5.3 |Anaconda custom (64-bit)| (default, Mar  6 2017, 11:58:13)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
================================================================================
PlanetaryImaging Version:
--------------------------------------------------------------------------------
0.4.1 (also tried with 0.5.0 with the same error message)
================================================================================
PVL Version:
--------------------------------------------------------------------------------
0.2.0
================================================================================

I will try some debugging over night, but would really appreciate any help.

@putza This is related to #75
There is a detached label and in order to open the image you need to have the label too. Download the lablel, which can also be found here, to the same directory as the N1454725799_1.IMG file and then open the image with the label path.

I got it to work but let me know if you still have an issue with it
>>> from planetaryimage import PDS3Image
>>> imagedata = PDS3Image.open('Data/02NASA_Cassini/N1454725799_1.LBL')
>>> imagedata.image.shape
(1042, 1024)
>>> imagedata.data_filename
'N1454725799_1.IMG'

Thanks for getting back to me this fast. Loading the label file works. I do not get the error message anymore, but the image looks like pure noise. I will clean up my virtual environment, reinstall and try again.

That image is pretty much noise. Perhaps try this image (from the same archive directory), which is a nice view - cropped below.
https://pds-imaging.jpl.nasa.gov/data/cassini/cassini_orbiter/coiss_2001/data/1454725799_1455008789/N1455008789_1.LBL
https://pds-imaging.jpl.nasa.gov/data/cassini/cassini_orbiter/coiss_2001/data/1454725799_1455008789/N1455008789_1

.IMG

I tried N1455008789_1.LBL and W1837766238_1. I got the LBL, IMG and JPEG file. The JPEG displays correctly, but the LBL has this striped structure. Something is going wrong during the binary import.
I have created a Jupyter Notebook to demonstrate:

Notebook Viewer: http://nbviewer.jupyter.org/urls/bitbucket.org/wanderingminds/opendata/raw/master/02NASA_Cassini.ipynb
Source: https://bitbucket.org/wanderingminds/opendata/src/93ad459ecbc6362f8b31d31016ca6ac8e95bf7f9/02NASA_Cassini.ipynb?at=master

W1837766238_1:

N1455008789_1:

Does anybody have an update on this? I have the same issue when opening images from HiRISE. Is this a problem with how I am opening the file?

@muyajil @putza
Sorry, I'm going to try to figure this out this week. I think it has to do with how the data is stored in the file and the label should have some information to extract the image correctly. But this will take some time reading through documentation. Hope to have a note book viewer example by the end of the weekend

Here is some information I previously collected in response to the initial issue noted by @putza. I've been meaning to post this - I don't want @pbvarga1 to waste his time with the work I've already done.
The solution to the issue lies in the documentation and highlighted sections I've gathered below, and is summarized at the end of the post. At present I don't have time to actively develop an explicit solution (MS thesis crunch time!), but this should help provide the necessary "leads" to resolve the issue.  Hope this helps!
Instrument Overview
https://pds-imaging.jpl.nasa.gov/data/cassini/cassini_orbiter/coiss_2001/catalog/isswa_inst.cat

See from Section "Data Paths" to end.

Vicar data and detached PDS label SIS
https://pdsimg.jpl.nasa.gov/data/cassini/cassini_orbiter/coiss_2103/document/edrsis.pdf (updated)

See Table 6
really the whole document
Section 11 - Appendix D
Section 12 - Appendix E

Software available for Cassini image processing
(alternatives to the previously proprietary CISSCAL IDL routine)
http://pds-rings.seti.org/cassini/iss/software.html (Cassini-specific)
https://www-mipl.jpl.nasa.gov/vicar_open.html
https://www-mipl.jpl.nasa.gov/external/vicar.html
https://github.com/nasa/VICAR/blob/master/vos/docsource/vicar/VICAR_build_2.0.pdf
Users guide
http://www.ciclops.org/sci/docs/ISS_Data_User_Guide_141215.pdf
http://www.ciclops.org/sci/docs/InFlightCalibration.pdf (West et al., 2010)
LUT (look-up table) conversion code
http://pds-rings.seti.org/volumes/COISS_0xxx/COISS_0011/calib/lut/lut.tab
&
https://pds-imaging.jpl.nasa.gov/data/cassini/cassini_orbiter/coiss_0011_v2/extras/cisscal/cisscal_delut.pro
CASSINI ISS CALIB folder
http://pds-rings.seti.org/vol/COISS_0xxx/COISS_0011/calib/
Summary:
In general, issues seem to originate from Table conversion of bit depths for the imagery.
12 bit to 8 bit lossless conversion from 16 bit analog stored from sensor.
Lossy or lossless compression may follow to 8 bit.
Number of header lines consisting of [0,0,0,0......]'s in label defined by e.g, ("N12345678_1.IMG",4) where 4 is the line number in the data where the image object data begins. So image data starts at the fourth row down in this image. Three rows of [0,0,0,0......] preceed it.

Thank you @tjslezak. This is very helpful. My new job left me with very little time to follow up on this, but there is a long weekend coming up. I will have an update soon.

did anyone ever get to the bottom of this? seeing the same striped images as @putza with Cassini images.

I haven't kept up with this issue nor with the progress in this project but I seem to recall that we didn't initially add support for these:
OBJECT = LINE_PREFIX_TABLE
      INTERCHANGE_FORMAT = BINARY
      ROWS = 1024
      COLUMNS = 7
      ROW_BYTES = 24
      ROW_SUFFIX_BYTES = 1024
      ^LINE_PREFIX_STRUCTURE = "PREFIX2.FMT"
END_OBJECT = LINE_PREFIX_TABLE
OBJECT = IMAGE
      LINES = 1024
      LINE_SAMPLES = 1024
      SAMPLE_BITS = 8
      SAMPLE_TYPE = SUN_INTEGER
      LINE_PREFIX_BYTES = 24
END_OBJECT = IMAGE

The progressively stripey appearance in your images is what the un-interpreted line suffix/prefix look like.

perhaps this might be a good opportunity to see how planetaryimage and gdal (as optional) can be  somehow used in concert. Even for gdal image reads, to grab the whole label for Python we still heavily rely on the pvl library. It seems impossible to get plaentaryimage or gdal to work an all PDS3 labels so perhaps we can use both to cover more use cases. Planetaryimage is still a good a default, and if we can catch a failed read, then bounce to gdal to give it go... gdal might also help with larger images, map projection capabilities, and other formats (there now some support for PDS4 labels). @putza - great notebook. I took it and tested gdal's "Open" on the labels and somehow managed to support your examples. https://gist.github.com/thareUSGS/859b3b0d0764abdc3088b297fa039757

wow I had no ideal gdal could handle these kind of images.
by extension, that means that the excellent 'rasterio' python library by @mapbox can also read them. I've just confirmed this.
ndarray = rasterio.open("N1455008789_1.LBL").read()

Just to report, I'm getting a similar problem with DAWN VIR data cubes.
It seems that DAWN uses a different key (^QUBE rather than ^IMAGE) to point into their data cube from the .LBL file.
I think a good option would be to give users the chance to pass the Key as an argument.
Issue posted at PVL


Segmentation coordinates

Hello.
Is there a function used to extract the coordinates of a segmentation? In order to detect the corresponding position of a certain mask in the .nii file

You can do that with python + nibabel + numpy. ChatGPT can also help you with that.


TypeScript usage

Hello!
I would like to use this lib to create layout for my modeltrain hobby. With svelteKit I need to use TypeScript. I could use TS in this format:
$: setup = ({ width, height }: { width: number; height: number })...

$: render = ({ context }: { context: CanvasRenderingContext2D })...

but I cannot find proper type for on:mousemove={onMove} in https://dnass.github.io/svelte-canvas/examples/layer-events.
Can you help me?

ps: Cannot find event types in https://github.com/dnass/svelte-canvas/issues/9

You can use the CanvasLayerEvent type – there's an example here.

Can I write to this? I got error on that example.
Argument of type '(e: CanvasLayerEvent) => void' is not assignable to parameter of type '(e: LayerEventDetail) => void'.
  Types of parameters 'e' and 'e' are incompatible.
    Type 'LayerEventDetail' is missing the following properties from type 'CustomEvent<LayerEventDetail>': detail, initCustomEvent, bubbles, cancelBubble, and 20 more.ts(2345)

on:

node v20.11.1
pnpm 8.15.4
svelte 4.2.7
typescript 5.0.0
vite 5.0.3
svelte-canvas 1.1.2


reading from geojson

Hello Mr.Nee,
I already converted my gtfs file to geojson and I'm so thankful
I have a problem with reading coordinates from it in js
would you please help me?
just a link will help me
thanks a lot
Alireza.

One easy option for mapping geojson is felt:
https://felt.com/blog/put-your-data-to-work
On Fri, Sep 30, 2022 at 08:11 alirezat00 @.***> wrote:

Hello Mr.Nee,
I already converted my gtfs file to geojson and I'm so thankful
I have a problem with reading coordinates from it in js
would you please help me?
just a link will help me
thanks a lot
Alireza.
—
Reply to this email directly, view it on GitHub
https://github.com/BlinkTagInc/gtfs-to-geojson/issues/19, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAXPWK7KWCCJBE4SSRPQTDWA37JRANCNFSM6AAAAAAQZ3UFIE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--


Undefined index: SCRIPT_FILENAME in /var/sites/l/logmyscan.com/craft/app/framework/base/CApplication.php on line 146 Error: File not found.

Hi I've just tried to do a very basic migration - add a new single section. Export was fine on my local machine and actually import runs fine on my local machine as well.
However when I try to do an import on my server I get the following error:
Undefined index: SCRIPT_FILENAME in /var/sites/l/logmyscan.com/craft/app/framework/base/CApplication.php on line 146

Error: File not found.

The Line in question is this:
Yii::setPathOfAlias('webroot',dirname($_SERVER['SCRIPT_FILENAME']));
I'm thinking that when I run from SSH on my server, the PHP globals must not be being set but I'm not sure of what to do about it

Infact, this is my server variable from the craft log
$_SERVER=array (
  'TERM' => 'xterm',
  'SHELL' => '/bin/bash',
  'USER' => 'logmysca1',
  'USERNAME' => 'logmysca1',
  'PATH' => '/usr/local/bin:/bin:/usr/bin',
  'PWD' => '/var/sites/l/logmyscan.com',
  'SHLVL' => '1',
  'HOME' => '/var/sites/l/logmyscan.com',
  '_' => './composer-plugins/bin/schematic',
  'PHP_SELF' => '',
  'REQUEST_TIME_FLOAT' =><PHONE_NUMBER>.20817089080810546875,
  'REQUEST_TIME' =><PHONE_NUMBER>,
  'argv' =>
  array (
    0 => './composer-plugins/bin/schematic',
    1 => 'import',
  ),
  'argc' => 2,
  'SERVER_NAME' => false,
)

It seems, adding the following to the schematic file seems to fix things:
$_SERVER['SCRIPT_FILENAME'] = __DIR__.'/../../../../public_html/index.php';
$_SERVER['SCRIPT_NAME'] = __DIR__.'/../../../../public_html/index.php';

Not sure if it's just because something is defined in the index or if the paths need to be correct

What command you do use to invoke schematic? Do you use ./vendor/bin/schematic ...?

Sorry import command
On Sat, 27 Feb 2016 at 10:56, Bob Olde Hampsink<EMAIL_ADDRESS>wrote:

What command you do use to invoke schematic? Do you use ./vendor/bin/schematic
...?
—
Reply to this email directly or view it on GitHub
https://github.com/itmundi/schematic/issues/35#issuecomment-189618239.

--
Thanks
David

I'm closing this issue, likely a server configuration issue rather than a schematic issue


jasmine: cli and travis integration

Problem Jasime tests are not executed as part of CI cycle, and thus can be broken at any time. Also, it should be easier for developers to execute the Jasmine tests in multiple browsers using something like Karma.
Task forked from #2221
Related to #1769

Superseded by Invenio 3.  Example: https://github.com/inveniosoftware/invenio-accounts/blob/master/.travis.yml


Working example for react-router-redux 5

I created a working example in a single html file. It's written in ES6 without babel or JSX, it just works in current versions of Chrome, Firefox, and Safari (in my testing at least). I have posted a working hosted version at https://rr.ptb2.me/ for testing purposes.

Thanks, but I'm not sure I see the value of putting this into a single HTML file. I'd rather focus on just the usage of the library, not any of the scaffolding around building an entire working app.


create issue trackers and CI section, fix Presto database

This is a partial fix for #1320. It creates a issue trackers and CI section, along with moving Presto in the right place.
I would also create a "load balancers" and "networking" sections, along with moving Cachet, cAdvisor, Kibana and kube-stat to "Other monitoring" but that seemed to have been less popular. ;)

another one i think might belong to "hardware" is the ACT Fibernet Exporter which seem to talk to DSL modems to get bandwidth data... should i move it as well?

Thanks!


issues/1914: refactor run() method

⚠   Pre Checklist

Please complete ALL items in this checklist, and remove before submitting

[ ] I have read through the Contributing Documentation
[ ] This PR is using a label (bug, feature etc.)
[ ] My code is has necessary documentation (if appropriate)
[ ] I have added any relevant tests
[ ] This section (⚠   Pre Checklist) will be removed when submitting PR

Summary

Does this close any open issues?
https://github.com/apache/incubator-devlake/issues/1914
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

I wonder if it would be better to make them 3 different subtasks.

@klesh my latest commit breaks it into 3 subtasks, but the problem is there is no easy way (from my understanding) to cache the cloned repo so that after it is cloned first it gets reused by the remaining two. So right now we end up cloning the repo 3 times. I think we'd need a broader framework enhancement to support a shared state between subtasks, as well as the ability to close/release this shared state after the subtasks are complete.
cc @hezyin

@klesh my latest commit breaks it into 3 subtasks, but the problem is there is no easy way (from my understanding) to cache the cloned repo so that after it is cloned first it gets reused by the remaining two. So right now we end up cloning the repo 3 times. I think we'd need a broader framework enhancement to support a shared state between subtasks, as well as the ability to close/release this shared state after the subtasks are complete. cc @hezyin

Why not? in jira or other data source plugins, we shared apiclient across multiple subtasks, we can use the same technique here.

@klesh my latest commit breaks it into 3 subtasks, but the problem is there is no easy way (from my understanding) to cache the cloned repo so that after it is cloned first it gets reused by the remaining two. So right now we end up cloning the repo 3 times. I think we'd need a broader framework enhancement to support a shared state between subtasks, as well as the ability to close/release this shared state after the subtasks are complete. cc @hezyin

Why not? in jira or other data source plugins, we shared apiclient across multiple subtasks, we can use the same technique here.

@klesh Do we have a way of cleaning up after all the subtasks are done though? Something like a shutdown hook that we can define and execute? That'll be needed for this case to remove the cloned repo after the collections are done

@klesh my latest commit breaks it into 3 subtasks, but the problem is there is no easy way (from my understanding) to cache the cloned repo so that after it is cloned first it gets reused by the remaining two. So right now we end up cloning the repo 3 times. I think we'd need a broader framework enhancement to support a shared state between subtasks, as well as the ability to close/release this shared state after the subtasks are complete. cc @hezyin

Why not? in jira or other data source plugins, we shared apiclient across multiple subtasks, we can use the same technique here.

@klesh Do we have a way of cleaning up after all the subtasks are done though? Something like a shutdown hook that we can define and execute? That'll be needed for this case to remove the cloned repo after the collections are done

Good question, no, we don't, while I think this is a legitimate feature, we should add a method to release resources.
But for this particular scenario, shouldn't we just keep the repo, and do git pull in successive collections to speed things up ?

@klesh my latest commit breaks it into 3 subtasks, but the problem is there is no easy way (from my understanding) to cache the cloned repo so that after it is cloned first it gets reused by the remaining two. So right now we end up cloning the repo 3 times. I think we'd need a broader framework enhancement to support a shared state between subtasks, as well as the ability to close/release this shared state after the subtasks are complete. cc @hezyin

Why not? in jira or other data source plugins, we shared apiclient across multiple subtasks, we can use the same technique here.

@klesh Do we have a way of cleaning up after all the subtasks are done though? Something like a shutdown hook that we can define and execute? That'll be needed for this case to remove the cloned repo after the collections are done

Good question, no, we don't, while I think this is a legitimate feature, we should add a method to release resources. But for this particular scenario, shouldn't we just keep the repo, and do git pull in successive collections to speed things up ?

well, the existing collector code was "closing" (removing) the repo after it was done with all 3 collections, so we'd want to be doing the same here too. If we don't do that, we'd be leaking files on the filesystem. I've made an enhancement to support this in my latest commit: An extension of the PluginTask API that lets the user close any shared resources if they want to. I ran it on one repo and it seems ok. Let me know what you think.

@keon94 Ok, let's keep the current behavior, and add this release interface.

@keon94 Hey Keon, thanks for addressing all the previous review comments. The PR looks good. Two last things:

Since LibGit2 struct is just used for creating a GitRepo struct now, what do you think of renaming LibGit2 struct to something like GitRepoCreator so it's more apparent to future developers?
Could you please compare the performance of the plugin before and after this PR for a relatively large git repository? I'm not sure how costly it is for libgit2 to iterate through the entire odb to get the counts, so better do a perf test to be sure. And when you do this comparison, it would be nice to verify that the old and new code creates the same amount of records in the database as well. Thanks!

@hezyin There is no significant time difference either way when I test our DevLake fork on my machine (~21s), so I think it's okay to get the counts. Checked the database too and the table sizes are the same.


wip handing availability calendar edge cases

Need to:

remove the pre-fill buttons on the Prisoner and Visitor steps
update the content to 'Not available' instead of 'Prisoner unavailable'

@alan @chrishanes


Add lean when returning data to save up memory

Lean mongoose doc: https://mongoosejs.com/docs/tutorials/lean.html
Currently we are returning the whole document even if the model doesn't need any further processes. Using lean with the models can be 10x more memory efficient.

Hi,  I want to try to solve this issue. I am clone hole project after the fork. Then create .env file and fill the data in it. But while running the server at each API call I get bellow JSON output.
{   "statusCode": 409,   "message": "Access Denied as Token does not exist",   "error": "Conflict" }
Why I am getting this Error? please help me
Thank You

Hi, I want to try to solve this issue. I am clone hole project after the fork. Then create .env file and fill the data in it. But while running the server at each API call I get bellow JSON output.
{ "statusCode": 409, "message": "Access Denied as Token does not exist", "error": "Conflict" }
Why I am getting this Error? please help me
Thank You

Hey ,
at a lot of API endpoints  Auth middleware is set and role guards are set in some as well.
So you need to pass the token you get from the client side in the header for those requests to retrieve a response.

Thanks,
I think you are talking about at /api   i get authorizations prompt. I give the code, but it only works for /hello router and I am getting the same message for another route. And in /hello router I am also getting bellow message.
{
  "statusCode": 403,
  "timestamp": "2021-08-12T16:00:26.289Z",
  "path": "/",
  "message": "Decoding Firebase ID token failed. Make sure you passed the entire string JWT which represents an ID token. See https://firebase.google.com/docs/auth/admin/verify-id-tokens for details on how to retrieve an ID token.",
  "code": "auth/argument-error"
}

I check my .env file, it has all value right then why am I getting this, any idea.
Thank You


Expose buildSelector for use in helpers

We have a helper that looks like:
export function fillInFroalaEditor(selector, options = {}) {
  return {
    isDescriptor: true,

    get() {
      return async function (html) {
        const elements = findElementWithAssert(this, selector, options);
        const editor = await getEditorInstance(elements[0]);
        editor.html.set(html);
      };
    }
  };
}

However this causes some issues and would work much better I could pass in a selector instead of an element, but I'm not sure how to get a correctly scoped selector from the helper. It appears that buildSelector does that work, would it be possible to make this public so that the value returned from findElementWithAssert coule be able to be translated into a selector again?
Does this exist already and I just missed it?

Well, it's public https://github.com/san650/ember-cli-page-object/blob/master/addon-test-support/index.js#L26.
However, I believe we should avoid and deprecate it, cause buildSelector, in fact, is an internal implementation detail.
Can you please provide more details? How JQuery selector produced by buildSelector is more useful for you than a native element? I'd like to know if we miss some usecase w/o buildSelector.

Excellent, that's what I needed!
I don't think it's an internal detail here. I agree I shouldn't need it and it's probably a bug in the library I'm using that it can't take a DOMElement here. But all a helper gets is a partial selector findElementWithAssert can take that along with the context to return an element. Sometimes though you don't need DOMElement you need the full selector path so you can find it yourself.
In this specific case I would get [data-test-html-editor] as the selector, but buildSelector returns [data-test-ilios-course-details] [data-test-detail-objectives] [data-test-html-editor]. I can't think of another way from a helper to get all this context.


SSR Support expected date

You can see in this issue https://github.com/nhn/tui.editor/issues/1537#issuecomment-863043854, @js87zz  told that SSR will be included in the next minor release. Although i am waiting for this feature from last year. I was using customHtmlRenderer to render MD content on the server side. But, i was having trouble while rendering uml, chart, code syntax highlight, color syntax highlight on server side.
To render them i was rendering plan MD on server and the MD which require plugins on client as <Viewer> component.
I would be happy to know the expected date for SSR support.
Thanks!

@ats1999
The exact schedule is hard to say. However, SSR support will be a top priority for the next minor version update.
But for the time being, the Bugfix release will be a priority for stability.

ok


[FLOC-4111] Add package source to get_trial_environment parameters

Commit https://github.com/ClusterHQ/flocker/commit/f72dd544395a4b9317f010962f369f01ac8d3c8b added an extra parameter to the function get_trial_environment to pass the package versions info to subsequent stages.  The  change is very useful for the benchmarking workflow, as we are currently passing the branch name manually.
However, for benchmarking, we call the get_trial_environment function from cluster_setup.py, but it has not been changed there.
This PR fixes that omission.

:+1: Looks good. Merge when you are happy.


Car Price Prediction Using Simple Linear Regression

I will make a Machine Learning Model using Simple Linear regression for Predicting the Car Price .

@Sakalya100 sorry ,i don't want more simple regression model, make other issue or choose one.

Can I make an issue on multiple regression model?


fix(ManifestHelper) fix close JarFile.

can you please provide a little context in the description? is this from exception reports?


fix: typo in "status" badge

Describe your changes
Please include a summary of the changes and the related issue.
Fixes #(issue)
Checklist

[ ] I have performed a self-review of my code
[ ] I have added thorough tests
[ ] I have updated the docs

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (adc76eb) compared to base (603c4de).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##              beta       #67   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          421       421
  Branches        60        60
=========================================
  Hits           421       421

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Thank you for the fix!


Make callbacks asynchronous

Feature or optimization description
Make callbacks to VueWebTerminal asynchronous
Applicable scene
If a terminal represents a shell on a remote machine then it's very hard to overwrite callbacks since they can't wait for an asynchronous request to be fulfiled.
https://github.com/tzfun/vue-web-terminal/issues/28 is a good example.
If autocomplete depends on files paths (i.e. in cat command), then it shouldn't be necessary to send whole filesystem of the target computer to the browser just to implement autocomplete. If the search callback would be asynchronous, then it would be possible to just send the request and the VueWebTerminal would wait for the data to be ready.

@michaelKurowski This is a very good suggestion 👍🏻 In the future, I will plan to transform these handler methods into asynchronous implementations, but methods like command-formatter and command-store-sort that do not require asynchronization will still maintain synchronous implementations .

@michaelKurowski The logic of command execution is asynchronous by default. Currently, the synchronous implementation methods are some function in attributes. Are there other places that need asynchronous transformation in your application scenario?

The latest versions 2.1.10 and 3.1.5 already support this feature


Task/58/fix offline edit

Codecov Report

Merging #67 (4b13b39) into main (67bd779) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #67   +/-   ##
=======================================
  Coverage   89.49%   89.49%
=======================================
  Files          14       14
  Lines         257      257
  Branches       29       29
=======================================
  Hits          230      230
  Misses         27       27

Continue to review full report at Codecov.

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


chore: update highlights for which-key.nvim

Updates highlight groups that have changed / been added for which-key.nvim, which has just had a new major version release (v3).
Fixes #285

This is ready to go as-is...
I will submit another PR addressing the improving the display of the icon highlight groups, the way in which they are handled in which-key is kind of a bit odd.

I just noticed I was on nightly when I was working on this, and when I switched back to nvim v0.10.0 the fixes don't work... So will have to put this on hold for now.

After some investigation I have determined that there is a bug in which-key which is causing the fix not to take affect on the stable version of Neovim.
So as far as things being correct here, it would appear that everything is good now for this to be merged as-is. 😀

Thank you for the thorough PR, much appreciated :)


Error executing cheat engine script

Error:...\Documents\FZeroTests\Ram Watch\dolphin.lua:173: attempt to concatenate field '?' (a nil value)
The script won't run because of this error. I'm using Dolphin 4.0-4808 and Cheat Engine 6.4 64-bit. I also tried some older and newer versions of Dolpin but nothing worked. I think this issue was caused by commit cdd3d10e4bd78bb271442b83c3c7a352c68076bf
Edit: I get the same error on Cheat Engine 6.3 64-bit.

Oh, did you have the Dolphin game (e.g. F-Zero GX) up and running when you executed the script? You'll likely get that error if not.
(I realize I didn't make this clear though, and this behavior is indeed due to the recent changes to dolphin.lua.)

I still get errors when changing the constantGameStartAddress to 0xFFFF0000 or 0x2FFFF0000:
Error:...\Documents\FZeroTests\Ram Watch\games\fzerogx.lua:58: attempt to perform arithmetic on a nil value
I also tried scanning for the string GFZE01 in cheat engine and using all 5 of the given addresses but they didn't work either. I did all of these tests while in the main menu of the game.

Hmm... dang. For some reason or another, it seems your Dolphin memory layout may be totally different from what I've been seeing all this time (through various versions and settings).
So did a previous version of this Lua script work for you (like shortly before this commit)? I'd be surprised since it wasn't drastically different, other than auto-finding the game start address for you.

I used to use an older version of the script about a month ago and it worked. For some reason I can't get the older versions to work for me anymore though. Maybe my dolphin version is bad now. Do you recommend any dolphin versions in particular?

Oh right, the previous Lua script versions hard-coded the game start address to work with Dolphin 4.0-4191 or earlier. (Somewhere between 4191 and 4808 it changed; I hadn't tried anything in between.)

Commit b8a2578e1c0d25693ced10551c4b58667dd6d9bb works on Dolphin 4.0-419 but not the latest version of dolphin. Also the most recent commit doesn't seem to work for me on this version of dolphin (4.0-419).

Okay, at least we're back to getting that older Lua commit working (on the Dolphin versions where it's expected to work).
So I just realized one thing that's needed to make the latest commit work. Go to Cheat Engine's Edit menu, Settings, Scan Settings, and ensure MEM_PRIVATE, MEM_IMAGE, and MEM_MAPPED are all checked. (MEM_MAPPED I think is the most important one here, it should start giving you the results ending in 0000 when searching GFZE01.)
So try that with the latest Lua commit, any Dolphin version, without setting the constantGameStartAddress. See if there's any luck.

Checking the MEM_MAPPED option didn't fix the errors in the latest commit but I could see the addresses ending in 0000 now. I tried putting those addresses in constantGameStartAddress but they didn't work (after testing nil first).

Okay, well that's one small thing solved at least.
Well, there's certainly some other commits to try between b8a2578e1c0d25693ced10551c4b58667dd6d9bb (which you got working) and 7073f30773718a9fbd87444b8bc60692ce222be8 (the latest one). Initially I thought only one of the code changes was a likely problem, but maybe that's not the case.
Could you try the following in order until it doesn't work anymore?:

cdd3d10e4bd78bb271442b83c3c7a352c68076bf (game start address is auto-scanned)
b4ee6df09a0c27c1e9796c73c6f19d402a6f78b5 (changes since the above commit should be unrelated, but just in case..)
a828eaebb98fc99a0a5856ae7c2b44f422eabb75 (some key F-Zero GX addresses are now calculated only once instead of repeatedly)

cdd3d10 works, b4ee6df doesn't.

Well that's interesting. I guess we'll have to check a couple more commits then; sorry for making you do this, heh. Still learning things I guess.

dde4bd1847a5da4d11fb59650bf9223e563646e9
2443e06b4537a0405425f10003bb14c71627c32c

dde4bd1 works, 2443e06 works too.

OK, so looks like b4ee6df09a0c27c1e9796c73c6f19d402a6f78b5 is where it starts going bad (this is still the error on the GX refPointer line, right?).
I've broken up the commit into smaller chunks on a new repository branch. So here's some more commits to try (feel free to use binary search so you don't have to try all of them):

dd55e1ac2176d625b4274ec73314524efcc82b11 (here's dolphin.lua rolled back to the last version that worked for you)
7e03387ff92a183dbe2021cb6cc517e48fa376e5
526c852a38768c31cb5c43c4d0f4f880c2f8ed70
204077ec96a6a3f19acc539064ecd6f27a4e4699
a17a66babe2ecc496e5c452b65a5ecd9c67cbe71 (dolphin.lua matches master branch)
ba07d0cb3fa70c22ffec31bb0fca70910c29693b (actually found a little bug in the GX script which is related to these commits, though I don't think it's related to your error...)

I tried 204077e first which worked, then I tried a17a66b and it didn't work.

Cool, now we're getting somewhere. What's the error you get on 5? Is it same as you reported before or something different? I get "This layout uses the Dolphin frame counter, so you need to set frameCounterAddress in dolphin.lua to make it work." (If I do set that address, then it works)

"Error:...\Documents\FZeroTests\Ram Watch\dolphin.lua:192: This layout uses the Dolphin frame counter, so you need to set frameCounterAddress in dolphin.lua to make it work."

All right. One final check: do you get this same error on the master branch's latest commit, Dolphin 4.0-4191?

Yeah, I get the same error.

Excellent, think it all makes sense now. Thanks for doing all those checks. I just pushed the same little fix (same as commit 6 listed above) to the master branch, so that should do the trick.
Keep in mind that you'll still need to set the frameCounterAddress (and/or oncePerFrameAddress) in dolphin.lua if you use certain F-Zero GX layouts. The error will go away once you've set the relevant address to a hexadecimal number instead of nil.

The latest commit on master works for me now. Thanks for fixing it.


add VoltDB to CNCF landscape

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~15 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

:heavy_check_mark: Deploy preview for landscape ready!
:hammer: Explore the source changes: e11c3e296fc64f631c53a25d0f463c3f128ce3e9
:mag: Inspect the deploy logs: https://app.netlify.com/sites/landscape/deploys/5fe0fd5ae2478c0007782f2e
:sunglasses: Browse the preview: https://deploy-preview-1940--landscape.netlify.app

LGTM


Troublemaker cannot be initialized if Xcode's window is not active

When Troublemaker is used in a Xcode plugin (most common scenario now), if Troublemaker's initializer is called when Xcode's workspace window is not active(ex. the command was run asynchronously and the user switched the windows in the meanwhile), the initializer will fail (return nil).
Will be nice to find a way to initialize Troublemaker when Xcode is not the active window.

Now Troublemaker can be initialized as far as there is a workspace window, no matter if it's visible or not.
Will continue investigating to see if it's possible to access IDEIssueManager from other windows as well.

It's tricky to get access to IDEIssueManager from another window than workspace window. And it actually doesn't make sense to show issues if there is no Editor window open.
Will close this issue.


Move namespace flag from global to every command

What was changed

--namespace flag now lives under each subcommand instead of as a global flag
Why?

Namaspace relates to specific Temporal actions rather than global property (TLS, auth)
changes the syntax from tctl  --namespace canary namespace register to tctl namespace register --namespace canary

Checklist

Closes

How was this tested:

unit tests
registered and deleted namespace

Any docs updates needed?

I'd say most commands require a namespace.
I see a point about not every command requiring it though, just not sure if it's worth moving.

What's the reason for this change?
Will this work with the config file?

yes it works with the config file
So there is a line and consistency for what is a global flag and what is a command flag
For consistency thinking of global flags as supporting flags for the action, but don't directly relate to the action. Ex auth, TLS etc:
GLOBAL OPTIONS:
   --address value                      host:port for Temporal frontend service [$TEMPORAL_CLI_ADDRESS]
   --auth value                         Authorization header to set for gRPC requests [$TEMPORAL_CLI_AUTH]
   --context-timeout value, --ct value  Optional timeout for context of RPC call in seconds (default: 5) [$TEMPORAL_CONTEXT_TIMEOUT]
   --tls-cert-path value                Path to x509 certificate [$TEMPORAL_CLI_TLS_CERT]
   --tls-key-path value                 Path to private key [$TEMPORAL_CLI_TLS_KEY]
   --tls-ca-path value                  Path to server CA certificate [$TEMPORAL_CLI_TLS_CA]
   --tls-disable-host-verification      Disable tls host name verification (tls must be enabled) (default: false) [$TEMPORAL_CLI_TLS_DISABLE_HOST_VERIFICATION]
   --tls-server-name value              Override for target server name [$TEMPORAL_CLI_TLS_SERVER_NAME]
   --headers-provider-plugin value      Headers provider plugin executable name [$TEMPORAL_CLI_PLUGIN_HEADERS_PROVIDER]
   --data-converter-plugin value        Data converter plugin executable name [$TEMPORAL_CLI_PLUGIN_DATA_CONVERTER]
   --codec-endpoint value               Remote Codec Server Endpoint [$TEMPORAL_CLI_CODEC_ENDPOINT]
   --codec-auth value                   Authorization header to set for requests to Codec Server [$TEMPORAL_CLI_CODEC_AUTH]
   --color value                        when to use color: auto, always, never. (default: "auto")
   --help, -h                           show help (default: false)
   --version, -v                        print the version (default: false)

Whereas command flags affect the actual change that the action performs, ex --namespace, --workflow-id

I like this change.
tctl --namespace test1 namespace register

is really ugly and I always hate it.

I agree for this command but for almost any other command I disagree.
This would be better with a positional argument IMHO:
tctl namespace register test1 ....

I think we decided not to use positional arguments at all. But even if we do it the way you described, --namespace shouldn't be global flag (it doesn't make sense there).
In most cases users don't need to specify it at all, because they are using default namespace. But event for workflow list I like
tctl workflow list --namespace test

because it is almost plain English: "list workflows in namespace test".

In most cases users don't need to specify it at all, because they are using default namespace. But event for workflow list I like

What do you mean when you say "default"?

In most cases users don't need to specify it at all, because they are using default namespace. But event for workflow list I like

What do you mean when you say "default"?

he was referring to the namespace called default (or the one set in config)

Not a fan of arguments because they make --help a bit more complicated to read. Plus easier to remember that namespace is always passed with a flag and doesn't change depending on a command (register vs others)
Commented here why imo this should be a command flag https://github.com/temporalio/tctl/pull/236#issuecomment-1196895568. This sentence tctl --namespace default namespace register was actually the very first confusion for me 2 years ago

In most cases users don't need to specify it at all, because they are using default namespace. But event for workflow list I like

I think that's a wrong assumption especially in Temporal Cloud.
I changed my mind about this change, as long as we can load the namespace from the environment config this is fine.
One point that I would like to note is that having the namespace in the top level command makes it easier to create shell aliases, e.g:
alias tctl-prod="tctl --address my-server --namespace my-namespace"

But that's probably not required anymore with tctl environments.


Small JSON change

Modifies JSON such that it doesn't have newlines, project metadata resources properly populate

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

src/controller/block_editor_controller.js, line 179 at r1 (raw file):

    const blockXml = '<xml>' + Blockly.Xml.domToText(Blockly.Xml.blockToDom(rootBlock)) + '</xml>';
    currentBlock.setXml(Blockly.Xml.textToDom(blockXml));
    currentBlock.json = '[' + FactoryUtils.getBlockDefinition(

Please put the inner expression into its own variable and then do the join and add the brackets.  It's hard to read right now.

src/model/project.js, line 284 at r1 (raw file):

   */
  getFullResourceList() {
    return this.librarySet.getMetadata().concat(this.toolboxSet.getMetadata(),

I prefer the other version, tbh. It's much easier to read.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

src/controller/block_editor_controller.js, line 179 at r1 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Please put the inner expression into its own variable and then do the join and add the brackets.  It's hard to read right now.

I ran into this bug on my branch (#189, diff here) and fixed it by using JSON.parse(jsonString), which might be a better idea since I used it for functionality and it worked for me (in defining blocks to show in the editor workspaces)?
Also, the json field is marked as @type {!Object}, and this is a string, no?
Perhaps we can store it as a JSON and convert it to string whenever we need it as a string?

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 2 unresolved discussions.

src/controller/block_editor_controller.js, line 179 at r1 (raw file):
Previously, chynu (celine choo) wrote…
I ran into this bug on my branch (#189, diff here) and fixed it by using JSON.parse(jsonString), which might be a better idea since I used it for functionality and it worked for me (in defining blocks to show in the editor workspaces)?
Also, the json field is marked as @type {!Object}, and this is a string, no?
Perhaps we can store it as a JSON and convert it to string whenever we need it as a string?

now JSON.parse, added an issue #190

src/model/project.js, line 284 at r1 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
I prefer the other version, tbh. It's much easier to read.

fixed

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable


Fix clearing redo stack after brush drawing

As discussed in https://github.com/burhanrashid52/PhotoEditor/pull/545#discussion_r1499095552, when drawing a new shape, the redo history should be cleared. #545 invokes PhotoEditorViewState.clearRedoViews() only when adding sticker, emoji or text. However, for brush drawing, the function is not invoked, leading to an incorrect value being returned by PhotoEditorViewState.redoViewsCount.

@burhanrashid52 Can you manually rerun tests? Test failed because of emulator timeout.

@wasky Can you please rebase it from latest master so that we can have the CI fix in this PR ?