Make company field on interaction required

Issue number: N/A
Description of change
Before:
Standard interactions had to have at least company or investment project assigned but company was not strictly required.
After:
All types of interactions have to have a company assigned.
Checklist

[x] Have any relevant search models been updated?
[x] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[x] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[x] Has the admin site been updated (for new models, fields etc.)?
[x] Has the README been updated (if needed)?

Codecov Report

Merging #921 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #921   +/-   ##
========================================
  Coverage    96.67%   96.67%
========================================
  Files          171      171
  Lines         4870     4870
  Branches       467      467
========================================
  Hits          4708     4708
  Misses         103      103
  Partials        59       59

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 f11d051...13a268d. Read the comment docs.


Java remote debugging, application unhealthy

Bit hard to go from here, can you please specify what the problem is you are experiencing with the context and logging?


chore(build): upgrade Operator SDK to v1.31.0

Welcome to Cryostat! 👋
Before contributing, make sure you have:

[x] Read the contributing guidelines
[x] Linked a relevant issue which this PR resolves
[x] Linked any other relevant issues, PR's, or documentation, if any
[x] Resolved all conflicts, if any
[x] Rebased your branch PR on top of the latest upstream main branch
[x] Attached at least one of the following labels to the PR: [chore, ci, docs, feat, fix, test]
[x] Signed all commits: git commit -S -m "YOUR_COMMIT_MESSAGE"

Fixes: #614
Description of the change:
This change upgrades Operator SDK v1.28.0. to the newest available version at the moment (v1.31.0.)
Motivation for the change:
upgrade to the latest available version
How to manually test:

Insert steps here...
...

Looks like Makefile was updated such that operator-sdk can be installed and referenced from ./bin. Tho, it seems to ignore if there is a system installation.
https://github.com/operator-framework/operator-sdk/blob/e67da35ef4fff3e471a208904b2a142b27ae32b1/testdata/go/v3/memcached-operator/Makefile#L214
We should sync with these changes?

I think this is a good idea. Let's bring in this block into our Makefile: https://github.com/operator-framework/operator-sdk/blob/8f24aa560c1b8a8ea7bbc062016347b4012e499c/testdata/go/v3/memcached-operator/Makefile#L213-L228
Then anywhere we call operator-sdk in the Makefile, we should replace it with $(OPERATOR_SDK) and add the new operator-sdk target as a prerequisite for the target containing the operator-sdk call.
Once that's done we can remove the setup-operator-sdk step from our GitHub workflow:
https://github.com/cryostatio/cryostat-operator/blob/17d742005fed19258088bdc060357a048a3df056/.github/workflows/test-ci-reusable.yml#L63-L65

Sounds good! Make sense to me!

ping @ebaron @andrewazores

Looks good. Thanks @aali309!

No man thanks to you @ebaron @andrewazores and @tthvo


Login failure

As of today, I am receiving issues with the toolkit to login. I am receiving an error:
"Login Failed: Could not find member on object of type 'Persona'"
Is anyone else experiencing the same issue?

Same here, think they've changed the login again.

I've added the field 'trialFree' in Persona and seems to work.

@Majed93 Would you please able to pay it forward with a PR? Thanks :)

Do you mean a property of which type in Persona? Can you provide an example plz.

Sorry yes property.
 public string trialFree
Not done much testing, it would be nice if someone else can also confirm this works please.
@aftershock9 Not sure i can do a PR unfortunately.

thnx, was just starting debugging. Will test it and confirm.

Seems to work! Thnx :)

Included in: https://www.nuget.org/packages/UltimateTeam.Toolkit/5.0.0-rc0001


RSDK-296 backoff logic for multiple failures

from input via offline conversations, abandoning this PR in favor of https://github.com/edaniels/gostream/pull/10. @maximpertsov @edaniels

superseded by https://github.com/viamrobotics/rdk/pull/1003


User Survey in an issue: Anything we should change for 1.0?

Hi,
It's time of the tool stability in terms of flags and behaviour, that I would love to consider releasing v1.0 finally (: This means no flag and option can change without breaking change. In terms of .bingo directory structure, any changes would need to be also limited, however with migration scheme as I was doing we could change things. In v1.0 we can also add more stuff.
Please add +1 emoji if you don't have objections. If you have some wishes towards API, now is time to comment here!  🤗
I will be waiting until EOM March, then release v1.0.

Not sure if this the right place to put this, i would like to have a bingo get -u option similar to go get -u to upgrade all my dependencies using a single command

No, it's a good mention. However we can totally add this after 1.0 (: Added https://github.com/bwplotka/bingo/issues/139 for this.


a version of mapObject that returns null on 204

This seems like a very specific thing to do, I think you should use Moya's filter status code functionality instead of having it be on the serializer.

You're right. This doesn't belong in Moya-ObjectMapper. I just realized I can just doing this by calling flatMapError directly after mapObject. Thanks for taking the time to look over this though!


[FEAT] : adding a fully responsive nav bar

✏ Description
The Nav bar is not styled and looks incomplete

[ ] adding responsiveness to the nav bar
[ ] with hover effects on the link

📸 Screenshots
No response

I appreciate that , but we just pushed the project , i will decide the ui and all and then you can start working on this,
may be by tomorrow , we will be able to start assigning taking issues


Clean up change to errors

https://github.com/NuGet/docs.microsoft.com-nuget/issues/447

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/Reference/Errors-and-Warnings.md
:white_check_mark:Succeeded

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


Replace hand-rolled date functions with moment.js or similar

They're getting pretty gross. Let's use a library.

Do you want to just re factor the datetime.js to use moment or would you rather remove that helper and just use moment where we need it? Less change and probably better encapsulation with the former probably.

See #50. We still need to update the codebase with the new datetime.js before the PR can be merged.

Moment & Luxon etc. are great for what they do, but they don't solve the problem we're having here, which is that most of the time we don't care at all about times or time zones and we just need to work with stripped-down dates.
I've been down this exact road before (hand-rolled date functions -> moment.js -> js-joda) with my company's product. The happy place we ended up at was to eliminate the use of the native JS Date object throughout the codebase, and to use the appropriate js-joda classes instead as appropriate:

LocalDate for when you only care about calendar date, not time or time zone 👈 99% of this project's use cases
LocalTime for when you only care about time of day, not date, and not in any particular time zone
LocalDateTime for when you care about time of day + calendar date, but not time zone
ZonedDateTime for when you care about time of day + calendar date in a specific time zone

Mixing these 4 very different combinations of concerns in a single object is a recipe for heartache and despair.
js-joda is fast, solid and battle-tested: It replicates the API of joda-time, which is the gold standard in the Java world, and replicates its test suite (1700+ tests).
@lazd I can do this work tomorrow (Sunday, CET) if you give me the green light.

@HerbCaudill we definitely need to care about timezones throughout this project. Soon timezones will be everywhere. We will run scrapers say hourly, and then want to transform the acquisition time to local time for every locale we are working with.
We definitely need a reliable and tested date library which handles timezones perfectly.

@hyperknot For those cases, then, you can use joda's ZonedDateTime, which works beautifully.
The value of the date field in a timeseries is what's responsible for most of the messiness we're dealing with; that's always going to be just a date, because no one is actually reporting at a finer temporal resolution that that.
With Moment.js, Luxon, etc. there's fundamentally no way of getting away from having a time and a time zone associated with a date. You can set that to 0:00:00 and UTC all you want, but then you're always going to have to worry about that getting converted to someone else's time zone. In some situations it does, in others it doesn't! And when it gets converted and the runtime is east of Greenwich, then you're working with the day after your date. I'm telling you that there is nothing but darkness down that road.

I'm not sure I understand. Let's say we implement hourly scraping, and then we want to reconstruct the latest daily values from this. So we'd have a scrape_time in UTC in a database or S3 for example.
Now we want to convert this to local time, to know which day was it in. How would you do that in joda?
Also, does it support fromISO(), toISO() and toISODate() like methods?

In that case you would timestamp the scrapes with a ZonedDateTime, which is explicitly designed for that purpose.

Also, does it support fromISO(), toISO() and toISODate() like methods?

Yes

OK, I've checked those methods and all seem to be supported. If in your opinion js-joda-timezone is production ready, I'm happy to recommend using this throughout this project.
BTW, scrape time will soon be ISO date, so your logic could be simplified in the future.

More on Moment's inability to represent a date without a time or vice versa:
https://github.com/moment/moment/issues/3455

OK, I'm happy to support js-joda, especially if @HerbCaudill helps us in some initial problems we might encounter.

Would like to advocate for spacetime (cc @spencermountain!) but anything that's relatively lightweight should get the job done. It just needs to be able to re-cast a time + IANA tz string to a normalized date stamp (specifically YYYY-MM-DD)
Here's the impl from my previous prototype that I showed earlier today:

https://github.com/covidatlas/covidatlas/blob/master/src/shared/utils/get-date.js which accepts the tz string from:
https://github.com/covidatlas/covidatlas/blob/master/src/events/tracker/visitors/us/ca/san-francisco/index.js#L2

@ryanblock the code you linked to is the definition of hand-rolled time formatting code.
The point of Luxon is that they have super reliable and well tested tested fromISO(), toISODate() and toISO() methods. joda seems to have the same functions.

here's what that looks like in js-joda FWIW:
const currentDateTimeAt = tz => ZonedDateTime.now(ZoneId.of(tz)).toString()

console.log(new Date()) // 2020-03-22T18:03:23.750Z
console.log(currentDateTimeAt('America/Chicago')) // 2020-03-22T13:00:24.365-05:00[America/Chicago]

@hyperknot I mean, I guess? Pretty straightforward impl but sure, we can actually reduce even that example quite a bit (I forgot there were some methods in there that weren't documented). Like so:
let spacetime = require('spacetime')
let s = spacetime(Date.now(), 'America/Los_Angeles')
s.format()      // 2020-03-24
s.format('iso') // 2020-03-24T19:57:02.376-07:00

Production installs:

spacetime: 499KB
js-joda: 4.1MB

Whatever we choose, the thing that outputs locale aware strings of 2020-03-24 + 2020-03-24T19:57:02.376-07:00 should certainly be nothing more than a minor impl detail.
How are we feeling otherwise about progress in knocking this out and getting dates normalized?

@hyperknot I mean, I suppose? Isn't the primary concern getting the correct locale datestamp, and not string formatting? In any event, I forgot that there were some better methods for accessing those formats:
let spacetime = require('spacetime')
let s = spacetime(Date.now(), 'America/Los_Angeles')
s.format()      // 2020-03-24
s.format('iso') // 2020-03-24T19:57:02.376-07:00

Otherwise, production size just fwiw:

Spacetime: 499KB
js-joda: 4.1MB

@HerbCaudill can make the call on what we use to get locale-cast 2020-03-24 + 2020-03-24T19:57:02.376-07:00. Anything we can do to help move forward, Herb?

see #393

PR merged; we still have a lot of handrolled date functions, although I'm not certain they were avoidable without rewriting a lot of this codebase.
👏 @HerbCaudill!


calico-node pods readiness probe failed when any node got killed

I have a k8s cluster with 3 masters and 3 nodes.
And I install calico-node following Installing with the Kubernetes API datastore—more than 50 nodes.
$ kubectl  get node
NAME                  STATUS   ROLES    AGE   VERSION
km12-01               Ready    master   64d   v1.13.1
km12-02               Ready    master   64d   v1.13.1
km12-03               Ready    master   64d   v1.13.1
prod-k8s-node001      Ready    node     32d   v1.13.1
prod-k8s-node002      Ready    node     63d   v1.13.1
prod-k8s-tmpnode005   Ready    node     62d   v1.13.1

$ kubectl -n kube-system get po | grep calico
calico-node-bm6f6                 2/2     Running   0          13m
calico-node-jvxdp                 2/2     Running   0          13m
calico-node-kk4ph                 2/2     Running   0          13m
calico-node-r76kq                 2/2     Running   2          13m
calico-node-vrlpp                 2/2     Running   0          13m
calico-node-w4tdj                 2/2     Running   0          13m
calico-typha-5fc4874c76-qpcrs     1/1     Running   0          13m
calico-typha-5fc4874c76-v54wt     1/1     Running   0          13m

Now I just kill any node by stopping its docker and kubelet service to simulate an accident like one server is down, then all calico-node pods readiness probe failed:
$ kubectl  get node
NAME                  STATUS     ROLES    AGE   VERSION
km12-01               Ready      master   64d   v1.13.1
km12-02               Ready      master   64d   v1.13.1
km12-03               Ready      master   64d   v1.13.1
prod-k8s-node001      NotReady   node     32d   v1.13.1
prod-k8s-node002      Ready      node     63d   v1.13.1
prod-k8s-tmpnode005   Ready      node     62d   v1.13.1

$ kubectl -n kube-system get po -o wide | grep calico
calico-node-bm6f6                 1/2     Running   0          17m     <IP_ADDRESS>     km12-02               <none>           <none>
calico-node-jvxdp                 1/2     Running   0          17m     <IP_ADDRESS>      prod-k8s-tmpnode005   <none>           <none>
calico-node-kk4ph                 2/2     Running   0          17m     <IP_ADDRESS>      prod-k8s-node001      <none>           <none>
calico-node-r76kq                 1/2     Running   2          17m     <IP_ADDRESS>     km12-01               <none>           <none>
calico-node-vrlpp                 1/2     Running   0          17m     <IP_ADDRESS>       prod-k8s-node002      <none>           <none>
calico-node-w4tdj                 1/2     Running   0          17m     <IP_ADDRESS>     km12-03               <none>           <none>
calico-typha-5fc4874c76-qpcrs     1/1     Running   0          17m     <IP_ADDRESS>      prod-k8s-node001      <none>           <none>
calico-typha-5fc4874c76-v54wt     1/1     Running   0          17m     <IP_ADDRESS>      prod-k8s-tmpnode005   <none>           <none>

$ kubectl -n kube-system describe po calico-node-vrlpp
Name:               calico-node-vrlpp
Namespace:          kube-system
Priority:           0
PriorityClassName:  <none>
Node:               prod-k8s-node002/<IP_ADDRESS>
Start Time:         Tue, 15 Jan 2019 18:59:39 +0800
Labels:             controller-revision-hash=578d566cff
                    k8s-app=calico-node
                    pod-template-generation=2
Annotations:        scheduler.alpha.kubernetes.io/critical-pod:
Status:             Running
IP:                 <IP_ADDRESS>
Controlled By:      DaemonSet/calico-node
Containers:
  calico-node:
    Container ID:   docker://359e5e39dce70508edc30a10ead709759d546702a4b49c4673b4faefd681e652
    Image:          quay.io/calico/node:v3.3.2
    Image ID:       docker-pullable://quay.io/calico/node@sha256:eda836bf7c56e2aacaa3f5802e653a35069678b408c744866c486df8ca3df98e
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Tue, 15 Jan 2019 18:59:39 +0800
    Ready:          False
    Restart Count:  0
    Requests:
      cpu:      250m
    Liveness:   http-get http://localhost:9099/liveness delay=10s timeout=1s period=10s #success=1 #failure=6
    Readiness:  exec [/bin/calico-node -bird-ready -felix-ready] delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:
      DATASTORE_TYPE:                     kubernetes
      FELIX_TYPHAK8SSERVICENAME:          <set to the key 'typha_service_name' of config map 'calico-config'>  Optional: false
      WAIT_FOR_DATASTORE:                 true
      NODENAME:                            (v1:spec.nodeName)
      CALICO_NETWORKING_BACKEND:          <set to the key 'calico_backend' of config map 'calico-config'>  Optional: false
      CLUSTER_TYPE:                       k8s,bgp
      IP:                                 autodetect
      CALICO_IPV4POOL_IPIP:               Off
      FELIX_IPINIPMTU:                    <set to the key 'veth_mtu' of config map 'calico-config'>  Optional: false
      CALICO_IPV4POOL_CIDR:               <IP_ADDRESS>/16
      CALICO_DISABLE_FILE_LOGGING:        true
      FELIX_DEFAULTENDPOINTTOHOSTACTION:  ACCEPT
      FELIX_IPV6SUPPORT:                  false
      FELIX_LOGSEVERITYSCREEN:            info
      FELIX_HEALTHENABLED:                true
    Mounts:
      /lib/modules from lib-modules (ro)
      /run/xtables.lock from xtables-lock (rw)
      /var/lib/calico from var-lib-calico (rw)
      /var/run/calico from var-run-calico (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from calico-node-token-dgq9r (ro)
  install-cni:
    Container ID:  docker://5fe86f53c4f2037bdb98e239dbdede3f81ffa1d6ed983b3b7961dd9f65d11f21
    Image:         quay.io/calico/cni:v3.3.2
    Image ID:      docker-pullable://quay.io/calico/cni@sha256:218209f4948d57ae227fb0fba3b597e99334cb39e2abb11555ec359dae177782
    Port:          <none>
    Host Port:     <none>
    Command:
      /install-cni.sh
    State:          Running
      Started:      Tue, 15 Jan 2019 18:59:39 +0800
    Ready:          True
    Restart Count:  0
    Environment:
      CNI_CONF_NAME:         10-calico.conflist
      KUBERNETES_NODE_NAME:   (v1:spec.nodeName)
      CNI_NETWORK_CONFIG:    <set to the key 'cni_network_config' of config map 'calico-config'>  Optional: false
      CNI_MTU:               <set to the key 'veth_mtu' of config map 'calico-config'>            Optional: false
    Mounts:
      /host/etc/cni/net.d from cni-net-dir (rw)
      /host/opt/cni/bin from cni-bin-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from calico-node-token-dgq9r (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  lib-modules:
    Type:          HostPath (bare host directory volume)
    Path:          /lib/modules
    HostPathType:
  var-run-calico:
    Type:          HostPath (bare host directory volume)
    Path:          /var/run/calico
    HostPathType:
  var-lib-calico:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/calico
    HostPathType:
  xtables-lock:
    Type:          HostPath (bare host directory volume)
    Path:          /run/xtables.lock
    HostPathType:  FileOrCreate
  cni-bin-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /opt/cni/bin
    HostPathType:
  cni-net-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /etc/cni/net.d
    HostPathType:
  calico-node-token-dgq9r:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  calico-node-token-dgq9r
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  beta.kubernetes.io/os=linux
Tolerations:     :NoSchedule
                 :NoExecute
                 CriticalAddonsOnly
                 node.kubernetes.io/disk-pressure:NoSchedule
                 node.kubernetes.io/memory-pressure:NoSchedule
                 node.kubernetes.io/network-unavailable:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute
                 node.kubernetes.io/unreachable:NoExecute
                 node.kubernetes.io/unschedulable:NoSchedule
Events:
  Type     Reason     Age                 From                       Message
  ----     ------     ----                ----                       -------
  Normal   Scheduled  30m                 default-scheduler          Successfully assigned kube-system/calico-node-vrlpp to prod-k8s-node002
  Normal   Pulled     30m                 kubelet, prod-k8s-node002  Container image "quay.io/calico/node:v3.3.2" already present on machine
  Normal   Created    30m                 kubelet, prod-k8s-node002  Created container
  Normal   Started    30m                 kubelet, prod-k8s-node002  Started container
  Normal   Pulled     30m                 kubelet, prod-k8s-node002  Container image "quay.io/calico/cni:v3.3.2" already present on machine
  Normal   Created    30m                 kubelet, prod-k8s-node002  Created container
  Normal   Started    30m                 kubelet, prod-k8s-node002  Started container
  Warning  Unhealthy  30m                 kubelet, prod-k8s-node002  Readiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to connect to BIRDv4 socket: dial unix /var/run/bird/bird.ctl: connect: no such file or directory
  Warning  Unhealthy  20m (x42 over 27m)  kubelet, prod-k8s-node002  Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with <IP_ADDRESS>
  Warning  Unhealthy  32s (x82 over 15m)  kubelet, prod-k8s-node002  Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with <IP_ADDRESS>

Expected Behavior

The rest aliving calico-node pods should recover after a few seconds. Or it can be really confused.
Current Behavior

All aliving calico-node pods readiness probe failed.
Steps to Reproduce (for bugs)

Deploy an HA master kubernetes cluster with ipvs mode by kubeadm.
Install calico-node following Installing with the Kubernetes API datastore—more than 50 nodes.
Kill any node by stopping its docker and kubelet service.
Check calico-node pods status.

Your Environment

Calico version: v3.3.2
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes v1.13.2
Operating System and version: Ubuntu 16.04.5 LTS (GNU/Linux 4.17.0-041700-generic x86_64)

I'm currently facing this issue during my Disaster Recovery testing and IMHO this poses more issues than it tries to solve.
In my DR scenario, I'm basically bringing down one node (in a simple cluster of 3 nodes) to see how everything reacts and whether I can guarantee the provision of service. Being a DR, I have absolutely no control over it, so if now Calico basically turns into a SPoF if just one node out of many is down, this is definitively a serious issue and unacceptable for my PROD environment, so we will have to switch to another CNI unfortunately.
Will then Calico move forward with this SPoF design?

@emedina I want to emphasise that Calico continues functioning when a node goes down so I don't think you can call this a SPoF.  Reporting not-ready is basically the only symptom of this design choice, we don't start dropping packets and policy updates continue.
If the node is completely gone, you can delete it form the datamodel to restore the other nodes to ready.

Did some more research, and it looks like the issue is actually the readiness probe; however, the liveness probe works fine.

@fasaxc After some more research, our conclusions based on our testing is that this may be related to an issue with the readiness probe that bundles with Calico v3.2, that basically fails when one node is down, therefore not showing the overall status of the Pod as Ready.
This is the readiness probe:
readinessProbe:
            exec:
              command:
              - /bin/calico-node
              - -bird-ready
              - -felix-ready

And apparently, the test that fails is related to the -bird-ready flag.
Changing the readiness probe to something else (which we found by googling around), makes it return that the Pod is healthy, even when one node is down:
readinessProbe:
          failureThreshold: 3
          httpGet:
            host: localhost
            path: /readiness
            port: 9099
            scheme: HTTP

I would like to understand whether changing the readiness probe can have any hidden side effect or impact. Any feedback?

@emedina Yes, there's a hidden downside, it can cause traffic loss during a rolling upgrade.
The best solution is to upgrade to v3.4 and use the in-cluster route reflector feature so that you can disable the full mesh.  No full mesh means you won't see all nodes go non-ready when a single node fails.

@emedina Are you actually seeing any issues associated with the non-ready state?  Calico should continue functioning just fine while bird is non-ready, but hte key thing is that it's not safe to do a rolling upgrade until the failed node is removed/restored.

@fasaxc Can you please elaborate a bit more on the in-cluster route reflector feature in v3.4? Maybe a link to how to do it? Thanks!

@fasaxc Yes, I face issues with the non-ready state when one node is down which make my Pods not be able to resolve DNS names, for instance, or connect to other IPs in the cluster.

@fasaxc This is an example. See all Calico pods as 1/2:
# kubectl -n kube-system get po
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-6796f77c45-lk5fv   1/1     Running   0          44d
calico-node-2hhqf                          1/2     Running   1          21d
calico-node-4752g                          1/2     Running   1          21d
calico-node-6fc6z                          1/2     Running   1          21d
calico-node-6pcll                          1/2     Running   1          21d
calico-node-894w7                          0/2     Evicted   0          8m48s
calico-node-9jbnp                          1/2     Running   1          21d
calico-node-bvj88                          1/2     Running   1          21d
calico-node-c46sg                          1/2     Running   1          21d
calico-node-c68mg                          1/2     Running   1          21d
calico-node-cbmmw                          1/2     Running   1          21d
calico-node-dkq7b                          1/2     Running   1          21d
calico-node-fb9z8                          1/2     Running   0          21d
calico-node-fz2rz                          1/2     Running   0          46h
calico-node-gg6mc                          1/2     Running   1          21d
calico-node-lnzq2                          1/2     Running   1          21d
calico-node-n4rpb                          1/2     Running   3          21d
calico-node-nb6qg                          1/2     Running   1          21d
calico-node-qdxvp                          1/2     Running   1          21d
calico-node-s6ncs                          1/2     Running   1          21d
calico-node-xxsqc                          1/2     Running   1          21d
calico-node-zkbg6                          1/2     Running   1          21d

Notice the Evicted one? That one is making all the other ones fail the readiness probe.

Use 'kubectl describe pod/dnsutils-7d7db697b7-jn9ds -n default' to see all of the containers in this pod.
^C
command terminated with exit code 1

Also trying to reach some IP doesn't work either and clearly complains about not being able to resolve DNS names:
# kubectl exec -ti curl-78cffbb55c-st9l7 -- curl -vvvvv http://<IP_ADDRESS>:8889/actuator/health
Defaulting container name to curl.
Use 'kubectl describe pod/curl-78cffbb55c-st9l7 -n default' to see all of the containers in this pod.
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
^Ccommand terminated with exit code 130

@emedina Where are your DNS pods running?  Were they on the node with the evicted calico/node.   If you evict calico/node then that particular node will become unreachable.

@fasaxc They are deployed randomly by K8s scheduler, but in this particular test case, they were not impacted by the outage.

@emedina Please can you create a new issue.  This issue is about the readiness check, which is working correctly.  Let's start a new issue about the connectivity problem you've encountered.  We'll need details of your cluster to diagnose:

IPs of the DNS pods
IPs of the pod with no DNS
does the host running the pod with failing DNS have calico/node running?
ip route from the host with a pod that can't reach DNS
iptables-save for the host with the pod that can't reach DNS
Why did Calico get evicted?  Calico is an essential service, you shouldn't let it get evicted.

Hello @fasaxc, I am testing some failover scenarios and I am facing something weird. After researching a bit I have found this ticket here and it seems almost what I am seeing.
I have a baremetal k8s cluster with 3 master where those masters are also workers. Everything is working okay but when I turn off all those machines and turn up just two of them calico is not becoming ready again because the readiness probe and my cluster stays useless. When I start the last machine the readiness probe could pass and calico becomes ready and the network is okay.
What should I need to do/configure to bypass this behavior? Is it a normal behavior? If so, don't you think it is strange because I won't have a useful cluster when that scenario occurs?
Kubernetes: version 1.14.1
Calico: version 3.5.3
Operational System: Centos 7.5

Hello @fasaxc, I am testing some failover scenarios and I am facing something weird. After researching a bit I have found this ticket here and it seems almost what I am seeing.
I have a baremetal k8s cluster with 3 master where those masters are also workers. Everything is working okay but when I turn off all those machines and turn up just two of them calico is not becoming ready again because the readiness probe and my cluster stays useless. When I start the last machine the readiness probe could pass and calico becomes ready and the network is okay.
What should I need to do/configure to bypass this behavior? Is it a normal behavior? If so, don't you think it is strange because I won't have a useful cluster when that scenario occurs?
Kubernetes: version 1.14.1
Calico: version 3.5.3
Operational System: Centos 7.5

**
With 2 of 3 nodes back online, we can see this in the calico logs:
bird: Unable to open configuration file /etc/calico/confd/config/bird.cfg: No such file or directory
bird: Unable to open configuration file /etc/calico/confd/config/bird6.cfg: No such file or directory

Turning on the third node, we can see this messages:
2019-04-29 13:21:21.916 [INFO][5051] client.go 316: Calico Syncer has indicated it is in sync
2019-04-29 13:21:21.920 [INFO][5051] resource.go 220: Target config /etc/calico/confd/config/bird6_ipam.cfg out of sync
2019-04-29 13:21:21.921 [INFO][5051] resource.go 220: Target config /etc/calico/confd/config/bird_ipam.cfg out of sync
2019-04-29 13:21:21.923 [INFO][5051] resource.go 220: Target config /etc/calico/confd/config/bird_aggr.cfg out of sync
2019-04-29 13:21:21.923 [INFO][5051] resource.go 220: Target config /tmp/tunl-ip out of sync
2019-04-29 13:21:21.924 [INFO][5051] resource.go 220: Target config /etc/calico/confd/config/bird6.cfg out of sync
2019-04-29 13:21:21.925 [INFO][5051] resource.go 220: Target config /etc/calico/confd/config/bird6_aggr.cfg out of sync
2019-04-29 13:21:21.926 [INFO][5051] resource.go 260: Target config /etc/calico/confd/config/bird6_ipam.cfg has been updated
2019-04-29 13:21:21.927 [INFO][5051] resource.go 220: Target config /etc/calico/confd/config/bird.cfg out of sync
2019-04-29 13:21:21.932 [INFO][5051] resource.go 260: Target config /etc/calico/confd/config/bird6_aggr.cfg has been updated
2019-04-29 13:21:21.934 [INFO][5051] resource.go 260: Target config /etc/calico/confd/config/bird_aggr.cfg has been updated
2019-04-29 13:21:21.940 [INFO][5051] resource.go 260: Target config /etc/calico/confd/config/bird_ipam.cfg has been updated
2019-04-29 13:21:21.944 [INFO][5051] resource.go 260: Target config /etc/calico/confd/config/bird6.cfg has been updated
2019-04-29 13:21:21.947 [INFO][5051] resource.go 260: Target config /etc/calico/confd/config/bird.cfg has been updated
bird: device1: Initializing
bird: direct1: Initializing
bird: device1: Starting

**

Probably it is related to this one https://github.com/projectcalico/calico/issues/2211

Gentlemen, would you please point some documentation helpful in a case, related to this issue:
I have 3 control plane nodes and an endpoint on haproxy and bare metal cluster.
I was replacing one node with a new server and deleted one of control plane nodes with kubectl delete node.
Now 2 control plane nodes that are left are non-functional and for any request, for example kubectl get nodes return
Unable to connect to the server: EOF.
I suppose this is because calico broke entire the network due to one node is not accessible.
So far I have only option to re-create cluster, but want to understand how to fix my cluster in cases like this.
Thanks in advance!

@boogiefromzk Please file a fresh issue, this one is long resolved.  Make sure you're running the latest Calico (v3.24.x) at time of writing.


WS: Approve User Factor (new EP)

WS: Approve User Factor

[x]  Create WS spec
[x]  Implement
[x]  Deploy
[ ]  Improve test scenarios

[ ] incorrect OTP counter ... case:  when 2 time call Approve with bad otp value - I have attempts_counter = 2. Then I call Approve with good otp value - I have status otp = verified, but attempts_counter = 1!  (but in other cases I have verified+ attempts_counter = 3)

@EdwardVoloshin deployed

tests passed


[HUDI-4571] Fix partition extractor infer function when partition field mismatch

Change Logs

Infer META_SYNC_PARTITION_FIELDS and META_SYNC_PARTITION_EXTRACTOR_CLASS from hoodie.table.partition.fields first; if not set, then from hoodie.datasource.write.partitionpath.field

Impact
Without this fix, in the scenario mentioned above, the partition extractor would be set as NonPartitionedExtractor even though hoodie.properties has a partition field.
Risk level: high
Added a test to cover the scenario in TestHoodieSyncConfig. Also, manually verified spark-sql as follows:
spark-sql> create table hudi_cow_pt_tbl (
         >   id bigint,
         >   name string,
         >   ts bigint,
         >   dt string,
         >   hh string
         > ) using hudi
         > tblproperties (
         >   type = 'cow',
         >   primaryKey = 'id',
         >   preCombineField = 'ts'
         >  )
         > partitioned by (dt, hh)
         > location '/tmp/hudi/hudi_cow_pt_tbl';
spark-sql> insert into hudi_cow_pt_tbl partition (dt, hh)
         > select 1 as id, 'a1' as name, 1000 as ts, '2021-12-09' as dt, '10' as hh;
...
...
22/08/08 23:15:04 INFO BaseHoodieTableFileIndex: Refresh table hudi_cow_pt_tbl, spent: 389 ms
Time taken: 18.07 seconds
22/08/08 23:15:04 INFO SparkSQLCLIDriver: Time taken: 18.07 seconds

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

https://dev.azure.com/apache-hudi-ci-org/apache-hudi-ci/_build/results?buildId=10681&view=results

this actually passed


Fix to handle Google ReCaptcha double form submit

1. Why is this change necessary?
FormAutoSubmitPlugin with useAjax= true emits beforeSubmit event and right after executes sendAjaxFormSubmit function.
GoogleReCaptchaBasePlugin binds to beforeSubmit event on line 76 and calls sendAjaxFormSubmit as well, resulting in a double form submission.
2. What does this change do, exactly?
Checks for GoogleReCaptcha V2 or V3 instance on the form and avoid sendAjaxFormSubmit to be called from form-ajax-submit and form-auto-submit plugins
3. Describe each step to reproduce the issue or behaviour.
On a form with GoogleReCaptcha active, trigger a sumbit with missing required fields, then fill the missing fields and submit the form.  form-ajax-submit or form-auto-submit will execute their sendAjaxFormSubmit method, GoogleReCaptcha will call that method too, causing a double form submission.
4. Please link to the relevant issues (if any).
https://github.com/shopware/shopware/issues/4347
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hey @luminalpark
thank you for your contribution.
Unfortunately your fix seems a bit to hard coded for this sepcial case. If you don't mind. Can you think about an aproach where the captcha plugins set a property in the auto submit plugin to not submit in this case?
Regards

@ssltg The change seems to be missing for plugin form-cms-handler.plugin.js


Query Filter Global cache initialization problem with EF6

Hello. Starting with version 1.6.21 I noticed a problem on my services startup: there were exceptions when at the same moment service responds multiple HTTP-requests which were reading the data where "Global Query Filter" was used. I made a simple project example with such behavior.
QueryFilterGlobal.zip

Hello @ipetrushevskiy ,
Thank you for reporting, we successfully reproduced it.
I will assign a developer tomorrow to check what's happening.
Best Regards,
Jonathan

Hello @ipetrushevskiy ,
The issue has finally been found and fixed.
The fix will be part of the next release.
Best Regards,
Jonathan

Hello @ipetrushevskiy ,
Sorry for the long delay, we should have released it when the fix was ready.
The v1.8.3 has been released, it should contains this fix.
Let me know if the multi-thread scenario is now working.
Best Regards,
Jonathan


Missing .pkl files for the continuous_variables /discretize.py

Hi, I am interested in generating time series data with your code.  So, when I was looking at the continuous variables folder, I found that some .pkl files are missing. Could you provide the code for generating them in the repo or email me at<EMAIL_ADDRESS>
idToLab = pickle.load(open('data/idx_to_lab.pkl', 'rb'))
labToNumber = {l: i for (i,l) in enumerate(pickle.load(open('data/id_to_channel.pkl', 'rb')))}
isCategorical = pickle.load(open('data/is_categorical_channel.pkl', 'rb'))
beginPos = pickle.load(open('data/begin_pos.pkl', 'rb'))
possibleValues = pickle.load(open('data/possible_values.pkl', 'rb'))
variableRanges = pickle.load(open('data/variable_ranges.pkl', 'rb'))

Also, is it possible to generate both discrete and time series data at the same time ?

My apologies for the delayed response. Most of those pickle files are either adapted from the same MIMIC Benchmark repository as the phenotypes or generated directly in some simple way (e.g. idToLab is basically just enumerating through the labs and mapping number to lab name). I have directly added those files to the repository. I have also added an additional dataset generation script to build the training dataset from scratch (as it is slightly different from the core dataset), note that this requires having certain preprocessing from the MIMIC Benchmark repository done as it make the lab processing much faster. Finally, I have also emailed you the script from the other issue that you asked about. As for more general time series and discrete data, the architecture can handle it, but adjustments need to be made depending on the desired data format. Continuous variables can be included with each visit to capture co-occurring variables such as time gaps or common labs. However, for full time series (e.g. a patient has a series of lab values for each stay) adjustments need to be made to the data representation as we have done in these scripts (for our experiments, we did this by having two types of visits, full hospital stay visits with the medical codes and then subsequent "time series visits" with just lab values that appear between hospital stay visits).

Thank you.


TS2322 error when used conditional type within function with generic itself

TypeScript Version:
3.7.2 - 4.0.2 up to Nightly
Code
type Params<P = null> = P extends null ? {} : { params: P }

const a: Params<string> = { params: 'x' }; // OK

const b = <P extends {}>( x: P ):Params<P> =>{
    return {params: x}     // Error Type '{ params: P; }' is not assignable to type 'Params<P>'.
}

Expected behavior:
P is an object by restriction of b generic type so I expect I can safely constract Params type.
the idea behind Params type is to provide conditionally a property if user specify generic eg
type Loadable<T, P = null> = {data: T } & Params<P>
const data:LoadableData<User> = {data: user}
const dataWithParam:LoadableData<User[], Role> = {data: user, params: role}

and I cannot use Loadable type inside function with generic :(
Actual behavior:
Error is produced when Prams type is used inside function that have generic itself
Playground Link:
https://www.typescriptlang.org/play?target=99&jsx=0&ts=4.0.2#code/C4TwDgpgBACghgJzgWwM4B4ZQLxQHYCuANkQHw6xQQAewEeAJqvsUVAPxQDeAvlAFzcwiFKkEw+AKEkBjAPZ5UwKHHEi06JQgCWeAOblcXYUjSCA5NXM8A3NPmLlAIwqYqtek249SACmr8MACUgeoYMIakXJJQsVAIEMAECHhCYYLUPJI8QA
Thank you for any help

See #30639

@typescript-bot reopen


Anyone interested in joing a fork?

I have made an impersonal fork at
https://github.com/OpenQuartz/quartz
Yes, the naming. I will certainly get a copyright notice for the name on both the org and repo. But hey, let me just get this ball rolling and we will figure out the naming soon enough.
My plans is to try raising the dead. Will you help me? Is there any value of doing so? Can we fix the issues necessary to make quartz usable again?
If you are with me or not, I will try to get familiar with this project and try to fix the most major issues.
You could help me figure out what those issues are and you can also contribute!
Cheers.

Decoupled it completely so the project is now not a fork, but a clone

i have now ripped out everything else than core logic. there is only three modules left, core, jobs and plugins. The plan is to build the ecosystem from ground up, including deployment, code quality checks ++. If someone wonder why there is only three modules there, well, if you are using jboss or weblogic, maybe we could try to make this new clone class compatible with quartz-weblogic and quartz-jboss etc. No need to live in the pre historic days of container managed scheduling systems.

Travis builds, jitpack is working, and I think that the new clone can be easily used together with the weblog, jboss, oracle, stub stuff from this project. I will make an example app for it. I have added a simple helloworld example app here https://github.com/OpenQuartz/quartz-helloworld which uses jitpack to download dependencies.

added example on how to use the new clone with the old jboss package from this project:
https://github.com/OpenQuartz/quartz-hello-j2ee
I have no idea what i am playing with, but it runs ;)

I have the following comment about people clinging to this dead project:
https://goo.gl/images/fTCCp4
Come over to my project instead.

Hello @jarlah
It's good to see you take interests in Quartz dev! I admit that I have not been able to contribute much in the past couple of years. And unfortunately I don't see much activity from Terracotta either :(
I have contributed time in this project in the past and even created few supporting projects based on this. So myself would definitely want to see it pickup activity again and continue to add new features.
However I am not sure making a clone is a good start at this point. Have you sent emails to mailing groups or voice what major issues you currently having that's needed a clone? What issues have fixed in clone that's not in here? There is a proposed Quartz3 wiki that requesting inputs as what you like to see as well. I would like to give respect to old team/project and seek advice before forking the project.
There are several issues that I would like Terracotta folks to give more directions such as removing their specific code in modules, or make it an optional at least. I used to talk to @jhouserizer on these matters, but he has been quiet here lately. Hopefully he can comment here as well.

Its all good :) Nice to see that my actions have triggered you to reply :) if there is plans or possibilities i am more than happy to delete my clone.
So i just want to get something happening. I contacted terracotta devs and got this respons
"Hello Jarl
With Quartz Scheduler being fully Open Sourced, we do not have a plan to release an update in the immediate future.
We understand the desire of the community to see an updated release version, and would hope that a more active fork can be created and maintained outside of our control.
Fiona O’Shea
IoT Analytics Terracotta Dev West“

@jarlah
Ah, seeing that reply from Terracotta, I can understand your actions. Note that I am mere a contributor, not the owner of this repo either. But to be fair and for respect sake, I would propose the following:

Quartz has a long history of code and used in many other communities, so it's my take that we should pay as much as respect to these eco systems as possible.
From my experience is that maintaining a healthy open project is not easy and it's very time consuming. For this reason, we ought to play nice and take as much help as we can with community input. Things need to be open and have a healthy discussion first.
As for immediate todo actions, we should identify most glaring issues in this original repo. I have few issues here of my own that I like to see resolve as well:
** What are the current major fixes in release 2.3.x that are completed and waiting on a release? What does the community want to see in this release?
** We have a Quartz3 wiki that requesting community for future roadmap and feature requests. I don't see much activity there. So we should fill that out so we can see future.
** Be able to perform a public release easier and at anytime. I think Terracotta is sponsoring this project, so they are providing their infrastructure to build and release as well. Unfortunately they are not very active in this area lately.
** The project has few terracotta specific code/modules that I don't feel it should be here as part of the Quartz core.
** I think creating/moving the documentation into GitHub wiki is easier to maintain than as separate static web site.
** Contribution code should be more easier, rather than forced to sign consent letter from Terracotta. I am not a lawyer, but I can see this step prevent people from contributing. Either we make it easier, or remove it.
Only after we attempted above and no responses from original authors, then I would fee comfortable forking the repo.

Agree.
We need however to formulate a plan of relevant actions to reach the goal you mentioned.
I am in a limbo here since i am not a member of the repo. So i cannot contribute on wiki. So i would suggest using Trello or similar solution to list, group and manage todo items for such an effort. A wiki is not dynamic enough. But it can be the end goal.
I have removed all terracotta specific and hard to port code in my clone. I have trimmed it down to an absolute minimum. This enables me to improve the code. And use it. I can however stop the marketing of this clone and remove the ported issues and delete comments. But i will not remove the clone yet. Maybe if i see some progress.
I am a senior developer and architect that contribute. But my actual end goal is just to revive the project.

I think GitHub already brings contribution tools easy already, if one is willing to contributing that is, there is no limit. For example, open an Issue subject: Quartz3 feature requests, and start writing whatever you want to discuss. No permission is needed. Pull request can be created without permission either. If desired is strong, next is submit to be a contributor and get access to wiki and a code committer. We can start with those right?
Live Project needs Active Developers! It doesn't t help much if we revived it with only surface tools such as Trello, or a simple fork repo, but we don't have developers to actually maintain the code.

No problem accepting your comments.
I will clean up this repo and remove irrelevant links and comments later today.
Then we can start to plan what to do with github issues

Closing this issue. It can be continued and discussed anyhow.

Thanks @jarlah !
Please do contribute by helping. You can help answer questions/issues, or review PR. See http://www.quartz-scheduler.org/community/ for more info on how to help. If you feel any portion of code that can be improve, provide the PR, and I will try to review when I can. Any improvement to project development process can be send to DEV LIST on as well.

btw @zemian, I have poked around on your profile and homepage, and see that you are heavily invested in quartz. Its a very nice framework, I give you that. I have some problems finding a one to one communication channel, so it must be in this issue. I have a private testing bench for playing around with quartz, dependencies and modules, at https://github.com/OpenQuartz/scheduler. This is however a different repo I linked to previously and is very clearly marked as unofficial. My point wit this is that it shows how I feel would be better suited for an ongoing join effort between open source developers like you and me. There is a fundamental problem when one or two persons sitting on the private keys necessary to deploy at maven central, is the main gate to get things rolled out. So in my unofficial clone I have used jitpck as artifact hosting The only thing needed to get things rolled out is to make a tag. That simple. I have always felt maven central deployment to be a major pain. Nothing can change that.
My main objective, with having something like this to play with (my first attempt was not like that), is to find out where there are things to improve in the code. Until now I have not found a single thing to improve directly. I have looked for new Thread references, but only found aprox one (shutdown). I have also poked around for bad patterns. None directly interesting. So what I see is a project that need bugfixes, and improvements. When no new development is done, projects like these tend to be quite stable and that's good. No problem there :+1:
But anyway, I have a feeling that the end result is a different repo from this one. So I am just giving you a heads up, that I have my own private test bench where I try different things, remove some things but yet trying to keep then overall structure as identical to the original as possible. If we do get access to the repo, my test bench can be a proof of concept on how we can restructure the repo. But don't see my jitpack comment as a "I think we should". I am a pragmatic senior lead developer that finds the easiest solution to be the best in most cases ;)

@jarlah I actually haven't heard of https://jitpack.io/ before, I will check it out. I don't handle the Quartz release so I don't know their process. I posted to DEV LIST about this topic, but I am not sure anyone is responding :(
If you checkout the Quartz3 todo list, I have updated with things I like to add/work on. Would be nice to explore those.
To me, the release process is just part of the dev cycle. I vote for whatever that's easiest to maintain. I also support those who is willing to spent time in it and keep it up. Maven central might not be easiest to deal with, but if someone willing to do it, then I don't see a problem. Or like you say if there is alternative, we can explore that too. But that will require the project owner to approve obviously. I am not sure what Terracotta's interests in this project at this point, since it's been neglected for a while now. I also posted a email to DEV LIST. Let's wait a little and see.

Another possibility is to align with https://www.quartz-scheduler.net/. This would allow us to make sure that this library doesn't fall behind in features. Any word on ways to keep this project alive and moving forward? I do think that we need to keep this in the Maven central.

i haven't got to work on this lately, but i still have my unofficial clone at https://github.com/OpenQuartz/scheduler. I have signed developer agreement with terracotta, so I guess the legal things is OK for going forward with anything at all with a clone, fork or whatever else might be a solution. I think fork is not a good idea, because there will never be upstream pushes. Hence the clone.
@zemian i see that your appeal for suggestions for things to add to the quartz3 roadmap has got no replies on the mailing list. Actually when, hen i checked the mailing list, I was actually surprised to see someone who still believes the project is active. Then i saw that it was you :) I also saw a question not too far down the list where a person asks if this project is alive.
So conclusively, if after a month no one has replied for such an appeal, I would strongly recommend to plan another course of action than to try to fill this roadmap and convince terracotta to open up the repo.
I have no special agenda in this, if the project is revived, great, then I can use it in my own projects and know that its maintained. Otherwise, I will continue to kick this project in the right direction by making suggestions :)


feat(core): create capture entity for each manual capture request

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

For each manual capture request, a new entry is created in captures table (irrespective of partial or full).
This will be useful for implementing multiple partial capture.
This PR only creates an entry in capture table. For status update of capture, we need to do the changes at connector's end in future.
Additional Changes

[ ] This PR modifies the API contract
[x] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

With current DB models, it is not possible to make and track multiple partial capture. To solve this, a new captures table must be created.
How did you test it?

Manual

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

Closed in favour of #1721 .


refactor(RingTheory/OreLocalization): Ore localization of modules

To accommodate this change, right ore condition has been changed to left ore.
This enables us to redefine Localization and LocalizedModule with OreLocalization in the future.

It looks good to me, but I would let someone more into the algebra part of mathlib have the last say.
maintainer merge

bors merge


#2724 added message after commit

A popup_to_inform is used to show to user that the commit is successful.
Fixes: #2724

add more commits to the branch to change the contents of the pull request


Merch page layout

Remaining Tasks:

Include all colors/styles for merch items (gallery view?)

I wouldn't make it a requirment for this PR. @ttylong, @LabibAfsarAhmed and I will be looking into alternative vendors for next year which will impact the color options.

More changes I would like to merge as part of this PR:

Update the exec team: Sareen is now an Advisor and we need to add Estefy as our new Media Commissioner!
Make the current projects section visible: You can use placeholder images since the logos are not available yet


Adds support for prefix type matching

Changes:

Adds support for extracting prefix type queries and highlighting them.
Adds tests to ensure prefix and suffix type matching works.

I think it's fine. Shouldn't ultimately LFortran provide the tokens with proper types?

Yes, I will migrate it to lfortran as soon as I can. My main concern, at the moment, is to ensure that customer's have a good experience with our extension.


add extension that make table like excel

Create a extension that can make table with initialized by editable elements like excel. You can use keyboard to select the cell and open the container.

@HenriettaSu:  Thanks. Can you please put a demo on JS Fiddle or similar?

@MarQuisKnox: Absolutely. I'll add a demo as soon as possible.

Thanks!


What about openswoole?

Any particular reason ext-swoole is being used rather than ext-openswoole ?
Is it possible somehow to support both/either?
Doesn't ext-openswoole have some good features for PDO connection pooling which can be used for postgresql? Or are there any clear advantages/disadvantages of swoole/openswoole in regards to non-blocking concurrency with postgres?

Sorry, at present, Hyperf does not support OpenSwoole, and there is no such plan for the time being. In fact, I don't think OpenSwoole is a sustainable development project.

Understood - thanks


Clean up and codecoverage

Use code coverage report to find and remove unused code.
Also add tests to increase code coverage if needed.
A lot of things are not called in tests, is it that they are not used anymore (or that it was not worth adding tests for?

Code coverage is decent now, closing this.


PDAF: Refactor NetCDF libraries

refactor usage of environment variables for setting librariys in BuildPDAF.cmake
Add PNetCDF for eCLM-PDAF

continues discussion from #37 that went further than PR was intended to go

You can also use NetCDF_LIBRARIES which are also used in Build{CLM3.5|COSMO|ICON|OASIS3MCT}.cmake:
https://github.com/HPSCTerrSys/TSMP2/blob/8542bd23d23f58b765030c35779ad65717e4c099/cmake/FindNetCDF.cmake#L20


Hyperlinking contact numbers in view requests page

Since people might access the site from mobile devices mostly, how about making the phone number a hyperlink which opens the dialer on clicking ?

Raised pull request for the same.

Added a .json file of helpline numbers here: https://github.com/studiobofa/kf2018/blob/master/helplines.json

already implemented

i see this was not merged


"manifold_script_path" not found

Hi,
Thank you for the excellent framework.
Running "bash ./scripts/examples/giraffe.sh" and got the error below when it gets to "1000" iteration:

Traceback (most recent call last):
File "main.py", line 85, in
mesh = utils.manifold_upsample(mesh, opts.save_path, Mesh,
File "point2mesh/utils.py", line 18, in manifold_upsample
raise FileNotFoundError(f'{manifold_script_path} not found')
FileNotFoundError: ~/code/Manifold/build/manifold not found

Any advise is appreciated!
Thanks so much and have a good day!

Hi @miaoqiz --
Did you install the manifold software if so where did you install it?
If it is in a different location than ~/code/Manifold/build/manifold
Then you should change line 6 in options.py to be the full path of the manifold/build location

I met the same problem.
Maybe you can try to change
MANIFOLD_DIR = r'~/code/Manifold/build'
in options.py to
MANIFOLD_DIR = r'/home/USER/code/Manifold/build'
(change USER to your user name)

I met the same problem. You could try to change

if not os.path.exists(manifold_script_path):

in utils.py to

if not os.path.exists(MANIFOLD_DIR):

This worked for me. Getting this error means that "/code/Manifold/build/manifold" is not a path. If you did install manifold in "/code/Manifold/build", you could remove 'manifold' and retry.

hello ,I met the same problem. then,i changed line 6 in options.py to be the full path of the manifold/build location：
MANIFOLD_DIR = 'F:\\point2mesh\\point2mesh\\code\\Manifold\\build'
I use Windows system。Running "main.py" and got the error below when it gets to "1000" iteration:
'F:\point2mesh\point2mesh\code\Manifold\build\manifold' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
'F:\point2mesh\point2mesh\code\Manifold\build\simplify' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
Traceback (most recent call last):
File "F:/point2mesh/point2mesh/main.py", line 85, in
mesh = utils.manifold_upsample(mesh, opts.save_path, Mesh,
File "F:\point2mesh\point2mesh\utils.py", line 27, in manifold_upsample
m_out = Mesh(temp_file, hold_history=True, device=mesh.device)
File "F:\point2mesh\point2mesh\models\layers\mesh.py", line 24, in init
self.vs, self.faces = load_obj(file)
File "F:\point2mesh\point2mesh\utils.py", line 59, in load_obj
f = open(file)
FileNotFoundError: [Errno 2] No such file or directory: './checkpoints/guitar\tempdcb80901-3103-45eb-9bfa-c0f2fbfa0381.obj'

hello ,I met the same problem. then,i changed line 6 in options.py to be the full path of the manifold/build location：
MANIFOLD_DIR = 'F:\\point2mesh\\point2mesh\\code\\Manifold\\build'
I use Windows system。Running "main.py" and got the error below when it gets to "1000" iteration:
'F:\point2mesh\point2mesh\code\Manifold\build\manifold' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
'F:\point2mesh\point2mesh\code\Manifold\build\simplify' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
Traceback (most recent call last):
File "F:/point2mesh/point2mesh/main.py", line 85, in
mesh = utils.manifold_upsample(mesh, opts.save_path, Mesh,
File "F:\point2mesh\point2mesh\utils.py", line 27, in manifold_upsample
m_out = Mesh(temp_file, hold_history=True, device=mesh.device)
File "F:\point2mesh\point2mesh\models\layers\mesh.py", line 24, in init
self.vs, self.faces = load_obj(file)
File "F:\point2mesh\point2mesh\utils.py", line 59, in load_obj
f = open(file)
FileNotFoundError: [Errno 2] No such file or directory: './checkpoints/guitar\tempdcb80901-3103-45eb-9bfa-c0f2fbfa0381.obj'

hi,I use windows  systems.how to install

hello ,I met the same problem. then,i changed line 6 in options.py to be the full path of the manifold/build location：
MANIFOLD_DIR = 'F:\\point2mesh\\point2mesh\\code\\Manifold\\build'
I use Windows system。Running "main.py" and got the error below when it gets to "1000" iteration:
'F:\point2mesh\point2mesh\code\Manifold\build\manifold' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
'F:\point2mesh\point2mesh\code\Manifold\build\simplify' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���
���������ļ���
Traceback (most recent call last):
File "F:/point2mesh/point2mesh/main.py", line 85, in
mesh = utils.manifold_upsample(mesh, opts.save_path, Mesh,
File "F:\point2mesh\point2mesh\utils.py", line 27, in manifold_upsample
m_out = Mesh(temp_file, hold_history=True, device=mesh.device)
File "F:\point2mesh\point2mesh\models\layers\mesh.py", line 24, in init
self.vs, self.faces = load_obj(file)
File "F:\point2mesh\point2mesh\utils.py", line 59, in load_obj
f = open(file)
FileNotFoundError: [Errno 2] No such file or directory: './checkpoints/guitar\tempdcb80901-3103-45eb-9bfa-c0f2fbfa0381.obj'

hi,I also use windows system.did you solute the problem? I cannot run it with the same problem


SyntaxError: invalid syntax

Can you have python modules with hyphens in the name?
> cm-rgb-monitor
  File "/home/nsheff/.local/bin/cm-rgb-monitor", line 2
    from cm-rgb.ctrl import LedChannel, LedMode, CMRGBController
           ^
SyntaxError: invalid syntax

and:
cm-rgb-cli
  File "/home/nsheff/.local/bin/cm-rgb-cli", line 3
    from cm-rgb.ctrl import LedChannel, LedMode, CMRGBController
           ^
SyntaxError: invalid syntax

python3 --version
Python 3.8.5

Thank you for reporting.
It's now fixed in master, recent pull request was responsible.


fix: Revert "fix: polling timeout when click is response t triggers another polling"

Reverts descope/descope-js#743

Make sure to release


fix: Added a check to skip prepareSkinResources for dataImport tasks

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines

Description of change

This is an attempt at #213

I'm agree it's a good improvment !


javacc: 7.0.10 -> 7.0.12

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/javacc/javacc/releases.
meta.description for javacc is: "A parser generator for building parsers from grammars"
meta.homepage for javacc is: "https://javacc.github.io/javacc"
meta.changelog for javacc is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 7.0.12 in filename of file in /nix/store/1lilmzr45axz8njb6hhj8q8673491bgx-javacc-7.0.12

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
javacc

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1lilmzr45axz8njb6hhj8q8673491bgx-javacc-7.0.12
ls -la /nix/store/1lilmzr45axz8njb6hhj8q8673491bgx-javacc-7.0.12/bin

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

1 package built:

javacc

Maintainer pings
cc @limeytexan for testing.

@limeytexan Is this behavior intended?
[nix-shell:~/.cache/nixpkgs-review/pr-183392]$ ./results/javacc/bin/javacc
./results/javacc/bin/javacc: line 8: java: command not found

@onny - I've asked @invokesus to comment further as he originally created the patch. I suspect it may be intentional that javacc should expect to find java in the runtime PATH but I don't have the entire context. One solution may be to append the jdk currently listed as a nativeBuildInput to the runtime PATH so that the user can still override the choice of java.

Superseded by https://github.com/NixOS/nixpkgs/pull/187867


Add support for AES256-CBC + HMAC-SHA512  encryption

Description
Add support for AES256-CBC + HMAC-SHA512  encryption.
Motivation
Keep the secret derived from Diffie-Hellman in Stronghold/Storage.
Note
Also depends on iota-crypto adding support for AES256-CBC + HMAC-SHA512.

@felsweg-iota

depends on PR#41

For reference, this can now be implemented, since the relevant PR iotaledger/crypto.rs#41 was merged. It will require stronghold to upgrade to iota-crypto version 0.11 or higher, which may or may not be a significant upgrade. @felsweg-iota do you plan on working on this soon-ish, or should we implement it if we need it soon?

Hey @PhilippGackstatter, unfortunetaly I won't work on this issue soon.


Group Example: values

vue & vue-validator version
2.0.3, alpha.1
In this example:
https://github.com/vuejs/vue-validator/blob/b5136d8aea547058b9480b874957061fc38ec9b0/examples/group/index.html
How would you access the actual value of the inputs?

You can the access with event args of input event handler.
e.g.
handleValidate (e) {
  const value = e.target.value
  ...
}

But I cannot combine that with v-model, right?

@kazupon  the way you show to get value is not elastic，
1、must i bind input event to every form input to get its value?
2、it seem like  only bind @input | @change  event can activate the validators？


Enhance client handshake object parsing

Objects embedded in the client handshake include: cipher suites, compression methods
and TLS extensions
In addition to the string of ids currently being parsed out, extract more comprehensive
information:

cipher suites - embed full cipher description including nice name and algorithm key length.  This information will be sourced from the suites.csv document included in the source tree.  It will be processed into a source file: sslhaf_suites.c which contain lookup routines that return a suite description given an id number.  The main lookup function will be exported in sslhaf.h as a useful utility function.
compression methods - store a printable string of comma separated compression method ids as well as an array of ids
extensions - store extension information as the existing list of printable ids, but in addition, provide a traversable list of objects with more detailed extension information.  The object will have a standard header containing the extension name, the id and an enumeration key, and a union of subobjects.  The real subobject stored in the union will be demarcated by the extension key in the header, which will either indicate a supported extension object type, or indicate a generic 'unsupported' type.

Closing as it seems that this had been merged a while ago.

..


latest master cannot show web page properly

:hand: We are a small team with limited resources. Your question is much more
likely to be answered if it is
a good question

I fetched latest master version and then install it by 'yarn install' successfully.
The viewer is started successfully by yarn dev command without any error messages.
But, the brower navigates to http://localhost:3000, just displayed the black blank page without anything thing else.
At the same time, I open the chrome debugger and find an error catched on console at this line:
error: manager.getactions is not a function.
It seems that rasied from react-dnd-touch components.
Please help, thank you all!
Questions can often be answered by our documentation. Unable to find an answer
in our docs? We'll try to help. In the meantime, if you answer your own
question, please respond with the answer here so that others may benefit as
well. Better yet, open a PR to expand our docs ^_^

Hey @zhaoyu162, a few questions:

Can you show your log from terminal after you call yarn run dev?
What device/system are you running?
What is your npm version?

hello juitos,
Thank you !
npm version is 6.11.3,
OS is windows 10,
AND the log as below:
yarn run v1.17.3
$ lerna run dev:viewer --stream
lerna notice cli v3.16.4
lerna info versioning independent
lerna info Executing command in 1 package: "yarn run dev:viewer"
@ohif/viewer: $ yarn run dev
@ohif/viewer: $ cross-env NODE_ENV=development webpack-dev-server --config .webpack/webpack.pwa.js --watch
@ohif/viewer: i ｢wds｣: Project is running at http://localhost:3000/
@ohif/viewer: i ｢wds｣: webpack output is served from /
@ohif/viewer: i ｢wds｣: Content not from webpack is served from D:\extension\YinHui\Viewers-master (1)\Viewers-master\platform\viewer
@ohif/viewer: i ｢wds｣: 404s will fallback to /index.html
@ohif/viewer: i ｢wdm｣: wait until bundle finished: /

@zhaoyu162, I'm unable to reproduce. Do you get the same result when you visit this recent Deploy Preview?

https://deploy-preview-973--ohif.netlify.com/pwa/

Are you using a clean copy of the OHIF Viewer? Have you tried clearing your node_modules folder and running yarn install again? Are you able to create a CodeSandbox that reproduces your issue?
Unfortunately, I'm not sure I'll be able to help much until we can pin down the steps and environment required to reproduce your issue.

Thank you @dannyrb !
I was processing it by cleaning the node_modules and trying again later.
Could you tell me your NPM version and yarn version?

@zhaoyu162, do you get a Reference Error __webpack_require__ is not defined in your debugger when running Deploy Preview from a link above?
If yes, can you try turning off any Chrome extensions? In my case running adblocker also resulted in black blank page and err above.

Hi @jwitos , in debugger I still get this error for your linke as my local page previousely:
t.getActions is not a function
at new e (TouchBackend.js:240)
at Mc (index.js:5)
at Sc (viewerbaseDragDropContext.js:13)
at Object. (OHIFStandaloneViewer.js:235)
at a (bootstrap:68)
at Module. (app.bundle.8eff2465da13d1c41817.js:3082)
at a (bootstrap:68)
at bootstrap:244
at app.bundle.8eff2465da13d1c41817.js:1

Thanks @zhaoyu162, can you check then with browser extensions turned off or with different browser?

Thank you @jwitos !
I tried another browsers but the same errors. And everytime I navigate to http://localhost:3000, I would get a message box on the top of window, it says:
"😭: hot update was not successful
(1/1)
hot update failed for module "./App.js". Last file processed: "./OHIFStandaloneViewer.js".“”
What happend to it? 😭

Hi @jwitos , in debugger I still get this error for your linke as my local page previousely:
t.getActions is not a function
at new e (TouchBackend.js:240)
at Mc (index.js:5)
at Sc (viewerbaseDragDropContext.js:13)
at Object. (OHIFStandaloneViewer.js:235)
at a (bootstrap:68)
at Module. (app.bundle.8eff2465da13d1c41817.js:3082)
at a (bootstrap:68)
at bootstrap:244
at app.bundle.8eff2465da13d1c41817.js:1

I just pushed a fix for this in https://github.com/OHIF/Viewers/pull/982. Thanks for posting the issue!
And thanks to you too @jwitos for letting us know about https://github.com/OHIF/Viewers/issues/979. I was running into that issue as well but never thought that it could be a browser extension issue.

Closing because this should be fixed now.
I'm not sure about this:

hot update failed for module "./App.js". Last file processed: "./OHIFStandaloneViewer.js".“”

but it sounds very familiar. I think @dannyrb fixed that a while ago?

Yes，it is fixed now！
Thank you @swederik and others.


No Playability Status Block - Loading Information for a YouTube Track Failed

I'm seeing a completely different JSON error than everybody else, apparently. For some reason it looks like it's failing to find the playabilityStatus block but, as far as I can tell from looking at the JSON, it's there. This does not get fixed by merging #687.
[JDA MainWS-ReadThread] INFO net.dv8tion.jda.internal.requests.WebSocketClient - Connected to WebSocket
[JDA MainWS-ReadThread] INFO net.dv8tion.jda.api.JDA - Finished Loading!
[lava-daemon-pool-info-loader-2-thread-1] WARN com.sedmelluq.discord.lavaplayer.tools.ExceptionTools - Error when extracting data EID: 1460bda8-9a85-4d7c-8c3e-d3aa6956d17c, mainJson: (Too long for github comment)
[lava-daemon-pool-info-loader-2-thread-1] ERROR com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager - Error in loading item https://www.youtube.com/watch?v=0_04Z-7kZ9E
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Loading information for a YouTube track failed.
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadTrackWithVideoId(YoutubeAudioSourceManager.java:220)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager$LoadingRoutes.track(YoutubeAudioSourceManager.java:232)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager$LoadingRoutes.track(YoutubeAudioSourceManager.java:228)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeLinkRouter.routeFromUrlWithVideoId(DefaultYoutubeLinkRouter.java:99)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeLinkRouter.routeFromMainDomain(DefaultYoutubeLinkRouter.java:64)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeLinkRouter.route(DefaultYoutubeLinkRouter.java:42)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadItemOnce(YoutubeAudioSourceManager.java:196)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadItem(YoutubeAudioSourceManager.java:131)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:436)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:418)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:217)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at com.sedmelluq.discord.lavaplayer.tools.OrderedExecutor$ChannelRunnable.executeQueue(OrderedExecutor.java:98)
	at com.sedmelluq.discord.lavaplayer.tools.OrderedExecutor$ChannelRunnable.run(OrderedExecutor.java:87)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
	Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
  lavaplayer.version: 1.3.78
  os.arch: amd64
  os.name: Linux
  os.version: 5.16.14-1-MANJARO
  java.vendor: N/A
  java.version: 17.0.3
  java.runtime.version: 17.0.3+3
  java.vm.version: 17.0.3+3
Caused by: java.lang.RuntimeException: Error when extracting data EID: 1460bda8-9a85-4d7c-8c3e-d3aa6956d17c, mainJson <redacted>
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.throwWithDebugInfo(ExceptionTools.java:134)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:62)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadDetails(DefaultYoutubeTrackDetailsLoader.java:37)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadTrackWithVideoId(YoutubeAudioSourceManager.java:208)
	... 16 more
Caused by: java.lang.RuntimeException: No playability status block.
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.checkPlayabilityStatus(DefaultYoutubeTrackDetailsLoader.java:96)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadBaseResponse(DefaultYoutubeTrackDetailsLoader.java:73)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:51)
	... 18 more

I can have a look at it later tonight; it is probably something similar in nature to #687.

I can have a look at it later tonight; it is probably something similar in nature to #687.

Thanks! Yeah, it's frustrating because I'm sure it's something stupid simple but I couldn't figure it out last night because I couldn't debug the lavaplayer code. Attached is the full error. I'll also be taking another look at it later tonight unless you beat me to it.
bot_err.txt

I did a quick comparison of the json from my error and the json from #688. The structure up to playabilityStatus is identical. But at the playerResponse level, mine has a few additional fields: playerAds, videoQualityPromoSupportedRenderers, and adPlacements. Pretty much everything else looks the same.
I have no idea why it could be throwing this error when the structure up to the playabilityStatus isn't different. But the presence of ad info in my error makes me wonder if this could have anything to do with ads?

I was right about to create an issue for this. I just started seeing this error today

Do you have any error logs or system information to share? I don't even know if it's a code issue at this point. Many others using the same version and getting a response of the same format aren't seeing the same issue as us.

@dolanbernard  Here's the full stack trace. Before this there are two warning messages
lavaplayer.log
2022-04-07 08:34:50.296  ERROR  aplayer.player.DefaultAudioPlayerManager : Error in loading item https://www.youtube.com/watch?v=7wtfhZwyrcc
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Loading information for a YouTube track failed.
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadTrackWithVideoId(YoutubeAudioSourceManager.java:220)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager$LoadingRoutes.track(YoutubeAudioSourceManager.java:232)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager$LoadingRoutes.track(YoutubeAudioSourceManager.java:228)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeLinkRouter.routeFromUrlWithVideoId(DefaultYoutubeLinkRouter.java:99)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeLinkRouter.routeFromMainDomain(DefaultYoutubeLinkRouter.java:64)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeLinkRouter.route(DefaultYoutubeLinkRouter.java:42)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadItemOnce(YoutubeAudioSourceManager.java:196)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadItem(YoutubeAudioSourceManager.java:131)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:436)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:418)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:217)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at com.sedmelluq.discord.lavaplayer.tools.OrderedExecutor$ChannelRunnable.executeQueue(OrderedExecutor.java:98)
	at com.sedmelluq.discord.lavaplayer.tools.OrderedExecutor$ChannelRunnable.run(OrderedExecutor.java:87)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
  lavaplayer.version: 1.3.77
  os.arch: amd64
  os.name: Windows 10
  os.version: 10.0
  java.vendor: Oracle Corporation
  java.version: 1.8.0_191
  java.runtime.version: 1.8.0_191-b12
  java.vm.version: 25.191-b12
Caused by: java.lang.RuntimeException: Error when extracting data EID: f724e2e9-0e51-439c-adf7-40daced460a5, mainJson <redacted>
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.throwWithDebugInfo(ExceptionTools.java:134)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:70)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadDetails(DefaultYoutubeTrackDetailsLoader.java:45)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadTrackWithVideoId(YoutubeAudioSourceManager.java:208)
	... 16 more
Caused by: java.lang.RuntimeException: Neither player nor playerResponse in result EID: e4ba8cd7-1e88-4b40-8ed7-de68490dc17f, json <redacted>
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.throwWithDebugInfo(ExceptionTools.java:134)
	at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeTrackJsonData.fromMainResult(YoutubeTrackJsonData.java:53)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadBaseResponse(DefaultYoutubeTrackDetailsLoader.java:80)
	at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:59)
	... 18 more

@dolanbernard Disclaimer, I have no prior experience with handling those youtube jsons but from debugging, it seems like the code here failed to find player and player response:
https://github.com/sedmelluq/lavaplayer/blob/707771af705b14ecc0c0ca4b5e5b6546e85f4b1c/main/src/main/java/com/sedmelluq/discord/lavaplayer/source/youtube/YoutubeTrackJsonData.java#L32
Here's the json it's trying to parse

@dolanbernard Yeah this is exactly the same as https://github.com/sedmelluq/lavaplayer/pull/687.
@idpromnut Tried your PR from jitpack and it works. I'll watch closly and switch back to main branch after the PR is merged.

@dolanbernard Yeah this is exactly the same as #687.
@idpromnut Tried your PR from jitpack and it works. I'll watch closly and switch back to main branch after the PR is merged.

I have a completely different error. It's finding the player response but it isn't finding the block directly under it. But it's interesting to see that your response is also missing the ad related data.
I've tried the fix from that other thread and it doesn't change anything. In fact, without that fix, I don't see the same error that you we're getting. I'm not even sure what else to try at this point.

Update: I was able to fix the issue by just removing the jitpack repository from my pom.xml. I don't know why, but that's it. I noticed that changes I made to my local repository version of lavaplayer weren't having any effect after publishing. This was frustrating because within my IDE, I could view the lavaplayer source and see my changes there.
So the version I could see in the IDE by following links in stack traces and Ctrl+Clicking would have my new code, but this isn't actually the code that was being run for some reason. I figured this out when I noticed that the version in my error messages was 1.3.78. In the version I published locally I had set version to 1.4.0. 1.4.0 was the version I selected in my pom.xml. Somehow though, just because I still had the jitpack repo in my pom.xml it was using the wrong version but not even my IDE was aware of that.
This was a weird one. I'm gonna close this issue now, but if anybody does run into the same problem I can take a look at it.


vcpkg_copy_pdbs fails if dumpbin output is localized

I noticed that after 'VS2017 support' upgrade pdbs are not picked up correctly for me.
Installation output:
>vcpkg install zlib
...
-- Warning: Could not find a matching pdb file for:
    G:/libraries/vcpkg/packages/zlib_x64-windows/bin/zlib1.dll
    G:/libraries/vcpkg/packages/zlib_x64-windows/debug/bin/zlibd1.dll
...
Package zlib:x64-windows is installed

This is probably because vcpkg_copy_pdbs searches for PDB file found at string, which may look a little diffrent if output is localized. For example, in Polish translation:
  Znaleziono plik PDB w pozycji „G:\libraries\vcpkg\buildtrees\zlib\x64-windows-rel\Release\zlib.pdb”
Btw this is pretty unexpected beacuse I explicitly installed only English language pack for VS2017.

I will investigate how I can make this locale independent.
Regarding the last sentence, is your system locale Polish? In which case, dumpbin.exe follows the system locale instead of the language bug you have installed which would indicate a bug. I will file a bug about this issue.

Yes it is. To be precise: IDE's language is correctly set to English but cmd line output (from dumpbin, cl etc) is localized. I see both laguages listed in installer but trying to remove one of them does nothing (installer "runs" for a few seconds but nothing gets unistalled). I think this problem is already known as I've seen a few bug reports online with similar issues.

Should be fixed. Please confirm :)

Works now, thanks!

I stumbled on this exact error, with MSVC set to German and no English language pack installed. Dumpbin silently reverts to German and PDB files aren't installed. I'd suggest adding a check for whether dumpbin's output is actually english (e.g. check for presence of Dump of file), and if it isn't, print a warning suggesting to install the English language pack rather than have the user debug this themselves.


Design Improvements

Improved fontSize of Headers on splash pages
LandingPage:

show public descriptions of groups
rename title to "Foodsaving Worldwide"

Topbar:

Removed margin underneath on mobile

History:

Added padding for description

Codecov Report

Merging #442 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #442      +/-   ##
==========================================
+ Coverage   98.59%   98.59%   +<.01%
==========================================
  Files         199      199
  Lines        2699     2701       +2
==========================================
+ Hits         2661     2663       +2
  Misses         38       38

Impacted Files
Coverage Δ

...landingPageMap/_groupPopup/groupPopup.component.js
100% <ø> (ø)
:arrow_up:

client/app/components/landingPage/landingPage.js
100% <ø> (ø)
:arrow_up:

...landingPage/_landingPageMap/landingPageMap.spec.js
100% <ø> (ø)
:arrow_up:

...gPage/_landingPageMap/landingPageMap.controller.js
100% <100%> (ø)
:arrow_up:

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 19b0e1d...689e660. Read the comment docs.


Enable snapshot builds

https://github.com/creek-service/creek-test/issues/30
Reviewer checklist

[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure any appropriate documentation has been added or amended

Coverage remained the same at 99.615% when pulling 78357c9ef340fb0d061575eab28c3eaeb32980c2 on snapshot into a42910da5e38cb15abc53681e4d01da06dbd863a on main.


filetype: Some notmuch configs are not recognised

Problem:  Some notmuch configs are not recognised
Solution: Detect notmuch profile configuration files
Reference: https://notmuchmail.org/doc/latest/man1/notmuch-config.html#configuration

thanks!


Feature/linkta 91 back end formats prompt and communicates with gemini

Description
This changes the /gen-ai/query route to convert the prompt into a form that will return a response from the LLM that can be used to generate a tree.
There are a number of prompt examples to use, which may need to be modified. This has been done so that testing can be implemented in order to expand types and test different prompts to determine the best results.
Type of change

[ ]  🐛 Bug fix (non-breaking change which fixes an issue)
[x] ✨  New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] 📝 Documentation update
[ ] Other 🗒 ______________

How Has This Been Tested?

Manual testing.
Checklist:

[x] I have performed a self-review of my own code.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] Any dependent changes have been merged and published in downstream modules.
[x] I have reviewed the Security Best Practices Document.
[x] I have followed the Naming Conventions Guide for my changes.
[x] I have ensured that my pull request title is descriptive.

Additional Information:
There is work here that is meant to be built upon as needed in the future. A test of the current configuration gave this response:
"JSON\n{\n  \"Architecture\": {\n    \"History\": [\n      \"Ancient Egypt\",\n      \"Ancient Greece\",\n      \"Ancient Rome\",\n      \"Byzantium\",\n      \"Renaissance\",\n      \"Baroque\",\n      \"Neoclassicism\",\n      \"Modernism\",\n      \"Postmodernism\"\n    ],\n    \"Building Types\": [\n      \"Residential\",\n      \"Commercial\",\n      \"Institutional\",\n      \"Civic\",\n      \"Industrial\",\n      \"Religious\",\n      \"Military\"\n    ],\n    \"Design Elements\": [\n      \"Form\",\n      \"Function\",\n      \"Structure\",\n      \"Materials\",\n      \"Light\",\n      \"Color\",\n      \"Texture\"\n    ],\n    \"Sustainable Design\": [\n      \"Green Building\",\n      \"Environmental Impact\",\n      \"Renewable Energy\",\n      \"Water Conservation\",\n      \"Waste Reduction\"\n    ],\n    \"Architectural Styles\": [\n      \"Classical\",\n      \"Gothic\",\n      \"Renaissance\",\n      \"Baroque\",\n      \"Neoclassicism\",\n      \"Modernism\",\n      \"Postmodernism\"\n    ]\n  }\n}\n"
We are still not transforming this response into a tree, that is a separate issue.

Added the edge case I mentioned in standups.