CI: Upgrade from Node v10 to v12 and Jest v27 to v28

What kind of change does this PR introduce?
Update CI to run against Node v12 instead of v10 and with Jest 28 instead of Jest 27.
Node v10 is EOL since April 2021, and prevents newer versions of Jest (28+) from being used in CI. A different, old version of Jest is installed in CI for Node v10 runs, which means tests using newer Jest APIs break in Node v10 CI unexpectedly.
Per this comment: https://github.com/webpack/webpack/pull/18572#discussion_r1677173885 Node v10 is not supported

Did you add tests for your changes?
N/A

Does this PR introduce a breaking change?
No, not directly. But it means CI is no longer tested against Node v10, which means future changes could break usage with Node v10.

What needs to be documented once your changes are merged?
Update documented minimum supported Node version

Closing this PR as it is easier to skip running failing tests if unsupported in CI (because of a deliberately installed old version). The use of it.failing was the use case for this upgrade: https://github.com/webpack/webpack/pull/18572


Prepare README for point release v0.7.2

Coverage remained the same at 93.676% when pulling 3159d602670722936e10394ce05149003ad4123d on point_72 into 37db83e5b726e7248bd86e48783bb1fe6b4f5729 on master.


Prometheus Integration

We should consider adding in some basic Prometheus support in the generated operator. Just including the client library and exposing the metrics path I think would be a good start, perhaps define/increase a counter in the handler function to set the pattern up.

@spahl  I'm working on adding basic Prometheus metrics in the operator, should we generate service and service monitor to expose metrics port ?

I think that makes sense @etiennecoutaud. The main consideration is whether there will be a cluster-wide prometheus watching for all service monitors or one per namespace. We're leaning towards the per-namespace method for most use-cases, as this gives more control over metrics retention and access control to the data.

Sorry I missed that. It does make a lot of sense.

@robszumski It make sense and Prometheus deployment way confirm that strategy per-namespace.
In case of code generation, Is it the responsability of the operator to integrate natively with prometheus or is it a user choice ? Operator expose metrics in prometheus format and then user is responsible to watch theses metrics through service monitor.

@spahl @robszumski Who is working on prometheus integration ? I will add service and servicemonitor when kubernetes manifest are generating

No one at this point. It is in the top list of things we want to add though. Any help is welcome.

We need to consider how the SDK should help an operator its metrics to Prometheus via a Service and ServiceMonitor. One way is to generate the manifests at build time and expect the user to configure and create them. This is the approach in #241
There are a couple of issues with this approach:

The user has to change the configuration in multiple places if the default port or labels selectors for the Service or ServiceMonitor need to be changed.
Generating the manifests at build time leaves the user one more thing to do to enable a feature that could work out of the box.

A preferred approach would be to have the operator expose the metrics on a desired port and create only the Service at runtime by default. The user can pass in some configuration to the operator to override the default values for the port and Service.
The following fields can be made configurable via flags passed to the operator:

--metrics-port: The port number to serve metrics. This can have a default e.g 9090 that can be configured if needed.
--service-selector: The Service selector label spec.selector that’s used to select the operator pod. The default can be the same label generated for the operator deployment manifest e.g name=memcached-operator. This will need to be changed if the user ever updates the default labels of the operator deployment.
--disable-metrics: By default this is false. Can be set to true so the operator will not expose the metrics or create the service.

With the above flags the operator can be configured to setup the prometheus integration in 3 ways:

Expose the port and create the Service with default values:labels:
    name: memcached-operator
spec:
  containers:
   - name: memcached-operator
      command:
      - memcached-operator
      ports:
      - containerPort: 9090

Configure the port or service selector if needed:labels:
   app: memcached-operator
spec:
  containers:
   - name: memcached-operator
      command:
      - memcached-operator
    - --metrics-port=8080
    - --service-selector="app=memcached-operator"
      ports:
      - containerPort: 8080

Disable the prometheus integration completely:spec:
  containers:
   - name: memcached-operator
      command:
      - memcached-operator
    - --disable-metrics=true

Creating the ServiceMonitor:
Requiring the operator to create the ServiceMonitor at runtime by default can be a problem in the event where the ServiceMonitor CRD has not been registered with the API server. In this case the operator could simply log the error and skip creating the ServiceMonitor and move on. Or it could keep retrying. In either case it’s debatable how the operator should create the ServiceMonitor.
So for a start I propose we only have the operator expose the port and create a Service at runtime.
@etiennecoutaud Let me know what you think. I think it's important to decide whether we want to generate manifests vs let the operator create the resources, before we move forward with #241

Regarding creating the ServiceMonitor, you the operator could probe available CRDs and if it exists, it can attempt to create it. This auto-creation could be default on, with the ability to turn it off using a flag (since RBAC will probably be a factor too).

Might I pretty strongly suggest we not add flags until a real user asks? And only then only if they have, what we agree to be, and extremely compelling use case. Even if we think someone 'will want this' just do the right thing, always, for them. Don't let them customize. Pick a random container port that has an extremely low chance of conflict (something like 41783) and just always turn it on. Don't let it be turned off. Don't let it be configured. Just make all operators the same.
I'm good with the operator creating it's own service definition at run time instead of build time, but if the service it just static, it could come later...
I'm big on no, config options. Just do the right thing for people. Our users should follow the best practice because it is the only path we give them.

You are right that limiting flags is a wiser approach. What we could do is nit have: --disable-metrics=true and same for --metrics-port=8080 by choosing a port like you described.
I don't know how to get rid of the service-selector. Maybe we could come up with a naming convention for all operators @hasbro17?

I agree with @spahl and @eparis for limiting flags. Today we discuss about prometheus integration but tomorrow  it will be something else and we will have ton of options with ton of possibilities.
We are generating code, we consider as normal that users add code, but is it normal that users remove some generating parts because they don't need it ?
In #241 approach prometheus server handler is added and a metrics port is exposed. If users don't want to use monitoring, they remove prometheus code and don't apply service monitor.
My opinion join @eparis, we generating operator in the state of the art way. We provide everything needed to run the operator in the best way. Free to users to remove parts and change the way we purpose. We cannot handle all the possibilities, we have to choose the most smart path and propose it

For serviceSelector how about generating a label on the pod which we know to be unique and use that?
watchedresource.operatorsdk.operatorframework = ${kind}.${api-version}
We should know the kind and api-version we plan to watch, and nothing else should be watching that...

@eparis @etiennecoutaud Thanks for the responses. I agree that the number of flags could easily pile up if we add more and more configuration options so perhaps it's best to just pick one approach and stick with that.
So if we have consensus over not adding too much configuration then that means the service to expose the metrics is just static with a fixed port and label selector.

For serviceSelector how about generating a label on the pod which we know to be unique and use that?
watchedresource.operatorsdk.operatorframework = ${kind}.${api-version}

Right now we generate the label name=<operator-name> for the operator pods which should be unique enough to select them since you won't ever have two operators deployments in the same namespace. So we can use that as the label selector like in #241
https://github.com/operator-framework/operator-sdk/pull/241/files#diff-52e0a0ade3435bbd8d2db3ee74b4ede1R142

I'm good with the operator creating it's own service definition at run time instead of build time, but if the service it just static, it could come later

With the service being static should we still have the operator create it at runtime? The benefit of that is the service is always created by default now. If not then we simply go back to generating the manifests as in #241 and let the user create it as needed.

@etiennecoutaud @eparis I'm hoping we can move forward based on the discussion so far.
If we're all agreed on not having configuration flags then for #241 can we at start with the following:

The operator deployment manifest is generated with an exposed static container port.
The operator creates the Service at runtime. The label selector can be fixed to name=<operator-name>. The operator name can be passed in as an environment variable to the pod just like the namespace.

So for e.g the generated deployment manifest would look like:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: memcached-operator
  labels:
    name: memcached-operator
spec:
  replicas: 1
  selector:
    matchLabels:
      name: memcached-operator
  template:
    metadata:
      labels:
        name: memcached-operator
    spec:
      containers:
        - name: memcached-operator
          image: quay.io/example/memcached-operator:v0.0.1
          ports:
          - containerPort: 9090
            name: metrics
          command:
          - memcached-operator
          imagePullPolicy: Always
          env:
            - name: WATCH_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: OPERATOR_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name

And the Service created by the operator would in turn be:
apiVersion: v1
kind: Service
metadata:
  name: memcached-operator
  labels:
    name: memcached-operator
spec:
  selector:
    name: memcached-operator
  ports:
  - protocol: TCP
    targetPort: metrics
    port: 9090
    name: metrics

Let's leave out the ServiceMonitor from #241 for now.

Sounds good to me, I will update #241 according to this change.

@liliC just making you aware of this issue (if you aren't already). Can this be closed once your metrics work is merged?


Read : connection reset by peer issue

I've just started with tick. After installation, I just checked whether the kapacitor is working fine or not.
I used command:
$  kapacitor list tasks
Output:
Get http://localhost:9092/kapacitor/v1/tasks?dot-view=attributes&fields=type&fields=status&fields=executing&fields=dbrps&limit=100&offset=0&pattern=&replay-id=&script-format=formatted: read tcp <IP_ADDRESS>:57134-><IP_ADDRESS>:9092: read: connection reset by peer
Not sure how to debug this error and not getting any solutions.
Kapacitor.conf:
[http]
bind-address = ":9092"
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/kapacitor.pem"
[[influxdb]]
enabled = true
default = true
name = "localhost"
urls = ["http://localhost:8086"]
username = "someusername"
password = "somepassword"
Regards,
Anuttam

Any update on this unresolved issue?
I'm also getting this error. I'm using TICK in conjunction with Confluent Kafka, and in order for the brokers to be able to run on localhost:9092, I've changed Kapacitor to run on 9093:
[http]
HTTP API Server for Kapacitor
This server is always on,
it serves both as a write endpoint
and as the API endpoint for all other
Kapacitor calls.
bind-address = ":9093"
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/kapacitor.pem"
I am getting the same error as @anuttamva when running the kapacitor list, show, etc commands. Where else do I need to change the port from 9092 to 9093 in order for this to work properly?

read tcp [::1]:53520->[::1]:9092: read: connection reset by peer
same Issue is getting for me . If anyone knows the solution for this issue?

I have a similar issue, anybody find out how to fix it?
2022-07-14 14:27:15,151 : INFO  : {} : root : [classifier_startup.py] :enable_classifier_task : in line : [213] : Kapacitor Port is Open for Communication....
Post "http://<IP_ADDRESS>:9092/kapacitor/v1/tasks": read tcp <IP_ADDRESS>:50086-><IP_ADDRESS>:9092: read: connection reset by peer
Traceback (most recent call last):
  File "/EII/./classifier_startup.py", line 364, in <module>
    main()
  File "/EII/./classifier_startup.py", line 355, in main
    msg, status = kapacitor_classifier.enable_tasks(config,
  File "/EII/./classifier_startup.py", line 297, in enable_tasks
    self.enable_classifier_task(host_name,
  File "/EII/./classifier_startup.py", line 219, in enable_classifier_task
    if subprocess.check_call(define_pointcl_cmd) == SUCCESS:
  File "/opt/conda/envs/env/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['kapacitor', '-skipVerify', 'define', 'py_point_classifier', '-tick', 'tick_scripts/py_point_classifier.tick']' returned non-zero exit status 3.


Link to javascript-kernel (and/or xeus-javascript #3) in howto/configure/kernels

Problem

The docs don't mention the JS kernel

Suggested Improvement

[ ] DOC: link to javascript-kernel (and/or xeus-javascript #3) in https://jupyterlite.readthedocs.io/en/latest/howto/configure/kernels.html and maybe also https://jupyterlite.readthedocs.io/en/latest/quickstart/using.html#kernels

https://jupyterlite.readthedocs.io/en/latest/howto/configure/kernels.html#jupyterlite-xeus :

jupyterlite-xeus
jupyterlite-xeus is a loader package to enable Xeus-based kernels in JupyterLite.


Release<EMAIL_ADDRESS>

0.3.1 - 2022-07-09
Changed

Updated ContainerModuleFactoryMetadata.injects to allow ClassElementMetadata.

Codecov Report

Merging #234 (fd2748f) into master (89f5b20) will increase coverage by 2.52%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #234      +/-   ##
==========================================
+ Coverage   95.77%   98.30%   +2.52%
==========================================
  Files          86       11      -75
  Lines        1066      118     -948
  Branches      144        1     -143
==========================================
- Hits         1021      116     -905
+ Misses         43        2      -41
+ Partials        2        0       -2

Flag
Coverage Δ

iocuak
?

porygon
98.30% <ø> (ø)

porygon-typeorm
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ckages/iocuak/src/binding/decorators/injectable.ts

.../iocuak/src/classMetadata/decorators/injectFrom.ts

...rc/binding/utils/domain/removeBindingDuplicates.ts

...lectMetadata/utils/domain/updateReflectMetadata.ts

...s/iocuak/src/binding/models/api/BindingScopeApi.ts

...m/src/crud/adapter/typeorm/DeleteTypeOrmAdapter.ts

...ons/domain/loadFromContainerModuleClassMetadata.ts

.../services/api/ContainerServiceApiImplementation.ts

...ta/actions/api/convertToContainerModuleMetadata.ts

...ages/iocuak/src/classMetadata/decorators/inject.ts

... and 65 more

Continue to review full report at Codecov.

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


How to install logstash-output-jdbc plugin in  offline environment?

https://github.com/theangryangel/logstash-output-jdbc/issues/120


Improves README

removes a typographical error

!#### :sparkles: :sparkles: AWESOME! LGTM. :sparkles: :sparkles:
Thanks @manaswinidas, for this pull request and contributing to the code-base for the first time.
We will be looking forward for more contributions in future.
Cheers and happy contributing!


VScode Metal theme show unexpected last sumbol when push arrow up

run any command
push arrow up button
get first sumbol from previous command(only cosmetic bug)

Something similar as this ( https://unix.stackexchange.com/questions/28827/why-is-my-bash-prompt-getting-bugged-when-i-browse-the-history ), but I can't solve it with my mind all day :(
I'm new ubuntu user. What should I do to fix it?

And in regular bash that dont happend. Only in VScode Terminal

And it's working good with other themes, only Metal has this bug :disappointed:

This isn't fixable for VScode?

@AmberWilliams I just switched to windows :smiley: There's no bash :tada: haha

Windows now also has a built-in Linux subsystem with a full Bash shell (WSL): https://docs.microsoft.com/en-us/windows/wsl/install-win10


for DB2 database: allow configuring table creation properties globally and/or per schema or table

In DB2 there are many options in table creation which can result in significant speeds.

[ ] Explicit table spaces can be chosen
[ ] A separate table space for indexes is often used
[ ] Compression can be activated COMPRESS YES ADAPTIVE ACTIVATE VALUE COMPRESSION

Compression is implemented in #122


请求超出最大的token

InvalidRequestError: This model's maximum context length is 4097 tokens. However, you requested 4431 tokens (3431 in the messages, 1000 in the completion). Please reduce the length of the messages or completion.
是记忆内相关内容太多了？还是什么原因，有什么方法避免？

Hi, at the moment , you can either decrease Max Token or reduce Chunk Size to avoid such error message. If you choose to reduce Chunk Size, please ensure that you also update the brain accordingly.
I will implement a feature that instantly returns an error response if the total token count exceeds 4097, preventing users from calling the API and saving time by avoiding the wait for it to fail.
你好，目前的版本避免以上情况，你需要减小Max Token或者减少Chunk Size。如果你决定减小Chunk Size，请确保Update Brain。
我日后会增加一个功能，当总令牌数超过4097时立即反馈错误，防止浪费时间调用API，结果确是报错。


Adds proposal for reducing sales to low. This closes #733

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
888

Relevant Lines:
3064

💛  - Coveralls


Update semantic color token names

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Resolves: #13
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.

Update design token version and all other dependencies
Refactor color tokens by isolating the color tokens and creating tier 3 tokens for repeatable rules

Type of change:
Please delete options that are not relevant.

[x] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

Verification:

[ ] UI looks the same as it does on docsite
[ ] Background UI looks correct
[ ] Tier 3 tokens are named correctly
[ ] Tier 3 tokens are pointing to correct tier 2 tokens

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

:tada: This PR is included in version 1.1.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


initial apiary usage for codeschools in dev

Description of changes

This PR uses apiary in the development environment so we don't have to rely on backend performance to work. This should not impact the way production works currently since it will be looking to their .env for the urls
Issue Resolved

Fixes #106

Does it matter that both of the environment variable URLs return 404?

What did you do to return 404s? If I just pull that branch down and do yarn install then visit code schools I get the response below

To clarify, @kylemh that is precisely what we do not want, 404s. Do you have other .env files? They would override this if so, which is actually a good thing because it allows you to gitignore your own dev setup configs in something like .env.local.

When running this in my local environment I am getting a successful return from the Apiary docs. However, the docs only return two schools which fail to populate the page. Unless we can add more schools to this then I'm not so sure it's helpful. Please correct me If I am missing something.

I'm going to close this due to inactivity. Feel free to open an updated PR with fixed conflicts and the requested changes!


feat: expose plan stage via test cli

We added plan support in https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit/pull/2258 but I missed to add it to CLI

@bharathkkb - bump the CLI version?


Make The Round Automatically Stop

When the timer run a round, The timer will automatically stop until
user tapping the start button.

conflicts fixed


how to ignore 503 errors from a rails application

I have a rails application that sometimes raises http status of 503 (internal_server_error). I want to exclude those from tracking in rollbar. Is there a way to ignore this particular error from getting tracked and counting against the quota limit?

The preferred way is to rescue those exceptions where they happen, and handle accordingly. (Or fix the underlying issue, if that's appropriate.)
If this isn't possible or intended, see the Ignoring Items section of the docs (https://docs.rollbar.com/docs/ruby), and the description of configuration.before_process.

The original code was similar to the following:
x = obtain_data
json_response({mydata: x})

but the call to obtain_data can raise some errors, which actually clog up rollbar since there are so many calls to this method. So I tried to handle it like this:
begin
  x = obtain_data
rescue ErrorType1 => e
rescue ErrorType2 => e
end
if e
    return render :json => e.class.to_s.to_json, :status => :internal_server_error
else
    json_response({mydata: x})
end

but since I make the status 503 above, it still ends up showing in rollbar.
It is rather easier to raise 503 so that javascript can know that an error has occured instead of sending back an empty hash, so is there a way to tell rollbar to ignore responses with status of unprocessible_entity?

The gem doesn't report based on HTTP status responses. It would require the exception to be unhandled or reraised. (I just tested to make sure my understanding of this is correct, because the gem will report on env['action_dispatch.exception'] if it exists.)
It seems like there is still an exception not being handled by your rescue. You should check that the exception class reported by Rollbar is one of the types you are rescuing. You can also try a broader rescue while debugging the issue, e.g. rescue => e and see if that picks up the unhandled exception.

@waltjones I am sorry for the earlier message. In fact, its rescue is exactly like the one you mentioned, so my rescues actually look like:
begin
  x = obtain_data
rescue ErrorType1 => e
rescue => e
end
if e
    return render :json => e.class.to_s.to_json, :status => :internal_server_error
else
    json_response({mydata: x})
end

so basically I simply trap the exception and simply return a status of :internal_server_error for js to handle it, but it still ends up in rollbar

@umarsheikh  I don't think e will have the value you expect outside the scope of the rescue block. Also, multiple rescue blocks may not have the behavior you expect in this case.
This looks like what I think you intend to do:
begin
  x = obtain_data
  json_response({mydata: x})

rescue => e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
end

Or if you want to handle multiple specific exceptions, with the same behavior:
begin
  x = obtain_data
  json_response({mydata: x})

rescue ErrorType1, ErrorType2 => e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
end

And if you want to handle them differently, do use multiple rescue blocks, but put the behavior in each block:
begin
  x = obtain_data
  json_response({mydata: x})

rescue ErrorType1 => e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
rescue ErrorType2, ErrorType3 => e
  return render :json => e.class.to_s.to_json, :status => :bad_request
end

@umarsheikh have you had a chance to try what @waltjones suggested? ^

@waltjones and @brianr sorry for absconding, i got pulled over to ohter tasks. I have just rolled out what you suggested, and will let you know tomorrow how it goes.

@waltjones and @brianr i am really surprised that my issue got fixed once i pulled in the response within each block, so something like:
begin
  x = obtain_data
  return json_response({mydata: x})
rescue ErrorType1 => e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
rescue => e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
end

really did work!
I am not sure why my earlier code did not work, which basically was:
e = nil
begin
  x = obtain_data
rescue ErrorType1 => e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
rescue ErrorType2, ErrorType3 => e
  return render :json => e.class.to_s.to_json, :status => :bad_request
end
if e
  return render :json => e.class.to_s.to_json, :status => :internal_server_error
else
  json_response({mydata: x})
end

But after returning the response from within the appropriate block, it started working, and now this error does not show in rollbar, which was the intended behavior.
Thanks for you help, and this issue can now be closed!

In fact, just to be clear, I had even declared e as a local variable outside the begin rescue blocks to ensure that the e is available throughout the method. But it somehow still did not work. Moving the return render response within each rescue block (magically) worked!

What version of Ruby is this?

@rokob it is ruby 2.3.1p112, rails 5.1.6, and rollbar 2.16.4

@umarsheikh your original code could be made to work with a couple changes. The e passed by rescue is scoped to that rescue block and never gets assigned to anything. Also when there are multiple rescue blocks, only the first matching block is executed. Because you catch everything with rescue => e this behavior is masked there but will show up in other situations.
my_e = nil
begin
  x = obtain_data
rescue ErrorType1 => e
  my_e = e
rescue ErrorType2 => e
  my_e = e
end
if my_e
  return render :json => my_e.class.to_s.to_json, :status => :internal_server_error
else
  json_response({mydata: x})
end

If you are handling both errors the same way, you can simplify:
rescue ErrorType1, ErrorType2 => e

The example I gave you previously is more idiomatic and preferred because the non-error case is handled in the begin block, and the rescue clauses already handle the branching logic of a failure, removing the need for extra if statements.

But why does this:
def obtain_data
  raise StandardError.new('hello')
end

begin
  x = obtain_data
rescue => e
end

if e
  puts x
  puts e
else
  puts "no error"
end

output:

hello

I thought it might be some magic at the top level, so I did
class Thing
  def obtain_data
    raise StandardError.new('hello')
  end

  def process
    begin
      obtain_data
    rescue => e
    end

    if e
      return "broken"
    else
      return "works"
    end
  end
end

puts Thing.new.process

which diassembles to (I removed the trace calls because they just clutter things up):
== disasm<EMAIL_ADDRESS>0002 putspecialobject 3
0004 putnil
0005 defineclass      :Thing, <class:Thing>, 0
0009 pop
0012 putself
0013 getinlinecache   20, <is:0>
0016 getconstant      :Thing
0018 setinlinecache   <is:0>
0020 opt_send_without_block <callinfo!mid:new, argc:0, ARGS_SIMPLE>, <callcache>
0023 opt_send_without_block <callinfo!mid:process, argc:0, ARGS_SIMPLE>, <callcache>
0026 opt_send_without_block <callinfo!mid:puts, argc:1, FCALL|ARGS_SIMPLE>, <callcache>
0029 leave
== disasm<EMAIL_ADDRESS>0004 putspecialobject 1
0006 putobject        :obtain_data
0008 putiseq          obtain_data
0010 opt_send_without_block <callinfo!mid:core#define_method, argc:2, ARGS_SIMPLE>, <callcache>
0013 pop
0016 putspecialobject 1
0018 putobject        :process
0020 putiseq          process
0022 opt_send_without_block <callinfo!mid:core#define_method, argc:2, ARGS_SIMPLE>, <callcache>
0027 leave                                                            (   6)
== disasm<EMAIL_ADDRESS>0004 putself
0005 getinlinecache   12, <is:0>
0008 getconstant      :StandardError
0010 setinlinecache   <is:0>
0012 putstring        "hello"
0014 opt_send_without_block <callinfo!mid:new, argc:1, ARGS_SIMPLE>, <callcache>
0017 opt_send_without_block <callinfo!mid:raise, argc:1, FCALL|ARGS_SIMPLE>, <callcache>
0022 leave                                                            (   3)
== disasm<EMAIL_ADDRESS>== catch table
| catch type: rescue st: 0004 ed: 0010 sp: 0000 cont: 0011
== disasm: #<ISeq:rescue in<EMAIL_ADDRESS>local table (size: 2, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 2] "\#$!"
0000 getlocal_OP__WC__0 2                                             (   9)
0002 putobject        StandardError
0004 checkmatch       3
0006 branchunless     14
0008 getlocal_OP__WC__0 2                                             (  10)
0010 setlocal_OP__WC__1 2                                             (   9)
0012 putnil
0013 leave                                                            (   9)
0014 getlocal_OP__WC__0 2
0016 throw            0
| catch type: retry  st: 0010 ed: 0011 sp: 0000 cont: 0004
|------------------------------------------------------------------------
local table (size: 2, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 2] e
0006 putself
0007 opt_send_without_block <callinfo!mid:obtain_data, argc:0, FCALL|VCALL|ARGS_SIMPLE>, <callcache>
0010 nop                                                              (   7)
0011 pop
0014 getlocal_OP__WC__0 2
0016 branchunless     24
0020 putstring        "broken"
0022 jump             28                                              (  12)
0026 putstring        "works"
0030 leave                                                            (  15)

You can clearly see that e as only defined in the rescue block is in the local table for the whole method containing the block. That is true even if you never reference e anywhere else, it still gets put into the locals outside of the rescue block.

This issue is already addressed, but I just wanna know why the original code didn't work. I get why the fixed code definitely will work.

I have also taken a closer look at this, and it turns out begin/end do not create a new scope, and neither does the rescue in a begin/end "block". So my earlier comment about scope was incorrect.
Based on this, I also don't know why the original code didn't work.


Clojure needs

in order:

a beaker object with autotranslation (and other runtime functions)
a demo tutorial notebook
settable classpath and dynamic classpath, shared with the other JVM languages.
autocomplete

and work with https://github.com/technomancy/leiningen

define the beaker object with deftype as per http://clojure.org/datatypes
but how do you define the getters and setters so you can say (:x beaker) instead of (get "x" beaker)?

Added individual github issues to track each functionality independently


Update VillagerUtil.java

Fixes crash when generating names as the random number generated can otherwise be out of bounds.

Thanks for PR-ing!

You think you can build & release the fix for the v1.18 version as well?

Breki, I'm fairly certain you were lamenting a "bound must be positive" error, not an out of bounds error.
nextInt already excludes the bound so out of bounds is impossible here (and this change will drop one of the names).
The "bound must be positive" error is instead caused when the bound is <= 0.
Why that happens, I'm not yet sure, maybe the mod loaded an empty names list or there's some config init issue or something like that? Haven't looking into it yet.
Either way, this change should be reverted.


fix: make large lambda warning message more informative

Summary
Currently there is a misleading about function's size larger than 50MB that will fail the deploy. This PR improves it, as the hard limit it is 250MB unzipped and we will display a warning for zipped files bigger than 50MB
Test plan

Visit the Deploy Preview (insert link to specific page) ...

Relevant links (GitHub issues, Notion docs, etc.) or a picture of cute animal
Standard checks:

[ ] Check the Deploy Preview's Demo site for your PR's functionality
[ ] Add docs when necessary

🧪 Once merged, make sure to update the version if needed and that it was published correctly.

@pieh not sure about the tests failing, they don't seem related to this change

@biruwon Please fill out the PR description so that we know in the future what we did and why :)

@biruwon Please fill out the PR description so that we know in the future what we did and why :)

done


feat(tidb): update base image to rocky linux8

upgrade ci base image from centos7 to rocky linux 8 because centos7 end of life.

/hold

Retest link

[ ] pull_mysql_test https://do.pingcap.net/jenkins/blue/organizations/jenkins/pingcap%2Ftidb%2Fghpr_mysql_test/detail/ghpr_mysql_test/20565/pipeline

/unhold


Show the path of a file reference in a dedicated view

The inspector should provide a Path view for a file reference highlighting the existing and not-existing parts.


Unexpected behaviour - filter metadata with redis datastore

Using the redis datastore I find somewhat unexpected behavior with the filter part of the query api.
If we want to filter by source, we can use the json "filter": {"source": "file"}, which seems to work fine. Since "source" is a part of the "metadata" in the  DocumentMetadata model, a person might expect that
"filter": {"source_id": "test:*"}
would be the correct way to filter by source id. However, if we do this, then the result will not return any documents.
However, suppose we were to query other metadata by articulating the "metadata" field. In this case, it would return all the documents.
I've provided examples below, in the first example we query for the source, and in the second example, we query the source_id metadata using a wildcard.
query_1 = {
"query": "I want information related to car dealerships.",
"filter": {
"source": "file"
},
"top_k": 1
}
query_2 = {
"query": "I want information related to car dealerships.",
"filter": {
"metadata": {"source_id": "test:*"}
},
"top_k": 1
}

idk what's going on the filter feature doesn't work as expected in any case.


fixes unit tests

Description (required)
Fixes #5339
What changes did you make and why?
Fixes unit test, I was not able to fix Android tests which requires Android J Unit 4. I tried everything. Came across similar issues of android tests not running on AS version giraffe but without any solutions.
Tests performed (required)
Screenshots (for UI changes only)
Need help? See https://support.google.com/android/answer/9075928

Note: Please ensure that you have read CONTRIBUTING.md if this is your first pull request.

Wow that's wonderful!
Would you mind disabling the 12 failing tests and submitting the PR? Then I think we can finally all switch to the most recent Android Studio. 🙂

All unit tests passed. @nicolas-raoul I was not able to run android tests on my giraffe android studio.


Operator should not force at least three instances in leader topology

At the moment, if you tried to make a deployment in the leader topology and set count to 1, you would get the following error:
ts=2018-06-01T12:04:42.582493602Z level=error component=controller/v1beta2 msg="Habitat could not be synced, requeueing" err="too few instances: 1, leader-follower topology requires at least 3" obj=redis-habitat/redis

The operator should not force this, as the user may have a good reason of starting only one instance initially and then add more progressively. At best, this should be a warning instead of an error.

@indradhanush this was resolved in https://github.com/habitat-sh/habitat-operator/pull/299 ?

Err, yes. My bad, I should have tagged this in the PR. :sweat_smile:


Scene: msaaSamples remove readonly

In Scene of msaaSamples is can set.
  msaaSamples: {
    get: function () {
      return this._msaaSamples;
    },
    set: function (value) {
      value = Math.min(value, ContextLimits.maximumSamples);
      this._msaaSamples = value;
    },
  },

But in Cesium.d.ts will Throws:DeveloperError
Cesium.d.ts
    /**
     * The sample rate of multisample antialiasing (values greater than 1 enable MSAA).
     */
    readonly msaaSamples: number;

I think that is not a good type description.
So:
- * @readonly

Thanks for the pull request @ShenWeiQun!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

Thanks @ShenWeiQun!
@ebogo1 Could you please review?

@ebogo1  Thank you for your correction


KAFKA-12648: fix #getMinThreadVersion and include IOException + topologyName in StreamsException when topology dir cleanup fails

Quick fix to make sure we log the actual source of the failure both in the actual log message as well as the StreamsException that we bubble up to the user's exception handler, and also to report the offending topology by filling in the StreamsException's taskId field.
Also prevents a NoSuchElementException from being thrown when trying to compute the minimum topology version across all threads when the last thread is being unregistered during shutdown.
This aims to fix some flakiness that has shown up in the NamedTopologyIntegrationTest's #shouldAddToEmptyInitialTopologyRemoveResetOffsetsThenAddSameNamedTopologyWithRepartitioning recently

Hey @wcarlson5 @guozhangwang @vvcephei @showuon can I get a very quick review for this ~10 line fix?

Found a somewhat more involved bug that was responsible for this test failing, so I opened a second bugfix PR you can find here
Without this followup PR, the test may continue to see failures (as we see in the build results here).
But otherwise test failures are unrelated, going to merge this

Merged to trunk


Enhance Footer with Additional Information

Fixes Issue🛠
Please review these changes and approve

https://github.com/Rakesh9100/Beautiify/issues/1150
Description👨💻
I have made changes to the footer of our website to include more comprehensive information. The enhancements include sections about Beautify and a newsletter signup form
Changes Made 📄
Added About Beautify Section -
Included a brief description about Beautify to inform users about our mission and vision.
Added links to more detailed information about Beautify.
Added Newsletter Signup Form -
Implemented a simple form for users to subscribe to our newsletter.
Ensured the form is accessible and user-friendly.
Type of Change📄

[x] Bug fix (non-breaking change which fixes a bug)
[x] New feature (non-breaking change which adds functionality)
[x] Style (non-breaking change which improves website style or formatting)
[x] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code
[x] My code follows the style guidelines of this project
[x] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷
Before

After

Before

After

Hello @Rakesh9100 ,
Please review the changes at your earliest convenience and consider merging them. Thank you!

Hello @Rakesh9100 ,
Please review the changes at your earliest convenience and consider merging them. Thank you!

Hello @Rakesh9100 ,
Please review the changes at your earliest convenience and consider merging them. Thank you!

Hello @Rakesh9100 ,
Please review the changes at your earliest convenience and consider merging them. Thank you!


networking: Add MTU value test for SRIOV NAD's

Adds a test that checks that Network Attachment Definitions are specifying their MTU values explicitly.
EDIT: I was trying to follow the quick start guide here for the SRIOV network operator but I don't have access to the necessary hardware.
We'll have to maybe figure out how to test this via QE on supported hardware in the future.

/dci-rerun

Should there be a QE test for this which can be skipped based on the unavailability of the hardware?

@bnshr Yes, that would be the goal for this test I'd say.  We'll need some sort of hardware environment to test it.


Computation of pupil_right_coords

Hi,
I think "self.eye_left.pupil.x" should be "self.eye_right.pupil.x" here.

Hi @yanyukang,
You're absolutely right! I'm fixing it.
Thank you for spotting the error


feat(newsletter): delete Gruppo newsletter account button

PT-1424 PT-1444. Allow the delete method to Gruppo newsletter API.

The PR is left as draft, because I'm not happy yet with the design related to the account deletion.


Definition of a variable from function not correctly converted

v1 code:
#g::
GetText(Temp)
If NOT ERRORLEVEL
{
    ; Modify some characters that screw up the URL
    ; RFC 3986 section 2.2 Reserved Characters (January 2005):  !*'();:@&=+$,/?#[]
    StringReplace, Temp, Temp, `r`n, %A_Space%, All
    StringReplace, Temp, Temp, #, `%23, All
    StringReplace, Temp, Temp, &, `%26, All
    StringReplace, Temp, Temp, +, `%2b, All
    StringReplace, Temp, Temp, ", `%22, All

    Run, msedge.exe -inprivate "https://www.google.com/search?q=%Temp%"
}
Return

GetText(ByRef MyText = "")
{
   SavedClip := ClipboardAll ; Store full version of Clipboard
   Clipboard = ; Empty the clipboard
   Send ^c
   ClipWait 0.5   ; Waits until the clipboard contains data with a timeout of 0.5 s
   If ERRORLEVEL
   {
      Clipboard := SavedClip ; Restore Clipboard
      MyText =
      MsgBox, No text was sent to clipboard
      Return
   }
   MyText := Clipboard
   Sleep 10
   Clipboard := SavedClip
   Return MyText
}

Output:
#g::
{ ; V1toV2: Added bracket
GetText(Temp)
    ; Modify some characters that screw up the URL
    ; RFC 3986 section 2.2 Reserved Characters (January 2005):  !*'();:@&=+$,/?#[]
    Temp := StrReplace(Temp, "`r`n", A_Space)
    Temp := StrReplace(Temp, "#", "`%23")
    Temp := StrReplace(Temp, "&", "`%26")
    Temp := StrReplace(Temp, "+", "`%2b")
    Temp := StrReplace(Temp, "`"", "`%22")

    Run("msedge.exe -inprivate `"https://www.google.com/search?q=" Temp "`"")
Return
} ; V1toV2: Added Bracket before function

GetText(&MyText := "")
{
   SavedClip := ClipboardAll() ; Store full version of Clipboard
   A_Clipboard := "" ; Empty the clipboard
   Send("^c")
   Errorlevel := !ClipWait(0.5)   ; Waits until the clipboard contains data with a timeout of 0.5 s
   If ERRORLEVEL
   {
      A_Clipboard := SavedClip ; Restore Clipboard
      MyText := ""
      MsgBox("No text was sent to clipboard")
      Return
   }
   MyText := A_Clipboard
   Sleep(10)
   A_Clipboard := SavedClip
   Return MyText
}

This gives the following error when the hotkey is pressed.
Error: This variable has not been assigned a value.

Specifically: local Temp

	267: }
	273: {
▶	274: GetText(Temp)
	277: Temp := StrReplace(Temp, "
", A_Space)
	278: Temp := StrReplace(Temp, "#", "%23")

To fix this, GetText(Temp) should be replaced with Temp := GetText().

Correct conversion would be GetText(&Temp), your solution works because the GetText func has Return MyText despite MyText being a ByRef


chore: add standard release

connects to #69

Coverage remained the same at 93.75% when pulling 6a79116c25784f0696acf4f106fe9ab3eef93de4 on lholmquist:69-standard-release into 1631c51de7b85fbdeaba82fb9ad9ad6378bbb316 on bucharest-gold:master.


Extra lines in output

This is a minor annoyance, but if it's an easy fix it would be nice.
When compiling from VS Code, I'm getting 184 line returns after the compiler output. This makes the results of the output scroll up off the screen. I need to page up a few times to see the results. This was true when using task.json as well as in the terminal output using 0.5.0.
I'm not sure exactly when this started, but it doesn't feel like this was the case some months back.
Is anyone else seeing this? Any idea what's outputting all those extra line returns?

Just to clarify: When using ant to compile in Terminal or the integrated terminal in VS Code, I'm not getting these extra line returns.

I just tried using asconfigc directly from the command line and I'm getting the line returns with no VS Code involvement, so it looks like an asconfigc issue.

This issue is fixed in today's v0.5.2 update to asconfigc.


Add workflow for staging java artifacts

This adds a workflow for staging java artifacts to dist.apache.org. I didn't remove it from the script or add it to the release instructions since I haven't been able to fully validate it; I validated that everything up to committing works, but I didn't want to mess with the current release process.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @riteshghorse


When removing an object, select a different object

It's faster to hit delete a few times than to clear the platform from the menu so when hitting delete, select the MRU remaining object or something so that hitting delete a few times will work.

Duplicate of https://github.com/eyal0/OctoPrint-Slicer/issues/7


Adding Radio, Checkbox, and Button HTML and CSS into master

created primary button HTML and CSS file and copied code from Atom into it
created checkbox HTML and CSS file and copied code from Atom into it
created radio HTML and CSS file and copied code from Atom into it

@orinevares Are you able to fix the capitalization of the Checkbox folder from the web UI? Same question for the "primary button" folder name.

@jleach doesn't seem like it. Are you able to do so now that it is merged into the master?

Ya, I'll just create a separate PR for the change. Will do shortly.

@orinevares @jleach Sorry, i totally missed that and merged. Yes can we make another PR to fix the titles to the folder names. In addition i think the "primary button" folder should follow a programmy naming convention, either snake_case or camelCase ie 'primary_button' or 'primaryButton'

Also I noticed that it creates a hidden directory called .github. Any reason for it being hidden?

hmm thats interesting. .github is special configuration directory for things like issue templates. bryan and i pushed that directly into master earlier today


Issue with Critical Product Metric stats

Please use the following template when submitting issues:
Issue Template
Issue Type

[ ] Bug

Description
Wen we add critical tag and key feature, the product is visible in Critical Product Metric menu, but alway shoing 5...in fact no one as 5, someone as 3 or other has more...
If the issue is a bug, please also include the following:
Operating System
Please include the version number (ex: Ubuntu 16.04)
Ubuntu 18.04
Install

[ ] setup.bash

DefectDojo Version
1.51
Steps to Reproduce
See pics
Sample Scan File (if applicable)
Screenshots (optional)
https://imgur.com/a/pxUbjMl
The first product:
https://imgur.com/a/bU5Z6Y1
Console Logs (optional)

Hi @w3synack the number is a calculation based on a health formula. This probably should be reconciled with the new grading system, but the code specific to that view is here: https://github.com/DefectDojo/django-DefectDojo/blob/master/dojo/models.py#L297 if you want to alter the formula.

Ok thanks for information, I'm new user with this project... ;)


AZ image copy between different EA subscription ( same location/Different location) not working.

If the issue is to do with Azure CLI 2.0 in-particular, create an issue here at Azure/azure-cli

Extension name (the extension in question)
az image copy
Description of issue (in as much detail as possible)
Throws error while copying the image from one EA subscription to another subscription. Tried with same location also different location.
command failed: ['/opt/az/bin/python3', '-m', 'azure.cli', 'group', 'create', '--name', 'image-copy-rg', '--location', 'southindia', '--output', 'json', '--subscription', '****', '--tags', 'created_by=image-copy-extension']
output: ERROR: Operation failed with status: 'Forbidden'. Details: 403 Client Error: Forbidden for url: https://management.azure.com/subscriptions//resourcegroups/image-copy-rg?api-version=2018-05-01
The command failed with an unexpected error. Here is the traceback:
Command '['/opt/az/bin/python3', '-m', 'azure.cli', 'group', 'create', '--name', 'image-copy-rg', '--location', 'southindia', '--output', 'json', '--subscription', '**********', '--tags', 'created_by=image-copy-extension']' returned non-zero exit status 1.
Traceback (most recent call last):
File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 206, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 351, in execute
raise ex
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 409, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 402, in _run_job
six.reraise(sys.exc_info())
File "/opt/az/lib/python3.6/site-packages/six.py", line 693, in reraise
raise value
result = cmd_copy(params)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 171, in call
return self.handler(args, kwargs)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/init.py", line 451, in default_command_handler
return op(command_args)
File "/home/jaya/.azure/cliextensions/image-copy-extension/azext_imagecopy/custom.py", line 104, in imagecopy
target_subscription)
File "/home/jaya/.azure/cliextensions/image-copy-extension/azext_imagecopy/custom.py", line 193, in create_resource_group
run_cli_command(cli_cmd)
File "/home/jaya/.azure/cliextensions/image-copy-extension/azext_imagecopy/cli_utils.py", line 35, in run_cli_command
raise ex
File "/home/jaya/.azure/cliextensions/image-copy-extension/azext_imagecopy/cli_utils.py", line 21, in run_cli_command
cmd_output = check_output(cmd, stderr=STDOUT, universal_newlines=True)
File "/opt/az/lib/python3.6/subprocess.py", line 336, in check_output
kwargs).stdout
File "/opt/az/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/opt/az/bin/python3', '-m', 'azure.cli', 'group', 'create', '--name', 'image-copy-rg', '--location', 'southindia', '--output', 'json', '--subscription', '', '--tags', 'created_by=image-copy-extension']' returned non-zero exit status 1.

@jayaakshayan the command failed because the temporary resource group creation failed - see the first few lines of your message.
Is the user running the image copy command has permissions to create new resource groups?
If not, a quick workaround is to pre-create the group manually just like this command tries to do:
command failed: ['/opt/az/bin/python3', '-m', 'azure.cli', 'group', 'create', '--name', 'image-copy-rg', '--location', 'southindia', '--output', 'json', '--subscription', '*************', '--tags', 'created_by=image-copy-extension']

Thanks Tamir, it was policy level restriction not to create resource group with out tag, I have removed the policy for the specific resource group which sorted out the issue.


feat: add endpoint to delete waitlist

Description

- This endpoint deletes a waitlist with the given id.
Related Issue (Link to issue ticket)

This PR is related to this issue

How Has This Been Tested?

Postman
Pytest

Screenshots (if appropriate - Postman, etc):
- Pytest

Postman

204 - success

404 - failure

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@CodewithSegNet please review


memote CLI should provide help info if no args given

At the moment the tool is set up to run the test suite without subcommands. I could change that and then print out the help without arguments. Or I could add the hint to run memote -h to the current complaint about there being no model.


Edit window not showing on the correct side with external monitors

User reports:

When setup as 3 monitors (surface + 2 external), the sliding details entry container doesn't appear on the correct side of the window based on where the window is on the monitor.

More details in case 245274

Not able to reproduce.


feature(postman_tests_scripts): automatic tests and scripts translation from postman import

Description
Regarding issue #1147
Previous postman script import result :

Translated postman script import result :

Translations are made using a regex, with a separated typescript function
Non-translatable postman code will be still returned as comments
Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.

This PR is now ready @helloanoop 🎉

how to test this?

how to test this?

Import a postman collection into Bruno, the collection must have postman commands in scripts and/or tests. By default scripts are inside a comment, when you enable the translation it converts pm.environment.get() to bru.getEnvVar()

how can i enable this in bruno ?  Because when i import collection from Postman i d'ont have this option (Enable postman translation ]

how can i enable this in bruno ? Because when i import collection from Postman i d'ont have this option (Enable postman translation ]

Are you on the right branch ? There should be a checkbox in the import dialog before choosing "Postman collection"

i downloaded zip file from your branch but don't know how to try it

You have to clone the Bruno repository, switch to the branch feature/postman_tests_scripts, install the dependencies, follow the readme manual and launch the project locally on your machine

@helloanoop : After this PR was merged, the main branch no longer builds for me. My steps are:
npm i --legacy-peer-deps
npm run build:graphql-docs  && npm run build:bruno-query && npm run build:bruno-common
npm run dev:web

Result:
error - ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[2].oneOf[7].use[1]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[2].oneOf[7].use[2]!../../node_modules/codemirror/lib/codemirror.css
Error: Cannot find module 'tailwindcss/plugin'
Require stack:
-<EMAIL_ADDRESS>

Can you try running npm i @tailwindcss/forms ?

Yep, that fixes it.

Hello @bpoulaindev,
Thanks, it's a great feature !
Could we go one step further, having more replacements, like :

pm.test => test
pm.response.json() => res.body
pm.response.to.have.status => expect(res.status).to.be.equal
pm.globals.set => bru.setVar
pm.globals.get => bru.setVar

I observed that set commands are not replaced if expression contains a . ?
This was not replaced :
//     var response = pm.response.json();
//     pm.environment.set("variable_key", response.key);

could be replaced by :
var response = res.body;
bru.setEnvVar("variable_key", response.key);

Hi @BBE-91 thanks for the suggestions;
I submitted a PR that was merged few das ago improving the translation : #1894
Here's the current status regarding your suggestions :

pm.test : ✅
pm.response.json() : good idea
pm.response.to.have.status() : ✅
pm.globals.set/get : not sure we can do this now, as Bruno doesn't support global variables yet, this could be misleading

Thanks for the PR, I also see this one : #1909

can pm.collectionVariables get/set be added also? that and @BBE-91 suggestions would increase the coverage of the translation a lot :)

Thanks for the PR, I also see this one : #1909

This one is interesting it should also be merged.
@apintocd this has been merged in the PR i mentioned above


Implement external blob precharge in read iterator

Changelog category

Improvement

Tracing of identical blob reads (10 blobs 1MiB each) gives these results:

Without this patch, 70ms on average

With this patch, 30ms on average


create unit test for loading joint limits

In GitLab by @proyan on Mar 6, 2019, 11:12
This follows from the discussion on !124

In GitLab by @cmastalli on Mar 6, 2019, 16:32
changed title from create unit test for loading {-talos-legs -}joint limits to create unit test for loading joint limits

In GitLab by @cmastalli on Mar 6, 2019, 16:33
I changed title since we should have this test for each robot @proyan.


Remove deprecated option

OpenVPN will soon remove the --secret option in genkey, and it will be replace with secret

Thanks. Any source on that? What about backward compatibility?

Done in https://github.com/angristan/openvpn-install/pull/1059


google-cloud-sdk: Add various modules to python path

This fixes a sequence of missing-module errors seen when calling gcloud auth activate-service-account.
cc @stephenmw

Ping all

Seems fine to me.


composer is showing white screen

tried of reinstalling it the issue is still their

Please refer to the issue #9745

Closing as resolved. Please reopen if you are continuing to experience the issue.


WIP: updating tags when they exist

I was experiencing trouble with a long standing issue so i decided to fix this, this makes sure your head tags stay on top so they're visible to multiple crawlers.
https://github.com/nfl/react-helmet/issues/239

 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.Jovi De Croock seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I've been looking into the tests and i'm seeing some out of the ordinairy results, since when i log addedTags i see metaTags so i don't understand what's happening here.