WIP deploymentUnit/serviceReconcile refactor + healthCheck to standalone instance

https://github.com/rancher/rancher/issues/7271

Closing in favor of https://github.com/rancher/cattle/pull/2544


Add a method to start a new session

Sessionization is now purely based on time since the last event. We could add a method that, if called, resets the session ID and increments the session index.
Possible use cases:

a user switches accounts
a user completes a purchase and returns to the homepage

Closing as part of the upcoming version 2.0
Future iteration on this topic are needed in order to send diagnostic events whenever a new session is forced in order to avoid ambiguities during data modelling. The renewed session without context details could be interpreted as a bug of the tracker rather than an explicit request of update.
See #558


Add widget doc demo collection to example config

- Do you want to request a feature or report a bug?
Docs feature
- What is the current behavior?
The Kitchen Sink collection in the cms-demo example config is great for testing widget code changes, and for demonstrating just how far you can go with nesting, but it's less helpful for someone learning how to configure fields on their own site. For example, the purpose of the label setting is clearer when its value doesn't match the name of the widget.
- What is the suggested behavior?
When adding config code examples to the widgets doc, I wrote them to look like common use cases. These will be even clearer when we have UI screenshots of what each config produces, and I think the example site is a great place to make the demos for that. I don't think they should replace the Kitchen Sink collection (because it serves its own purpose), but be part of a new collection, maybe "Widget Demos" or something.
After the demo config is complete, we can file an issue to take screenshots for the widget doc, or possibly track that as part of #486.

I'm in total agreement with this. I originally felt that stuffing things in the example project as a form of documentation was an anti-pattern, but that was definitely incorrect. We should go the other way and start doing exactly that, providing examples of common use cases right in the example project. The kitchen sink should be retained as a stress test for the editor.

Closing as stale and/or outdated.


BUG: User can save after Team is deleted

Steps to reproduce bug:

Create a Team with 2 people
Enter the mission page and make a change but don't click save yet
Delete the Team using Admin account
Save Mission

What happens is, when we delete the team, all notifications, answers, submission, team member, and the team will be deleted. However, the Save button will trigger the creation of a new Submission not tied to any team!

Resolved in this PR


Add ability to run OCR on imported images

This PR pertains to #204
This PR adds functionality to run optical character recognition on imported images in the WSI DeID plugin. There are three ways a user can trigger this process.

During import
From the AvailableToProcess folder
On a single image in the AvailableToProcess folder

For (1), there is a new plugin setting to enable starting OCR during an import. To enable, navigate to Admin console > Plugins > WSI DeID and ensure that Find Label Text on Import is checked. For (2), there is a new action button next to Import that will trigger OCR. For (3), there is a workflow button on the item view.
All three methods will run OCR asynchronously as a local girder job. The job can be monitored from the jobs page. Any text found in the label image of a WSI is added to the item metadata for the girder item.

The current performance is fine, unless a bit of tuning would result in nearly the same quality but significant speed improvements.
Ultimately, on import, we'll end up have an import excel/csv file that has some text fields in it and IF we can unique match the OCR text to a single line in the import file, then we'll use another field from that line as the name of the file.

Ultimately, on import, we'll end up have an import excel/csv file that has some text fields in it and IF we can unique match the OCR text to a single line in the import file, then we'll use another field from that line as the name of the file.

What will this look like exactly? Will a target column in the import file be configurable, and we'll check OCR results against the specified column to try and match an image to a row? Should that be a plugin setting or a deployment setting?
Should the OCR results still be added to the metadata?

I think this looks like having a different schema file (replacing or extending the schema in wsi_deid/schema/importManifestSchema.json by mounting a different schema in the docker for instance) where InputFileName is not defined.  The image would first be placed in a new folder, defining one additional folder for the project -- so a folder that would be called some thing ("Unfiled"?).  When OCR results are finished (I'd still add them to the metadata), we would check if there are words in the OCR that uniquely match some fields in a single row of the latest upload file (so we'll need to store that somewhere, possibly with the OCR job).  If these match, the file would then be given a name from the upload file (e.g., from the ImageID field or another configurable base field (e.g, TokenID) which would then be suffixed with a unique value).  Once renamed, the file would be moved into the AvailbleToProcess folder and be processed as before.

I've transferred some of this commentary about how this will be used into issue #205 which is now the road map for the rest of this work.  If you think the OCR is working adequately, we could review and merge this and proceed with the other parts of the work.  This will probably be brittle, but that is acceptable for now.

I've transferred some of this commentary about how this will be used into issue #205 which is now the road map for the rest of this work. If you think the OCR is working adequately, we could review and merge this and proceed with the other parts of the work. This will probably be brittle, but that is acceptable for now.

Sure, I'll mark this as ready for review, and look over #205 to see what's next.


Better Error Handling

Feature Request
Is your feature request related to a problem?
While developing some examples, I've passed in some bad parameters to a partial or there have been issues in my partials that causes futurism to never resolve the partial. As such, cable ready never sends back a valid partial.
Describe the solution you'd like
While in development mode, I'd like to see an error that replaces my placeholder ideally with a stacktrace or at least something that tells me an error has occurred and to check the logs. The logs could indicate the an error has occured.

Example log lines from this morning:
10:17:53 web.1     | Futurism::Channel is transmitting the subscription confirmation
10:17:53 web.1     | Futurism::Channel is streaming from Futurism::Channel
10:17:53 web.1     | Futurism::Channel#receive({"signed_params"=>["BAh7BzoMcGFydGlhbEkiEGhvbWUvcGFyZW50BjoGRVQ6C2xvY2Fsc3sGOgtsZXZlbHNpBw==--a527e60ae4ec7ec5661fd4988d55c7fd2de970a4", "BAh7BzoMcGFydGlhbEkiEGhvbWUvcGFyZW50BjoGRVQ6C2xvY2Fsc3sGOgtsZXZlbHNpCg==--0f1635831073906729c0b3317993274c6896314c", "BAh7BzoMcGFydGlhbEkiEGhvbWUvcGFyZW50BjoGRVQ6C2xvY2Fsc3sGOgtsZXZlbHNpDA==--93d0b5bcab3cc626f00632de40fe82ce89d6c7cb"], "sgids"=>[nil, nil, nil]})
10:17:53 web.1     |   Rendered home/_parent.erb (Duration: 0.6ms | Allocations: 755)
10:17:53 web.1     | Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"Futurism::Channel\"}", "data"=>"{\"signed_params\":[\"BAh7BzoMcGFydGlhbEkiEGhvbWUvcGFyZW50BjoGRVQ6C2xvY2Fsc3sGOgtsZXZlbHNpBw==--a527e60ae4ec7ec5661fd4988d55c7fd2de970a4\",\"BAh7BzoMcGFydGlhbEkiEGhvbWUvcGFyZW50BjoGRVQ6C2xvY2Fsc3sGOgtsZXZlbHNpCg==--0f1635831073906729c0b3317993274c6896314c\",\"BAh7BzoMcGFydGlhbEkiEGhvbWUvcGFyZW50BjoGRVQ6C2xvY2Fsc3sGOgtsZXZlbHNpDA==--93d0b5bcab3cc626f00632de40fe82ce89d6c7cb\"],\"sgids\":[null,null,null]}"}) [ActionView::Template::Error - No route matches {}]: /Users/rickychilcott/github/futurism-auth-spike/.bundle/ruby/2.6.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/journey/formatter.rb:57:in `generate' | /Users/rickychilcott/github/futurism-auth-spike/.bundle/ruby/2.6.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/route_set.rb:738:in `generate' | /Users/rickychilcott/github/futurism-auth-spike/.bundle/ruby/2.6.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/route_set.rb:769:in `generate' | /Users/rickychilcott/github/futurism-auth-spike/.bundle/ruby/2.6.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/route_set.rb:816:in `url_for' | /Users/rickychilcott/github/futurism-auth-spike/.bundle/ruby/2.6.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/url_for.rb:180:in `full_url_for'

UI stays like this:

Exactly! We do have (or had?) similar issues in StimulusReflex - the error messages being too general. Maybe it makes sense to join forces here.

With v3.4 logging in StimulusReflex really looks awesome, should we copy some of that over?


adding PyxisHost value to ContainerCheckConfig for ubi check

Motivation
To be able to lookup pre-prod ubi images in pyxis for testing.
Fix
Add PyxisHost as to the ContainerCheckConfig, and use the value of  of c.pyxisHost that we have from the checkContainer struct.

/test 4.17-e2e

/test 4.17-images


Exception: error.security.account-token-invalid

Greetings World!
I was testing my simple code:
    buy = ig_service.create_open_position(epic='IX.D.DAX.DAILY.IP', direction='BUY')     print(buy)
and the error appeared:
Exception: error.security.account-token-invalid
My requests using ig_service.fetch_open_positions() and ig_service.fetch_accounts() worked fine so I don't think the token is the problem?
Or am I wrong gentlemen?
Any guidance is much appreciated.
Kind regards

It's working perfectly for me.  Is you account Spreadbet or CFD?

Thank you for your reply @galburn
I've try the following code and it works
resp = ig_service.create_open_position(
currency_code='GBP',
direction='BUY',
epic='IX.D.DAX.DAILY.IP',
order_type='MARKET',
expiry='DFB', #DFB in original
force_open='false',
guaranteed_stop='false',
size=0.5, level=None,
limit_distance=None,
limit_level=None,
quote_id=None,
stop_level=None,
stop_distance=None,
trailing_stop=None,
trailing_stop_increment=None)
resp
print(resp)
But it looks like if I change it to 'SELL', the error comes back again?

The account I'm testing on is Spreadbet. It works fine if I space out the requests for at least 1 minute. Is that normal?
This is one of the codes
# resp = ig_service.create_open_position(
#     currency_code='GBP',
#     direction='SELL',
#     epic='IX.D.DAX.DAILY.IP',
#     order_type='MARKET',
#     expiry='DFB', #- does not work
#     force_open='false',
#     guaranteed_stop='false',
#     size=0.5, level=None,
#     limit_distance=None,
#     limit_level=None,
#     quote_id=None,
#     stop_level=None,
#     stop_distance=None,
#     trailing_stop=None,
#     trailing_stop_increment=None)
# resp
# print(resp)

Well that code runs perfectly without error for me!  Even if I remove all the hashes.
If you need further help, please take a look here...
here
It may well be that your library imports or versions are causing a problem.  Or there is some other code mistake.  This is why we insist upon a complete minimal example.

It works fine on the first request but the second one showed the error until I waited a minute, and it worked fine again.
Does that mean there's a limit to how many requests we can put within a 1 minute period?
Many thanks

There API limits, but you should not be hitting them with one request per minute.


[BUG] - Issue with Special Flag - osp_combineCoils

Having issues with the 'isSpecial' flag with HERMES (and PRESS I believe) GE PFiles.
Error in osp_combineCoils (line 41)
isSpecial = strcmpi(MRSCont.raw_uncomb{kk}.seq, 'special');
Error in OspreyLoad (line 255)
        [MRSCont] = osp_combineCoils(MRSCont);
Error in osp_onLoad (line 34)
    MRSCont = OspreyLoad(MRSCont);
Error while evaluating UIControl Callback.

Worked around by setting the flag isSpecial = 0 at top of osp_combineCoils.m for now :-)

Hi @marilenad,
Thanks for reporting this issue. I've just added a fix for this #464.
Hope this works now.
Best,
Helge


Make it easier to export a note in Markdown

Hi, I would like a way to copy a note and all its attachments in Markdown.
Right now, images / attachments are stored at the same level of notes.
If there are multiple notes with images, it gets impossible to copy a note and all, and only, its images.
Can we add a feature to download a note as zip, with all the images / attachments in it?
Or make the default path for attachments configurable with a template, so we can store all asset relative to a note in a folder named name-of-note-assets.
Thanks!

Perhaps supporting this would make sense: http://textbundle.org/

Why this got removed from the roadmap?

Not sure what roadmap you're referring to or how you concluded it was removed.


Adding tags after unlocking a table locks the table

The model is not being refreshed after unlocking a table, so adding tags in metadata is sending locked: true in the request.
Steps:

Go to a locked visualization
Click unlock in the modal window
Add a tag, or more.
Refresh the page: you need to unlock again.

Reported in SB/4905430
PS: Extra issue that I'm already investigating: following the same flow is not saving the tags. It's been also reported and I experienced it in common-data. I will open an independent ticket when spotted.
@javisantana dispatch the issue, please :-)

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Resource creation REST API changes needed

It seems it is still possible to create a resource of any deprecated resource types (Geo Raster, Geo Feature, Multidimensional, Time Series) using the REST API. Before we start migrating these existing resources to composite resource type, I think necessary change needs to be made to REST API to prevent creation of resource of any of these deprecated resource types.

This has been resolved

This has been resolved

Close - refer to #2991

Close - refer to #2991


Add AddContactCommand and AddContactCommandParser tests

As per title.
Also fixed AddContactCommand such that non-empty preamble throws exception.
Closes #83

LGTM!


Telemetry properties cluster_id, cluster_type, and kubefirst_team

Add new properties and deprecate machine_id in favor of a new UUID cluster_id

I think this is in a good state, still need to check how machineId propagates in other repos

Requirements have changed, now also adjusting code to accommodate cloud_provider and git_provider


Is zksync remix plugin safe?

hi
i found this plugin in remix https://github.com/NethermindEth/zksync-remix-plugin
i want to know is this plugin safe to deploy contract on zksync era ? or we have to deploy with introduced method in official docs ?

hi, here are some resources that you may find helpful:
The zkSync Era Remix Plugin: A How-To Guide: [](https://medium.com/nethermind-eth/the-zksync-era-remix-plugin-a-how-to-guide-fc54e8d24bd3)

How to deploy smart contract on zkSync Era Testnet using Remix and MetaMask: [](https://ethereum.stackexchange.com/questions/150695/how-to-deploy-smart-contract-on-zksync-era-testnet-using-remix-and-metamask)

I hope this helps!

You can also check out our official docs for support with this too https://docs.zksync.io/build/tooling/ide.html#remix-ide


WIP: refactor pkg/health to be useful in contexts other than Liveness

This is a proposal to add a concept of Context to the HealthCheck. The Context represents the setting in which a containers health is being queried. Right now the only context used is Liveness, but it's intended that Readiness will follow shortly. The Context is used to access the correct LivenessProbe from an api.Container.
To accommodate this change, some of the HealthCheck impls have been migrated to a separate interface called ProbeRunner so they are no longer responsible for accessing the LivenessProbe directly from the api.Container.
The ultimate goal of this work is to create a mechanism for supporting readiness checks as per #620. The next steps towards this goal might be:

Add ReadinessProbe struct to api/types.go and break components shared with LivenessProbe into a separate HealthyProbe, add ReadinessProbe to api.Container, change pkg/health to work with HealthyProbe
Use ReadinessProbe checks in the kubelet to control available Endpoints.

I'll be working on the api changes next. I can either WIP this PR and append the commits or I can do that work in separate PRs. I am submitting so we can discuss whether this path is on track, or whether this is being worked on somewhere else.

I get the Check/Probe rename.  I am less sure about the rest.  I feel like this is forcing commonality on things that aren't really the same.
I'd rather see probes be more decoupled from kubernetes-concepts like pod.  The RunInContainer could be passed in by kubelet as an implementation of util/exec.Interface or flip it around and define and receive an interface that exec implements.  That wall all the pod and docker and whatever logic stays firmly in kubelet, and probes stay simple.
Then I wonder if this Context type is really worthwhile for just two instances, as opposed to just making two calls to something like RegisterLivenessProbes(NewHTTPProbe(), NewTCPProbe(), NewExecProbe()) and RegisterReadinessProbes(...).  This has the side effect that the two sets of allowed probes are not necessarily the same list.
I'll chew on this a bit more, but thoughts?

I agree with the need to decouple checks from kubernetes concepts. A "ProbeRunner" should not assume that the probe will always be accessed through a specific location in an api object, which is currently preventing the HealthCheck from being used in contexts other than Liveness. What I would like to see is a ProbeRunner interface that accepts a HealthyProbe (like a LivenessProbe but more generic) and some struct, possibly as per this TODO, that contains the information/args required to do the check.
The current implementation of pkg/health is very tightly bound to preforming HealthChecks on a single container. I wasn't sure if that was the ultimate intention but I erred on leaving that intact as much as possible while still refactoring pkg/health to be useful for contexts other than Liveness.
I also think that Context is a terrible and overloaded word but I'm struggling to find a word that fits well. I don't think that the type is necessary.
I'm still trying to figure out how best to accomplish this.

I am on-call today, so I won't have much time to think about this very
deeply, but I'll let it simmer and spend more time on it tomorrow or maybe
tonight.  I had health-checks on my radar for fugly code cleanup anyway :)
On Thu, Jan 22, 2015 at 12:27 PM, Mike Danese<EMAIL_ADDRESS>wrote:

I agree with the need to decouple checks from kubernetes concepts. A
"ProbeRunner" should not assume that the probe will always be accessed
through a specific location in an api object, which is currently preventing
the HealthCheck from being used in contexts other than Liveness. What I
would like to see is a ProbeRunner interface that accepts a HealthyProbe
(like a LivenessProbe but more generic) and some struct, possibly as per
this TODO
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/types.go#L277,
that contains the information/args required to do the check.
The current implementation of pkg/health is very tightly bound to
preforming HealthChecks on a single container. I wasn't sure if that was
the ultimate intention but I erred on leaving that intact as much as
possible while still refactoring pkg/health to be useful for contexts other
than Liveness.
I also think that Context is a terrible and overloaded word but I'm
struggling to find a word that fits well. I don't think that the type is
necessary.
I'm still trying to figure out how best to accomplish this.
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/3695#issuecomment-71092243
.

No worries, take your time. I've tried factoring the api objects out of the pkg/health/health.go interfaces where the client passes in a Probe and a "context" (unrelated to the previous use of the word context) required to execute the Probe. This has the benefit of decoupling api types from the interfaces, isolates most of the mess in the PodeRunner implementations, and would allow a client to pass in HealthyProbes in settings other than Liveness.

Ooh, I'd love to have readiness checks. I'll take a look.
FYI, something similar also applies to nodes, though in that case we've focused on reporting the "condition" rather than specifying how it is determined:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/v1beta1/types.go#L551

It does seem similar although NodeConditionKind is not mutually exclusive. ProbeRunner could probably be adapted to work for both uses, but I wouldn't want to shoehorn it.  I'll think about whether it's possible to reconcile the two.

I spent a little time looking at the existing health check code and I feel
like it is inside out.  It is trying to be plugin-ish, but it really isn't
the sort of thing I would expect to see plugins for, and it's not
abstracted enough to operate that way.
What if we backed down on the plugin-style here?
Nobody but kubelet uses pkg/health EXCEPT for client/kubelet and a few
places that use health.Status.  pkg/health understand Container and Pod
concepts, but why should it?  I think it would be simpler to make
pkg/health become pkg/probe, with sub-packages for exec, tcp, http.  The
probe pkg would have the status codes and anything common.  The individual
sub-pkgs would focus on tight, simple probe implementations with pretty
consistent interfaces (as much as possible, but not artificially so) and NO
pod or container specific tie-ins.
For example, the pkg/probe/exec.Probe type would have a method Run(exec
utilexec.Interface) (or something like that).  All of the RunInContainer
goop would move to Kubelet.  Then, anyone who wanted to do a probe
operation (and there are a couple that are currently open coded to
net/http) would be able to create a pkg/probe/{kind}.Probe() and call Run()
on it.
pkg/probe would NOT treat probes as opaque plugins.  To do that requires a
structure that can be probed against, which requires all probes to be
available everywhere and that just doesn't make sense.  Maybe kubelet can
do that, but it exists within kubelet only.  Simpler might be to just code
it out directly.  Something like:
func (kl *Kubelet) runProbe(probe *api.Probe) health.Status {
    if probe.Exec != nil {
        return allProbes["exec"].Probe(newExecInContainer(pod.UID,
pod.Spec.Containers[c]))
    }
    if probe.HTTP != nil {
        return allProbes["http"].Probe(pod.Status.PodIP, probe.HTTP.URL)
    }
    if probe.TCP != nil {
        return allProbes["tcp"].Probe(pod.Status.PodIP, probe.TCP.Port)
    }
}

Then you can use the same structure for both liveness and readiness, and
the same code to process it, but that logic lives inside Kubelet.

I've rambled quite a bit, so I'll hand the mic back to you :).  I see this
as a few days to a week of work, probably.  I'm not going to force that on
you just to get readiness done, but the more we pile stuff on top of the
existing mess, the harder it will be to disentangle.

Tim

On Thu, Jan 22, 2015 at 4:44 PM, Mike Danese<EMAIL_ADDRESS>wrote:

> It does seem similar although NodeConditionKind is not mutually exclusive.
> ProbeRunner could probably be adapted to work for both uses, but I wouldn't
> want to shoehorn it. I'll think about whether it's possible to reconcile
> the two.
>
> --
> Reply to this email directly or view it on GitHub
> <https://github.com/GoogleCloudPlatform/kubernetes/pull/3695#issuecomment-71128910>
> .
>

I agree that pkg/health should be rethought. Readiness is something I'll be working towards over the next couple weeks but it's low enough priority that I wouldn't put off doing any cleanup I can along the way. I'll think about your suggestions and work on a first pass at this today.

@thockin I've taken a first pass at what I think a pkg/probe could look like and I've tried to address your concerns. PTAL and let me know if I'm on track. I can add tests and move things over that depend on pkg/health if you prefer this.

@bgrant0607 rather than renaming LivenessProbe, we could break the Actions into a Probe object and maintain Probes that hold a Probe and context specific settings. e.g.
type Probe struct {
	HTTPGet   *HTTPGetAction   `json:"httpGet,omitempty"`
	TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"`
	Exec      *ExecAction      `json:"exec,omitempty"`
}

type LivenessProbe struct {
	Probe               `json:",inline"`
	InitialDelaySeconds int64 `json:"initialDelaySeconds,omitempty"`
}

type ReadinessProbe struct {
	Probe              `json:",inline"`
	TimeoutSeconds     int64 `json:"timeoutSeconds,omitempty"`
	FrequencySeconds   int64 `json:"frequencySeconds,omitempty"`
	UnhealthyThreshold int64 `json:"unhealthyThreshold,omitempty"`
	HealthyThreshold   int64 `json:"healthyThreshold,omitempty"`
}

I'm not sure if this is over thinking it as most settings could make sense for most contexts, but I can see a few benefits to this approach. We could add configs to ContextProbes as they become implemented (i.e. we wouldn't have config fields that do things in some spots and are unimplemented in others). We could also have Context specific settings. Either way, I'm happy to work on these api changes. I will probably do this in a seperate PR as this one is already looking large.

@thockin code and tests are moved over from pkg/health. Sorry about the size. I tried to break it up logically by commit. PTAL.

Dude, this is a great refactoring!  So much nicer.  Thank you thank you!

I like Success/Failure much better than Healthy/Unhealthy. The former is the result of a single probe. The latter is an interpretation of the condition of the probee.  Note that I anticipate we'll add support for more sophisticated interpretation of the condition in the future, such as using the results of multiple probes. For example, the GCE LB health checks support thresholds of multiple consecutive successes or failures to change the condition: https://cloud.google.com/compute/docs/load-balancing/health-checks

@mikedanese I think all the fields you specify make sense for both types of probes. I do, however, like the factoring in your ReadinessProbe example -- splitting the probe specification from the control and interpretation parameters. That's similar to the factoring of Volume vs. VolumeSource. If we could unify it with the Handler type, it would be pretty compelling, addressing a long-standing TODO. Otherwise, I don't know that there's a practical benefit to clients. We could consider inlining the inner struct into the outer, if that's the case.

@bgrant0607 hadn't seen that TODO. I'll be playing around with this in #3818.

Status on this?  Is it ready for another final review and commit?

Yes, thanks. I've addressed 2/3 of your comments. If you want me to address the third (0 status code check only for exec probe) I can but I've replied why I was hesitant. Otherwise this is ready for review.

LGTM.  I'm going to run e2e on this before commit.

e2e passes with the exception of PD, which has been having trouble.
@satnam6502 @brendandburns I am making a call to commit this - I don't think PD is related.

This refactor rocks!  @mikedanese FYI,  I expect controller manager to will also use this pkg for node health check.


A.01.01.ISO_AP

This issue has been extracted from the issue list on:https://ies-svn.jrc.ec.europa.eu/issues/2685
Comment
ATS not provided as it is still a subject of further implementation specification development.
Coverage: consider of splitting into different tests; support of all mandatory operations and their parameters, correct encoding of the requests and responses
Proposed Change
It could be possible to work with OGC to implement such a test in OGC CITE. As testing for an OGC standard is not INSPIRE-specific and should be provided by OGC.

See #9 and #34

Resolved by #9


Support for other ARM oprerating systems

with other operating systems such as archlinux arm supporting only raspbain is a bit limiting. It should be possible to modify the existing scripts to use os specific commands based on the current env using the when syntax like this
- name: update system
  shell: sudo pacman -Syu
  tags: - update
  when:
   ansible_distribution == "Archlinux"

In case its a bit difficult to get the ansible_distribution var here is a script that produces a csv file for all hosts specified in the inventory.
- hosts: all
  become: no
  vars:
    output_file: os.csv
  tasks:
    - block:
        # For permisison setup.
        - name: get current user
          command: whoami
          register: whoami
          run_once: yes

        - name: clean file
          copy:
            dest: "{{ output_file }}"
            content: "hostname,distribution,version,release"
            owner: "{{ whoami.stdout }}"
          run_once: yes

        - name: fill os information
          lineinfile:
            path: "{{ output_file }}"
            line: "{{ ansible_hostname }},\
              {{ ansible_distribution }},\
              {{ ansible_distribution_version }},\
              {{ ansible_distribution_release }}"
          # Tries to prevent concurrent writes.
          throttle: 1
      delegate_to: localhost

@advaithm - Ansible should support other distros easy enough—though I'm not sure I'd go through the work of supporting things outside the typical Debian/Ubuntu/Pi OS realm just because that makes enough difference that entire branches of the playbook might need changes.
But if there are a few simple changes (e.g. one or two tasks extra or modifications to one or two tasks), then I'd be willing to look at it.

it should just be changing how the scripts install packages, everything else is basically os independent

@advaithm - In that case it may be very simple (using Ansible's package module, if package names are the same).

Closing in favor of #73 - Similar question, though there's a PR attached to that issue where we can work on more support as needed. https://github.com/geerlingguy/internet-pi/issues/26


Fix iOS 13.4 runtime crash

on iOS 13.4, Apple changed objective-c runtime code (objc4-781),  The structure class_rw_t ro pointer has changed.
This should fix this bug：https://github.com/kstenerud/KSCrash/issues/371.
I have passed the test on my iphone iOS 13.4 and macbook pro macOS 10.15.5.

Looks great! Thanks for your help :)


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/86113

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/86245

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/88344


LangchainJS with llama2

Is there any chance to see instruction or example how to use Llama 2 with LangchainJS?

You'll need 0.0.124:
https://js.langchain.com/docs/use_cases/question_answering/local_retrieval_qa


Link all elements to statement saying it applies to ::before/::after

Link all elements to statement saying it applies to ::before/::after
https://www.w3.org/Style/CSS/Tracker/actions/753

Applies to section now talks about that, so this might be fixed by https://github.com/tabatkins/bikeshed/issues/659


Current version on Ansible Galaxy is old (1.2.0 from 2018-01-25)

Describe the bug
I am waiting for ubuntu 18.04 support. As far as I can the the github repo already contains this. But the version avalable on Ansible Galaxy seems not to be updated.
Also https://github.com/dj-wasabi/ansible-zabbix-agent/releases only shows the latest version from January.
Installation method/version
ansible-galaxy install dj-wasabi.zabbix-agent
Thank you very much!

Correct! It's working now. Thanks for updating and all your work 👍


Documentation: clarify "active interpolation"

Currently, the docs only say "Sets active interpolation for a set of options.", but it is hard to find out what is actually meant by that. From the examples, it looks like whatever property is "actively interpolated" becomes injected into the current $scope, for observation and modification. Is that correct or is there more to it?
Also, please note that the explanation for setTextAutosizeThreshold(threshold) currently is a copy-paste-error (it also is "Sets active interpolation for a set of options.").

There is a new page on the ngTagsInput website explaining what active interpolation means, among other things.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

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


feat: enhanced rollup configuration

I don't have much knowledge in rollup.

Let's give it a try.

Seeing some errors when releasing a new version:
➜  react-datepicker git:(master) ./scripts/release.sh patch
yarn install v1.15.2
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
info<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "^8.16.0 || ^10.6.0 || >=11.0.0". Got "8.14.0"
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">= 10.16.0". Got "8.14.0"
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Updated 0 paths from the index
Can't find Husky, skipping post-checkout hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
v2.9.1
yarn global v1.15.2
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 🔨  Building fresh packages...

success Installed<EMAIL_ADDRESS>with binaries:
      - react-docgen
✨  Done in 0.66s.
./scripts/release.sh: line 11: e: command not found
Can't find Husky, skipping pre-commit hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean
Can't find Husky, skipping pre-push hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 292 bytes | 292.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: GitHub found 1 vulnerability on Hacker0x01/react-datepicker's default branch (1 high). To find out more, visit:
remote:      https://github.com/Hacker0x01/react-datepicker/network/alerts
remote:
To https://github.com/Hacker0x01/react-datepicker.git
   f505c11..c3c0a6e  master -> master
Can't find Husky, skipping pre-push hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 164 bytes | 164.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/Hacker0x01/react-datepicker.git
 * [new tag]         v2.9.1 -> v2.9.1
+<EMAIL_ADDRESS>yarn run v1.15.2
$ cross-env NODE_ENV=production run-p build:** && run-p css:**
/bin/sh: cross-env: command not found
error Command failed with exit code 127.

error Found incompatible module
$ cross-env NODE_ENV=production run-p build:** && run-p css:** /bin/sh: cross-env: command not found

My fault, running an old version of node.

New output:
npm notice 📦<EMAIL_ADDRESS>npm notice === Tarball Contents ===
npm notice 4.8kB   package.json
npm notice 3.2kB   CODE_OF_CONDUCT.md
npm notice 1.5kB   CONTRIBUTING.md
npm notice 1.1kB   LICENSE
npm notice 7.1kB   README.md
npm notice 1.9kB   SECURITY.md
npm notice 122.2kB es/index.js
npm notice 41B     src/stylesheets/datepicker-cssmodules.scss
npm notice 14.2kB  src/stylesheets/datepicker.scss
npm notice 1.0kB   src/stylesheets/mixins.scss
npm notice 790B    src/stylesheets/variables.scss

Doesn't look like the dist/ folder is back. Don't see the compiled CSS either.

New output:
npm notice 📦<EMAIL_ADDRESS>npm notice === Tarball Contents ===
npm notice 4.8kB   package.json
npm notice 3.2kB   CODE_OF_CONDUCT.md
npm notice 1.5kB   CONTRIBUTING.md
npm notice 1.1kB   LICENSE
npm notice 7.1kB   README.md
npm notice 1.9kB   SECURITY.md
npm notice 122.2kB es/index.js
npm notice 41B     src/stylesheets/datepicker-cssmodules.scss
npm notice 14.2kB  src/stylesheets/datepicker.scss
npm notice 1.0kB   src/stylesheets/mixins.scss
npm notice 790B    src/stylesheets/variables.scss

Doesn't look like the dist/ folder is back. Don't see the compiled CSS either.

for me it works when I try to execute "yarn build" strange.

Can you check the contents of v2.9.2? Just uploaded that one with the new output.

Can you check the contents of v2.9.2? Just uploaded that one with the new output.

When I try to publish it via --dry, it will publish the dist folder

My hunch is that the release script is wrong:
#!/usr/bin/env bash

rm -rf ./node_modules ./lib ./dist
yarn

git checkout .

npm version $1

yarn global add react-docgen
e

git add .

git commit -m "Publish new API docs (automated commit)"

git push

git push --tags

npm publish

yarn run build

I think yarn run build be moved earlier in the process. Perhaps this was always working somehow because we had a publish script ran after the release script?

Yep. Try to switch npm publish with yarn run build.

Seems that did the trick:
npm notice === Tarball Contents ===
npm notice 1.1kB  LICENSE
npm notice 24.5kB dist/react-datepicker-cssmodules.css
npm notice 22.5kB dist/react-datepicker-cssmodules.min.css
npm notice 22.4kB dist/react-datepicker.css
npm notice 20.4kB dist/react-datepicker.min.css
npm notice 60.2kB es/index.js
npm notice 73.4kB lib/index.js
npm notice 65.0kB dist/react-datepicker.js
npm notice 65.0kB dist/react-datepicker.min.js
npm notice 4.8kB  package.json
npm notice 3.2kB  CODE_OF_CONDUCT.md
npm notice 1.5kB  CONTRIBUTING.md
npm notice 7.1kB  README.md
npm notice 1.9kB  SECURITY.md
npm notice 41B    src/stylesheets/datepicker-cssmodules.scss
npm notice 14.2kB src/stylesheets/datepicker.scss
npm notice 1.0kB  src/stylesheets/mixins.scss
npm notice 790B   src/stylesheets/variables.scss


Page not found - design

Problem description
Currently the design does not provide any view for "page not found" view.
TO-DOs
To design

[x] Prepare the design for the "page not found" view, e.g. when the URL is /test which not be in our routing
[x] Think, whether user should get another "page not found" view for the experiment, i.e. when the experiment with certain ID is not found (eg. expieriments/1 will be found but experiments/123123123 not), should user see the standard not found view (the one prepared from point above) or dedicated one with some sort of "experiment not found, ask admins..." text

To code

[x] Introduce the basic view for the page
[x] Improve the view according to the design

Resolved in #24


Missing User-Agent header breaks submissions/entities/datasets

The User-Agent HTTP request header is optional.
It looks like there are places in the code where it's assumed to be present - if not set, 30+ tests break (example build at https://app.circleci.com/pipelines/github/alxndrsn/odk-central-backend/143/workflows/a620264d-af2f-41ff-9202-33336fe144f6/jobs/150):

Test list
...
  1987 passing (8m)
  17 pending
  34 failing

  1) datasets and entities
       listing and downloading datasets
         projects/:id/datasets/:dataset.csv GET
           should not return deleted entities:
     Error: expected 200 "OK", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/datasets.js:420:12
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  2) datasets and entities
       listing and downloading datasets
         projects/:id/datasets/:dataset.csv GET
           should return updated value correctly:
     Error: expected 200 "OK", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/datasets.js:454:12
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  3) datasets and entities
       linking form attachments to datasets
         projects/:id/forms/:formId/attachments/:name (entities dataset)
           should not return deleted entities:
     Error: expected 200 "OK", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/datasets.js:1367:12
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  4) datasets and entities
       linking form attachments to datasets
         projects/:id/forms/:formId/attachments/:name (entities dataset)
           should return updated value correctly:
     Error: expected 200 "OK", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/datasets.js:1398:12
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  5) datasets and entities
       configurable approval requirements
         PATCH /datasets/:name
           should automatically convert pending submissions:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/datasets.js:2454:52
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/datasets.js:2447:9
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  6) Entities API
       GET /datasets/:name/entities
         should return metadata of the entities of the dataset:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:49.503Z',
  current: true,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null
} to be an Entity Def (version)
    expected null to be a string
        expected null to have type string
            expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as EntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:90:66
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/entities.js:88:18
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:85:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  7) Entities API
       GET /datasets/:name/entities
         should return metadata of the entities of the dataset - only deleted:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:50.072Z',
  current: true,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null
} to be an Entity Def (version)
    expected null to be a string
        expected null to have type string
            expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as EntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:107:66
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/entities.js:105:18
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:102:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  8) Entities API
       GET /datasets/:name/entities
         should return extended metadata of the entities of the dataset:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:50.633Z',
  current: true,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null,
  creator: Object {
    id: 5,
    type: 'user',
    displayName: 'Alice',
    createdAt: '2023-05-26T14:52:41.572Z',
    updatedAt: null,
    deletedAt: null
  }
} to be an Extended Entity Def (version)
    expected Object {
      createdAt: '2023-05-26T14:53:50.633Z',
      current: true,
      label: 'Alice (88)',
      creatorId: 5,
      userAgent: null,
      creator: Object {
        id: 5,
        type: 'user',
        displayName: 'Alice',
        createdAt: '2023-05-26T14:52:41.572Z',
        updatedAt: null,
        deletedAt: null
      }
    } to be an Entity Def (version)
        expected null to be a string
            expected null to have type string
                expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as ExtendedEntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:123:66
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/entities.js:121:18
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:117:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  9) Entities API
       GET /datasets/:name/entities
         should not mince the object properties:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:51.188Z',
  current: true,
  label: 'Jane (30)',
  creatorId: 5,
  userAgent: null,
  creator: Object {
    id: 5,
    type: 'user',
    displayName: 'Alice',
    createdAt: '2020-01-01T00:00:00.000Z',
    updatedAt: null,
    deletedAt: null
  }
} to be an Extended Entity Def (version)
    expected Object {
      createdAt: '2023-05-26T14:53:51.188Z',
      current: true,
      label: 'Jane (30)',
      creatorId: 5,
      userAgent: null,
      creator: Object {
        id: 5,
        type: 'user',
        displayName: 'Alice',
        createdAt: '2020-01-01T00:00:00.000Z',
        updatedAt: null,
        deletedAt: null
      }
    } to be an Entity Def (version)
        expected null to be a string
            expected null to have type string
                expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as ExtendedEntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:150:66
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/entities.js:148:18
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:144:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  10) Entities API
       GET /datasets/:name/entities/:uuid
         should return full entity:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:53.639Z',
  current: true,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null,
  data: Object { age: '88', first_name: 'Alice' }
} to be an Entity Def (version)
    expected null to be a string
        expected null to have type string
            expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as EntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:198:69
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:194:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  11) Entities API
       GET /datasets/:name/entities/:uuid
         should return full extended entity:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:54.202Z',
  current: true,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null,
  data: Object { age: '88', first_name: 'Alice' },
  creator: Object {
    id: 5,
    type: 'user',
    displayName: 'Alice',
    createdAt: '2023-05-26T14:52:41.572Z',
    updatedAt: null,
    deletedAt: null
  }
} to be an Extended Entity Def (version)
    expected Object {
      createdAt: '2023-05-26T14:53:54.202Z',
      current: true,
      label: 'Alice (88)',
      creatorId: 5,
      userAgent: null,
      data: Object { age: '88', first_name: 'Alice' },
      creator: Object {
        id: 5,
        type: 'user',
        displayName: 'Alice',
        createdAt: '2023-05-26T14:52:41.572Z',
        updatedAt: null,
        deletedAt: null
      }
    } to be an Entity Def (version)
        expected null to be a string
            expected null to have type string
                expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as ExtendedEntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:214:69
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:209:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  12) Entities API
       GET /datasets/:name/entities/:uuid
         should not mince the object properties:
     AssertionError: expected Object {
  createdAt: '2023-01-01T00:00:00.000Z',
  current: true,
  label: 'two',
  creatorId: 6,
  userAgent: null,
  data: Object { age: '88', first_name: 'Alice' },
  creator: Object {
    id: 6,
    type: 'user',
    displayName: 'Bob',
    createdAt: '2021-01-01T00:00:00.000Z',
    updatedAt: null,
    deletedAt: null
  }
} to be an Extended Entity Def (version)
    expected Object {
      createdAt: '2023-01-01T00:00:00.000Z',
      current: true,
      label: 'two',
      creatorId: 6,
      userAgent: null,
      data: Object { age: '88', first_name: 'Alice' },
      creator: Object {
        id: 6,
        type: 'user',
        displayName: 'Bob',
        createdAt: '2021-01-01T00:00:00.000Z',
        updatedAt: null,
        deletedAt: null
      }
    } to be an Entity Def (version)
        expected null to be a string
            expected null to have type string
                expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as ExtendedEntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:244:69
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:239:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  13) Entities API
       GET /datasets/:name/entities/:uuid
         should return full entity even if form+submission has been deleted and purged:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:55.564Z',
  current: true,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null,
  data: Object { age: '88', first_name: 'Alice' }
} to be an Entity Def (version)
    expected null to be a string
        expected null to have type string
            expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as EntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:274:69
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:270:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  14) Entities API
       GET /datasets/:name/entities/:uuid/versions
         should return all versions of the Entity:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:57.810Z',
  current: false,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null,
  data: Object { age: '88', first_name: 'Alice' }
} to be an Entity Def (version)
    expected null to be a string
        expected null to have type string
            expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as EntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:317:28
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/entities.js:316:20
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:313:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  15) Entities API
       GET /datasets/:name/entities/:uuid/versions
         should return all versions of the Entity - Extended:
     AssertionError: expected Object {
  createdAt: '2023-05-26T14:53:58.372Z',
  current: false,
  label: 'Alice (88)',
  creatorId: 5,
  userAgent: null,
  data: Object { age: '88', first_name: 'Alice' },
  creator: Object {
    id: 5,
    type: 'user',
    displayName: 'Alice',
    createdAt: '2023-05-26T14:52:41.572Z',
    updatedAt: null,
    deletedAt: null
  }
} to be an Extended Entity Def (version)
    expected Object {
      createdAt: '2023-05-26T14:53:58.372Z',
      current: false,
      label: 'Alice (88)',
      creatorId: 5,
      userAgent: null,
      data: Object { age: '88', first_name: 'Alice' },
      creator: Object {
        id: 5,
        type: 'user',
        displayName: 'Alice',
        createdAt: '2023-05-26T14:52:41.572Z',
        updatedAt: null,
        deletedAt: null
      }
    } to be an Entity Def (version)
        expected null to be a string
            expected null to have type string
                expected 'object' to be 'string'
      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value [as ExtendedEntityDef] (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:339:28
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/entities.js:338:20
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:334:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  16) Entities API
       GET /datasets/:name/entities/:uuid/audits
         should return audit logs of the Entity:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/entities.js:455:50
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:439:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  17) Entities API
       GET /datasets/:name/entities/:uuid/audits
         should return audit logs of the Entity when it is created via POST API:
     Error: expected 200 "OK", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/entities.js:474:10
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  18) Entities API
       GET /datasets/:name/entities/:uuid/audits
         should return the latest instance name of a source submission:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/entities.js:509:50
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:502:7
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  19) Entities API
       GET /datasets/:name/entities/:uuid/audits
         should return right approval details when we have multiple approvals:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/entities.js:658:50
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:645:7
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  20) Entities API
       POST /datasets/:name/entities
         should create an Entity:
     Error: expected 200 "OK", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/entities.js:723:10
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:17:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  21) Entities API
       POST /datasets/:name/entities
         should reject if uuid is not unique:
     Error: expected 409 "Conflict", got 500 "Internal Server Error"
      at /home/circleci/repo/test/integration/api/entities.js:750:10
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)
  ----
      at Test._assertStatus (node_modules/supertest/lib/test.js:252:14)
      at /home/circleci/repo/node_modules/supertest/lib/test.js:308:13
      at Test._assertFunction (node_modules/supertest/lib/test.js:285:13)
      at Test.assert (node_modules/supertest/lib/test.js:164:23)
      at Server.localAssert (node_modules/supertest/lib/test.js:120:14)
      at Object.onceWrapper (node:events:627:28)
      at Server.emit (node:events:513:28)
      at Server.emit (node:domain:489:12)
      at emitCloseNT (node:net:1857:8)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)

  22) Entities API
       POST /datasets/:name/entities
         should mark the source as type api:

      AssertionError: expected 'submission' to be 'api'
      + expected - actual

      -submission
      +api

      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:787:33
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  23) Entities API
       POST /datasets/:name/entities
         should log the entity create event in the audit log:

      AssertionError: expected '12345678-1234-4123-8234-123456789aaa' to equal '12345678-1234-4123-8234-111111111aaa'
      + expected - actual

      -12345678-1234-4123-8234-123456789aaa
      +12345678-1234-4123-8234-111111111aaa

      at Assertion.fail (node_modules/should/cjs/should.js:275:17)
      at Assertion.value (node_modules/should/cjs/should.js:356:19)
      at /home/circleci/repo/test/integration/api/entities.js:808:40
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /home/circleci/repo/test/integration/api/entities.js:48:3
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  24) api: /sessions
       POST
         should log the action in the audit log:
     TypeError: Cannot read properties of undefined (reading 'should')
      at /home/circleci/repo/test/integration/api/sessions.js:64:39
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  25) api: /forms/:id/submissions
       POST
         should submit if all details are provided:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:952:30
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  26) api: /forms/:id/submissions
       [draft] POST
         should accept submissions:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:1075:32
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  27) api: /forms/:id/submissions
       [draft] POST
         should accept even if the form is not taking submissions:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:1092:32
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  28) api: /forms/:id/submissions
       GET
         should return a list of submissions:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:2542:67
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/submissions.js:2542:20
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  29) api: /forms/:id/submissions
       [draft] GET
         should return a list of submissions:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:2582:67
      at Array.forEach (<anonymous>)
      at /home/circleci/repo/test/integration/api/submissions.js:2582:20
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  30) api: /forms/:id/submissions
       /:instanceId GET
         should return submission details:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:3168:32
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  31) api: /forms/:id/submissions
       [draft] /:instanceId GET
         should return submission details:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/api/submissions.js:3327:34
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  32) api: /forms/:id/submissions
       /:instanceId/versions GET
         should return submission details:
     TypeError: Cannot read properties of null (reading 'should')
      at /home/circleci/repo/test/integration/api/submissions.js:4028:33
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  33) project viewer role
       should be able to get submission detail:
     TypeError: Cannot read properties of null (reading 'should')
      at Assertion.<anonymous> (test/assertions.js:93:22)
      at Assertion.value [as Submission] (node_modules/should/cjs/should.js:337:14)
      at /home/circleci/repo/test/integration/other/roles-project-viewer.js:111:26
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

  34) worker: entity
       should make an entity
         should log entity creation in audit log:
     TypeError: Cannot read properties of null (reading 'should')
      at /home/circleci/repo/test/integration/worker/entity.js:259:17
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transaction (node_modules/slonik/dist/src/connectionMethods/transaction.js:22:24)
      at async Object.createConnection (node_modules/slonik/dist/src/factories/createConnection.js:97:18)

make: *** [Makefile:39: test-full] Error 34

Exited with code exit status 2

@sadiqkhoja, this might be a good one for you if we're able to fit it in for .3.


bash completions are slow

See original issue on GitLab
In GitLab by [Gitlab user @tlater] on Dec 14, 2017, 14:55
While there are some hacks to speed up the code path, buildstream bash completions are currently fairly slow - notably, it is affected by slow the setuptools import.
We should ensure that the completions codepath completes as quickly as possible.

In GitLab by [Gitlab user @gokcennurlu] on Jan 15, 2018, 14:00
mentioned in merge request !231

In GitLab by [Gitlab user @gokcennurlu] on Jan 15, 2018, 14:34
mentioned in merge request !232

In GitLab by [Gitlab user @gokcennurlu] on Jan 15, 2018, 15:27
mentioned in merge request !234

In GitLab by [Gitlab user @samthursfield] on Jan 25, 2018, 10:35
[Gitlab user @gokcennurlu] noted that we import a lot of libraries before we actually run the completions functionality, so it can still take 200ms to execute even once the pkg_resources import is avoided. We could speed things up by making sure we only import click when running from the bash-completion script. It's tricky to do this neatly though.

In GitLab by [Gitlab user @tlater] on Jan 25, 2018, 14:11
mentioned in commit 8af65fda64df61dff44f24fff48e65e6fc07a233

In GitLab by [Gitlab user @gokcennurlu] on Feb 6, 2018, 15:22
mentioned in merge request !256

In GitLab by [Gitlab user @tristanvb] on Mar 28, 2018, 10:23
The performance here has improved significantly enough by !256 and other startup time performance improvements, such that it makes no sense to keep this open anymore.

In GitLab by [Gitlab user @tristanvb] on Mar 28, 2018, 10:23
closed


Creating a repo does not allow using model as repo_type

Using create_repo does not accept repo_type="model" right now. This is counter intuitive, specially as the params docstring says

repo_type: Set to "dataset" or "space" if creating a dataset or space, default is model

But in reality only dataset and space are allowed.
Here is an example painful usage in which I need to have conditionals to handle spaces/datasets vs models https://huggingface.co/spaces/osanseviero/fork_a_repo/blob/main/app.py#L14-L20
cc @LysandreJik @muellerzr

Indeed, there's a bit of a discrepancy as initially there were only model repositories. I think it's fine if the backend remains the same (using None), but the frontend should probably allow "model" as a valid repo_type.

agree with @LysandreJik solution


Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

I am getting the following warning when upgrading React 15.5. Is there plans to fix this?

The fix is very simple: according to official docs, propTypes should be imported from separate package. But unfortunately it seems that @javivelasco last time reviewed react-css-themr long time ago, there are still pending changes in master branch to be released and some open pullrequests. Until he takes a look there's no way to release this fix.

Updated already, releasing today!


[v15] Forced Faster Block Times (3 seconds)

Merges into v15-initial branch
Changes

Pulls out the server.InterceptConfigsPreRunHandler function into its own file
Adds blockTimeout and force set it with config.Consensus.TimeoutCommit any time the junod command is run

Bonus Addition

Adds the wasmconfig to increase gas queries to the config for all

Check
CHAIN_ID="local-1" HOME_DIR="~/.juno1" TIMEOUT_COMMIT="100ms" CLEAN=true sh scripts/test_node.sh

Even with 100ms set as your config.toml, it still uses the set 3 seconds.

Reason
SDK v46/47 fix this by allowing direct modification of the tendermint config. This is why it has to be "soft forked" into a single file.
Other chains which have implemented this feature already hard forked the SDK. Would rather not

Would rather not

With you here.  I think there's another way and I've forgotten how.  For now, I am in approval sir.


Deleting svc with error: the server does not allow this method on the requested resource

Background
I configured a CRD and provided the definition of service in the CRD.
When an instance of this CRD is applied by kuberlet, the controller will initialize some services according to the definition of the service in the CRD.
Type of question
When an instance of CRD is deleted, services defined by this instance also needs to be deleted.
However, I'm having trouble executing the service deletion step in the controller.
I called the client's DeleteAllOf interface, which is https://godoc.org/sigs.k8s.io/controller-runtime/pkg/client#example-Client--DeleteAllOf.
I tried deleting all services once.
But there is an error like this.
"logger":"controller_dns","msg":"Deleting service failed due to error.","error":"the server does not allow this method on the requested resource","stacktrace" ......
Question
Another option is to get a serviceList and literately delete services.
But that's a little silly.
Can someone tell me why I got that error?
Is it because of authority? Or is it because you can't use that interface?
Environment

operator-sdk version:  0.17.0

Kubernetes version information:  1.14.3

Additional context
No

Hi @lut777,
By checking your comment:

When an instance of CRD is deleted, services defined by this instance also needs to be deleted.

Shows that your scenario would require the usage of a finalizer. See the topic Handle Cleanup on Deletion
The DeleteAllOf will delete all resources which would filter by the query informed. The error the server does not allow this method on the requested resource, lead to us believe that you are trying to delete a resource that you has no permission.
In this way, if the information above is not enough to attend your need. Then, could you please provide more information for we try to help you with?

 (The code snippet from the main.go where you define the manger options (example) and from the operator.yaml where you defined the WATCH_NAMESPACE(example)
What is the scope of the resource that you are trying to delete? (The code snippet with DeleteAllOf)
Could you provide more info on the logs? Is possible to check what resource could not be deleted? Could you provide the stack as well?

We are looking for your reply.

Thank you for your help~. @camilamacedo86
Yes, the DeleteAllOf method is called just before removing customized finalizer.
I can not understand what is the you are trying to delete a resource that you has no permission. Cause I am trying to delete the resources that I created...
Yes, I created some services in a namespace and I am trying to delete them all.
Could you please give me more information/details about the access rights?

@lut777 can you please elaborate on what you mean by "definition of service" in the CRD, perhaps with an example?
In any case this sounds like a permissions issue. Are you able to delete these services via kubectl delete service <service-name>?

@estroz Well it is simple. I defined some key parameters of the service in the CRD.
When a CRD is instantiated, the controller initializes some services based on the service parameters defined in this CRD.
As an example:
a CRD is defined as following:
apiVersion: v1
kind: xxx
metadata:
  name: xxx
spec:
  xxx
  namespace: loadbalancer
  Services:
  - name: svc-name
    portName: http
    servicePort: 8080
    protocol: TCP
    loadbalancePort: 12345

So the service  svc-name will be created in the namespace loadbalancer.
So when I need to delete the CRD, I expect to use DeleteAllOf method to remove all services in this namespace once for all.
But I failed, with the error shown in my problem.
I will try your suggestions.
But I think it's doable. Because currently the way I delete services is to find the serviceList first and then delete the services one by one.
So...what's why I find it strange...

Hi @lut777,

Could you please provide the code snippet with the implementation that works and with the implementation with DeleteAllOf that is not working?
Could you provide more info on the logs? Is possible to check what resource could not be deleted? Could you provide the stack as well?
 (The code snippet from the main.go where you define the manger options (example)

service not support deletecollection.
ref: https://github.com/kubernetes/client-go/issues/505#issuecomment-440678666

if not set namespace , may be have this problem
_,err = k.client.
        Resource(mp.Resource).
        Namespace(k.namespace).
        Create(k.ctx,u,v12.CreateOptions{})
if err != nil {
	fmt.Println(err)
}```


Enable MicroProfile in Player, Auth, Mediator, Map, Room

These Java microservices need to explicitly use the MicroProfile framework

Why do they need to?

I was told @ebullient said so would suffice :-) But essentially we want to make a case that we are following MicroProfile purely for these, and take GameOn to the developers in that community

they already do -- it just isn't obvious.

They're all flipped to OpenLiberty now.
Won't take much to switch the features being included.


docker:dind image fails with some NAT issue while starting the docker deamon

we are trying to use docker in docker for our usecase using the official docker:dind image.
But when the dockerd-entrypoint.sh is executed to run the docker deamon inside the container created from dind it fails with the below error:
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOCKER: iptables failed: iptables --wait -t nat -N DOCKER: iptables v1.8.10 (nf_tables): TABLE_ADD failed (Not supported): table nat
(exit status 4)
could you please help me with the resolution.
Thanks,

This is likely a missing kernel module (or a kernel compiled without support for nat).

I think I may be running into this as well.  I used to be able to load up the docker image via a Jenkins / kubernetes build on the fly, but its failing with a TLS error, not seeing probably 30 attempts to provide a ca-bundle, ... which I tried to disable by setting DOCKER_TLS_CERTDIR='', which I attempted after taking a look at the dockerd-entrypoint.sh .
The error I'm seeing is this:
# DOCKER_TLS_CERTDIR='' && /usr/local/bin/dockerd-entrypoint.sh
cat: can't open '/proc/net/ip6_tables_names': No such file or directory
cat: can't open '/proc/net/arp_tables_names': No such file or directory
ip: can't find device 'nf_tables'
nf_tables<PHONE_NUMBER> nft_chain_nat,nft_compat,nft_counter
nfnetlink              20480  4 ip_set,nf_conntrack_netlink,nft_compat,nf_tables
libcrc32c              16384  5 libceph,nf_nat,nf_conntrack,nf_tables,xfs
modprobe: can't change directory to '/lib/modules': No such file or directory
ip: can't find device 'ip_tables'
ip_tables              32768  2 iptable_nat,iptable_filter
modprobe: can't change directory to '/lib/modules': No such file or directory
iptables v1.8.10 (nf_tables)
mount: permission denied (are you root?)
Could not mount /sys/kernel/security.
AppArmor detection and --privileged mode might break.
mount: permission denied (are you root?)

Tried with docker:dind & docker:latest , not really sure which I need to be using.

That sounds like it's not actually running with privileged mode enabled :thinking:


TypedFormData.Body throw me error

Bug Report
📝 Summary
Write a short summary of the bug in here.

Typia Version: 6.8.0
Expected behavior: No Errors
Actual behavior:
throw error

error TS(nestia.core.TypedFormData.Body): unsupported type detected

FormBodyDto.foo: (global.File | string)

only atomic, constant or blob (file) types are allowed in array.

type FileOrString = Array<File | string>
type FormBodyDto = {
    foo: FileOrString
}

Write detailed description in here.
⏯ Playground Link
https://typia.io/playground
Visit above playground and write code occuring the bug.
After that, copy and paste link address of that.
https://typia.io/playground/?script=JYWwDg9gTgLgBDAnmYBDOAzKERwERIqp4DcAUGYQKZwBiwANlQPJQDKMUwAdgOZwBeOAEEoUVIgA89JnAA+cAM6cevAHyVkNWtBAAhCABNEAERgRBcAN5k4dzBAgAuOoxbsVfMgF8KAYwhuZQcoEBNUGHQhbioAdzpdcMiACgBKMgxEiNQAOlQwMCpuQ2SAckyIUoAaOAApNmYAORzlLj5gDERkgG1yx1KAXVT0gHoRhGQ0HIALGBgwPMVFKlgdUKTUaV0DYzMINWTM9ez0siA
💻 Code occuring the bug
import typia from "typia";

/* Demonstration code occuring the bug you're reporting */

It works on<EMAIL_ADDRESS><EMAIL_ADDRESS>

Union type is not allowed in the @TypedFormData.Body() function.

Thanks


Updated import declaration in example in README

This tiny difference kept me wondering for a while at what the problem was as a first time user. Hopefully this will save some time for the next person.

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


FilesIncludedIntoProject wrong file path in output

Files located in Project\DAL\Migrations...
shows as: File is not referenced in project: DAL\ect\DAL\Migrations..
in YandexBanks...
as YandexBanks\exBanks...

Could you provide more details about csproj and file locations + how file reference looks like in csproj?

Found myself, GetDirectoryName returns ".....\DAL", fix: http://ge.tt/9G0gjES2/v/0

Link doesn't work - getting "File not available"

https://gist.github.com/sm-g/cf0e1d6092398089a57c


Anchor Playbook updates

Grammar
Editing to make certain sections more clear

@BrianMMcClain Ready to go!

Thank you!


Test-DbaDiskAlignment Integration Test

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[x] Adding code coverage to existing functionality
[x] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose

Add some more Integration tests.
Approach

Executed the cmdlet.. I did change the Constants file to include $script:dbatoolsci_computer rather than using something like $env:ComputerName as appveyor uses localhost, but in the future we may need other hosts for Linux/Windows testing.
Commands to test

Invoke-pester .\tests\Test-DbaDiskAlignment.Tests.ps1
Screenshots

🙇 🙇 🙇 🙇  thank you so much!


Demonstrate replacing hyper with surf

This code isn't ready, I'm just opening the PR to make it easier to share.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing this for now.


Abort Trap 6 & Bus error 10 encountered in DAWN-2018-01-25-ALPHA

Pure virtual function called !

set_options : invalid argument (Bus error 10)

The code has undergone a lot of change since 25 Jan. Please create new issue if you encounter a similar problem with the latest code. I'm closing this issue. Thanks!


Update bn.js to latest v4 version

This updates bn.js to its latest v4 version (i.e. 4.11.8).
Motivated by the fact that Web3.js (one of the largest users of this library) is also using this latest version. Note that I've kept the version pinned and also updated the build artifacts.
v5 of bn.js is already released, so it's unlikely that there will be much change for v4 going forward.

Coverage remained the same at 100.0% when pulling 813ff1238f73c57a0e06a4845346592a9e26aff4 on adrianmcli:update/bn.js into c3ff99193495db3fdea0e65cd8a4f91f8baa0274 on SilentCicero:master.

Yep, this is an old module. I can certainly bump everything.
Sent from my iPhone

On Nov 7, 2019, at 5:46 AM, Adrian Li<EMAIL_ADDRESS>wrote:
This updates bn.js to its latest v4 version (i.e. 4.11.8).
Motivated by the fact that Web3.js (one of the largest users of this library) is also using this latest version. Note that I've kept the version pinned and also updated the build artifacts.
v5 of bn.js is already released, so it's unlikely that there will be much change for v4 going forward.
You can view, comment on, or merge this pull request online at:
https://github.com/SilentCicero/number-to-bn/pull/2
Commit Summary
upgrade to latest v4 version of bn.js
update build artifacts
File Changes
M dist/number-to-bn.js (2186)
M dist/number-to-bn.js.map (2)
M dist/number-to-bn.min.js (5)
M package.json (3)
Patch Links:
https://github.com/SilentCicero/number-to-bn/pull/2.patch
https://github.com/SilentCicero/number-to-bn/pull/2.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@SilentCicero thx mang

@SilentCicero is there anything blocking a merge here?
Also would it make sense to losen the version to any v4 or v5?


Next block after evm_revert does not have increased timestamp

Component
Anvil
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
anvil 0.1.0 (25d3ce7 2023-08-01T00:20:13.496244391Z)
What command(s) is the bug in?
anvil --prune-history 100 --steps-tracing --silent --port 36655
Operating System
Linux
Describe the bug
It seems that the next block mined after an evm_revert JSON-RPC request does not have the timestamp increased. I believe this can be considered a bug since timestamps of blocks mined without evm_snapshot and evm_revert are always increased by 1.
I think this may be the relevant part of the code:
https://github.com/foundry-rs/foundry/blob/9a4bb7f54563d73b23b597098dcaf1e590905e85/anvil/src/eth/backend/mem/mod.rs#L625-L629
The current behavior is (described in Woke testing framework):
from woke.testing import *

@default_chain.connect()
def test_reverting():
    t1 = default_chain.blocks["latest"].timestamp
    with default_chain.snapshot_and_revert():
        default_chain.mine()

    t2 = default_chain.blocks["latest"].timestamp
    assert t1 == t2

    default_chain.mine()
    t3 = default_chain.blocks["latest"].timestamp
    assert t3 == t2

while the expected behavior is
    assert t3 == t2 + 1

@Evalir I think the self.time.reset(reset_time); is the culprit here

Hey @michprev — i cannot seem reproduce this either manually or with woke. i haven't used woke before, maybe you can provide a repo that i can clone and run the test to detect this?

Hey @Evalir, I have modified the script to call eth_getBlockByNumber directly to provide a proof the issue is not in the testing framework.
The steps to reproduce the issue are:

pip3 install -U woke
Create test_xyz.py containing the Python code below
Run woke test test_xyz.py

The script:
import logging
from woke.testing import *
from woke.development.json_rpc.communicator import logger

@default_chain.connect()
def test_reverting():
    logger.setLevel(logging.INFO)

    t1 = int(default_chain.chain_interface.get_block("latest")['timestamp'], 16)
    with default_chain.snapshot_and_revert():
        default_chain.mine()

    t2 = int(default_chain.chain_interface.get_block("latest")['timestamp'], 16)
    assert t1 == t2

    default_chain.mine()
    t3 = int(default_chain.chain_interface.get_block("latest")['timestamp'], 16)
    assert t3 == t2 + 1

The script now performs full logging of JSON-RPC communication. I am attaching the log file. Please take a look at requests with id 14 and 16 (eth_getBlockByNumber). Both blocks have the same timestamp but a different block number.
log.txt

Confirming that issue was the case on 25d3ce7 but is fixed now


Add Visual-Studio-Code snippet manager extention

Description
You can manage snippets for visual studio code.
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Thank you for your review!
Should I have a directory structure like this?
extentions/pipe-commands/visual-studio-code-snippet-manager
I have never touched pipe-commands, but why did the change log come out?

I fix vscode-snippet-manager.

Enabled to select vscode used in Preferences
Added all languages that vscode can use
Made it possible to use titles

I fix vscode-snippet-manager.

add icon
The title of the action was changed to title case

Hi @kei-nishikawa48 - nice! 🎉
I tried it out just now and am getting the following when trying to create a snippet for VSCode Insiders 🤔
Error: ENOENT: no such file or directory, open '/Users/sorin/Library/Application Support/Code - Insiders/user/snippets/raycast.code-snippets'

Object.openSync:node:fs:585:3
Object.writeFileSync:node:fs:2153:35
postData:Editor.tsx:68:10
Object.onSubmit:Editor.tsx:112:31

Seems fs.writeFileSync(path, JSON.stringify({ [v.title]: data })); doesn't create the file in case it doesn't exist? 🤔

@sxn
thank you review!
Have you ever installed vscode insider?

hey @kei-nishikawa48 - thanks for the changes! I hope you don't mind, I've pushed a couple of changes as well: fixed a couple of spelling issues, + changed the Trash icon's color to red, to indicate it's a destructive action.
A problem that I ran into: it doesn't seem to be possible to change a snippet's title. I can of course change it in the form, but when I submit the form, the title hasn't changed at all.
Apart from that, a couple of issues you may want to look into (but don't have to in this PR):

You could add a custom EmptyView + set List.isShowingDetail to false when there are no snippets to show
useing the List.Item.Detail.Metadata component for displaying the snippet's title & languages it applies to should make the screen look a bit nicer 😸

Hi @kei-nishikawa48
Do you have time to review what @sxn wrote, could be nice to have this closed 🙂

I'm closing this due to inactivity; feel free to open it again or comment in the thread when you're ready to continue working on it 🙂
You can also catch me in Slack if you want to discuss 😄