FAST template for AWS deployments

Is your feature request related to a problem? Please describe.
Deploying services with AS3 still requires me to create a secondary IP on my interface, create an EIP and match both. I would like to see FAST doing it for me in the background, so I can focus on the application.
Describe the solution you'd like

FAST should create secondary IP and take this IP as VIP IP
FAST should create new EIP and map this EIP to my VIP IP that was created before

Describe alternatives you've considered
CFT or ansible playbooks
Additional context

Could you describe your workflow?
From my reading, this may be an appropriate feature for DO or AS3 that could be utilized by a FAST template.
CFTs may be the best solution in the short term for onboarding a box with EIPs.

The workflow is:

Client sends a FAST API call to BIG-IP to create a new service.

The API call does not provide an IP address but a service name and the subnet it should live on.

FAST reaches out to AWS and requests a secondary IP for the BIG-IP's interface that belongs to the subnet

FAST takes the assigned IP address and uses it as the VIP address for the service

FAST reaches out to AWS and allocates a new EIP

FAST assigns the EIP with the secondary IP

FUTURE improvement: FAST reaches out to F5 CS DNS GSLB and registers the service name with the EIP as IP endpoints

Service is up and runnig
This is not a feature for DO, because you do not add a secondary selfIP, you create a VIP on BIG-IP.
This is not a feature for AS3, because AS3 AS3 focusses exclusively on BIG-IP Service deployment.

Hi @vbojko ,
FAST as it exists right now is primarily a templating system for AS3 applications.  Future versions of the FAST RPM will have the ability to make templated calls to other HTTP endpoints besides AS3.
Orchestration like you describe is currently not in the scope of this project.
Typically interactions with cloud platforms happen on the BIG-IP through something called cloud-libs, this is utilized by AS3 to enable features such as service discovery. Additionally, we have many supported cloud formation templates that can be used to set up infrastructure in the cloud: https://github.com/F5Networks/f5-aws-cloudformation
We are looking at future products which will include the ability to orchestrate across multiple APIs, but as of today cloud interactions should be mediated by DO or AS3, or some outside orchestration software like Ansible or Terraform.
Additionally, a custom orchestration pipeline could be built with JavaScript, or as part of a CI/CD pipeline by using the f5-fast-core NPM module found here: https://www.npmjs.com/package/@f5devcentral/f5-fast-core
Thanks,
Matt


fixed syntax error in @_calcRU

@thomasvandongen what does this change to _calcRU fix? Helps me ID bugs so I can test and mention the fix you did in the release notes!

I made too many changes to automatically merge this. I've merged it! Thanks for the help!


PHP Language family CNB releases should contain a buildpackage artifact

Context
As buildpackages start to become the standard of shipping our CNBs, we should build a buildpackage of our Paketo language family PHP CNB. This will make it way easier for users to consume specific language family buildpacks.
Proposal
start publishing a Paketo PHP buildpackage whenever we ship a new release artifact.
Notes/Helpful Links

The pack command that we will have to run to do this is pack package-buildpack <NAME-OF-ARTIFACT> --package-config <Path/To/Package.toml>.

Acceptance/Deliverables

A committed (and updated) package.toml file that can be used to re-create language family buildpackage artifacts.
PHP Language Family CNB github releases should contain an online buildpackage artifact in the release assets.
PHP Buildpackage can be downloaded from Github and used to pack build apps

Looks great! I grabbed a PHP buildpackage from the latest release and pack built a PHP app using it. Closing this.


Governance updates

Sorry this is so slow!!! Updates based on conversations in #27 and #25.
There is some new text to discuss. Is, "Contact ResBaz committees by email with the following structure: committeeName.ResBazAZ[at]gmail.com. The executive committee can be reached at ResBazAZ[at]gmail.com" sounding correct?
Do we want to go forward with the creation of these transferable emails? I will make sure to comment this in the conversation in #27

Thank you @hidyverse!
My suggestion is to use<EMAIL_ADDRESS>(replacing committee with each committee's name).
Then we use a combination of delegation, filtering, and/or forwarding to make sure it gets to the right people, while still having only one email address to manage.
See here for more info:

https://support.cloudhq.net/how-to-setup-gmail-aliases/
https://www.softwareadvice.com/resources/how-to-forward-gmail/

Thank you @hidyverse!

@julianpistorius Do these addresses exist?

Yes.
Any email to an address of the format<EMAIL_ADDRESS>will go to the usual ResBazAZ Gmail account. We can redirect and forward from there as necessary.


Can not install Ingress resource

Trying to install ingress(apiVersion: extensions/v1beta1) will failed with error
helm.go:81: [debug] the server could not find the requested resource
seems the issue is came from wait.go waitForResources method,  its try to request ingress from   NetworkingV1beta1 even the  apiVersion is extensions/v1beta1
case *extensionsv1beta1.Ingress, *networkingv1beta1.Ingress:
				ing, err := w.c.NetworkingV1beta1().Ingresses(v.Namespace).Get(v.Name, metav1.GetOptions{})
				if err != nil {
					return false, err
				}
				if !w.ingressReady(ing) {
					return false, nil
				}

Output of helm version:
version.BuildInfo{Version:"v3.0.0-beta.4", GitCommit:"7ffc879f137bd3a69eea53349b01f05e3d1d2385", GitTreeState:"dirty", GoVersion:"go1.13.1"}
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:49Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.7-gke.24", GitCommit:"2ce02ef1754a457ba464ab87dba9090d90cf0468", GitTreeState:"clean", BuildDate:"2019-08-12T22:05:28Z", GoVersion:"go1.11.5b4", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform GKE

PR #6651 opened to fix this.

@creativearmenia Can you provide more information on what you are running? is the chart a scaffold chart (helm create)? If not, can you provide more details on the chart and how you are running it?

We have chart and I am trying to migrate from 2 to helm3.
On install helm fails "the server could not find the requested resource", as I understand helm try to check status by getting ingress from NetworkingV1beta1 which is wrong because our ingress belong to apiVersion: extensions/v1beta1

@creativearmenia  Are you installing a chart in v3 and it fails on the ingress resource? If so, can you show the template with the ingress?

check the test chart repo https://github.com/creativearmenia/test-chart
run helm upgrade --install --atomic bobo ./admin-panel
Error: release bobo failed, and has been uninstalled due to atomic being set: the server could not find the requested resource

Was the chart installed by Helm v2 first and then upgrade by Helm v3? Or installed by Helm v3 only?

What output do you get if you run the command with --dry-run --debug flags?

λ helm upgrade --install --atomic --dry-run --debug  boo .\admin-panel\
history.go:52: [debug] getting history for release boo
Release "boo" does not exist. Installing it now.
install.go:148: [debug] Original chart version: ""
install.go:165: [debug] CHART PATH: C:\Users\sako\Desktop\test-chart\admin-panel

NAME: boo
LAST DEPLOYED: Fri Oct 11 17:58:53 2019
NAMESPACE: default
STATUS: pending-install
REVISION: 1
USER-SUPPLIED VALUES:
{}

COMPUTED VALUES:
{}

HOOKS:
MANIFEST:
---
# Source: admin-panel/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-test
  labels:
    app.kubernetes.io/name: "testingress"
spec:
  rules:
    - host: testdomain.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-service
              servicePort: 80

wihtout --dry-run flag
λ helm upgrade --install --atomic --debug  boo .\admin-panel\
history.go:52: [debug] getting history for release boo
Release "boo" does not exist. Installing it now.
install.go:148: [debug] Original chart version: ""
install.go:165: [debug] CHART PATH: C:\Users\sako\Desktop\test-chart\admin-panel

client.go:87: [debug] creating 1 resource(s)
wait.go:51: [debug] beginning wait for 1 resources with timeout of 5m0s
install.go:311: [debug] Install failed and atomic is set, uninstalling release
uninstall.go:90: [debug] uninstall: Deleting boo
client.go:215: [debug] Starting delete for "ingress-test" Ingress
uninstall.go:123: [debug] purge requested for boo
Error: release boo failed, and has been uninstalled due to atomic being set: the server could not find the requested resource
helm.go:81: [debug] the server could not find the requested resource
release boo failed, and has been uninstalled due to atomic being set
helm.sh/helm/v3/pkg/action.(*Install).failRelease
        /home/circleci/helm.sh/helm/pkg/action/install.go:319
helm.sh/helm/v3/pkg/action.(*Install).Run
        /home/circleci/helm.sh/helm/pkg/action/install.go:283
main.runInstall
        /home/circleci/helm.sh/helm/cmd/helm/install.go:209
main.newUpgradeCmd.func1
        /home/circleci/helm.sh/helm/cmd/helm/upgrade.go:111
github.com/spf13/cobra.(*Command).execute
        /go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:826
github.com/spf13/cobra.(*Command).ExecuteC
        /go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914
github.com/spf13/cobra.(*Command).Execute
        /go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864
main.main
        /home/circleci/helm.sh/helm/cmd/helm/helm.go:80
runtime.main
        /usr/local/go/src/runtime/proc.go:203
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1357

@creativearmenia I took your ingress template and installed it using Helm v2 into k8s 1.14 as follows:
$ $ cat chrt-6648/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-test
  labels:
    app.kubernetes.io/name: "testingress"
spec:
  rules:
    - host: testdomain.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-service
              servicePort: 80

$ helm install --name chrt-6648 chrt-6648/ --dry-run --debug
[debug] Created tunnel using local port: '35961'

[debug] SERVER: "<IP_ADDRESS>:35961"

[debug] Original chart version: ""
[debug] CHART PATH: /home/usr1/helm/test/chrt-6648

NAME:   chrt-6648
REVISION: 1
RELEASED: Fri Oct 11 15:02:56 2019
CHART: chrt-6648-0.1.0
USER-SUPPLIED VALUES:
{}

COMPUTED VALUES:
affinity: {}
fullnameOverride: ""
image:
  pullPolicy: IfNotPresent
  repository: nginx
  tag: stable
imagePullSecrets: []
ingress:
  annotations: {}
  enabled: false
  hosts:
  - host: chart-example.local
    paths: []
  tls: []
nameOverride: ""
nodeSelector: {}
podSecurityContext: {}
replicaCount: 1
resources: {}
securityContext: {}
service:
  port: 80
  type: ClusterIP
serviceAccount:
  create: true
  name: null
tolerations: []

HOOKS:
MANIFEST:

---
# Source: chrt-6648/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-test
  labels:
    app.kubernetes.io/name: "testingress"
spec:
  rules:
    - host: testdomain.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-service
              servicePort: 80

$ helm install --name chrt-6648 chrt-6648/
NAME:   chrt-6648
LAST DEPLOYED: Fri Oct 11 15:03:03 2019
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1beta1/Ingress
NAME          HOSTS           ADDRESS  PORTS  AGE
ingress-test  testdomain.com  80       0s

$ kubectl get ingress
NAME           HOSTS            ADDRESS   PORTS   AGE
ingress-test   testdomain.com             80      43s

I then installed it again with change to the name of the ingress resource (to avoid conflict) using Helm v3 (same cluster) and it installed as expected:
$ cat chrt-6648-v3/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-test-v3
  labels:
    app.kubernetes.io/name: "testingress"
spec:
  rules:
    - host: testdomain.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-service
              servicePort: 80

$ helm3 install chrt-6648-v3 chrt-6648-v3/ --dry-run --debug
install.go:148: [debug] Original chart version: ""
install.go:165: [debug] CHART PATH: /home/usr1/helm/test/chrt-6648-v3

NAME: chrt-6648-v3
LAST DEPLOYED: Fri Oct 11 15:06:31 2019
NAMESPACE: default
STATUS: pending-install
REVISION: 1
USER-SUPPLIED VALUES:
{}

COMPUTED VALUES:
affinity: {}
fullnameOverride: ""
image:
  pullPolicy: IfNotPresent
  repository: nginx
imagePullSecrets: []
ingress:
  annotations: {}
  enabled: false
  hosts:
  - host: chart-example.local
    paths: []
  tls: []
nameOverride: ""
nodeSelector: {}
podSecurityContext: {}
replicaCount: 1
resources: {}
securityContext: {}
service:
  port: 80
  type: ClusterIP
serviceAccount:
  create: true
  name: null
tolerations: []

HOOKS:
MANIFEST:
---
# Source: chrt-6648-v3/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-test-v3
  labels:
    app.kubernetes.io/name: "testingress"
spec:
  rules:
    - host: testdomain.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-service
              servicePort: 80

$ helm3 install chrt-6648-v3 chrt-6648-v3/
NAME: chrt-6648-v3
LAST DEPLOYED: Fri Oct 11 15:06:51 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1

$ kubectl get ingress
NAME              HOSTS            ADDRESS   PORTS   AGE
ingress-test      testdomain.com             80      3m54s
ingress-test-v3   testdomain.com             80      6s

Hi @creativearmenia, this issue looks like a duplicate of https://github.com/helm/helm/issues/6621. Can you confirm? If so, we should close this so we keep the conversation in one place. Thanks!

@hickeyma  could you please try with --atomic flag

@bacongobbler  related to the --atomic flag then?

Yes. --atomic sets --wait so it would fall under the same bug.

https://github.com/helm/helm/issues/6621#issuecomment-540139573

Thanks guys then, closing issue


Compiler option --textFile not working

It is said in the README.md file that the option --textFile is valid. But it seems that it is not for the moment:
$> asc module.ts --textFile module.wat --optimize --memoryModel bare --outFile module.wasm
Expected behavior: compilation without error
Actual behavior: no compilation and error
The former option name still works though:
$> asc module.ts --text-out module.wat --optimize --memoryModel bare --outFile module.wasm

README.md describes asc from master. The npm package might not include the update yet.

I've installed (again) AssemblyScript:
$> yarn add dcodeIO/AssemblyScript
I've run the compiler with the --textFile option
$> asc module.ts --textFile module.wat --optimize --memoryModel bare --outFile module.wasm
Error:
initialization took 42.683 ms
compilation took 11.845 ms

C:\Users\Yahiko\AppData\Local\Yarn\config\global\node_modules\binaryen\index.js:26
function(e){if(!(e instanceof ha))throw e;});a.inspect=function(){return"[Emscripten Module object]"}}else if(La)a.print||(a.print=print),"undefined"!=typeof printErr&&(a.printErr=printErr),a.read="undefined"!=typeof read?read:function(){throw"no read() available";},a.readBinary=function(e){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(e));e=read(e,"binary");v("object"===typeof e);return e},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=
                                  ^

TypeError: Cannot read property 'available' of undefined
    at writeText (C:\Users\Yahiko\AppData\Local\Yarn\config\global\node_modules\assemblyscript\bin\asc.js:164:29)
    at C:\Users\Yahiko\AppData\Local\Yarn\config\global\node_modules\assemblyscript\bin\asc.js:142:7
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

Without --textFile option, everythings fine:
$> asc module.ts --optimize --memoryModel bare --outFile module.wasm

Most likely, the npm package (that also yarn installs) doesn't have the updated CLI arguments, yet.

Hmm, but I've retrieved AssemblyScript from your repo directly, not from npm.

Oh, sorry, overlooked that. Can you spot any obvious issue in that regard here?

Ok, I will let you know ;)

It seems assemblyscript.wabt is not imported since it is undefined in the function writeText, and so, assemblyscript.wabt.available throws an error at runtime.

wabt integration has changed slightly recently. There is no wabt subnamespace anymore, this is now part of util. If assemblyscript.util.wabt is defined, wabt.js has been loaded alongside the compiler and assemblyscript.util.wasmToWast etc. will work.

Ok. Another issue: now argv inside the writeText function is undefined, which is normal since argv is defined in the main function.

I tackled this issue somewhere within the latest commits. Is it working for you now?

It works now :)


Check for existence of fields?

plone.restapi performs a good validation (or the field validation does it). However plone.restapi does not check for the existence of a field. So you can send 'foo': 'bar' as part of patch request. Perhaps it would make sense to check if field foo really exists and report this as an error?

If the field is marked as required then VFG will not validate the form unless it has a valid value.
phone.restapi appears to be a python package - unrelated to VFG?

Sorry, complete different bugtracker :)


[SPARK-38939][SQL][FOLLOWUP] Remove undefined variable 'ifExists'

What changes were proposed in this pull request?

This PR aims to remove undefined variable ifExists to support sbt compilation.
Why are the changes needed?

#36252 changed signature of deleteColumn#TableChange.java, but this PR breaks sbt compilation in k8s integration test.
> build/sbt -Pkubernetes -Pkubernetes-integration-tests -Dtest.exclude.tags=r -Dspark.kubernetes.test.imageRepo=kubespark "kubernetes-integration-tests/test"
[error] /Users/IdeaProjects/spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/v2AlterTableCommands.scala:147:45: not found: value ifExists
[error]       TableChange.deleteColumn(Array(name), ifExists = false)
[error]                                             ^
[error] /Users/IdeaProjects/spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/v2AlterTableCommands.scala:159:19: value ++ is not a member of Array[Nothing]
[error]     deleteChanges ++ addChanges
[error]                   ^
[error] two errors found
[error] (catalyst / Compile / compileIncremental) Compilation failed

Does this PR introduce any user-facing change?

No
How was this patch tested?

Pass the GA and k8s integration test.

cc @cloud-fan @jackierwzhang

Thanks! Merged to master and 3.3.

Thank you @cloud-fan @jackierwzhang @huaxingao


Update the party function codes for shipper and consignee's freight

forwarder to the existing UN/CEFACT codes (DDR and DDS).
Full list at
https://unece.org/fileadmin/DAM////trade/untdid/d11b/tred/tred3035.htm

@raisoman we should merge this...


CB-8936 Gathering logs on Windows

https://issues.apache.org/jira/browse/CB-8936

This seems useful. If it works well you should add it to cordova-windows with a 'log' script, similar to how other platforms do it and just invoke it from there.


Some notes on Times displayed

A bunch of things that will be useful wrt timing:

The "Previous Jobs" table should display "Start Time" rather than "Submit Time" -- less confusing when waiting on a job to finish.
When a job fails because it hit the walltime, then instead of "failed" if the status displays "timed out" that would avoid confusion (because STDERR doesn't show any error messages in this case).
A time elapsed row in the job info would we useful (though not necessary).
CT instead of GMT would be useful (though not necessary).

Converting to tasks:

[ ] Start_time rather than submit_time ?. Added both, but both are necessary fields.
[ ] Timeout code 1001, is walltime based break. Add a error string to describe this status
[ ] Time elapsed since job start ?
Maybe this could be better addressed with stats of the job with submit_time --> start_time --> staging_time --> processing cpu/ mem stats -> stagout_time --> Fails / Completed.
[ ] Convert to CST instead of using GMT.


fix: moves devcontainer.json to valid markdown

Removes lines with //. In JSON, // is invalid (there are no comments in JSON, unfortunately) and can potentially cause issues.

Thanks @bnb for picking that up!


Mess with ssize_t, off_t definitions

Working on https://github.com/zephyrproject-rtos/zephyr/pull/10429 , I was getting weird build failures with native_posix port re: ssize_t and off_t being undefined. Some posix tests had it, some didn't.
Turned out, Zephyr defines these types in fs.h, and in weird way: https://github.com/zephyrproject-rtos/zephyr/blob/master/include/fs.h#L10
So, first of all, ssize_t is being defined only for CONFIG_ARCH_POSIX, and it's defined as:
typedef __SIZE_TYPE__ ssize_t;

Then __SIZE_TYPE__ is:
$ gcc -m32 -dM -E - </dev/null | grep __SIZE_TYPE__
#define __SIZE_TYPE__ unsigned int

I like that definition. Really, return type of read, write, etc. should be unsigned, so on 32-bit platform, we had access to (almost) 4GB instead of 2GB, etc. Unfortunately, that's not what POSIX says. As the name itself suggests, ssize_t is a signed variant of size_t, so it cannot be unsigned.
These definitions were added in eb0aaca64d017fad306b040b871e3c0d1b8d6c71 .
Questions:

To @ramakrishnapallala as the author: why it was done that way?
To @aescolar as the ARCH_POSIX maintainer: are you aware that it's done that way (and what to you think) ?

And the main point: these types should not be defined in "fs.h", as they have nothing to do with "file system". They have to do with generic POSIX I/O model. POSIX says they should be defined in sys/types.h : http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html .
Consequently, we either should have them in posix/sys/types.h, or if they're used on Zephyr side (ssize_t definitely is), then in zephyr/types.h .
And the reason I submit this as a ticket and not as PR, because @aescolar, I'd need your consult of where do we stand on the isolation of native_posix port from the host's POSIX includes in general, and whether you anticipate issues with the change as described above. Thanks.

@pfalcon: yes, I'm aware of it. It isn't specially beautiful though ( https://github.com/zephyrproject-rtos/zephyr/pull/7326#issuecomment-389539773 )

Ok, so looks like that code comes from you, and just was committed by @ramakrishnapallala .
But anyway, the problem I'm facing now isn't with native_posix, it's actually with all the other boards, and is rooted in the fact that #include_next does not work as expected. Specifically:
--- a/include/posix/sys/types.h
+++ b/include/posix/sys/types.h
@@ -12,7 +12,9 @@ extern "C" {
 #endif

 #ifndef CONFIG_ARCH_POSIX
+before
 #include_next <sys/types.h>
+after
 #endif

Preprocessor output:
# 1 "/home/pfalcon/projects-3rdparty/Embedded/Zephyr/zephyr/include/posix/sys/types.h" 1
# 15 "/home/pfalcon/projects-3rdparty/Embedded/Zephyr/zephyr/include/posix/sys/types.h"
before
# 1 "/home/pfalcon/projects-3rdparty/Embedded/Zephyr/zephyr/include/posix/sys/types.h" 1
# 17 "/home/pfalcon/projects-3rdparty/Embedded/Zephyr/zephyr/include/posix/sys/types.h" 2
after

I.e. #include_next within posix/sys/types.h causes posix/sys/types.h itself be included again. I don't know what may be wrong, maybe #include_next doesn't work for pathed include (like sys/types.h)? Continuing to investigate...

Damn, this time it was fixable by:
--- a/include/posix/time.h
+++ b/include/posix/time.h
@@ -27,8 +27,8 @@ struct timeval {

 #include <kernel.h>
 #include <errno.h>
-#include "sys/types.h"
-#include "signal.h"
+#include <sys/types.h>
+#include <signal.h>

But mess such a mess...

stale and no updates for almost a year, lowering priority.

minimal libc's sys/types.h even has:
#define unsigned signed
typedef __SIZE_TYPE__ ssize_t;
#undef unsigned

Cool trick.

Probably it came back, because to be compliant with the MISRA Coding guidelines that part of define should be changed. MISRA says "A macro shall not be defined with the same name as a keyword in C90"

Agreed during release meeting to close this as duplicate of #75513

(closing with the right reason to reflect it was closed as a duplicate)


App: Deep Work Animation

We need to get an animation like in this figma

Fixed in https://github.com/CodeClimbersIO/cli/pull/145


When loaded through Passenger, Bundler is not initialized properly

This is a bit fishy because I'm not sure what's going on exactly. For what it's worth, the way I found this is trying to set up Radiant to log through syslogger instead than on a file (which makes it easier to handle if using privilege separation).
Just add syslogger to the list of gems in Gemfile, you're supposed to get it loaded and be able to set it up in config/environments/production.rb, but if yo udo so it'll fail telling you that it can't find the constant (the Syslogger class). Adding a require at the top of the file makes it work.
This reminds me of a similar issue I had for a while related to execjs and the sheets extension in the rc4 timeframe, which I solved by just not using coffeescript.

I don't want to insult you with this question, but did you run bundle update after adding syslogger to your Gemfile?
What exact steps did you take? Does it just not work with Passenger or do you get the same error when using ./script/server?

I did run bundle update (otherwise it wouldn't be loading it at all). I haven't checked ./script/server yet..

Yeah, it would be interesting to see if it's a Passenger-related issue or not.


Better document the README for reproducibility

what script is doing what, how to run, etc.

Better documented in https://github.com/sct-pipeline/dcm-metric-normalization/commit/afa5bb966c0bcc3410ad6c4778e8e048ff5b02ac


Move ClusterResetRestore handling after ControlConfig setup

Proposed Changes
Fix cluster-reset not closing the agentReady channel on K3s so the LB never comes up.
Types of Changes
bugfix
Verification
See linked issue
Linked Issues

https://github.com/k3s-io/k3s/issues/4914

User-Facing Change

Fixed an issue that prevented cluster-reset restore from working on some nodes in a multi-node etcd cluster.

Further Comments

conformance flaked; merging
[PARALLEL] Summarizing 3 Failures:
[PARALLEL]
[PARALLEL] [Fail] [sig-apps] Deployment [It] should run the lifecycle of a Deployment [Conformance]
[PARALLEL] /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/apps/deployment.go:289
[PARALLEL]
[PARALLEL] [Fail] [sig-network] Proxy version v1 [It] A set of valid responses are returned for both pod and service ProxyWithPath [Conformance]
[PARALLEL] /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/network/proxy.go:314
[PARALLEL]
[PARALLEL] [Fail] [sig-node] Pods [It] should delete a collection of pods [Conformance]
[PARALLEL] /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/common/node/pods.go:886


Temporal Opentelemetry interceptor to use (and export) new temporal header Carrier interface

Is your feature request related to a problem? Please describe.
When writing our own custom interceptor, we would like to be able to load/extract Opentelemetry data into the temporal headers using a common function that the temporal interceptor uses. This way we are guaranteed to get trace context propagation even if some components are using temporal's own interceptor vs some are using our custom interceptor.
Describe the solution you'd like

Add a "Carrier" implementation that parses/loads into the temporal headers (e.g. PR)
Export it for other libraries to use
Use it in the temporal interceptors (here) From what I can tell this will require some small refactoring of the parent function too (relevant comment)

Describe alternatives you've considered

Define the carrier locally to our private enterprise product. (we currently do this)
Add to the opentelemetry contrib repo (they advise against this as the code has temporal dependency and is more reliably maintained close to its relevant repository)
Make my own opensource library (do not have resources to maintain, also my company are not allowed to use personal or untrusted libraries)

Additional context
Tagging some of the authors who may have context or pointers, if I have the wrong people please let me know how best to tag the temporal opentelemetry experts. Appreciate your thoughts! @cretz @jvonfricken
This is an issue raised off the back of some discussions in this PR https://github.com/temporalio/sdk-go/pull/1534, apologies that I did not see the comment to raise an issue first until I had already raised it.

I see @Quinn-With-Two-Ns is already looking at the PR, will defer to him. In general while Temporal has an interceptor that injects exact span carrier information, we encourage users to write their own interceptors to do what they need if they need something beyond that. We can discuss options on the OTel interceptor if it needs to have something configured.

Marking as closed based on the discussion in the PR


Update version number in docs

Part of #707
#trivial

🤔, do you want to lock in clients to 3.0.0? Specifying just 3.0 will make things like pod update allow upgrading to patch versions.

@BasThomas the ~> should allow minor and patch version updates

As I understand it, this will let you go up to 8.0.9, but not higher.

@BasThomas 👍 i think that might be right. will update


[Proposed Enhancement] Consume remainder of socket in Response.close

Earlier today I was speaking with @ducu on IRC about a problem they're having using rq and requests. My intuition (which is really all I have to work with about this problem) is that all of the content on the response is not being consumed and people assume that doing something like:
with contextlib.closing(requests.get(url, stream=True)) as response:
    # do some stuff with response

The socket will close properly. If I remember correctly though, we've seen that if the socket isn't completely consumed, this won't allow the socket to be released (at least not immediately). I'm further suspicious this is the cause because killing one of the workers for rq lets the job resume. I wonder what people think about changing Response.close to be something like:
def close(self):
    self.content
    self.raw.release_conn()

The call to self.content will consume the rest of the socket (if there's anything to consume) and then we'll release the connection (which should release the socket in this case).
Thoughts? Also I'm pretty tired so I could be wrong about some of this stuff.

That's not a bad idea. Some notes:

response.content may take a very long time to return if timeouts aren't configured. Closing shouldn't hang.
Response.content may throw exceptions.

We need to decide how we're dealing with these problems.

Thank you guys for helping with this!
Trying to clarify a bit what's happening..
As @sigmavirus24 mentioned, I'm using rq and summary to process a bunch of URLs. I start several simple (forking) workers so they are doing one URL per job in totally separate processes on the same machine. It all goes fine for a while and suddenly, for no apparent reason, all workers hang at the same time at this line:
https://github.com/svven/summary/blob/master/summary/__init__.py#L193
By hanging I mean suspending the running job and leaving it in the started state. There's no exception whatsoever and it doesn't get passed that line so the job is not finished properly. Then it gets to the next job and does the same thing going on in this "strike" mode until the main worker process is killed. All running workers behave this way. Newly started workers perform properly though.
It's a very peculiar issue and I haven't been able to reproduce it. It just happens after a while - few hours or even days, probably depending on the number of URLs that had been processed.
Running out of available sockets may be the cause of the problem, I think it's a good assumption but I didn't verify it yet. What puzzles me is the fact that I get no exception whatsoever, the child (forked) process doing the job simply dies at that line.

That's not a bad idea.

I'm also not entirely certain it's a good idea for the reasons you mentioned. The major benefit is that it would then match exactly the behaviour most users seem to expect from it.

Regarding the proposed solution, isn't it enough to self.raw.release_conn() while closing?
I don't want to be picky but reading the whole response would trash a good part of summary. As stated there, "summary extraction is performed gradually by parsing the HTML <head> tag first, applying specific head extraction techniques, and goes on to the <body> only if data is not complete."
Oh by the way, while iterating the HTML response, the routine starts iterating through image files from that page and does so in the same manner having stream=True. So basically:
with contextlib.closing(requests.get(html_url, stream=True)) as html_response:
    # do some stuff with html_response like getting the img_url
    with contextlib.closing(requests.get(img_url, stream=True)) as img_response:
        # check the image file

Is this bad? Still it is working fine for a while.. but it may keep sockets from being released I guess..
Anyways if you have any hints please let me know, cheers

Regarding the proposed solution, isn't it enough to self.raw.release_conn() while closing?

No. That releases a connection back to the connection pool in urllib3 which does not necessarily close the underlying socket.

Is this bad?

Not exactly. If you weren't using stream=True in the first place, you would get a performance benefit from using a session if html_url and img_url used the same scheme and host. Since you are using stream=True you're still creating 2 sockets (which are the expensive part of the request/response cycle). That's probably more information than you wanted to know, but I thought you might be interested anyway.

I don't want to be picky but reading the whole response would trash a good part of summary.

There isn't a really good way to forcibly close the socket otherwise. Not without digging 6 or 10 layers deep into the response object from urllib3 to find the socket. I've been down those layers before, and most of the paths are through internal (private) methods and attributes which no one should be relying on for any reason.

Also, I'd expect the 'running out of sockets' case not to be a 'block forever' error mode, but a 'die instantly' mode. If you hit your ulimit I'm pretty sure you get killed.

Yes that's exactly what happens - it doesn't 'block at all', but it just 'dies instantly'.
I'll try to monitor the sockets and verify this assumption, but if 'running out of sockets' is the reason, how can I prevent this from happening? Isn't there a way to get an exception in this case? To me this looks like a bug, especially if the sockets are not released in case of partial requests.get with stream=True.

I wonder if calling select and checking if the socket is marked readable is a good idea. If it is we can pre-emptively close it, because either there's still data on it (and so it hasn't been exhausted) or it was closed remotely (and so closing it here is a no-op). @sigmavirus24?

(Note that doing this might belong in urllib3: @shazow?)

Maybe I'm missing something, but shouldn't we close the socket on Response.close()?
I mean even for streaming requests, closing the response means one doesn't care about the rest of the data, so why keep the socket open?

I wonder if calling select and checking if the socket is marked readable is a good idea.

Isn't select a problem on Windows?

Maybe I'm missing something, but shouldn't we close the socket on Response.close()?

Quoting myself from a few comments up:

There isn't a really good way to forcibly close the socket otherwise. Not without digging 6 or 10 layers deep into the response object from urllib3 to find the socket. I've been down those layers before, and most of the paths are through internal (private) methods and attributes which no one should be relying on for any reason.

Further, summary will probably already get "trashed" if at any point you receive a redirect that has a body. We use the same logic as I'm proposing for Response.close when following redirects to prevent a socket leak in the case where stream=True.

Select is fine, poll is nonexistent on Windows.

@sigmavirus24: Ok I understand there's no easy way to access the socket..
But in my opinion, reading the whole content of the response when stream=True defies the purpose of having the streaming feature, isn't it?
Anyway if requests follows the redirects there're no problem with summary. It actually follows http_equiv_refresh "redirects" as well: https://github.com/svven/summary/blob/master/summary/init.py#L209
Getting back to the actual issue..
I'm trying to reproduce the problem like this: https://gist.github.com/a684c1e96afdaf2c5657.git
Do you think that psutil.Process.connections would show leaking sockets? Didn't try it properly yet but seen it running on Windows and Ubuntu, interesting how they behave differently, but no signs of leaking sockets for ~300 URLs.
I'll try it out on OS X tonight where I experienced the "worker strike" issue, and I'll feed it more URLs.
Am I on the right track here?

Select is fine, poll is nonexistent on Windows.

Right. I always think poll is affected too. Sorry.

Anyway if requests follows the redirects there're no problem with summary.

If the request is empty there's no problem for you. If it isn't empty then we have to consume the entire socket which is exactly what I'm proposing we do here to fix it. So if you're encountering redirects in any number and summary isn't having problems with them, then this solution shouldn't "trash" summary either. Have you done any performance benchmarks to see if this has a realistic effect on summary's performance or is this a pre-benchmark optimization?

Do you think that psutil.Process.connections would show leaking sockets?

Judging by the documentation it should show sockets that are potentially still open. I've had mixed luck with psutil in trying to reproduce other things though that system tools generally seem to handle better.

Didn't try it properly yet but seen it running on Windows and Ubuntu, interesting how they behave differently, but no signs of leaking sockets for ~300 URLs.

Didn't you say this took days to occur? I doubt it would appear overnight if you've only encountered it after days of summary running.

I'll try it out on OS X tonight where I experienced the "worker strike" issue, and I'll feed it more URLs.
Am I on the right track here?

It would seem so, but I'd rather keep the discussion of the enhancement at the core of this issue. If you want help debugging this, we can do it in IRC.

Have you done any performance benchmarks to see if this has a realistic effect on summary's performance or is this a pre-benchmark optimization?

Nope, pre-benchmark optimization indeed but also empirical observation.
I know that establishing connections is the expensive part as you said, but still I'd like to avoid downloading useless content if possible.

Didn't you say this took days to occur?

Yes indeed, it will take a while to reproduce this, maybe I'll switch to using summary instead of requests and see the difference in socket usage. If that doesn't work I'll throw in rq as well.
Regarding the enhancement I can't say much and maybe I didn't quite get your proposed solution.
But it seems that by getting the whole content you're turning a streaming request into a regular one.

I wonder if calling select and checking if the socket is marked readable is a good idea. If it is we can pre-emptively close it, because either there's still data on it (and so it hasn't been exhausted) or it was closed remotely (and so closing it here is a no-op)

I've always assumed that this is in effect what https://github.com/shazow/urllib3/blob/master/urllib3/util/connection.py#L12 does, among other things.
I'm not sure always consuming a socket before closing is a great idea, there could be a lot to consume or it could be a never-ending streaming connection etc.

I'm not sure always consuming a socket before closing is a great idea, there could be a lot to consume or it could be a never-ending streaming connection etc.

Exactly my point. Any other suggestions?
—
Sent from Mailbox
On Tuesday 6 Jan 2015 at 18:50, Andrey Petrov<EMAIL_ADDRESS>wrote:
I wonder if calling select and checking if the socket is marked readable is a good idea. If it is we can pre-emptively close it, because either there's still data on it (and so it hasn't been exhausted) or it was closed remotely (and so closing it here is a no-op)
I've always assumed that this is in effect what https://github.com/shazow/urllib3/blob/master/urllib3/util/connection.py#L12 does, among other things.
I'm not sure always consuming a socket before closing is a great idea, there could be a lot to consume or it could be a never-ending streaming connection etc.
—
Reply to this email directly or view it on GitHub.

Exactly my point. Any other suggestions?

It seems this thread is on the right track. Closing a socket should be sufficient, need to figure out why it's not working as expected in this case.

Sorry guys, it's not what we assumed, the sockets are being closed properly.
It's a different problem which has to do with requests being used in both a main process and a forked process -- the rq custom worker. If the network goes down even for a short while, requests raises few exceptions then it becomes unusable and the forked processes get killed instantly if they try to use it. This messes up rq jobs by leaving them in the 'started' status, so this is also an rq issue.
I've put up a gist to reproduce the problem, but I'll create a new bug ticket and describe it there.
Thanks a lot for your support


haskell: set buildInputs in nix-shell env

Motivation
nix-shell for Haskell projects with foreign library dependencies is broken because GCC cannot find headers or libraries.
systemBuildInputs goes in buildInputs (instead of nativeBuildInputs) so that
NIX_CFLAGS_* is set correctly and gcc works.
Testing

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] ~Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)~
[ ] ~Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"~
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Because Haskell packages use a separate shell environment not derived from the build environment, this should not affect the build of anything in Nixpkgs.

This has come up before. Personally, I don't want system libraries to be found automatically. I want the necessary search paths to be configured with Cabal so that these paths are recorded in the generated package config files. This is necessary for packages compiled inside of a nix-shell environment to work outside of that environment, too.

See also https://github.com/NixOS/nixpkgs/pull/28033 for previous discussions.

Do you think your concerns in #28033 are still relevant now that both cabal and stack read shell.nix?

In any case, systemBuildInputs should not be in nativeBuildInputs because these inputs are for the host machine, not the build machine. So if you don't want systemBuildInputs to go into buildInputs, then they should be removed entirely.

now that both cabal and stack read shell.nix?

 Suddenly every build tool knows about every other build tool :worried:.

This has come up before. Personally, I don't want system libraries to be found automatically. I want the necessary search paths to be configured with Cabal so that these paths are recorded in the generated package config files.

Since there’s now multiple people who independently requested picking up the shell environment, maybe it’s time to find a compromise that works for both use cases?

 Suddenly every build tool knows about every other build tool 😟.

I think we've been back and forth about this before. I see what you're saying, but let me counter: Nix is set up like a build server; cabal is just using it like one!
It's better than this situation:

the necessary search paths to be configured with Cabal so that these paths are recorded in the generated package config files

This only works because of a bug in cabal that the package config cache is not invalidated when the environment changes. And when the cache is finally invalidated, it breaks the cache regeneration. Finally, when cabal projects are enabled by default, it probably won't work at all because the cache invalidation bug will be fixed.

Since there’s now multiple people who independently requested picking up the shell environment, maybe it’s time to find a compromise that works for both use cases?

Overlays?

In any case, systemBuildInputs should not be in nativeBuildInputs because these inputs are for the host machine, not the build machine. So if you don't want systemBuildInputs to go into buildInputs, then they should be removed entirely.

You are right, that is a good point. Let's fix that issue now and worry about whether to remove them entirely or not in a separate PR.


Linting

I noticed a couple of linting issues after opening the project on my editor so I made some small changes and added a lint task.

@pcanterini Thanks a lot! Will review and merge quickly!

@pcanterini Thanks buddy. Good work!


etcd needs a secondary port to allow listening to both secure and insecure client connections

Currently the recommended configuration for etcd clustering uses TLS communications on the IANA-registered port 2379/tcp.  If, however, clients that do not support TLS need to be allowed to connect to etcd alongside TLS-capable clients, there are a few options, none ideal:

Pick an arbitrary secondary port and bind it to listen to insecurely.  This is strongly frowned on as many times those ports will conflict with IANA-registered ports.  It also leads to a situation where there is no consistency in the full set of ports etcd can be expected to listen on.
Run an etcd proxy on the client host that binds 2379/tcp and listens insecurely on localhost only.  This breaks the common expectation that HTTPS and HTTP will always be listening on different ports.
Run completely insecurely.

I propose we apply for a new IANA port (12379/tcp is currently unassigned and was suggested by @xiang90) and modify our standard usage as follows:

HTTPS clients always connect on 2379/tcp
HTTP clients always connect on 12379/tcp (or whatever other port we end up getting assigned).

It is probably not necessary to have a secondary port for peers, since I can't imagine a situation in which some peers can connect via TLS and some can't, but if we do think we should have it, 12380/tcp is also currently unassigned.

@omkensey Now etcd can listen on the same port for both TLS and non-TLS.
I guess some people might still want the TLS and non-TLS separation though. Not sure if we need another official port.
/cc @philips @brianredbeard Opinions?

I think if that's working, we should just scrub all references to other ports in the docs, stop etcd listening on those ports by default, and forget they were ever used.

@omkensey Sure. We will check if we suggest other ports to users and we will add the tls/non-tls on the same port doc soon.

The current practice of having TLS and non-TLS on the same port, if configured, is fine with me.

+1 to @omkensey and @philips comments


Add installation guideline for Windows users

What type of suggestions?
Missing Information
What page is concerned?
https://github.com/kubefirst/kubefirst/blob/main/build/README.md
What is the issue?
Add installation guideline for Windows users, which would consist of using the Windows subsystem for Linux.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Claywd assigning this to you since you volunteered :)

I can jump on this issue for the start. What do you think @fharper ?

@Taiwrash that would be awesome! That should be quite straightforward, but there may be some additional steps needed on Windows to make kubefirst works.
@k8swrangler is using it on Windows, so if you have questions, he will be able to help. I also got a Windows machine recently, so I'll also use kubefirst on it soon, I may be able to help.
If you have any questions, feel free to ask here, in the #contributors channel in our Slack community, or DM me in Slack.

Thanks for the info. Please, @k8swrangler, how did you install kubefirst? You can just highlights those steps and I will develop a complete guide from their.

@Taiwrash I assume you have some Windows & WSL2 knowledge as you wanted to tackle that task, so can you start by trying on your side first, and see if it's working with WSL2 right away, or if there are additional steps that we could help with :)

@Taiwrash we didn't hear from you about this issue for about a month, and we really need to move forward with that and have some docs about Windows installation, so I'll take on this issue, sorry. If you still want to contribute, let me know and we can find issue that would be good for you.

Oops! I was actually acting on the instruction you gave as regards cleaning up that you are making. You said I should wait for some more time before completing the project. No problem it all good. I will like to pick up another issue @fharper


Show an icon to differentiate shared sensors from own ones

Let's design first before implementing. Assigned to S-M.
Same icon could be used on mobile apps too.

Closing this one for now. Let's consider implementing it later.


Install Thetis in the Docker container

No big deal to include Thetis and it would be useful, especially when working on Goalie-Thetis compatibility.

Note https://github.com/pyroteus/goalie/wiki/Running-on-HPC.

Reopening since I had to revert this in #91. See discussion in issue #79.

@jwallwork23 did you try installing Thetis with the updated build?

@jwallwork23 did you try installing Thetis with the updated build?

I hadn't, but thanks for the suggestion. Looks good: https://github.com/mesh-adaptation/mesh-adaptation-docs/pull/31.


./build.sh all hangs during installation of npm packages

Describe the bug
Command ./build.sh all hangs while running the command ng build --prod "--output-path" "/build/app/static". After some timeout ng is killed and the installation process failes. I'm running the setup on a Hetzner CX11 instance. Could it be that it does not have the power to run it correclty?
How to Reproduce

Get a Hetzner CX11 instance
Install official docker
git clone https://github.com/OpenSlides/OpenSlides.git
run ./build.sh all

Expected behavior
Compilation runs through so one can run docker-compose up
System information

OpenSlides-Version: [current master]
Additional version information (if any): [e.g. commit hash or installation-month]
Python Version: [none]
Device: [Hetzner CX11]
OS: [ubuntu 20.04.1]

Screenshots
...

Step 15/19 : RUN npm run build-to-dir /build/app/static
 ---> Running in 70536dd9fb5b

><EMAIL_ADDRESS>build-to-dir /build/app
> npm run build -- --output-path "/build/app/static"

><EMAIL_ADDRESS>build /build/app
> ng build --prod "--output-path" "/build/app/static"

Warning: Entry point 'ngx-papaparse' contains deep imports into '/build/app/node_modules/papaparse/papaparse.min.js'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Generating ES5 bundles for differential loading...
Killed
npm ERR! code ELIFECYCLE
npm ERR! errno 137
npm ERR<EMAIL_ADDRESS>build: `ng build --prod "--output-path" "/build/app/static"`
npm ERR! Exit status 137
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!  OpenSlides3-Client@3.2.0 build-to-dir: `npm run build -- --output-path "/build/app/static"`
npm ERR! Exit status 137
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-to-dir script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/openslides/.npm/_logs/2020-10-19T16_21_03_154Z-debug.lo

Could it be that it does not have the power to run it correclty?

yes. We used to have a flag for increasing the minimum amount of necessary RAM for ng build --prod to at least 4GB (of effectively usable memory), but I disabled it with angular 9 since ram management in npm got slightly better. Even on Linux 2GB of memory is not enough to build angular applications in prod mode.

I see. I upscaled my instance and ./build.sh all runned through :)


after new-netnat , ping -l 1473 [gateway] timeout

in my case
my system has 1 wireless and 2 RJ45 port
wireless and one RJ45 as a external port, another RJ45 as internal port that fix ip <IP_ADDRESS>/24
I create a nat
New-NetNat -Name TEST_NAT -InternalIPInterfaceAddressPrefix <IP_ADDRESS>/24
after new-netnat , ping -l 1473 [gateway] timeout ,
and then remove-netnat   -Name TEST_NAT, ping -l 1473 [gateway]  is ok
BTW; ping -l 1472 [gateway] is ok

This repository is for PowerShell core documentation. You seem to be looking for support, which we can't provide here.
I suggest you try posting your issue with context in one of the available community support forums.


chore: restore simps that used to work

!bench

I added !bench although I don't really expect any regression in speed, but just to be sure...

There's some overlap with #12128 (but not too bad). In any case, thanks for doing this also!

There's some overlap with #12128 (but not too bad). In any case, thanks for doing this also!

Haha, that was almost at the same moment...
Happy to do rebasing in either order..

If you want to continue along this vein, this branch of mine contains a few more changes that I haven't cleaned up yet (and my three porting notes PRs of this morning). I will eventually get to these. But if you want (no pressure!!), feel welcome to crib/clean those up.

If you want to continue along this vein, this branch of mine contains a few more changes that I haven't cleaned up yet (and my three porting notes PRs of this morning). I will eventually get to these. But if you want (no pressure!!), feel welcome to crib/clean those up.

I have no commits in the vein planned, so please go ahead without me

bors merge


PDF export fails for large diaries

It has been reported that the PDF export fails if the diary contains a very large number of entries.

how to insert a photo into a diary? Add a feature, please


Defrag: Fix formatting in Scheduled task

I submitted another pull request that include additional changes to Scheduled task section along with the formatting changes.


Fatal error after west flash for nucleo_l053r8

Describe the bug
I've been following the getting started guide, and everything went well until the west flash command. That command fails with a fatal error.
Please also mention any information which could help others to understand
the problem you're facing:

What target platform are you using? nucleo_l053r8
What have you tried to diagnose or workaround this issue? tried using st-flash to flash image, failed, see below
Is this a regression? If yes, have you been able to "git bisect" it to a
specific commit? Didn't try previous versions

To Reproduce
Steps to reproduce the behavior:

Follow the getting started tutorial step by step on nucleo_l053r8, and west flash fails.

Logs and console output
This is the output of the west flash command :
(.venv) > west flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner openocd
-- runners.openocd: Flashing file: /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex
Open On-Chip Debugger 0.11.0+dev-00724-g42b6471c1 (2022-08-17-18:23)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 300 kHz
Info : STLINK V2J40M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.251613
Info : [stm32l0.cpu] Cortex-M0+ r0p1 processor detected
Info : [stm32l0.cpu] target has 4 breakpoints, 2 watchpoints
Info : starting gdb server for stm32l0.cpu on 3333
Info : Listening on port 3333 for gdb connections
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
 0* stm32l0.cpu        hla_target little stm32l0.cpu        running

Info : Unable to match requested speed 300 kHz, using 240 kHz
Info : Unable to match requested speed 300 kHz, using 240 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x080007b4 msp: 0x20002000
Info : Device: STM32L0xx (Cat. 3)
Info : STM32L flash size is 64kb, base address is 0x8000000
auto erase enabled
wrote 16384 bytes from file /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex in 3.245303s (4.930 KiB/s)

Info : Unable to match requested speed 300 kHz, using 240 kHz
Info : Unable to match requested speed 300 kHz, using 240 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x08000e2c msp: 0x200007a0
verified 13180 bytes in 0.568584s (22.637 KiB/s)

Info : Unable to match requested speed 300 kHz, using 240 kHz
Info : Unable to match requested speed 300 kHz, using 240 kHz

FATAL ERROR: command exited with status 1: /home/theuser/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/bin/openocd -s /home/theuser/zephyrproject/zephyr/boards/arm/nucleo_l053r8/support -s /home/theuser/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts -f /home/theuser/zephyrproject/zephyr/boards/arm/nucleo_l053r8/support/openocd.cfg '-c init' '-c targets' -c 'reset halt' -c 'flash write_image erase /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset halt' -c 'verify_image /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset run' -c shutdown

So, I've executed the very same command with -d flag, and this is the output. Note : after every west flash attempt I properly re-flash using a dummy project in stm32cubeide, because until I do that, it's completely unresponsive
(.venv) > /home/theuser/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/bin/openocd -d -s /home/theuser/zephyrproject/zephyr/boards/arm/nucleo_l053r8/support -s /home/theuser/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts -f /home/theuser/zephyrproject/zephyr/boards/arm/nucleo_l053r8/support/openocd.cfg '-c init' '-c targets' -c 'reset halt' -c 'flash write_image erase /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset halt' -c 'verify_image /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset run' -c shutdown

logfile.txt
Environment (please complete the following information):

OS: 5.19.8-arch1-1
Zephyr SDK 0.15.0

Additional context
Right after the first failure of west flash, if I try it again, I get a different error output :
(.venv) > west flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner openocd
-- runners.openocd: Flashing file: /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex
Open On-Chip Debugger 0.11.0+dev-00724-g42b6471c1 (2022-08-17-18:23)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 300 kHz
Info : STLINK V2J40M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.256353
Error: init mode failed (unable to connect to the target)

FATAL ERROR: command exited with status 1: /home/theuser/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/bin/openocd -s /home/theuser/zephyrproject/zephyr/boards/arm/nucleo_l053r8/support -s /home/theuser/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts -f /home/theuser/zephyrproject/zephyr/boards/arm/nucleo_l053r8/support/openocd.cfg '-c init' '-c targets' -c 'reset halt' -c 'flash write_image erase /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset halt' -c 'verify_image /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset run' -c shutdown

And I keep getting that output until I flash using a dummy project in stm32cubeide. Only after that being successful, can the original error of west flash be reproduced again.
Also, I tried to do st-flash --format ihex write /home/theuser/zephyrproject/zephyr/build/zephyr/zephyr.hex, but that resulted in :
(.venv) > st-flash --format ihex write /home/debkorisnik/zephyrproject/zephyr/build/zephyr/zephyr.hex
st-flash 1.7.0
2022-09-23T01:52:37 INFO common.c: L0x3: 8 KiB SRAM, 64 KiB flash in at least 128 byte pages.
2022-09-23T01:52:37 INFO common.c: Attempting to write 13180 (0x337c) bytes to stm32 address: 134217728 (0x8000000)
2022-09-23T01:52:37 INFO common.c: Flash page at addr: 0x08000000 erased
2022-09-23T01:52:37 INFO common.c: Flash page at addr: 0x08000080 erased

...

2022-09-23T01:52:38 INFO common.c: Flash page at addr: 0x08003280 erased
2022-09-23T01:52:38 INFO common.c: Flash page at addr: 0x08003300 erased
2022-09-23T01:52:38 INFO common.c: Finished erasing 103 pages of 128 (0x80) bytes
2022-09-23T01:52:38 INFO common.c: Starting Flash write for L0
2022-09-23T01:52:38 INFO common.c: Starting Half page flash write for STM32L core id
2022-09-23T01:52:38 INFO flash_loader.c: Successfully loaded flash loader in sram
2022-09-23T01:52:38 INFO flash_loader.c: Clear DFSR
2022-09-23T01:52:39 ERROR flash_loader.c: Flash loader run error
2022-09-23T01:52:39 WARN flash_loader.c: Loader state: R2 0xFFFFFFFF R15 0x8000E2C
2022-09-23T01:52:39 WARN flash_loader.c: MCU state: DHCSR 0x1080009 DFSR 0x0 CFSR 0x0 HFSR 0x0
2022-09-23T01:52:39 WARN common.c: l1_stlink_flash_loader_run(0x8000000) failed! == -1
2022-09-23T01:52:39 WARN common.c:
write_half_pages failed == -1

And the process never ends until I kill it.
Also, I saw #50306, and tried a quick and dirty solution to change reset_config srst_nogate to reset_config srst_only srst_nogate in stm32l0.cfg, didn't work.

It seems there is a regression coming from the openocd version packed with the latest SDK. This is under investigation.
Here are a few workarounds:
1- You should be able to flash by pressing the reset button.
2- Alternatively, you can edit the board's board.cmake file and add:
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset=hw")
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)

and flash using --runner=stm32cubeprogrammer.
Of course, this requires stm32cubeprogrammer installation, and that it is available in you environment ($PATH on Linux).

Hey thanks, that works for flashing.  However, nothing is blinking on my board when I flashed blinky. Any tips on how to get debugging to work? west debug uses openocd too which doesn't work.

Ok, it seems there is something quite weird about this board. I don't have explanation so far.
I can get things working nicely on similar nucleo_l073rz.
I've tried to use previous Zephyr version as well. No more luck, which is even more strange.

Moving priority to low as only this board is impacted.

Note: nucleo_l011k4 working as expected.

building for the nucleo_l053r8 `west build -p auto -b nucleo_l053r8 samples/basic/blinky
and flashing (west flash) on a nucleo_l073rz
works on this target board : LD2 is blinking


Expand env vars in yaml config and use a dotenv

This will load a .env file before it loads a config. This will allow developers to much more easily store their code in public repos without credentials.
This would allow to have a .env file that looks like
DEV_PASSWD=0bwef09hn23048sdkl2345n2k3

Config looks like this:
development:
  password: ${DEV_PASSWD}
  theme_id: "105994886"
  store: can-i-buy-a-feeling.myshopify.com

The commands can be run like this
$> theme download

Warn Checklist

[x] This changes the interface and requires a Major/Minor version change.
[x] I have :tophat:'d these changes by using the commands I changed by hand.
[x] I have added a dependancy to the project.

use https://github.com/shibukawa/configdir for loading a environment file


[Style] Enhance the components category symbols

What's the style idea?
We could give previews of each

and can also enhance the symbols in the below image

Can you assign it to me? @ra
Full name: Akshitha Reddy
GitHub profile link: Akshitha-reddy-13
Email ID<EMAIL_ADDRESS>What is your participant role?: GSSoC-2024 contributor
Can you add the label for GSSoC, please?
Thanks.
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[x] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

The icons are looking ordinary, and the user interface is not attractive, so i would like to change the user interface in a more efficient way.

Go ahead @Akshitha-reddy-13

Pls provide your PR @Akshitha-reddy-13

Please excuse me for 2 days I will provide PR by Saturday night.

Sorry


CI: Increase timeout for some render tests for debug builds

Signed-off-by: Larry Gritz<EMAIL_ADDRESS>

This looks good. I just tried another approach in #1547, to set an increased timeout for all render tests (we'll see if I got the cmake syntax right ...)


Execution of checker in the detached process

I have a long-running process (for example big compilation), which is executed through Syntastic. What I am bothered with is, that VIM is blocked while Syntastic executes and there is also no progress (debug information on stdout) printed.
So my question is: could we detach a process and just display a "Syntastic running pid $pid" message instead of errors?

No.  Syntastic was written for Vim 7, and it doesn't support any form of job control.  You might consider switching to ALE instead, which is newer and actively maintained.


Breaking line problem on sequence labeling task when selected text is too long.

System information

Any OS

Describe the problem
The following problem was reported by a user:

I've accidentally selected almost entire text and annotated it. Now I cannot delete this annotation (pictures below). What could I do? Even if I knew how to redo it (the Ctrl+z does not work) I would not do it since I begun to annotate later texts. What should I do?

Solution
A quick-fix solution is to modify annotation.css as follows:
.content .tag {
  font-size: 16pt;
  height: 1.5em;
  padding-left: .5em;
  padding-right: .5em;
  white-space: unset;  /* Add */
  height: auto;        /* Add */
}

But I think we will check the problem carefully.

Sure, I will reimplement this bug locally and then we can have a talk.

Beside this issue, we also solve the delete button margin problem in the label page.
Before

After


Bug report: An alternation can not be used inside an optional.

👓 What did you see?

[Info  - 19:03:16] Reindexing file://c:\develop\HIDDEN
[Info  - 19:03:16] * Found 63 feature file(s) in ["tests/e2e/specs/**/*.feature"]
[Info  - 19:03:16] * Found 1135 steps in those feature files
[Info  - 19:03:18] * Found 62 glue file(s) in ["tests/e2e/specs/**/*.js"]
[Info  - 19:03:18] * Found 0 parameter types in those glue files
[Info  - 19:03:18] * Found 463 step definitions in those glue files
[Error - 19:03:18] * Step Definition errors: Error: This Cucumber Expression has a problem at column 21:

entro no detalhe d(a/o) {string}
                    ^
An alternation can not be used inside an optional.
You can use '\/' to escape the the '/'
    at mT (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:67:79659)
    at e0 (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:1105)
    at Gk (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2717)
    at bT (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2874)
    at c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2484
    at Gk (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2717)
    at bT (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2874)
    at Bk (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2005)
    at Gk (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2717)
    at bT (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2874)
    at c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2484
    at ic.parse (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:2376)
    at new Mi (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:5199)
    at ma.createExpression (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:84:11734)
    at c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:448:748
    at Lf.eachStepDefinitionExpression (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:445:1237)
    at Af.build (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:448:695)
    at bc.<anonymous> (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:454:18598)
    at Generator.next (<anonymous>)
    at u (c:\Users\cloud\.vscode\extensions\cucumberopen.cucumber-official-1.7.0\out\extension.js:454:11308)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

✅ What did you expect to see?

📦 Which tool/library version are you using?

Cucumber plugin: v1.7.0
VS code: 1.74.3
🔬 How could we reproduce it?

Steps to reproduce the behavior:

Install Cucumber extension v1.7 onto latest VS Code
Create any feature file
Have two Scenario:

# language: pt

Funcionalidade: XYZ

    Cenário: Editar XYZ
        Quando entro no detalhe da "XYZ"

    Cenário: Editar ZYX
        Quando entro no detalhe do "ZYX"

Create any spec file
Have one step definition:

import { When } from 'cypress-cucumber-preprocessor/steps'
const { wait } = cy

When('entro no detalhe d(a/o) {string}', () => {
  wait('@apisRequests')
})

📚 Any additional context?

This text was originally generated from a template, then edited by hand. You can modify the template here.

Thank you very much for raising @nklowns. This is expected behaviour of Cucumber Expressions; however arising from this issue, I have raised a pull request to improve the error message. If you have any feedback on it, please let us know. You can also raise a feature request to that repository if you would like support to be added for using alternations inside optionals.
An alternation can not be used inside an optional
If you did not mean to use an alternation you can use '\\/' to escape the '/'. Otherwise rephrase your expression or consider using a regular expression instead.

@nklowns, modifying your step definition from d(a/o) to d/da/do, d(a)/do or d(a)/d(o) will resolve the issue and match your steps as expected

If changing to the above doesn't meet your use case and you had a different intention, please advise and will see if an appropriate solution can be provided.


Documentation: Tutorial: Chapter7 Http: .ts file endings for for HTML files

The Angular 2 tutorial at https://angular.io/docs/ts/latest/tutorial/toh-pt6.html several time has in the header of file excerpts .ts extension instead of .html.
Example:

Add the following HTML to the heroes.component.html, just below the hero list (the *ngFor).
app/heroes.component.ts (add)
... HTML code here ...

We know. We fixed and merged it. Awaiting publication


引入包后proxy-target-class=true 失效

The bean 'redisService' could not be injected as a 'com.finup.newbrand.framework.RedisService' because it is a JDK dynamic proxy that implements:
Action:
Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.

是因为你使用了@Enableasync?

这个问题已经解决了。用6.4.1版本。

解决方法，在配置文件中增加下面的配置：
autoload.cache.proxy-target-class=true


Feature Request - public method for saving variables to settings.json

@edumeneses
Would it be possible to have a public method for saving variables to the esp32 spiffs filesystem? It would be nice for saving calibration variables that might update during runtime and need to be maintained in between sessions.
puara.saveVarNumber(std::string variable_name, int value)
puara.saveVarText(std::string variable_name, std::string value)

Basically, just a save version of the getVarNumber and getVarText. From what I can tell most of the functionality is there already for the webpage. I can implement it myself if it is simple enough just need some pointers.

It seems the method write_settings_json is already public. The problem is that the variables vector, that stores the settingsVariables structs is private.
We can:

make the settingsVariables struct public, and then
create a small function that inserts new items into the variables vector.

That would allow emplacing a new settingsVariables instance into the variables vector, and then call write_settings_json to save the changes into the settings.jsonfile.
Would that be enough to cover your use case?

On second thought, we might also want to remove entries.
We can make intead:

a function with std::string name, std::string type, std::string textValue, and double numberValue as arguments to create an item into the variables vector
a function with std::string name as an argument, that removes matches from the variables vector

In this case, we probably need a check for duplicates on the variables vector, as it might break cJSON when deserializing the file.


Documentation - Readme

[ ] Readme examples
[ ] Getting started details
[ ] #28

https://github.com/tensorops/TransformerX/issues/28


License correct url

Pull Request Test Coverage Report for Build 54

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 53:
0.0%

Covered Lines:
68

Relevant Lines:
68

💛  - Coveralls

Hey @luizbills and thanks for the PR! The project follows the Angular commit convention for commit messages, as mentioned in the contributing guidelines.
If you committed from GitHub and therefore don't have access to Commitizen, you can do it manually (in your case this would be something like docs(readme): Fix license URL).
This will require for you to submit a new PR, I'll let you do it and close this one.

Oh ok @sarahdayan
I just need rename my commit message to docs(readme): Fix license URL. Right?

@luizbills Yes. I don't think you can directly rename a commit message so you might have to create a new PR and close this one.


Agent upgrades each time it starts up from Image

We've been having this issue for a while, where agents created from images go through the upgrade step everytime they are started up.  Even if I let an agent fully upgrade, then take a new image, and use that image, the next time it starts up, it will upgrade again.  This in addition to the time it takes Azure to start a VM is killing us.
We're using TC 2017.2 (50574) and 0.65 of the plugin.  We have the plugin set to re-use VM's as well.
I've attached a sample upgrade.log from one of the agents.
upgrade.log

@mscrivo, thanks for reporting. Could you please also share the teamcity-agent.log file from this agent, since upgrade.log contains no details about the cause of this upgrade. You could file an issue in the TeamCity tracker, where it's possible to attach logs privately.

done: https://youtrack.jetbrains.com/issue/TW-52842


RuntimeError raised in function pqDist_one in Retrieval.py during evaluation

def pqDist_one(C, N_books, g_x, q_x):
    l1, l2 = C.shape
    L_word = int(l2/N_books)
    D_C = T.zeros((l1, N_books), dtype=T.float32)

    q_x_split = T.split(q_x, L_word, 0)
    g_x_split = np.split(g_x.cpu().data.numpy(), N_books, 1)
    C_split = T.split(C, L_word, 1)
    D_C_split = T.split(D_C, 1, 1)

    for j in range(N_books):
        for k in range(l1):
            D_C_split[j][k] = T.norm(q_x_split[j]-C_split[j][k], 2) # ERROR OCCURRENCE
        if j == 0:
            dist = D_C_split[j][g_x_split[j]]
        else:
            dist = T.add(dist, D_C_split[j][g_x_split[j]])
    Dpq = T.squeeze(dist)
    return Dpq

With out any modification during my recurrence, a runtime error occurred at the commented line above:
RuntimeError: A view was created in no_grad mode and is being modified inplace with grad mode enabled. This view is the output of a function that returns multiple views. Such functions do not allow the output views to be modified inplace. You should replace the inplace operation by an out-of-place one.

I tried to add .detach() to the end of that line:
def pqDist_one(C, N_books, g_x, q_x):
    l1, l2 = C.shape
    L_word = int(l2/N_books)
    D_C = T.zeros((l1, N_books), dtype=T.float32)

    q_x_split = T.split(q_x, L_word, 0)
    g_x_split = np.split(g_x.cpu().data.numpy(), N_books, 1)
    C_split = T.split(C, L_word, 1)
    D_C_split = T.split(D_C, 1, 1)

    for j in range(N_books):
        for k in range(l1):
            D_C_split[j][k] = T.norm(q_x_split[j]-C_split[j][k], 2).detach() # SOLVED
        if j == 0:
            dist = D_C_split[j][g_x_split[j]]
        else:
            dist = T.add(dist, D_C_split[j][g_x_split[j]])
    Dpq = T.squeeze(dist)
    return Dpq

and it worked correctly, at least for my machine.
BTW: I'm working with Pytorch-1.9 + Cuda-11.1.

Thanks for your contribution! There might be some issues with different torch version. I will remark your suggestion in our code :)


[beta] backport fix for publishing with optional dependencies.

Beta backport of #8853.

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

:warning: Warning :warning:

Pull requests are usually filed against the master branch for this repo, but this one is against rust-1.49.0. Please double check that you specified the right target!

@bors r+

:pushpin: Commit 24438a4134149e3a985a802e76ce9a7804d9e66a has been approved by Eh2406

:hourglass: Testing commit 24438a4134149e3a985a802e76ce9a7804d9e66a with merge a6684b40ddc2a6b9b1808eb879bc24a0add113ff...

:sunny: Test successful - checks-actions
Approved by: Eh2406
Pushing a6684b40ddc2a6b9b1808eb879bc24a0add113ff to rust-1.49.0...


feat(feed-item-row): add attachment slot

feat(feed-item-row): add attachment slot

Obligatory GIF (super important!)

:hammer_and_wrench: Type Of Change

These types will increment the version number on release:

[x] Feature

:book: Jira Ticket
https://dialpad.atlassian.net/browse/DLT-1509
:book: Description
Added attachment slot for rendering images / videos to match new conversation view designs from: https://www.figma.com/file/GJiRmWORmDi0zxLJfwn8yp/Conversation-View-%2B-Messaging-Layouts?node-id=104%3A71837&mode=dev
Added a few more examples to the variants to demonstrate this.
:bulb: Context
Noticed when going through the issues on ticket DLT-1509 that we never implemented a separate attachment slot for images / video / pills etc. Everything currently just goes into the main content slot and this was causing some spacing issues. I think the attachment slot will work nicely for us to be able to control the styling of non text content as compared to text content. Will definitely take some reworking to get all the correct items passed into this slot on the product side but I think it will be worth it.
Note that we probably cannot render code blocks in the attachment slot as shown in the designs, as code blocks can be embedded in between text, for example:

here is a codeblock
my code here {
  codez();
}

here is some more text

:pencil: Checklist

For all PRs:

[x] I have ensured no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] I have reviewed my changes.
[x] I have added all relevant documentation.
[x] I have considered the performance impact of my change.

For all Vue changes:

[x] I have added / updated unit tests.
[x] I have made my changes in Vue 2 and Vue 3. Note: you may sync your changes from Vue 2 to Vue 3 (or vice versa) using the ./scripts/dialtone-vue-sync.sh script.

For all CSS changes:

[x] I have used design tokens whenever possible.
[x] I have used gap or flexbox properties for layout instead of margin whenever possible.

:crystal_ball: Next Steps
Pass correct elements into this slot on product.
:camera: Screenshots / GIFs

@bhawkins-dialpad Please verify the spacing / styling looks correct on feed-item-row variants page.

Looks good! These docs should probable be updated too:

Looks good! These docs should probable be updated too

Ah yes, thanks

I noticed there is an extra 2px of margin above the bottom slot dt-item-layout-bottom-wrapper

Good find, thanks fixed!


Openstack support

The Openstack cloud provider for Openshift needs the virtual machine to have the same name than the hostnames.
The just merged PR on openshift-ansible (https://github.com/openshift/openshift-ansible/pull/883) requires an additional parameter openshift_cloud_provider that must be set to openstack.

LGTM - just eyeballed, needs verification run.

@markllama Thanks for testing.
To make it run, you need an additional trick. As the Openshift packages for 3.2 are not available yet, you need to disable the check that is made in openshift-ansible to disable the feature if the version of openshift does not support it. To do so, we use the openstack-integration-wip of my fork of openshift-ansible that just add this commit : https://github.com/lebauce/openshift-ansible/commit/a50f4ae1137b2fb5f6abbafd9df55115a573284f
So to create the stack, you can pass an additional parameter to the stack-create command with a YAML file with the following content:
parameters:
  os_username: myuser
  os_password: mypassword
  os_tenant_name: mytenant
  os_auth_url: http://ip.of.keystone.server:5000/v2.0
  os_region_name: RegionOne
  openshift_ansible_git_url: https://github.com/lebauce/openshift-ansible.git
  openshift_ansible_git_rev: openstack-integration-wip
  extra_repository_urls: https://copr.fedorainfracloud.org/coprs/lebauce/origin/repo/epel-7/lebauce-origin-epel-7.repo

Seems to work fine, albeit there will be an issue with using an external dns (and autocreating dns records using designate-sink) this external dns has lower prio so we can figure out how to make it compatible later.


How can I change the color or style of the grid's headline?  Thank you.

!!! Reproduce the bug is important !!!
Post your code or upload a project to reproduce the bug
It's difficult to fix the bug without reproduce method

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Edition
Which edition of ReoGrid do you using?

Windows Form
WPF
Android

Environment (please complete the following information):

OS: [e.g. Windows 10]
Language of OS: English

Additional context
Add any other context about the problem here.

I have find  the way, thank you.


use vision data to estimate odometry

this would eventually lead into being able to use odometry comfortably in order for estimation when limelight cannot see target

verified in lab to work on real robot with expected values


Sort out applying different physics to subsets of an MFEM mesh

As an example, start with single mesh that contains both flow-only and EM-only domains and reproduce flow-only and EM-only standalone resuls

A few notes/thoughts as we start to look into this functionality...

Seems that there is not direct support for this in MFEM, at least as of two years ago, meaning that definining a GridFunction on a subdomain of a mesh is not possible.  See discussion on MFEM #1124.  Not immediately clear if subsequent developments have changed this situation.
One approach would be to create separate meshes for different physics from a single input mesh.  An example of how to do this is provided by the trimmer miniapp.  See discussion on MFEM #1551 and code at trimmer.cpp
If we take this approach (i.e., separate meshes for separate physics) we'll need to be able to interpolate or project fields between meshes (which is probably a capability we'll need eventually anyway).

Have we considered creating Vectors from elements sharing the same attribute? We could build meshes with different "physical attributes" and then create different vectors pointing to the elements of certain attributes.
We can get the attribute of an element from the GridFunction through the FiniteElementSpace, i.e.
Up->FESpace()->GetAttribute(elemID)

Have we considered creating Vectors from elements sharing the same attribute? We could build meshes with different "physical attributes" and then create different vectors pointing to the elements of certain attributes. Or just apply different sets of equations to elements with different attributes.
We can get the attribute of an element from the GridFunction through the FiniteElementSpace, i.e.
Up->FESpace()->GetAttribute(elemID)

Yes, I think anything we might do on a single mesh would have to be based on the element attribute.  But, I'm not following the specifics of your idea.  Tzanio contemplated three approaches in the discussion here (in MFEM #1124):

Allocate all variables over the whole mesh, with some variables being ignored in regions where they shouldn't be present.
Allocate variables only on the subdomains where the phyiscs dictates they live.
Define separate meshes for different physics and interpolate or project as necessary.

Item 1 seems easy to implement with existing MFEM capabilities, but is inefficient.  Item 2 is what I was thinking we would do, but isn't (or at least wasn't) directly supported by MFEM.  If it requires significant changes in MFEM or a lot of extra code on our part, maybe it is less attractive.  Item 3 seems like a reasonable approach, particularly given that we've contemplated using different mesh resolutions for different physics anyway, but would require an interpolation capability to come online immediately.
Does your idea sit in one of these categories or is it something different?

I guess I was thinking along the lines of item 2. Since generating two grid functions for two domains isn't supported I'd allocate the variables in two independent vectors and operate over the data in those vectors. The drawback would be that we'd need to create functions for the different operators in a way similar to what I've done with the GPU version, i.e., computing gradients wouldn't be as easy as calling GridFunction.ComputeGradient()

@marc-85: ok, I got it.  Thanks.

Comment for testing: expect to add additional bats test which runs a current flow and EM (parallel) test at the same time and verifies the solutions against running each independently.

Noting a couple recent mfem developments...

MFEM PR 315 offers a potential alternative to GSLIB-based solution transfer between meshes
Improved GSLIB support, including support for mixed meshes, appears to be on the horizon (see MFEM PR 2948)


test: Setup codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6a0c86d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #11   +/-   ##
=========================================
  Coverage          ?   96.59%
=========================================
  Files             ?       12
  Lines             ?      294
  Branches          ?        0
=========================================
  Hits              ?      284
  Misses            ?       10
  Partials          ?        0

Continue to review full report at Codecov.

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


GAM - Create report with emails from a specific domain

Hello
How to create a report in GAM with emails from a specific domain? I would like to list all emails from an internal domain.
Example<EMAIL_ADDRESS>What would be the syntax of the command?

Augusto,
gam print users domain
Ross
On Mon, Jul 2, 2018 at 1:06 PM AugustoScheffe<EMAIL_ADDRESS>wrote:

Hello
How to create a report in GAM with emails from a specific domain? I would
like to list all emails from an internal domain.
Example<EMAIL_ADDRESS>What would be the syntax of the command?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/742, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIU8LwXiqAOLr4QZcaahYgI_689HxJ8Jks5uCn1SgaJpZM4U_3rW
.

--
Ross Scroggs
<EMAIL_ADDRESS>

Thank you Ross.
Thank you very much, it worked perfectly.
Just one more question: In this command, only emails are displayed.
Is it possible to include the full name of the email account and the account suspension date?
For example, merge the commands below:
gam report users parameters accounts: admin_set_name, accounts: disabled_reason
with
gam print users domain
I would like to have this information in the same report, filtering only a specific domain.
Awaiting.

 ::=
addresses|address|
agreedtoterms|agreed2terms|
aliases|
changepasswordatnextlogin|changepassword|
creationtime|
deletiontime|
email|emails|otheremail|otheremails|
externalids|externalid|
familyname|firstname|fullname|givenname|lastname|name|
gender|
id|
ims|im|
includeinglobaladdresslist|gal|
ipwhitelisted|
isdelegatedadmin|admin|isadmin|
ismailboxsetup|
isenforcedin2sv|is2svenforced|
isenrolledin2sv|is2svenrolled|
keyword|keywords|
language|languages|
lastlogintime|
locations|location|
noneditablealiases|aliases|nicknames|
notes|note|
organizations|organization|
orgunitpath|org|ou|
phones|phone|
posixaccounts|posix|
primaryemail|username|
relations|relation|
ssh|sshkeys|sshpublickeys|
suspended|
thumbnailphotourl|photo|photourl|
websites|website
 ::= "(,)*"
gam print users [todrive] ([domain ] [(query )|(queries )] [deleted_only|only_deleted])
[groups] [license|licenses|licence|licences] [emailpart|emailparts|username]
[orderby  [ascending|descending]] [userview]
[allfields|basic|full | ((* | fields ) [schemas|custom all|])]
[delimiter ] [sortheaders]
gam print users domain  fields name,suspended
Ross
<EMAIL_ADDRESS>
On Jul 3, 2018, at 5:08 AM, AugustoScheffe<EMAIL_ADDRESS>wrote:
Thank you Ross.
Thank you very much, it worked perfectly.
Just one more question: In this command, only emails are displayed.
Is it possible to include the full name of the email account and the account suspension date?
For example, merge the commands below:
gam report users parameters accounts: admin_set_name, accounts: disabled_reason
with
gam print users domain
I would like to have this information in the same report, filtering only a specific domain.
Awaiting.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/742#issuecomment-402132585, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8Lx7VYZJNSLunyiGwW-URfcxH2RsMks5uC17agaJpZM4U_3rW.

It worked perfectly Ross.
In the suspensionReason column, only ADMIN information appears. Can I also view the date that the account was suspended?

Augusto,
No, that API does not return the date.
You can get it here: gam report user user<EMAIL_ADDRESS>parameters
accounts:disabled_reason
Ross
On Tue, Jul 3, 2018 at 6:46 AM AugustoScheffe<EMAIL_ADDRESS>wrote:

It worked perfectly Ross.
In the suspensionReason column, only ADMIN information appears. Can I also
view the date that the account was suspended?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/742#issuecomment-402163204, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIU8Lyd8zAkST3ZXs1n6o_9r9DTGGNg0ks5uC3XPgaJpZM4U_3rW
.

--
Ross Scroggs
<EMAIL_ADDRESS>

TKS Ross!