overmind weird behaviors

Hey all ! I'm sorry to bother you but since I upgraded overmind from 1.X to the last version (2.0.3). It behaves weirdly.
First it does not log the combined output of all commands when launched with overmind start -f Procfile.dev -p 3000.
Second, the restart does not really restart the commands, it is stuck indefinitely (tmux version 2.9a).
Did I do something wrong ? Is there something I could do to help me/you debug ?

Hi,

First it does not log the combined output of all commands when launched with overmind start -f Procfile.dev -p 3000.

Do you mean it doesn't show processes' output at all? Or it shows the output of the part of the processes?

Second, the restart does not really restart the commands, it is stuck indefinitely

What state does it stick in?

Hi!
Sorry for this very basic bug report.
When I say no output, it just starts to log
system                        | Tmux socket name: overmind-rails-ugi6PxxreT6-g1bkTWv752
system                        | Tmux session ID: drivy-rails
system                        | Listening at /Users/lyset/Documents/rails/.overmind.sock
webpack                       | Started with pid 7373...
mailcatcher                   | Started with pid 7372...
sidekiq_worker_test_scenarios | Started with pid 7371...
sidekiq_worker                | Started with pid 7370...
web_https                     | Started with pid 7369...
web                           | Started with pid 7368...

Then there is no more output.
For the restart, it just says Pane is dead (status 0, Mon Oct 14 14:38:37 2019)

Okay, after debugging for a long time, I found that this line was causing trouble.
mailcatcher:      pkill -f mailcatcher > /dev/null 2>&1 ; ruby -rbundler/setup -e "Bundler.clean_exec('mailcatcher -f --http-ip <IP_ADDRESS>')"

Particularly this part of the command pkill -f mailcatcher > /dev/null 2>&1 ;. I know that this is not really optimal in Procfile but before removing it, do you see why it causes these weird behaviors?

Well, you shot yourself in the foot :)
When you run pkill -f mailcatcher, it searches all processes containing mailcatcher in their names and/or arguments.
It's an interesting case, and I'll try to implement tmux's respawn, but it's still not a good idea to kill something by such an ambiguous pattern inside Procfile.

v1 worked with tmux in a completely different way.


doesn't work in firefox

hello,
it doesn't seem to work in Firefox...
I've tried it both on local, and on https://2dengine.com/play/skullbasher
I got a
Uncaught TypeError: indexedDB.databases is not a function
    consentDialog http://localhost/lovejs2/love.js/player.js:105
    onclick http://localhost/lovejs2/love.js/player.js:83

I have pushed a fix that allows the games to run in FireFox but there is a caveat:
the fonts are not rendered correctly on Ubuntu. The fonts seem to work fine in FireFox on Windows.

thank you!


Bump go-dqlite to v1.5.0

I have no hard evidence, but anecdotally some testing that I have done suggests that v1.4.1 has a few fixes that might help with https://github.com/canonical/dqlite/issues/190 and improve stability in general, especially for the kind of workload k8s produces.
EDIT: since v1.5.0 has been released, I've updated this PR to use v1.5.0 instead of v1.4.1. It shouldn't make any difference for kine, but just to have the latest.

@ibuildthecloud hey! could we get this merged and bumped in k3s so that https://github.com/rancher/k3s/issues/1639 can be solved (maybe)?
thank you
awesome work @freeekanayaka and @ibuildthecloud & rancher teams, love k3s and dqlite.

@freeekanayaka still getting segfaults and panics in a multi master HA of k3s with dqlite 1.4.1 : https://github.com/rancher/k3s/issues/1639#issuecomment-614172623

@freeekanayaka still getting segfaults and panics in a multi master HA of k3s with dqlite 1.4.1 : rancher/k3s#1639 (comment)

The go-dqlite 1.4.1 release won't be enough. You need to use the latest master commits in canonical/dqlite and canonical/raft C libraries.
Have you built them too?

@freeekanayaka still getting segfaults and panics in a multi master HA of k3s with dqlite 1.4.1 : rancher/k3s#1639 (comment)

The go-dqlite 1.4.1 release won't be enough. You need to use the latest master commits in canonical/dqlite and canonical/raft C libraries.
Have you built them too?

Seems I had not, I had only replaced go-dqlite in go.mod and thought it would get the rest of dependencies on its own. I dug into the build system of k3s and it's a bit odd but it should be good now! In Dockerfile.dapper there's a line that gets a Docker image in which there's raft/dqlite sources. And that Docker image is built from a git repo with a version that has to be specified as well.

@freeekanayaka still getting segfaults and panics in a multi master HA of k3s with dqlite 1.4.1 : rancher/k3s#1639 (comment)

The go-dqlite 1.4.1 release won't be enough. You need to use the latest master commits in canonical/dqlite and canonical/raft C libraries.
Have you built them too?

Seems I had not, I had only replaced go-dqlite in go.mod and thought it would get the rest of dependencies on its own. I dug into the build system of k3s and it's a bit odd but it should be good now! In Dockerfile.dapper there's a line that gets a Docker image in which there's raft/dqlite sources. And that Docker image is built from a git repo with a version that has to be specified as well.

I didn't cut a release yet, so there's currently no version tag. If using a commit hash (the one from HEAD master) does not work, please let me know and I'll do a release, since it's also about time.

I didn't cut a release yet, so there's currently no version tag. If using a commit hash (the one from HEAD master) does not work, please let me know and I'll do a release, since it's also about time.

For sake of clarity I went on and cut 3 releases: go-dqlite v1.5.0, dqlite v1.4.1 and raft v0.9.18. Those should be the ones to test.
Note that for kine go-dqlite v1.5.0 is basically the same as v1.4.1, there are just more helpers added which are not used by kine. On the other hand dqlite v1.4.1 and raft v0.9.18 do have fixes that should be relevant for kine.

@freeekanayaka Could do just what you said, observing stability now! Thanks.

@freeekanayaka been running for 8 hours now with several services installed on top of the cluster, no issues in particular that come from dqlite I believe. Though I had some issues, but I don't think they're about dqlite.

@freeekanayaka been running for 8 hours now with several services installed on top of the cluster, no issues in particular that come from dqlite I believe. Though I had some issues, but I don't think they're about dqlite.

Great!  How many k3s nodes? And ideally provide me with the exact yaml to reproduce your deployment (with kubectl apply -f).
I have seen "panic: runtime error: index out of range" myself too at the beginning, but not anymore with the latest fixes.

@leolb-aphp can you provide more details about your setup? How many k3s nodes? And ideally provide me with the exact yaml to reproduce your deployment (with kubectl apply -f).
I have seen "panic: runtime error: index out of range" myself too at the beginning, but not anymore with the latest fixes.

I have 3 masters and deployments are various, JupyterHub k8s 0.9 beta.4, Longhorn 0.8, Rancher 2.4.2 (with built in monitoring enabled), Harbor 1.3.2, all from Helm.
Default configuration for everything besides JupyterHub that gets:
proxy:
  secretToken: "changeme"
  service:
    type: ClusterIP

ingress:
  enabled: true
  hosts:
    - jhub-k8s.changeme.lan

singleuser:
  image:
    name: jupyter/minimal-notebook
    tag: 2343e33dec46
  profileList:
    - display_name: "Minimal environment"
      description: "To avoid too much bells and whistles: Python."
      default: true
    - display_name: "Datascience environment"
      description: "If you want the additional bells and whistles: Python, R, and Julia."
      kubespawner_override:
        image: jupyter/datascience-notebook:2343e33dec46
  defaultUrl: "/lab"

hub:
  service:
    type: ClusterIP
  extraConfig:
    jupyterlab: |
      c.Spawner.cmd = ['jupyter-labhub']

auth:
  type: dummy
  dummy:
    password: 'changeme'
  whitelist:
    users:
      - admin
  admin:
    access: true
    users:
      - admin

@freeekanayaka Also I'm thinking this could be the cause, I used go-dqlite 1.4.1 because 1.5.0 did not build:
Note: checking out 'v1.5.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 1c6b000 Merge pull request #88 from freeekanayaka/cli-shell
patching file internal/bindings/build.go
app/options.go:10:2: cannot find package "github.com/lxc/lxd/shared" in any of:
	/usr/local/go/src/github.com/lxc/lxd/shared (from $GOROOT)
	/go/src/github.com/lxc/lxd/shared (from $GOPATH)
cmd/dqlite-demo/dqlite-demo.go:17:2: cannot find package "golang.org/x/sys/unix" in any of:
	/usr/local/go/src/golang.org/x/sys/unix (from $GOROOT)
	/go/src/golang.org/x/sys/unix (from $GOPATH)
The command '/bin/sh -c go get -d github.com/canonical/go-dqlite &&     cd /go/src/github.com/canonical/go-dqlite &&     git checkout $GO_DQLITE_VER &&     ls /patch/go-dqlite-* | xargs -r -n1 patch -p1 -i &&     go install         -tags libsqlite3         -ldflags "-w -s -extldflags '-static'"         ./cmd/dqlite-demo' returned a non-zero code: 1

Here's my build process:
Clone and cd into: https://github.com/leolb-aphp/dqlite-build branch master
Run: docker build --build-arg http_proxy=$http_proxy -t leolb-aphp/dqlite-build:v1.4.1-r0 .
(or sort it out if you arent behind a corporate proxy)
Clone and cd into: https://github.com/leolb-aphp/k3s.git branch release-1.17
Run: curl -sL https://releases.rancher.com/dapper/v0.4.2/dapper-uname -s-uname -m > .dapper.tmp (workaround because things did not work using the Makefile.. it's probably my corporate proxy but I hardcoded modifications in my branch so you still need to do this)
(You need to be part of the "docker" group so you can use the docker socket, or install podman-docker if it works)
Run: make ci

I'm thinking maybe it is due to docker build cache now, re-trying.

I'm thinking maybe it is due to docker build cache now, re-trying.

Sorry, the build error is a mistake on my part. I've pushed a branch to fix it. Will release v1.5.1 shortly.
In any case, for k8s 1.5.0 and 1.5.1 should be exactly like v1.4.1.

@leolb-aphp fyi I just pushed the v1.5.1 tag, so your build should work now.

@freeekanayaka Cool! Thanks a lot. By the way, the cluster got back on its feets on its own with automatic service restart and Kubernetes mechanisms of resilience. Interesting!

@leolb-aphp fyi I just pushed the v1.5.1 tag, so your build should work now.

Still getting:
cmd/dqlite-demo/dqlite-demo.go:17:2: cannot find package "golang.org/x/sys/unix" in any of:
	/usr/local/go/src/golang.org/x/sys/unix (from $GOROOT)
	/go/src/golang.org/x/sys/unix (from $GOPATH)

Is it on my side now?

I'm thinking the panic may be facilitated by lossy/bad networking conditions

Got these:
avril 17 20:38:55 hostname k3s[24725]: time="2020-04-17T20:38:55.337341755+02:00" level=info msg="Tunnel endpoint watch event: [<IP_ADDRESS>:6443 <IP_ADDRESS>:6443]"
avril 17 20:38:55 hostname k3s[24725]: time="2020-04-17T20:38:55.337429169+02:00" level=info msg="Stopped tunnel to <IP_ADDRESS>:6443"
avril 17 20:38:55 hostname k3s[24725]: I0417 20:38:55.345994   24725 trace.go:116] Trace[954913950]: "GuaranteedUpdate etcd3" type:*core.Pod (started: 2020-04-17 20:38:53.66255931 +0200 CEST m=+27.598005983) (total time: 1.683391798s):
avril 17 20:38:55 hostname k3s[24725]: Trace[954913950]: [1.6831782s] [1.681723168s] Transaction committed
avril 17 20:38:55 hostname k3s[24725]: I0417 20:38:55.346320   24725 trace.go:116] Trace[636473417]: "Patch" url:/api/v1/namespaces/harbor/pods/harbor-harbor-redis-0/status,user-agent:k3s/v1.17.4+k3s (linux/amd64) kubernetes/507cc82,client:<IP_ADDRESS> (started: 2020-04-17 20:38:53.662434276 +0200 CEST m=+27.597880949) (total time: 1.68383904s):
avril 17 20:38:55 hostname k3s[24725]: Trace[636473417]: [1.683625347s] [1.682370846s] Object stored in database
avril 17 20:38:55 hostname k3s[24725]: I0417 20:38:55.377765   24725 trace.go:116] Trace[1983668907]: "Get" url:/api/v1/namespaces/kube-system/endpoints/kube-controller-manager,user-agent:k3s/v1.17.4+k3s (linux/amd64) kubernetes/507cc82/leader-election,client:<IP_ADDRESS> (started: 2020-04-17 20:38:53.753661212 +0200 CEST m=+27.689107911) (total time: 1.624003934s):
avril 17 20:38:55 hostname k3s[24725]: Trace[1983668907]: [1.623909824s] [1.623874019s] About to write a response
avril 17 20:38:55 hostname k3s[24725]: I0417 20:38:55.398573   24725 trace.go:116] Trace[11400181]: "GuaranteedUpdate etcd3" type:*core.Event (started: 2020-04-17 20:38:53.71447337 +0200 CEST m=+27.649920048) (total time: 1.684041642s):
avril 17 20:38:55 hostname k3s[24725]: Trace[11400181]: [1.606173362s] [1.606173362s] initial value restored
avril 17 20:38:55 hostname k3s[24725]: I0417 20:38:55.398794   24725 trace.go:116] Trace[1752954359]: "Patch" url:/api/v1/namespaces/harbor/events/harbor-harbor-redis-0.1606af5bd1b6f72d,user-agent:k3s/v1.17.4+k3s (linux/amd64) kubernetes/507cc82,client:<IP_ADDRESS> (started: 2020-04-17 20:38:53.714377778 +0200 CEST m=+27.649824452) (total time: 1.68437132s):
avril 17 20:38:55 hostname k3s[24725]: Trace[1752954359]: [1.606272417s] [1.606233835s] About to apply patch
avril 17 20:38:56 hostname systemd[1]: k3s.service: main process exited, code=killed, status=11/SEGV
avril 17 20:38:56 hostname systemd[1]: Unit k3s.service entered failed state.
avril 17 20:38:56 hostname systemd[1]: k3s.service failed.
avril 17 20:39:01 hostname systemd[1]: k3s.service holdoff time over, scheduling restart.

So the first node, the one that is used as cluster init (presumably k3s handles multi master in a bad way by making later joined nodes connect to the first connected node, which makes the whole cluster probably resilient to the cluster init node I think?).
The cluster init node gets panics some times and the rest of nodes get segfaults, not at the same time but that's the behavior.

Please see my case in https://github.com/rancher/k3s/issues/1633. I have the same thoughts about HA...

Please see my case in rancher/k3s#1633. I have the same thoughts about HA...

@SteelCrow as far as I could observe myself, the latest version of the dqlite dependencies have fixed most of the issues.
I'd suggest for the k3s team to make a new build with those dependencies upgraded (or do it yourself) and then retry.

@leolb-aphp fyi I just pushed the v1.5.1 tag, so your build should work now.

Still getting:
cmd/dqlite-demo/dqlite-demo.go:17:2: cannot find package "golang.org/x/sys/unix" in any of:
	/usr/local/go/src/golang.org/x/sys/unix (from $GOROOT)
	/go/src/golang.org/x/sys/unix (from $GOPATH)

Is it on my side now?

Yes, this is a bit on "your" side. It's a new dependency and so the go.mod configuration of k3s needs to be upgraded.
So for some reason you haven't tested v1.4.1 or v1.5.0, but v1.4.0 or lower.

Please see my case in rancher/k3s#1633. I have the same thoughts about HA...

@SteelCrow as far as I could observe myself, the latest version of the dqlite dependencies have fixed most of the issues.
I'd suggest for the k3s team to make a new build with those dependencies upgraded (or do it yourself) and then retry.

So for some reason you haven't tested v1.4.1 or v1.5.0, but v1.4.0 or lower.

I think it’s a problem with direct dependency in k3s build, so you need to update it there too. When I first compiled it, I occasionally missed it.

@ibuildthecloud any plan at upgrading go-dqlite, libdqlite and raft in k3s?

I think it’s a problem with direct dependency in k3s build, so you need to update it there too. When I first compiled it, I occasionally missed it.

I did everything of that, I posted my build process here: https://github.com/rancher/kine/pull/29#issuecomment-615360370

I think it’s a problem with direct dependency in k3s build, so you need to update it there too. When I first compiled it, I occasionally missed it.

I did everything of that, I posted my build process here: #29 (comment)
The other issue is that some times k3s doesnt build statically, for some reason

I'm not familiar with k3s build process. But again, the traceback you pasted does come from go-dqlite v1.4.0 or earlier. Not sure about the version of the libdqlite and libraft shared libraries, but you need to make sure those are up-to-date too.
Too bad that the k3s devs seem unresponsive.

sorry we haven't been answering @freeekanayaka, please feel free to ping myself or @cjellick in the future, in github or slack.
if we can update the pr to use 1.5.1 hopefully that is good enough to move forward (& might help to have pr for dqlite-build)
thanks for testing @leolb-aphp, probably want to make sure you go mod vendor the kine change using the same go minor version used for the build. if using the Makefile (& Docker.dapper) it will set environment variables to ensure k3s & parts are compiled statically, if calling the scripts directly the proper environment for static compiling may not be set.

sorry we haven't been answering @freeekanayaka, please feel free to ping myself or @cjellick in the future, in github or slack.
if we can update the pr to use 1.5.1 hopefully that is good enough to move forward (& might help to have pr for dqlite-build)

As mentioned in this PR's description, I've changed the branch to use go-dqlite 1.5.0, so everything should be ready for merging.
On top of this change, you'll have to make sure you also update the dqlite and raft C libraries in the k3s build process (dqlite v1.4.1 and raft v0.9.18).

thanks, is there a reason for not going to go-dqlite 1.5.1?

thanks, is there a reason for not going to go-dqlite 1.5.1?

Ugh, no reason. Sorry, I updated this PR to point to 1.5.1 now, not 1.5.0.

Thanks @freeekanayaka!

Thanks a lot! I deployed a v1.17.5-rc2+k3s1 cluster we'll see how this goes!!

@freeekanayaka @erikwilson
For your information, no stability issues since then!


Fix issues in XMILE and Vensim parsers

Various changes and fixes for improve supporting of XMILE specification and fix some small errors in general.
Added

Implement dt node as optional. If that is not provided, engine use a default value - "1" (by specification)
Implement support of reciprocal attribute in dt node as optional (Default: "false"). If this attribute sets to "true" value then dt recognized as fractional number. Fix issue #178
Implement support of lookup functions in XMILE with full specification coverage. Fix issues #155 and #38

Inline lookups
Independent lookup nodes
Multiple lookup types by type= attribute: continuous, extrapolation, discrete (Default: continuous)
Possibility to use another value separator by optional sep= attribute in xpts and ypts (Default: ,)
Possibility to use xscale with min= and max= attributes instead xpts values list

Changed

Fix issue #177. Don't add aliases columns to the same elements of model
Fix issue #24 and #174. Implement support to use single quote and dollar signs in vensim variable names (https://www.vensim.com/documentation/index.html?ref_variable_names.htm)
Fix issue #180. Correct loading for vensim models

Requirements

This pull request with test models should be merged https://github.com/SDXorg/test-models/pull/46

Regards, Alexey Mulyukin.
Lead core developer of sdCloud.io development team

Coverage increased (+0.2%) to 90.871% when pulling 224b9e375e9a7335c351ab3a962d5fefa89b81e0 on alexprey:master into 1c22343c008136de0b8a5272daf011d27d1b68b9 on JamesPHoughton:master.

@JamesPHoughton I'm done with this changes, so you can merge that ;)

@JamesPHoughton can you look it again and merge this PR if all is OK?

Thanks! Sorry I missed your earlier note.

Just put 0.9 on PyPI, would you mind testing install via pip for me to check I’ve got it right?
James

On Jun 20, 2018, at 9:09 AM, alexprey<EMAIL_ADDRESS>wrote:
@JamesPHoughton https://github.com/JamesPHoughton can you look it again and merge this PR if all is OK?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/JamesPHoughton/pysd/pull/181#issuecomment-398742542, or mute the thread https://github.com/notifications/unsubscribe-auth/AEGuXn3M7Unl4MMEU6OmBipB7N4fR99cks5t-kmVgaJpZM4UVPVO.

@JamesPHoughton Thanks for updating library! This works fine from pip, but we got a new issue for python 2.7 - #186


XEP-0085: Chat State Notifications

Is this extension implement in ChatSecure Android project ? ( Display the status of user that he/she is typing or etc) ? if no how we can implement it ?
i hope i explain my mind correctly :)

If not it ought be combined with Real Time Xmpp Texting
In-Band Real Time Text
http://xmpp.org/extensions/xep-0301.html


Create GraphQL API in Scala

Key objective:
As FE rewrite work defines the GraphQL schema required for the webapp in React, plan and execute creating of a long-term production-quality GraphQL API to serve backend data from Elasticsearch and to be written in Scala

Review of a draft schema for TPP is currently scheduled for review at end Jun 2019.

BE work anticipated to commence in September timeframe.

The platform-api is the GraphQL API that the front end team has maintained while developing the new web app. This API was never in production.
Recently, the BE team has picked on it and started developing in Scala what it will be our future API. This project is contained in platform-api-beta. As you can see it's still early on the development of this API but you can expect a lot of activity in the next 2-3 months. It will eventually replace our production API.
Sorry about the confusion. We expanded the description of the repos to prevent future misunderstandings.

Thanks for the clarification! It's nice to see both OT P and OT G using Sangria for the GraphQL server.

@d0choa it's a sensitive topic but given that the creator and primary developer of Sangria passed away recently and the remaining development team has had a hard time obtaining control of the repo, has there been any discussion of moving to an alternative server side library like graphene?

We are quite happy with how Sangria works at the moment and the fact that we can consistently use it in the OT P and OT G is definitely a plus. We are keen to try to use Scala in a good part of our post-pipeline steps and Sangria is fitting well in that setup. We'll look closely what happens in the next weeks/months and whether it makes sense to redirect our efforts in the future. We have the impression there is enough interest to keep the project alive, but it's hard to know at this point

Issue pushed to 20.02 release

Ticket closed as GraphQL API deployed as part of Alpha release. Further iterations to GraphQL API may be made as we begin to process and expose the associations and evidence data.


resource: snowflake_file_format : Error: Only one of Rename or Set can be set at once. - on provider upgrade without snowflake_file_format resource change

Provider Version
0.68.1
Terraform Version
1.5.2
Describe the bug
Redeploying a stack with snowflake_file_format, upgrading the snowflake terraform provider from a previous version (0.67.0)
The following error is received on terraform apply (plan is ok) with no changes to the snowflake_file_format resource.
╷
│ Error: Only one of Rename or Set can be set at once.
│
│   with module.snowflake_table.snowflake_file_format.firehose_no_ext_json,
│   on s3_to_snowflake_pi/snowflake.tf line 101, in resource "snowflake_file_format" "firehose_no_ext_json":
│  101: resource "snowflake_file_format" "firehose_no_ext_json" {
│
╵
Expected behavior
successful apply with no error
Code samples and commands
resource "snowflake_file_format" "firehose_no_ext_json" {
name                       = "FIREHOSE_NO_EXT_JSON"
database                   = data.snowflake_database.sf_env_db.name
schema                     = snowflake_schema.schema.name
format_type                = "JSON"
file_extension             = ""
binary_format              = "HEX"
trim_space                 = false
null_if                    = ["\N"]
enable_octal               = false
allow_duplicate            = false
strip_outer_array          = false
strip_null_values          = false
replace_invalid_characters = false
ignore_utf8_errors         = false
skip_byte_order_mark       = true
}
PLEASE NOTE null_if  has not been changed since last run.
Output from plan:
module.snowflake_table.snowflake_file_format.firehose_no_ext_json will be updated in-place
~ resource "snowflake_file_format" "firehose_no_ext_json" {
id                             = "WAIO_DATA_UAT|RAW_WAIO_ENT_PI_SYSTEM_STREAMING|FIREHOSE_NO_EXT_JSON"
name                           = "FIREHOSE_NO_EXT_JSON"
~ null_if                        = [
- "N",
+ "\N",
]
# (25 unchanged attributes hidden)
}
Please add code examples and commands that were run to cause the problem.
Add any other context about the problem here.
This has only occured since upgrading from 0.67 to 0.68.1

We are seeing the same issue with an older version of Terraform (1.2.4) and a newer version of Snowflake (v0.69.0).
Is there any update on this issue? This is affecting a production rollout that was working on a previous version.

I'm still seeing this on version 0.70.0

A work around I found is to replace the file_format to allow it to update to a newer version. From Terraform Docs
terraform apply -replace="aws_instance.example"

I'm seeing this on v0.74.0, even when changing the comment on a snowflake_file_format

Hey @csbain. Thanks for reporting the issue.
It seems that v0.68.0 has introduced a regression in file format resource behavior. The fix should be easy, I will handle this change this week.

We are still seeing this issue when using a Parquet File Format.  We are not able to set the replace_invalid_characters option.

Hey @cekelly, please create another ticket for this case.


make the @yamada-ui/breadcrumb component headless

Closes #1853
Description

make the breadcrumb component headless
Current behavior (updates)

New behavior

Is this a breaking change (Yes/No):

No
Additional Information

LGTM!

Thanks!


[resolves #758] Provide SAP connector module by default

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/531/
Test PASSed.


Add getCursorPosition / setCursorPosition methods

Sometimes there is need to know or set the current cursor position. E.g. we may want to set it to be at the beginning or at the end. We may have formatted input and fluent input require to put cursor in certain place.
Note, these method do exist in Vaadin 8 https://vaadin.com/api/framework/8.9.4/com/vaadin/ui/AbstractTextField.html#setCursorPosition-int-

Any update or workaround to this?


App Usage Guide

The whole app is missing user documentation guid, usage examples, and information for every step

documentation, guide, example !!
do you mean help tooltip?
@khaledboka


Swift 3

Migrated to Swift 3

to be able to handle nil value in Swift types, switched to JSONSerialization
explicitly create NSNull in toDictionary for nil optional values
use Any instead of AnyObject

Thanks for your work here! I'll pull this in shortly.

Any news on when this will get merged?

+1 . Any news on this @nickoneill  ?

Thanks for waiting friends, this is in master / 0.3 now


Newer revisions use LSM303AGR instead of LSM303DLHC

Newer revisions of the discovery board use the LSM303AGR instead of the LSM303DLHC. The I2C address of the LSM303AGR chip is still the same but the registers to read are different. This makes it very confusing, as the code doesn't end up panicking, only returning zeros or garbage data.

Thanks for noticing. I have a WIP driver for the LSM303AGR so you can at least play around with that.
It is actually the same accelerometer as the micro:bit board has, for which this book is being rewritten for (a deprecation/removal of the current book version is still uncertain since the F3 disco board seems available for purchase again)

That's great news! Even with the discrepancies the book has, I found this book extremely helpful with dipping my toes into the embedded rust world, and updating the book will help countless more people.

Additionally, to make the LSM303AGR works like in the section 14.5 of the discovery book, you have to change its system mode from default idle to continuous mode by modifying the first two bits of the register CFG_REG_A_M via the I2C as well. Otherwise, your (x, y, z) value would probably stuck at some values! Hope this help someone.

This is for anyone working through the book and you're stuck at the I2C section because the returned value from the IRA_REG_M register is 0.
Here is the link for the LSM303AGR data sheet. As noted above, newer board revisions use this IC instead of the LSM303DLHC.
For a quick test the WHO_AM_I_M register (address 0x4F) of the magnetometer can be used to quickly query the device via I2C.
If successfully you should see 64 or 0b01000000
So the code from the book becomes:
const MAGNETOMETER: u8 = 0b001_1110;
// Addresses of the magnetometer's registers.
const WHO_AM_I_M: u8 = 0x4F;

#[entry]
fn main() -> ! {
    let (i2c1, _delay, mut itm) = aux14::init();

    // Stage 1: Send the address of the register we want to read to the
    // magnetometer
    {
        // Broadcast START
        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
        i2c1.cr2.write(|w| {
            w.start().set_bit();
            w.sadd1().bits(MAGNETOMETER);
            w.rd_wrn().clear_bit();
            w.nbytes().bits(1);
            w.autoend().clear_bit()
        });

        // Wait until we can send more data
        while i2c1.isr.read().txis().bit_is_clear() {}

        // Send the address of the register that we want to read: WHO_AM_I_M
        i2c1.txdr.write(|w| w.txdata().bits(WHO_AM_I_M));

        // Wait until the previous byte has been transmitted
        while i2c1.isr.read().tc().bit_is_clear() {}
    }

    // Stage 2: Receive the contents of the register we asked for
    let byte = {
        // Broadcast RESTART
        // Broadcast the MAGNETOMETER address with the R/W bit set to Read.
        i2c1.cr2.modify(|_, w| {
            w.start().set_bit();
            w.nbytes().bits(1);
            w.rd_wrn().set_bit();
            w.autoend().set_bit()
        });

        // Wait until we have received the contents of the register
        while i2c1.isr.read().rxne().bit_is_clear() {}

        // Broadcast STOP (automatic because of `AUTOEND = 1`)

        i2c1.rxdr.read().rxdata().bits()
    };

    // Expected output:  0b01000000(64)
    iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", WHO_AM_I_M, byte);

    loop {}
}

Until there is a rewrite, is it possible to flag this divergence (more?) prominently in the book?
Akin to how the missing solder bridge is nice and big and hard to miss (which I still managed to miss on first read).

@waalge Sure thing. We would be glad about PRs doing that.

Happy to do more with instruction/ pointers.
When does the book get rebuilt so that changes appear?

The one hosted at https://rust-embedded.github.io/discovery should be rebuilt shortly after each PR merge. The one hosted at https://docs.rust-embedded.org/discovery is a bit outdated because our CI for it is currently broken. We recently had some discussion about solving this and only publishing one version.

Thank god for this.. was also a bit stumped - learning Rust so wasn't sure if the error was in my code.

Also note that the code to convert from the 6 register readings to 3 x i16 have the LSB/MSB order mixed up it should be LSB first :
    let x_l = u16::from(buf[0]);
    let x_h = u16::from(buf[1]);
    let z_l = u16::from(buf[2]);
    let z_h = u16::from(buf[3]);
    let y_l = u16::from(buf[4]);
    let y_h = u16::from(buf[5]);

    let x = ((x_h << 8) + x_l) as i16;
    let y = ((y_h << 8) + y_l) as i16;
    let z = ((z_h << 8) + z_l) as i16;

@folknology thanks!
p. 45 of AGR datasheet

I'm seeing that the registers are in order x, then y, then z. This is giving me the results I'm getting from using the lsm303agr crate in ch 15.

Hi, I suspect that I have a board with LSM303AGR. I copy-pasted the 14.4 solution and am still getting panics in itmdump, and it is related to Lsm303dlhc::new (error message below).
panicked at 'called `Result::unwrap()` on an `Err` value: Arbitration', src/14-i2c/auxiliary/src/lib.rs:37:26

The book points to this thread but there don't seem to be any solutions to this problem here. What should be modified? Looking at the lsm303agr crate it looks like there will need to be pretty big changes? Sorry, I have no experience with embedded programming so I am pretty clueless. Thanks.

In the latest version the magnetometer data can be obtained correctly using the following code.
#![deny(unsafe_code)]
#![no_main]
#![no_std]

use aux14::i2c1::RegisterBlock;
#[allow(unused_imports)]
use aux14::{entry, iprint, iprintln, prelude::*};

// Slave address
const MAGNETOMETER: u16 = 0b0011_1100;

// Addresses of the magnetometer's registers
const WHO_AM_I_M: u8 = 0x4F;

const CFG_REG_A_M: u8 = 0x60;
const OUTX_L_REG_M: u8 = 0x068;

#[entry]
fn main() -> ! {
    let (i2c1, mut delay, mut itm) = aux14::init();

    let cfg_reg_a_m_byte: u8 = set_mode_continuous__LSM303AGR(i2c1);
    // Expected output:  0x60 - 0b00000000
    iprintln!(
        &mut itm.stim[0],
        "0x{:02X} - 0b{:08b}",
        CFG_REG_A_M,
        cfg_reg_a_m_byte
    );

    let whoami: u8 = who_am_i__LSM303AGR(i2c1);
    // Expected output:  0x4F - 0b01000000
    iprintln!(&mut itm.stim[0], "0x{:02X} - 0b{:08b}", WHO_AM_I_M, whoami);

    loop {
        // ask for an array of 6 register values starting at OUTX_L_REG_M (0x68)
        {
            // Broadcast START
            // Broadcast the MAGNETOMETER address with the R/W bit set to Write
            i2c1.cr2.write(|w| {
                w.start().set_bit();
                w.sadd().bits(MAGNETOMETER);
                w.rd_wrn().clear_bit();
                w.nbytes().bits(1);
                w.autoend().clear_bit()
            });

            // Wait until we can send more data
            while i2c1.isr.read().txis().bit_is_clear() {}

            // Send the address of the register that we want to read: WHO_AM_I_M
            i2c1.txdr.write(|w| w.txdata().bits(OUTX_L_REG_M));

            // Wait until the previous byte has been transmitted
            while i2c1.isr.read().tc().bit_is_clear() {}
        }

        i2c1.cr2.modify(|_, w| {
            w.start().set_bit();
            w.nbytes().bits(6);
            w.rd_wrn().set_bit();
            w.autoend().set_bit()
        });

        let mut buffer = [0u8; 6];
        for byte in &mut buffer {
            // Wait until we have received something
            while i2c1.isr.read().rxne().bit_is_clear() {}

            *byte = i2c1.rxdr.read().rxdata().bits();
        }
        // Broadcast STOP (automatic because of `AUTOEND = 1`)

        iprintln!(&mut itm.stim[0], "{:?}", buffer);

        let x_l = u16::from(buffer[0]);
        let x_h = u16::from(buffer[1]);
        let y_l = u16::from(buffer[2]);
        let y_h = u16::from(buffer[3]);
        let z_l = u16::from(buffer[4]);
        let z_h = u16::from(buffer[5]);

        let x = ((x_h << 8) + x_l) as i16;
        let y = ((y_h << 8) + y_l) as i16;
        let z = ((z_h << 8) + z_l) as i16;

        iprintln!(&mut itm.stim[0], "{:?}", (x, y, z));

        delay.delay_ms(1_000_u16);
    }
}

fn who_am_i__LSM303AGR(i2c1: &RegisterBlock) -> u8 {
    // Stage 1: Send the address of the register we want to read to the
    // magnetometer
    {
        // Broadcast START
        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
        i2c1.cr2.write(|w| {
            w.start().set_bit();
            w.sadd().bits(MAGNETOMETER);
            w.rd_wrn().clear_bit();
            w.nbytes().bits(1);
            w.autoend().clear_bit()
        });

        // Wait until we can send more data
        while i2c1.isr.read().txis().bit_is_clear() {}

        // Send the address of the register that we want to read: WHO_AM_I_M
        i2c1.txdr.write(|w| w.txdata().bits(WHO_AM_I_M));

        // Wait until the previous byte has been transmitted
        while i2c1.isr.read().tc().bit_is_clear() {}
    }

    // Stage 2: Receive the contents of the register we asked for
    let byte = {
        // Broadcast RESTART
        // Broadcast the MAGNETOMETER address with the R/W bit set to Read.
        i2c1.cr2.modify(|_, w| {
            w.start().set_bit();
            w.nbytes().bits(1);
            w.rd_wrn().set_bit();
            w.autoend().set_bit()
        });

        // Wait until we have received the contents of the register
        while i2c1.isr.read().rxne().bit_is_clear() {}

        // Broadcast STOP (automatic because of `AUTOEND = 1`)

        i2c1.rxdr.read().rxdata().bits()
    };

    byte
}

fn set_mode_continuous__LSM303AGR(i2c1: &RegisterBlock) -> (u8) {
    {
        // Broadcast START
        // Broadcast the MAGNETOMETER address with the R/W bit set to Write
        i2c1.cr2.write(|w| {
            w.start().set_bit();
            w.sadd().bits(MAGNETOMETER);
            w.rd_wrn().clear_bit();
            w.nbytes().bits(2);
            w.autoend().clear_bit()
        });

        // Wait until we can send more data
        while i2c1.isr.read().txis().bit_is_clear() {}

        // Send the address of the register that we want to read: WHO_AM_I_M
        i2c1.txdr.write(|w| w.txdata().bits(CFG_REG_A_M));
        i2c1.txdr.write(|w| w.txdata().bits(0x0));

        // Wait until the previous byte has been transmitted
        while i2c1.isr.read().tc().bit_is_clear() {}
    }

    let cfg_reg_a_m_byte = {
        // Broadcast RESTART
        // Broadcast the MAGNETOMETER address with the R/W bit set to Read.
        i2c1.cr2.modify(|_, w| {
            w.start().set_bit();
            w.nbytes().bits(1);
            w.rd_wrn().set_bit();
            w.autoend().set_bit()
        });

        // Wait until we have received the contents of the register
        while i2c1.isr.read().rxne().bit_is_clear() {}

        // Broadcast STOP (automatic because of `AUTOEND = 1`)

        i2c1.rxdr.read().rxdata().bits()
    };

    cfg_reg_a_m_byte
}

@al-jshen Just another datapoint: I had the same problem that you describe, but for me it was fixed simply by restarting everything (board & openocd). 🤷

@al-jshen Just another datapoint: I had the same problem that you describe, but for me it was fixed simply by restarting everything (board & openocd). 🤷


First attempt at adding server metrics to ES

Server metric reporting skeleton to put on more flesh in future.

Superseded by https://github.com/SURFscz/SCZ-deploy/pull/164


Straightforward typofix s/names/name

Should be name here as it is an instruction.

Proposed changes

Unreleased project version (optional)

Related issues (optional)

@ryanmaclean Thanks for the update. Unfortunately, we'll have to close this PR without merging the suggested update as the existing text is grammatically correct.


Vindstyrka Enviroment Sensor broken

with the newest version of this addon my enviroment sensor is broken
here the logs:
2024-04-11 21:05:34.571 ERROR (MainThread) [custom_components.dirigera_platform] error encountered running update on : Luftsensor
2024-04-11 21:05:34.571 ERROR (MainThread) [custom_components.dirigera_platform] 'ikea_vindstyrka_device' object has no attribute 'hass'
2024-04-11 21:05:34.571 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.luftsensor_temperature fails
Traceback (most recent call last):
  File "/config/custom_components/dirigera_platform/sensor.py", line 93, in async_update
    self._json_data = await self.hass.async_add_executor_job(self._hub.get_environment_sensor_by_id, self._json_data.id)
                            ^^^^^^^^^
AttributeError: 'ikea_vindstyrka_device' object has no attribute 'hass'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1268, in async_device_update
    await self.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 175, in async_update
    await self._ikea_env_device.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 100, in async_update
    raise HomeAssistantError(ex, DOMAIN, "hub_exception")
homeassistant.exceptions.HomeAssistantError: (AttributeError("'ikea_vindstyrka_device' object has no attribute 'hass'"), 'dirigera_platform', 'hub_exception')
2024-04-11 21:05:34.574 ERROR (MainThread) [custom_components.dirigera_platform] error encountered running update on : Luftsensor
2024-04-11 21:05:34.574 ERROR (MainThread) [custom_components.dirigera_platform] 'ikea_vindstyrka_device' object has no attribute 'hass'
2024-04-11 21:05:34.575 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.luftsensor_humidity fails
Traceback (most recent call last):
  File "/config/custom_components/dirigera_platform/sensor.py", line 93, in async_update
    self._json_data = await self.hass.async_add_executor_job(self._hub.get_environment_sensor_by_id, self._json_data.id)
                            ^^^^^^^^^
AttributeError: 'ikea_vindstyrka_device' object has no attribute 'hass'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1268, in async_device_update
    await self.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 175, in async_update
    await self._ikea_env_device.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 100, in async_update
    raise HomeAssistantError(ex, DOMAIN, "hub_exception")
homeassistant.exceptions.HomeAssistantError: (AttributeError("'ikea_vindstyrka_device' object has no attribute 'hass'"), 'dirigera_platform', 'hub_exception')
2024-04-11 21:05:34.576 ERROR (MainThread) [custom_components.dirigera_platform] error encountered running update on : Luftsensor
2024-04-11 21:05:34.576 ERROR (MainThread) [custom_components.dirigera_platform] 'ikea_vindstyrka_device' object has no attribute 'hass'
2024-04-11 21:05:34.576 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.luftsensor_current_pm2_5 fails
Traceback (most recent call last):
  File "/config/custom_components/dirigera_platform/sensor.py", line 93, in async_update
    self._json_data = await self.hass.async_add_executor_job(self._hub.get_environment_sensor_by_id, self._json_data.id)
                            ^^^^^^^^^
AttributeError: 'ikea_vindstyrka_device' object has no attribute 'hass'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1268, in async_device_update
    await self.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 175, in async_update
    await self._ikea_env_device.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 100, in async_update
    raise HomeAssistantError(ex, DOMAIN, "hub_exception")
homeassistant.exceptions.HomeAssistantError: (AttributeError("'ikea_vindstyrka_device' object has no attribute 'hass'"), 'dirigera_platform', 'hub_exception')
2024-04-11 21:05:34.578 ERROR (MainThread) [custom_components.dirigera_platform] error encountered running update on : Luftsensor
2024-04-11 21:05:34.578 ERROR (MainThread) [custom_components.dirigera_platform] 'ikea_vindstyrka_device' object has no attribute 'hass'
2024-04-11 21:05:34.578 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.luftsensor_max_measured_pm2_5 fails
Traceback (most recent call last):
  File "/config/custom_components/dirigera_platform/sensor.py", line 93, in async_update
    self._json_data = await self.hass.async_add_executor_job(self._hub.get_environment_sensor_by_id, self._json_data.id)
                            ^^^^^^^^^
AttributeError: 'ikea_vindstyrka_device' object has no attribute 'hass'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1268, in async_device_update
    await self.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 175, in async_update
    await self._ikea_env_device.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 100, in async_update
    raise HomeAssistantError(ex, DOMAIN, "hub_exception")
homeassistant.exceptions.HomeAssistantError: (AttributeError("'ikea_vindstyrka_device' object has no attribute 'hass'"), 'dirigera_platform', 'hub_exception')
2024-04-11 21:05:34.579 ERROR (MainThread) [custom_components.dirigera_platform] error encountered running update on : Luftsensor
2024-04-11 21:05:34.580 ERROR (MainThread) [custom_components.dirigera_platform] 'ikea_vindstyrka_device' object has no attribute 'hass'
2024-04-11 21:05:34.580 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.luftsensor_min_measured_pm2_5 fails
Traceback (most recent call last):
  File "/config/custom_components/dirigera_platform/sensor.py", line 93, in async_update
    self._json_data = await self.hass.async_add_executor_job(self._hub.get_environment_sensor_by_id, self._json_data.id)
                            ^^^^^^^^^
AttributeError: 'ikea_vindstyrka_device' object has no attribute 'hass'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1268, in async_device_update
    await self.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 175, in async_update
    await self._ikea_env_device.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 100, in async_update
    raise HomeAssistantError(ex, DOMAIN, "hub_exception")
homeassistant.exceptions.HomeAssistantError: (AttributeError("'ikea_vindstyrka_device' object has no attribute 'hass'"), 'dirigera_platform', 'hub_exception')
2024-04-11 21:05:34.581 ERROR (MainThread) [custom_components.dirigera_platform] error encountered running update on : Luftsensor
2024-04-11 21:05:34.581 ERROR (MainThread) [custom_components.dirigera_platform] 'ikea_vindstyrka_device' object has no attribute 'hass'
2024-04-11 21:05:34.581 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.luftsensor_voc_index fails
Traceback (most recent call last):
  File "/config/custom_components/dirigera_platform/sensor.py", line 93, in async_update
    self._json_data = await self.hass.async_add_executor_job(self._hub.get_environment_sensor_by_id, self._json_data.id)
                            ^^^^^^^^^
AttributeError: 'ikea_vindstyrka_device' object has no attribute 'hass'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1268, in async_device_update
    await self.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 175, in async_update
    await self._ikea_env_device.async_update()
  File "/config/custom_components/dirigera_platform/sensor.py", line 100, in async_update
    raise HomeAssistantError(ex, DOMAIN, "hub_exception")
homeassistant.exceptions.HomeAssistantError: (AttributeError("'ikea_vindstyrka_device' object has no attribute 'hass'"), 'dirigera_platform', 'hub_exception')

Hi,
I have 5 of those, and have no similar issue:

Just did an update on the integration as per @sanjoyg 's launch ...

mhhh weird. I just reinstalled the addon and suddenly it works.
Before that I tried restarting HA several times without success...

Nah, same thing, worked for like 1 minute and then same logs as above

I reloaded the integration after update (which need the restart anyway) ... that's it ... All devices work as they were ...

Still getting the issue?

yep, it gets the first values when initializing i guess and then the errors in logs occure. I have the same firmware as @vulcanoid1975. The device itself is okay, it works in Ikea Home Smart app

Let me check this

Just to confirm @acces90 report:

The sensors are not updating ...
@acces90 sorry my post was misleading, it seems the sensors only update after a reboot or reload of the integration.
Just reloaded the integration and:

This is fixed, there was a code bug. Was introduced during the async implementation

there are no errors in logs appearing and in the logs I see that it pulls the actual values of my sensors (both environment sensor and the pm25 from air purifier) but those values are not updated for the entities. I'm positive it's not my HA because my other non-IKEA sensors update their values.

I'll second that ...

It seems the changes in the sensor is not pushed to hub thus to the component. Reverted to local polling, should work now please let know

While you check this, could you also test the motion sensor if that works

Good Morning,
It seems to be working now:

Installed the update 10 mins ago, and sensors have updated with changes to environment conditions accordingly. Logs are clean, no errors.
I don't have motion sensors from Ikea, but I was going to buy one, I'll report back probably today.
Thank You @sanjoyg!

Perfect, please do let me know once you can check with motion sensor. Closing this for now.

Just for confirmation:

I had moved the Sensor in the Bathroom and Kitchen to ZigbeetoMQTT and maintained the Sensors in the Office and Bedroom on Dirigera ... updates are further in between but that's already what happened before ...
Again, Thank you!


Collect data icon in the "Get Coding" section is wrong

The icon in the "Get coding" section for the "Create Custom Events" should match the new icon.

This is fixed. closing


Failed to load ncursesw.so (linux)

Hello, got exception below trying to test it for the first time (os: linux, ubuntu).
Is there something obvious that I've missed?
Unhandled exception:
Invalid argument(s): Failed to load dynamic library 'libncursesw.so': /lib/x86_64-linux-gnu/libncursesw.so: file too short
#0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:43)
#1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:22:12)
#2      defaultLibrary.<anonymous closure> (package:ncurses/src/wrapper.dart:20:34)
#3      defaultLibrary (package:ncurses/src/wrapper.dart:22:2)
#4      defaultLibrary (package:ncurses/src/wrapper.dart)
#5      new Screen.<anonymous closure> (package:ncurses/src/wrapper.dart:797:19)
#6      wrap (package:ncurses/src/helpers.dart:17:20)
#7      new Screen (package:ncurses/src/wrapper.dart:794:17)

libncursesw6 is present in system and works

inspecting that a bit:
givent pkg-config -libs ncursesw says -lncursesw -ltinfo
and content of  /lib/x86_64-linux-gnu/libncursesw.so is INPUT(libncursesw.so.6 -ltinfo)
just for test a small correction is put in wrapper
--- a/lib/src/wrapper.dart
+++ b/lib/src/wrapper.dart
@@ -12,7 +12,7 @@ String get defaultLibraryPath {
   } else if (Platform.isMacOS) {
     return 'libncursesw.dylib';
   } else {
-    return 'libncursesw.so';
+    return 'libncursesw.so.6';
   }
 }

with this correction it works, just don't know howto fix it properly in a dart way of libs' loading

Hi,
The content of your libncursesw.so file is a linker instruction for people statically linking ncurses with -lncurses. It does not work with the runtime dynamic library loader.
I had this exact issue during development - my libncurses.so redirects to INPUT(-lncursesw), which is the the library uses libncursesw instead of libncurses. You'll have to fix/change your installation of ncurses so that libncursesw.so is a symlink to libncursesw.so.6, which is how it is on my system: ```bash
$ file /usr/lib/libncursesw.so
/usr/lib/libncursesw.so: symbolic link to libncursesw.so.6

Changing the dependency to be specifically version 6 isn't great as it breaks the package for anyone not using ncurses 6 even if the API is compatible.

You'll have to fix/change your installation of ncurses so that libncursesw.so is a symlink to libncursesw.so.6

and that's exactly a problem, because it's not "my" installation, it's a distribution default (libncurses-dev: /usr/lib/x86_64-linux-gnu/libncursesw.so), so that asking all other people to make changes in their systems, I'd consider as a good solution

Very sorry about the late reply, GitHub apparently didn't save the reply I wrote a few days ago...
The best way to resolve this would be for you to get in touch with the distro maintainers to find out why ncurses is set up this way and figure out the correct way to handle it on our end. I can provide a bit of help in implementing anything on our end.
Alternatively, I would also accept a PR which changes the code to first try and load libncursesw.so and then only if that fails try and load libncursesw.so.6.

Hi,

The best way to resolve this would be for you to get in touch with the distro maintainers to find out why ncurses is set up this way

I don't think so, maybe all linux distributions with gnu ld linker use ld scripting when it needs (that scripting is its own way and that is noted in documentation, for example gnu ld(1) says If the linker cannot recognize the format of an object file, it will assume that it is a linker script).
Returning to the dart lib loading, by idea for dynamic loading you need to use 'so.N' shared objs, otherwise if it tries to load '.so' then it needs to do it properly.  But in dart guides (for example here https://dart.dev/guides/libraries/c-interop) there's a loading of '.so' file without notes about possible scripting there, it's a bit questionable.  I've asked it on https://github.com/dart-lang/samples/issues/185, no replies yet.

the code to first try and load libncursesw.so and then only if that fails try and load libncursesw.so.6

yeah, recently I also did something like that for linux target of dart dynamic loading (in a small wrapper of couple curses functions), but firstly .so.N then .so
https://github.com/yvs2014/dmtr/blob/0dc0d4353cac5e1bc73fcf1087b0b2f49f30ebea/bin/libncurses.dart#L16-L37
that's kinda workaround for this case

I don't think so, maybe all linux distributions with gnu ld linker use ld scripting when it needs

You're reading the documentation for ld, the compile time linker. The runtime linker (which is what is used to dynamically load *.so files) varies depending on your system, but for me it's /usr/lib/ld-linux-x86-64.so.2.
Knowing this, we can verify that the runtime linker does not support linker scripts. Remembering that libncurses.so is on my system a linker script:
➜  ~ cat /usr/lib/libncurses.so
INPUT(-lncursesw)
➜  ~ /usr/lib/ld-linux-x86-64.so.2 --verify /usr/lib/libncurses.so || echo 'Not a valid script'
Not a valid script

The runtime linker does not support linker scripts (which makes sense, considering that it's what it used by Dart to load dynamic libraries - hence why we get errors when trying to use DynamicLibrary.open on a linker script). It's intended only for the linker used at compile time.

The runtime linker does not support linker scripts

and there's a couple ways how to get around that. The remaining question is what a recommended one by dart

I'd be interested to know what those ways around it are and why they aren't part of the runtime linker yet :)

I'd be interested to know what those ways around it

depends on which side it can be done, from developer tools side it could be a wrapper, from an end dart user - compiled proxy lib (and that lib is linked with proper libs)

why they aren't part of the runtime linker yet

I think it doesn't supposed to be there, if you look at ldd obj, there are so.N references, and no '.so'.
I.e. '.so' resolving it's a job of developer tools.
Another one good argument not to use '.so' at runtime:
'.so' files often go with '-dev' package only, when '.so.N' files are present in main packages.
In result there will be 'no such file' with these '.so' runtime references.


🐛 Downloading materials changes all buttons to "Is downloading..."

Describe the bug
When I click on a lecture attachment to download, all attachments change to "Is downloading"
To Reproduce

Go to a lecture
Click one of multiple files

Expected behavior
Only one button should show "Is downloading".
Screenshots

Environment

- OS: Windows 10
 - Browser: Chrome 74.0.3729.108
 - Version: Artemis 3.0.4

This should be fixed by https://github.com/ls1intum/ArTEMiS/pull/408.


a function to validate date

Hi! First of all thank you for this really easy to use calendar generator. Much much much more flexible rather than having to use other libraries that generate markup for me.
It would, however, be great if there was a function to validate whether a given date is valid (say, if I input Feb 29, 2017, it should return false).
Would this feature be in your roadmap? Thanks!

Thank you soooo much for the compliments!
You want something like this calendar.validate('Feb 29, 2017')?

hmm, I was thinking just a simple function like calendar.validate(2017, 0, 5) which would return true whereas calendar.validate(2017, 1, 29) would return false as 2017 isn't a leap year (so that date doesn't exist).
Number inputs might make more sense as that is how .of() works.

Sorry for the delay, I'll add it since it's looks trivial to add.


Intro pathpida nuxt

Types of changes
What kind of change does this PR introduce? (check at least one)

[ ] Breaking change
[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactoring
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

Description

Issue Number: 249

記事閲覧
https://user-images.githubusercontent.com/45793046/141613623-78665006-b9e7-4c0d-b1e1-09b764f91fd6.mov

staticPaths → topにロゴ追加
query → 記事検索のクエリで使用
dynamic route → _id.vue


Add sample usage of libarary to README.md

Simple, runnable example showing how to create and use Client should be added into README.md.

I can create an example for Client.

Hey @tzdybal, I was just trying to run the example which uses CNC but I got an error saying:
"transport: Error while dialing dial tcp: address http://rpc-1.celestia.nodes.guru:9090: too many colons in address"

I know this is not the CNC error but I am not sure where this error is occuring.
more details about this are here: https://gist.github.com/nikbhintade/7b30df06d07077addaffe020aa7fb354

celestia-node instance you're connecting to is configured incorrectly. --core.grpc rpc-1.celestia.nodes.guru:9090 is the right option (without the http:// part).
See also: https://github.com/celestiaorg/celestia-node/issues/766

Got it thanks for the help.

@tzdybal shouldn't docs be changed correct config? https://docs.celestia.org/developers/node-tutorial#connect-to-a-public-core-endpoint
should I create PR for that?

@tzdybal @nikbhintade docs have been updated to reflect the new changes of http:// fixes added by celestia-node but I see the installation page is using v0.3.0-rc1: https://docs.celestia.org/developers/celestia-node
Ideally there's a new release by celestia-node that has the changes already on the main branch.

error: RPC error: code = Unknown desc = invalid Bech32 prefix; expected cosmos, got celestia
I am not running two nodes on the same machine or nodes for cosmos on the same machine. The machine is solely dedicated to Celestia light node.

It seems like key (celestia-node key, used for signing), was copied or generated improperly. Can you double check that your keys are generated as described in docs?

Yep. I shut down the previous node started a new one.

@nikbhintade this is a great catch! The issue is on the rpc-1.celestia.nodes.guru side. I tried to use this node with my light node, and error is reproduced. After switching back to my own celestia-app instance, I'm able to submit blocks again.
CC: @YazzyYaz

Also, one of the endpoints you sent grpc-1.celestia.nodes.guru:10790 works too.

Ref: https://github.com/celestiaorg/docs/pull/144/files

@nikbhintade @tzdybal it's been merged


muted videos: start video only, keep music playing

Describe the problem
on playing muted (via settings) videos an external audio player, e.g. spotify, is paused. that is annoying, there is nothing to hear…
Describe the solution
when videos are muted via settings, they should start in "video only" mode and should not affect external audio players. the audio should switch to the audio of the video stream only when you unmute the video.

This will be in the next version.
While we're at it, would you also like to have Squawker videos continue running in the background?

Yes those two features (don't disrupt other app videos and play in the background) will be optional (enabled by default).

Version v3.7.4 implement this feature.
There are now two options implemented, enabled by default (under Settings / General / Media) :

Allows video to continue to play when Squawker is in the background
Allows video/music of other apps to play in the background while a video is playing in Squawker.


[DO NOT MERGE] Drop entity_profile_rules table

[This PR is ready to review, but it should not be merged until the changes in #3905 are rolled out to production]
This table is no longer used, drop it.
Summary
Provide a brief overview of the changes and the issue being addressed.
Explain the rationale and any background necessary for understanding the changes.
List dependencies required by this change, if any.
Fixes #(related issue)
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 54.233%. remained the same
when pulling 442421396d3abaa3cc245d3fddf9739e47cdc9aa on remove-entity-profile-rules-step-ii
into 94986452ec3e8096af6fabfa9babb5abe24bdf4d on main.


python27Packages.josepy: 1.3.0 -> 1.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python27Packages.josepy is: "JOSE protocol implementation in Python"
meta.homepage for python27Packages.josepy is: "https://github.com/jezdez/josepy"
meta.changelog for python27Packages.josepy is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.4.0 with grep in /nix/store/cggfzk4nwibvq7zvjvyrvy742ykp9krc-python2.7-josepy-1.4.0

directory tree listing: https://gist.github.com/bf2c9bc8bc9b1b7d5f0dbb49a37bccc8

du listing: https://gist.github.com/829d5e9b5768de2354b5841b016132e6

Rebuild report (if merged into master) (click to expand)

79 total rebuild path(s)

21 package rebuild(s)

21 x86_64-linux rebuild(s)
20 i686-linux rebuild(s)
18 x86_64-darwin rebuild(s)
20 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
certbot
certbot-full
home-assistant
python27Packages.acme
python27Packages.certbot
python27Packages.josepy
python37Packages.acme
python37Packages.certbot
python37Packages.certbot-dns-cloudflare
python37Packages.certbot-dns-rfc2136
python37Packages.certbot-dns-route53
python37Packages.hass-nabucasa
python37Packages.josepy
python38Packages.acme
python38Packages.certbot
python38Packages.certbot-dns-cloudflare
python38Packages.certbot-dns-rfc2136
python38Packages.certbot-dns-route53
python38Packages.hass-nabucasa
python38Packages.josepy
simp_le

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cggfzk4nwibvq7zvjvyrvy742ykp9krc-python2.7-josepy-1.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python27Packages.josepy https://github.com/r-ryantm/nixpkgs/archive/16f14c7b0c1002292bb53ee3546880c9be638ffd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cggfzk4nwibvq7zvjvyrvy742ykp9krc-python2.7-josepy-1.4.0
ls -la /nix/store/cggfzk4nwibvq7zvjvyrvy742ykp9krc-python2.7-josepy-1.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

4 packages failed to build:

certbot-full
python27Packages.certbot
python37Packages.certbot-dns-cloudflare
python38Packages.certbot-dns-cloudflare

16 packages built:

certbot (letsencrypt ,python38Packages.certbot)
home-assistant
python27Packages.acme
python27Packages.josepy
python37Packages.acme
python37Packages.certbot
python37Packages.certbot-dns-rfc2136
python37Packages.certbot-dns-route53
python37Packages.hass-nabucasa
python37Packages.josepy
python38Packages.acme
python38Packages.certbot-dns-rfc2136
python38Packages.certbot-dns-route53
python38Packages.hass-nabucasa
python38Packages.josepy
simp_le

Maintainer pings

@marsam python35 has been dropped from nixpkgs :)


Allow searching

When having a large number of OTP sites, searching manually by Icon is annyoing (especially when having multiple applications with the same Icon).
A quick ability to search (magnifying glass in the menu bar) would really help out here.

Or,  an ability to filter the list by "tags"

This would be useful for employees at my firm, so we have put a $5,000 "bounty" on developing this at https://www.bountysource.com/issues/40783656-allow-searching.

@daviesalex I think this project was abandoned, so even if a developer makes a PR with the search feature, I don't think it will ever get merged and make it to the production version of the app.
But still there is an alternative fork of this project which has the search already implemented https://github.com/helloworld1/FreeOTPPlus/ plus a ton of other bug fixes.

Thanks @mul1sh. Will move this to the correct repo (actually, for us, I think the iOS might be OK and it looks like that is still maintained in freeotp-ios)

Is this supported already? Didn't see the function on Android.


Site Crashing Arbitrarily with " ChunkLoadError: Loading chunk 27 failed ".

**Describe the bug**
Site crashing arbitrarily with  ChunkLoadError: Loading chunk 27 failed ".
To Reproduce
1 ) Hit the site URL
2) Try to scroll down.
3) Site crashes.
Expected behavior
Contents should load.
Screenshots

Desktop (please complete the following information):

OS: Windows 7 and 10
Browser Chrome Version 84.0.4147.125 (Official Build) (64-bit)
Mozilla Version 79.0 64-bit)

I'm guessing it's because the browser is looking for old chunks which have been cleaned up. A refresh should usually solve this.
/cc @JunaidBabu

I've also felt this when there is a new build. I think we should disable the CLEAN field in the build workflow for some time.

/available

This might've been because of dynamic imports (check this). I added a retry to all dynamic imports in 9b53879ef29fc3aefe1f11f039f0af0227d9dee4 so this should be fixed


About cancel 'crocoddyl.switchToNumpyMatrix()'

I need to integrate several piece of codes and is it possible to cancel the function crocoddyl.switchToNumpyMatrix() after declaring the crocoddyl.switchToNumpyMatrix() in the code first?

Hi @ddliugit,
We indeed want to deprecate each piece of code using numpy matrix. We have these dependencies in internal code: unittest and examples. I just wanted to point out that the library itself doesn't depend on it.
Saying that, which code are you referring? Are you using the devel branch?
Feel free to help us to migrate some code to numpy array.

Thanks. I am using the code biped.py and previously used some code with old version of pinocchio.
I figured that out and I will close it.


[feature request] set as wallpaper

some ROMs doesnt have inbuilt wallpaper selector, and having to rely on another gallery app to set the wallpaper is... weird

Thanks for the suggestion, but I've already considered this and the replacement is wip, also the "Pick image/video from Gallery" action


.alt-checkbox gets overwritten by websites a-styles

Hi,
thank you for this nice checkbox formatter.
I just found a little maybe not so important behavior.
For example...if the websites stylesheet formats the a-tag with a text-decoration: underline, the alt-checboxes are underlined because it uses .alt-checkbox instead of a.alt-checkbox.
I fixed that for me by adding a.alt-checbox to the css file.
.alt-checbox,
a.alt-checkbox {...}

Bye :)

Hi, WulleBulle!
Now it fixed in master branch.
It fixed with text-decoration: none !important.
Thanks for reporting.


Fix the naming of the primitives to be consistent with skywater-pdk format.

There is a spreadsheet @ GF180MCU (GlobalFoundries 180nm PDK) -- Primitive Model Naming which is tracking what the new naming scheme should be.

I have proposed some suggestion on naming in the spreadsheet as comments.
I'm not sure what names should be used with devices that still have "?" sign.

reopening since there are some outstanding PRS


Improve llama's robustness to $HOME being unset.

In a Bazel build environment, $HOME is not set by default and it can be
hard to get Basel to set it in all circumstances. To avoid the need for
a wrapper script, break the dependency on $HOME by using the go-homedir
package, which will file the home directory correctly even when $HOME
isn't set.
The AWS session setup also depends on $HOME, but we can work around
that by presetting the environment variables to the default shared
configuration paths.

This one's a bit weird, but it's surprisingly hard to get Bazel to pass environment variables through to the build sandbox.
The Go modules changes are mainly due to me running go mod tidy after pulling in the homedir module.

Nice, thanks! I had pondered trying to use llamacc inside of a bazel build, but never actually tried it. I would be super curious to hear if you get it working. It definitely feels a bit at odds with what bazel wants you to be doing, but hey, if it works :)

On May 30, 2021, at 2:19 PM, Nelson Elhage @.***> wrote:

Nice, thanks! I had pondered trying to use llamacc inside of a bazel build, but never actually tried it. I would be super curious to hear if you get it working.

I’m still poking at a few things (building envoy), so probably a few more small patches coming.

It definitely feels a bit at odds with what bazel wants you to be doing, but hey, if it works :)

I don’t know if I’ll ever get access to a reasonable bazel remote build service, but I do have AWS :)


Implement contributor names on each guides page

Implement the design from https://www.figma.com/design/sNXucK1uMaZ8XXyLTZrdrs/IBM-Quantum-Documentation?node-id=7174-39884&t=GIeSutsuCJkUNVjg-1

Because the component is not in the footer, it should probably be a component like <ContributorsAttribution>. The other design I was considering is putting metadata at the top of the file.
How to get usernames
We need to figure out how to store the contributor GitHub usernames/handles. It will be much easier if we save the value to the file in qiskit/documentation, rather than somehow magically pulling the value at build-time in closed source. It would be hard to do the latter because it would require dynamically pulling Git information, even though the closed source and open source repos are not meant to have tight coupling.
I suspect the best approach is to have a script that dynamically adds the usernames to the file. We probably need users to manually run it, unfortunately. CI would lint to check everything is up-to-date.

We've had to drop this due to legal issues. We can't get GitHub handles as it requires too many API requests to generate the contributors for each file, and we can't use names from the Git log as it's PII, even though it's non-sensitive and publicly available.


Copy icon and text state change

fixed: #262
The icon and text remain the same even after copying the key.
implemented the text from "copy" to "copied' and the default icon with a check icon and then reset to the default text and icon after a short delay.
How it looks in-app :
https://user-images.githubusercontent.com/73611313/224526390-2e41e8cf-ed58-4d9a-977d-55ca516e0d16.mp4

Hi @vickyrules , thanks for taking the time create this PR. I think small changes like this make the app much for vibrant.
The change looks like it is working as intended, but could you merge both commits into 1, and rename it to our follow convention? i.e. Just 1 commit with the name "Feat: Change copy icon and text after clicked". This is just to standardise our commits and stuff!


issue with clicking on empty dropdown component

ERR Cannot read property 'element' of undefined: TypeError: Cannot read property 'element' of undefined
at ListView.element (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/list/listView.js:161:37)
at file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/list/listWidget.js:1057:95
at Array.map (native)
at List.toListEvent (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/list/listWidget.js:1057:58)
at file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/list/listWidget.js:724:120
at file:///E:/git/sqlopsstudio/out/vs/base/common/event.js:327:72
at file:///E:/git/sqlopsstudio/out/vs/base/common/event.js:309:34
at Emitter.fire (file:///E:/git/sqlopsstudio/out/vs/base/common/event.js:103:38)
at FocusTrait.Trait.set (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/list/listWidget.js:144:28)
at List.setFocus (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/list/listWidget.js:896:24)
at SelectBoxList.layoutSelectDropDown (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/selectBox/selectBoxCustom.js:329:33)
at SelectBoxList.renderSelectDropDown (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/selectBox/selectBoxCustom.js:291:18)
at Object.render (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/selectBox/selectBoxCustom.js:269:61)
at ContextView.show (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/contextview/contextview.js:94:46)
at ContextViewService.showContextView (file:///E:/git/sqlopsstudio/out/vs/platform/contextview/browser/contextViewService.js:32:30)
at SelectBoxList.showSelectDropDown (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/selectBox/selectBoxCustom.js:267:38)
at HTMLSelectElement. (file:///E:/git/sqlopsstudio/out/vs/base/browser/ui/selectBox/selectBoxCustom.js:104:27)

@alanrenmsft  this is is in the list box itself and not in the model view component. I can fix it in the base class but there are too many places that assumes drops down always has at least one item. what is your scenario? do you really need to have a drop down with no item in it?

Closing older issues that aren't tied to concrete customer scenario.  Please log a bug if this API behavior is impacting a customer-facing use case.


[ENHANCEMENT] Ability to close any open dialog upon route change.

I'm submitting a feature request

Library Version:
1.0.0-beta.3.0.0

Please tell us about your environment:

Operating System:
OSX 10.5
Node Version:
4.4.7
NPM Version:
3.10.3
JSPM OR Webpack AND Version
webpack 2.1.0-beta.22
Browser:
all | Chrome XX | Firefox XX | Edge XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView
Language:
TypeScript X.X

Expected/desired behavior:
There is a common issue that occurs when showing modal elements (elements attached to the DOM programmatically, outside the context of a view template) in a SPA.  If the underlying view is changed via navigation, the modal element won't be hidden.
As an example, let's say I have an Aurelia application with various routes registered, and I have visited these routes:
/#/home
/#/main
/#/manage
While on the /#/manage, view, I show a modal dialog using aurelia-dialog, and then I use the browser 'back' button (or the Router navigation) to return to the /#/main view.  In this case, I will see the /#/main view, with the dialog from the /#/manage view still showing.
It would be desirable to have the dialogs dismissed by default on a router view change, or at least have an option for this behavior.  Without this, some messy code has to be inserted to listen for route changes, check to see if there is a visible dialog, and then dismiss it.
Don

I wouldn't say messy. The dialog-service has a controllers: DialogController[] property you can iterate and call .cancel() on every controller. Still there could be a utility method - releaseAll(), closeAll(), ... Would you format the issue according to the template to have it as a feature request?

Regardless of the subjective view of what constitues "messy" code, it is clear that the code to uniformly close any open dialogs on a route change would a) be an extremely common/desirable use case, and b) could be considered boilerplate code.
The value of a framework/library is to eliminate this sort of boilerplate code.  So, while it could certainly be helpful to have a utility function to close all open dialogs - it would be more useful to have an option to set a default behavior, to call such a function on a route change.
Don

I understand the situation. Let's take it in phases. As @StrahilKazlachev suggests, why don't we start with a closeAll() method first. That will conquer the first level of tedium and it's a necessary foundation for the next level. Once we have that implemented, we can discuss how to hook this into the router in a way that doesn't cause undue coupling. @don-bluelinegrid Would you be interested in putting together a PR to add that feature? Or perhaps @StrahilKazlachev ?

@EisenbergEffect I don't mind.

Go for it @StrahilKazlachev :)

DialogService.prototype.closeAll() is in 1.0.0-rc.1.

Upgrading from 1.0.0-beta-3 to 1.0.0-rc.1 produces many typing errors:
[at-loader] Checking finished with 52 errors
[at-loader] node_modules/aurelia-dialog/dist/commonjs/dialog-settings.d.ts:13:33
    TS2304: Cannot find name 'object'.

[at-loader] node_modules/aurelia-dialog/dist/commonjs/dialog-settings.d.ts:14:9
    TS2304: Cannot find name 'object'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:37:53
    TS2339: Property 'modelView' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:38:56
    TS2339: Property 'modelPromise' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:39:49
    TS2339: Property 'title' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:40:50
    TS2339: Property 'okText' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:41:54
    TS2339: Property 'showCancel' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:42:60
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:42:111
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:43:38
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:44:48
    TS2339: Property 'item' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:46:50
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:47:39
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:55:55
    TS2339: Property 'steps' does not exist on type 'DialogSettings'.

[at-loader] src/lib/aurelia-easywizard/controller/wizard-controller.ts:56:49
    TS2339: Property 'steps' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:34:47
    TS2339: Property 'modelView' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:35:50
    TS2339: Property 'modelPromise' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:36:43
    TS2339: Property 'title' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:37:50
    TS2339: Property 'loadingTitle' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:38:44
    TS2339: Property 'okText' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:39:48
    TS2339: Property 'showCancel' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:40:55
    TS2339: Property 'showErrors' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:40:105
    TS2339: Property 'showErrors' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:41:61
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:41:120
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:42:30
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:43:42
    TS2339: Property 'item' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:45:49
    TS2339: Property 'gridOptions' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:47:44
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:48:33
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/model/model.ts:49:53
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:24:47
    TS2339: Property 'modelView' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:25:50
    TS2339: Property 'modelPromise' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:26:50
    TS2339: Property 'loadingTitle' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:27:43
    TS2339: Property 'title' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:28:45
    TS2339: Property 'message' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:29:44
    TS2339: Property 'okText' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:30:48
    TS2339: Property 'showCancel' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:31:54
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:31:99
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:32:30
    TS2339: Property 'isSubmitDisabled' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:33:42
    TS2339: Property 'item' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:36:33
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:37:53
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/model/prompt.ts:45:101
    TS2339: Property 'rules' does not exist on type 'DialogSettings'.

[at-loader] src/services/alertsService.ts:8:42
    TS2305: Module '"/Users/donpeterkofsky/Documents/gc-2-dev/node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog"' has no exported member 'DialogResult'.

[at-loader] src/services/communityService.ts:8:42
    TS2305: Module '"/Users/donpeterkofsky/Documents/gc-2-dev/node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog"' has no exported member 'DialogResult'.

[at-loader] src/services/dataService.ts:9:42
    TS2305: Module '"/Users/donpeterkofsky/Documents/gc-2-dev/node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog"' has no exported member 'DialogResult'.

[at-loader] src/services/dataService.ts:386:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

[at-loader] src/services/dataService.ts:413:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

[at-loader] src/services/dataService.ts:426:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

[at-loader] src/services/dataService.ts:443:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

Please provide a readme/changelog that provides migration instructions.
Thanks,
Don

http://blog.aurelia.io/2017/04/27/aurelia-dialog-release-candidate/
https://github.com/aurelia/dialog/blob/master/doc/article/en-US/dialog-basics.md - still not published in the HUB
TS =>2.2

@StrahilKazlachev
With all due respect, the reply is not really helping me.  I read through both of the links you provided, and those both appear to provide "Getting Started" information for implementation.  I don't see any information about migration from the previous version, and I saw no information about a specific version dependency for TypeScript.
Where do we find the dependency information for the plugin?  (I am current on TS "2.1.6")
Also, does this mean that aurealia-dialog requires TS?  How does that work for Auerelia projects that don't use TS?

@StrahilKazlachev
I followed some other advice about resolving the typescript errors in Aurelia, and that eliminated most of the typings errors.
However, now i am seeing errors specifically related to aurelia-dialog:

[at-loader] src/services/communityService.ts:8:42
    TS2305: Module '"/Users/donpeterkofsky/Documents/gc-2-dev/node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog"' has no exported member 'DialogResult'.

[at-loader] src/services/dataService.ts:9:42
    TS2305: Module '"/Users/donpeterkofsky/Documents/gc-2-dev/node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog"' has no exported member 'DialogResult'.

[at-loader] src/services/dataService.ts:386:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

[at-loader] src/services/dataService.ts:413:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

[at-loader] src/services/dataService.ts:426:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

[at-loader] src/services/dataService.ts:443:35
    TS2339: Property 'openAndYieldController' does not exist on type 'DialogService'.

Are these related to breaking changes in aurelia-dialog rc-1?  Is there specific information about breaking changes and developer migration instructions?  I looked at your "breaking changes" document and it does mention the removal of ``openAndYieldController, but it doesn't mention anything about removal of DialogResult```.
Thanks,
Don

Apologies for the lack of sufficient migration documentation. Regarding class DailogResult it is a slip on my part, it is removed. In the API is replaced by interface DialogCloseResult.
Also the usage of the dialog plugin does not require TS. The source was migrated to TS and is currently compiled with TS 2.2. The distribution is still js+d.ts.

@StrahilKazlachev
Thanks for the reply.
This is still unclear to me about how to migrate my code that was using beta-3.  I have a lot of code that looks like this:
    this.dialogService.openAndYieldController({modelView:'model/communityModel.html', title:title,
      loadingTitle: 'app.loading', item:community, okText:this.i18n.tr('button.save'), validationRules:vRules})
    .then((controller:any) => {
        // do things here that access the dialog's controller and associated ViewModel.
    }

The current implementation of dialogService.open() seems significantly different than this.  How exactly do I get access to DialogController after opening the dialog - or, is there a different pattern to use now?
Also, above you said DialogResult is replaced with DialogCloseResult, but in your blog link it shows DialogOpenResult.  Which do we use?
Thanks,
Don

@StrahilKazlachev
Hi -
I am seeing other issues now, as I am trying to refactor.

First of all, I see that the DialogController is available in the Promise result object, but there is something wrong with the typings, because this is appearing as a plain native Object, not any DailogXXResult type.

Second, I see there is a not about removing "viewModel" from the controller because it was undocumented.  But, it is documented here as being used in the setting to create the controller:
https://github.com/aurelia/dialog/blob/1.0.0-beta.3.0.1/README.md
So, it seems reasonable to expect this to be available through the controller.  However, when I inspect the controller object, I am seeing this:

controller:DialogController
    controller:Controller
        behavior:HtmlBehaviorResource
        boundProperties:Array(0)
        container:Container
        elementEvents:null
        instruction:BehaviorInstruction
        isAttached:true
        isBound:true
        scope:View
        view:View
        viewModel:Model

So, it looks like the viewModel actually is not deprecated like your doc says, but is contained in some new Controller type object, inside the DialogController object.  What is this new Controller, and why do we have a data structure with colliding property names like controller.controller?
This is making it quite challenging to refactor existing aurelia-dialog code.
Don

old => new
dialogService.openAndYieldController(...).then(controller => ...) => dialogService.open(...).then((result: DialogOpenResult | DialogCancelResult) => ...) - resolves when the dialog opens/shows(not closed) with DialogOpenResult, or when canActivate returns/resolves to false - considered a cancellation, resolves with DialogCancelResult.
dialogService.open(...).then((result: DialogResult) => ...) => dialogService.open(...).whenClosed((result: DialogCloseResult) => ...) - resolves when the dialog gets closed.
From DialogOpenResult you can access the controller and the Promise that resolves when the dialog closes. Doing dialogService.open(...).then(r => r.wasCancelled ? r : r.closeResult).then((r: DialogCloseResult) => ...) is basically dialogService.open(...).whenClosed((result: DialogCloseResult) => ...). So when you are finished with the controller you ca return the closeResult and chain.

DialogController - the .viewModel, .view and .controller were available directly on the DialogController instance. Since controller: Controller(from aurelia-templating) contained them it was unnecessary duplication.

OK, thanks.
And what will be the new version of this?
controller.result.then((response) => {
        if (response.wasCancelled) {
          // Reset validation error state.
          this.logger.debug('Cancel');
        }
      })

The controller is no longer augmented. Use the OpenDialogResult closeResult property.

We shipped an PI for this, so closing.


Official support for onnx format.

There's an exporter for XGBoost in https://github.com/onnx/onnxmltools .  As far as I'm aware of there's no integration tests on XGBoost's side nor any formal document in XGBoost for this ONNX exporter.  Last time I look into it was for fixing an issue in 1.0.0 release candidate, which broke the onnx exporter.  But right now the converter should already be in good shape for most of the use cases.
My proposal for future work on XGBoost's side is we support the converter in onnxtools by:

Change their parser implementation into JSON model format based.  As the JSON will be our future representation for many stuffs including internal syncing/check pointing, also it's the base of our parameter validation and the serialization format of our configuration:

booster.save_config()  # returns a JSON document showing only our internal configuration.

These use cases can not be replaced by protobuf.

Add tests.  As always this is the best way to reduce chances of accidental breaking changes.  There are some corner cases where we should look into during testings.  For example, is the global bias correctly converted for logistic models and exponential models?  Is there any floating point precision loss during the transformation?

Mention it in our documents.

(Optional), integrate it in our save_model function to make the converter bidirectional.

@sandys @kylejn27  Let's gather the onnx related discussion here. ;-)

Thank you for this !
On Fri, 6 Mar, 2020, 10:56 Jiaming Yuan<EMAIL_ADDRESS>wrote:

There's an exporter for XGBoost in https://github.com/onnx/onnxmltools .
As far as I'm aware of there's no integration tests on XGBoost's side nor
any formal document in XGBoost for this ONNX exporter. Last time I look
into it was for fixing an issue in 1.0.0 release candidate which had
compatibility issue with onnx. But the converter should already be in good
shape for most of the use cases.
My proposal for future work on XGBoost's side is we support the converter
in onnxtools by:

change their parser implementation into JSON model format based. As
the JSON will be our future representation for many stuffs including
internal syncing/check pointing, also it's the base of our parameter
validation and the serialization format of our configuration:

booster.save_config()  # returns a JSON document showing only our internal configuration.
These use cases can not be replaced by protobuf.

Add tests. As always this is the best way to reduce chances of
accidental breaking changes. There are some corner cases where we should
look into during testings. For example, is the global bias correctly
converted for logistic models and exponential models? Is there any floating
point precision loss during the transformation?
Mention it in our documents.
(Optional), integrate it in our save_model function.
@sandys https://github.com/sandys @kylejn27
https://github.com/kylejn27 Let's gather the onnx related discussion
here. ;-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/xgboost/issues/5392?email_source=notifications&email_token=AAASYU3FLEDA3GXXNKAD7WTRGCCPVA5CNFSM4LCY7AC2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IS73HTQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAASYUZX7EWYDFLLZ7CJBBLRGCCPVANCNFSM4LCY7ACQ
.

My personal opinion is to not link this with onnxtools exporter. The amount
of effort to do that (along with testcases,etc) is the same as creating a
"save_onnx/read_onnx" hook that will internally create a json and then
transform that to ONNX.
Also in reference to https://github.com/dmlc/xgboost/issues/5339 , the goal
should be to have a Xgboost ONNX model deployable on onnx ecosystem
(whether Azure or elsewhere)
On Fri, 6 Mar, 2020, 11:04 Sandeep<EMAIL_ADDRESS>wrote:

Thank you for this !
On Fri, 6 Mar, 2020, 10:56 Jiaming Yuan<EMAIL_ADDRESS>wrote:

There's an exporter for XGBoost in https://github.com/onnx/onnxmltools .
As far as I'm aware of there's no integration tests on XGBoost's side nor
any formal document in XGBoost for this ONNX exporter. Last time I look
into it was for fixing an issue in 1.0.0 release candidate which had
compatibility issue with onnx. But the converter should already be in good
shape for most of the use cases.
My proposal for future work on XGBoost's side is we support the converter
in onnxtools by:

change their parser implementation into JSON model format based. As
the JSON will be our future representation for many stuffs including
internal syncing/check pointing, also it's the base of our parameter
validation and the serialization format of our configuration:

booster.save_config()  # returns a JSON document showing only our internal configuration.
These use cases can not be replaced by protobuf.

Add tests. As always this is the best way to reduce chances of
accidental breaking changes. There are some corner cases where we should
look into during testings. For example, is the global bias correctly
converted for logistic models and exponential models? Is there any floating
point precision loss during the transformation?
Mention it in our documents.
(Optional), integrate it in our save_model function.
@sandys https://github.com/sandys @kylejn27
https://github.com/kylejn27 Let's gather the onnx related discussion
here. ;-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/xgboost/issues/5392?email_source=notifications&email_token=AAASYU3FLEDA3GXXNKAD7WTRGCCPVA5CNFSM4LCY7AC2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IS73HTQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAASYUZX7EWYDFLLZ7CJBBLRGCCPVANCNFSM4LCY7ACQ
.

Yup.  That's a good plan.