Adding 'SnapshotClass' into OCS-Operator

Ensure function for 'SnapshotClass'-es added.
Currently RBD SnapshotClass added.
Once the rook part of CephFS SnapshotClass is completed, will add that as well.
Signed-off-by: Arun Kumar Mohan<EMAIL_ADDRESS>

@Madhu-1 , @humblec , @umangachapagain , @jarrpa , please take a look...

/ok-to-test

@aruniiird thanks for addressing previous comments. got few more comments. Please check

While trying to deploy a custom-image with the Snapshot changes getting the following error,

Error Type: ReconcileComplete
Status: False
Reason: ReconcileFailed
Message: Error while reconciling: no kind is registered for the type v1beta1.VolumeSnapshotClass in scheme "pkg/runtime/scheme.go:101"
@jarrpa , @umangachapagain , @leseb , @rohantmp , any idea?

@aruniiird Thanks for addressing the previous comments! looks better now. Have few more thoughts/comments.

Error Type: ReconcileComplete
Status: False
Reason: ReconcileFailed
Message: Error while reconciling: no kind is registered for the type v1beta1.VolumeSnapshotClass in scheme "pkg/runtime/scheme.go:101"

Can you get the ocs-operator logs so we can see where it is failing?

You can add to schema like this (in the same place): https://github.com/openshift/ocs-operator/blob/4dceb2db010cd70aeb208074a08f81e68d558a38/cmd/manager/main.go#L120
using the v1beta1.AddToScheme function

You have a lint error. Please run make ocs-operator-ci locally. Also, change all instnaces of SnapShotter to Snapshotter.

You can add to schema like this (in main.go):
https://github.com/openshift/ocs-operator/blob/4dceb2db010cd70aeb208074a08f81e68d558a38/cmd/manager/main.go#L120
using the snapv1beta1.AddToScheme function (since there are multiple v1beta1, import something like snapv1beta1 "github.com/kubernetes-csi/external-snapshotter/v2/pkg/apis/volumesnapshot/v1beta1")

Hi @rohantmp , I have tried the changes you suggested. Now I am getting the following error,

Error Message:
Error while reconciling: volumesnapshotclasses.snapshot.storage.k8s.io is forbidden: User "system:serviceaccount:openshift-storage:ocs-operator" cannot create resource "volumesnapshotclasses" in API group "snapshot.storage.k8s.io" at the cluster scope
@rohantmp , @jarrpa , @umangachapagain , please check...

Error Type: ReconcileComplete
Status: False
Reason: ReconcileFailed
Message: Error while reconciling: no kind is registered for the type v1beta1.VolumeSnapshotClass in scheme "pkg/runtime/scheme.go:101"

Can you get the ocs-operator logs so we can see where it is failing?

{"level":"info","ts":"2020-08-18T13:34:04.585Z","logger":"controller_storagecluster","msg":"Reconciling StorageCluster","Request.Namespace":"openshift-storage","Request.Name":"ocs-storagecluster"}
{"level":"info","ts":"2020-08-18T13:34:04.613Z","logger":"controller_storagecluster","msg":"Creating SnapshotClass: ocs-storagecluster-rbdplugin-snapclass","Request.Namespace":"openshift-storage","Request.Name":"ocs-storagecluster"}
{"level":"error","ts":"2020-08-18T13:34:04.615Z","logger":"controller_storagecluster","msg":"Unable to Get/Create SnapshotClass: ocs-storagecluster-rbdplugin-snapclass","Request.Namespace":"openshift-storage","Request.Name":"ocs-storagecluster","error":"volumesnapshotclasses.snapshot.storage.k8s.io is forbidden: User \"system:serviceaccount:openshift-storage:ocs-operator\" cannot create resource \"volumesnapshotclasses\" in API group \"snapshot.storage.k8s.io\" at the cluster scope","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\ngithub.com/openshift/ocs-operator/pkg/controller/storagecluster.(*ReconcileStorageCluster).createSnapshotClasses\n\t/home/amohan/aruns/programming/go/ocs-operator-project/src/github.com/openshift/ocs-operator/pkg/controller/storagecluster/volumesnapshotterclasses.go:80\ngithub.com/openshift/ocs-operator/pkg/controller/storagecluster.(*ReconcileStorageCluster).ensureSnapshotClasses\n\t/home/amohan/aruns/programming/go/ocs-operator-project/src/github.com/openshift/ocs-operator/pkg/controller/storagecluster/volumesnapshotterclasses.go:109\ngithub.com/openshift/ocs-operator/pkg/controller/storagecluster.(*ReconcileStorageCluster).Reconcile\n\t/home/amohan/aruns/programming/go/ocs-operator-project/src/github.com/openshift/ocs-operator/pkg/controller/storagecluster/reconcile.go:233\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/sigs.k8s.io/controller-runtime@v0.5.2/pkg/internal/controller/controller.go:256\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/sigs.k8s.io/controller-runtime@v0.5.2/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/sigs.k8s.io/controller-runtime@v0.5.2/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/k8s.io/apimachinery@v0.17.4/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/k8s.io/apimachinery@v0.17.4/pkg/util/wait/wait.go:153\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/k8s.io/apimachinery@v0.17.4/pkg/util/wait/wait.go:88"}
{"level":"error","ts":"2020-08-18T13:34:04.667Z","logger":"controller-runtime.controller","msg":"Reconciler error","controller":"storagecluster-controller","request":"openshift-storage/ocs-storagecluster","error":"volumesnapshotclasses.snapshot.storage.k8s.io is forbidden: User \"system:serviceaccount:openshift-storage:ocs-operator\" cannot create resource \"volumesnapshotclasses\" in API group \"snapshot.storage.k8s.io\" at the cluster scope","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/sigs.k8s.io/controller-runtime@v0.5.2/pkg/internal/controller/controller.go:258\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/sigs.k8s.io/controller-runtime@v0.5.2/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/sigs.k8s.io/controller-runtime@v0.5.2/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/k8s.io/apimachinery@v0.17.4/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/k8s.io/apimachinery@v0.17.4/pkg/util/wait/wait.go:153\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/amohan/aruns/programming/go/ocs-operator-project/pkg/mod/k8s.io/apimachinery@v0.17.4/pkg/util/wait/wait.go:88"}

Error Message:
Error while reconciling: volumesnapshotclasses.snapshot.storage.k8s.io is forbidden: User "system:serviceaccount:openshift-storage:ocs-operator" cannot create resource "volumesnapshotclasses" in API group "snapshot.storage.k8s.io" at the cluster scope

You need to add the CRs to the API group in the CSV, so that the ServiceAccount is allowed to manipulate them. Did you run make gen-latest-csv and make ocs-operator-ci?

You may also need to manually add it to deploy/role.yaml.

Thanks @jarrpa , @rohantmp ... All the deployment errors are fixed.

@aruniiird overall it looks good to me. Havent checked on the RBAC side of this PR though

@aruniiird can you please check why the CI is not happy yet?

/test ocs-operator-ci


open /host/proc/1/mounts: permission denied

Description
I get "open /host/proc/1/mounts: permission denied" after I updated the module to the last one
Kube.tf file
I created new cluster and I noticed I don't see any data of the disk on grafana, then I checked the logs of prometheus and I found this error after I updated the module to the last one:
ts=2023-04-20T09:11:29.262Z caller=collector.go:169 level=error msg="collector failed" name=filesystem duration_seconds=0.007330841 err="open /host/proc/1/mounts: permission denied"

It worked in previous versions
Screenshots
No response
Platform
Mac

@ron137 FYI https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/issues/697

@ron137 Please don't hesitate to submit a PR with your SELinux required permissions, or tag me with your data in the issue above for me to integrate them ASAP. Closing it for now as related to the above issue. (Don't forget to tag me).

Hi There, did you found a solution to this problem, I am trying to run node-exporter for monitoring and I have this issue.

Hi @ron137, did you ever find a solution to this issue? I get the same errors when running Grafana Agent. I tried to resolve the issue via tweaking the SELinux rules, but it looks like SELinux doesn't actually cause the problem... 🤔

@dstockhammer  Are you 100% positive you were debugging in the correct node? Did you try running the failed command manually? Please continue digging down in the logs, you will find the cause and it's usually caused by SELinux. If not, please open a proper issue with all the details to be able to reproduce.


[BUG] Typo in CONTRIBUTING.md

The second word of the first paragraph should be "off", not "of".
Other than that, though, this is the perfect way to start contributor documentation.  Would you mind if I stole it for a few of my projects (and changed "Compiler Exprorer" to the relevant project, of course)?
I deleted the template because it doesn't really make sense for this type of issue.

Hi! Thanks for taking the time to open the issue.
Do feel free to use the paragraph as you see fit :)


A new Express vanilla example?

Description
Would you folks be keen on me adding an Express example app?
Proposed changes
Looks like this examples/ directory would be a good contribution to land an example application:

Deliverables
Here's what I've had on my mind:

[x] Minimal Express application
[x] /api/trigger endpoint with @trigger.dev/sdk logic to handle trigger and jobs
[x] A couple of endpoints: one to trigger an event from code, another to poll for data readiness
[x] Example use-case builds on the OpenAI native Trigger.dev integration to keep it interesting
[x] Frontend is kept to minimal and uses vanilla JavaScript to avoid complexity and frameworks fatigue

This would be great! A couple of notes:
Using the @trigger.dev/express adapter means you don't need to setup the /api/trigger endpoint, just need to setup the middleware:
import express from "express";
import { TriggerClient } from<EMAIL_ADDRESS>import { createMiddleware } from<EMAIL_ADDRESS>
const client = new TriggerClient({
 id: "my-client",
 apiKey: process.env["TRIGGER_API_KEY"]!,
});

const app = express();

const middleware = createMiddleware(client);

app.use(middleware);

app.listen(8080, () => {
 console.log("Listening on port 8080");
});

Also, the example should live in our dedicated examples repo: https://github.com/triggerdotdev/examples
The examples dir in the monorepo will probably be going away or renamed, as it's more of a testing ground for us and not true examples.

Using the @trigger.dev/express adapter means you don't need to setup the /api/trigger endpoint, just need to setup the middleware:

I know and I've planned to provide 2 example projects:

One which uses the official Express integration from Trigger.dev
One which builds on the SDK package and implements the /api/trigger logic on its own

Specifically I think (2) is important because it would empower developers to understand the abstraction and then easily port the implementation to other web servers: NestJS, Koa, etc.
--
I'll copy the issue + shoot out the PR to the examples repo as you noted. Thanks for clarifying!

Addressed in https://github.com/triggerdotdev/examples/pull/3 so closing this one.


[dependabot] enable for maven multimodule

What does this PR do?
Enable dependabot that runs on a weekly basis and create up to 3 different PRs at once.
Further details -> https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/configuration-options-for-dependency-updates#about-the-dependabotyml-file
What are your thoughts?
Checklist
For internal use

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: [Pull request #1486 opened]

Start Time: 2020-11-09T10:57:50.953+0000

Duration: 46 min 5 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
1616

Skipped
12

Total
1628

We deliberately have dependencies to older versions of libraries so that we can test that we still support them. However, for some dependencies, automated updates are quite useful.
I guess the best way forward would be to use a allow list of dependencies we'd want to update.
The list would include at a minimum:

com.lmax:disruptor
org.jctools:jctools-core
co.elastic.logging:log4j2-ecs-layout
org.testcontainers:testcontainers
org.junit.jupiter:*
junit:junit
org.junit.vintage:*
org.assertj:assertj-core
org.mockito:mockito-core
com.networknt:json-schema-validator
com.fasterxml.jackson.core:jackson-databind
org.eclipse.jetty:jetty-servlet
com.github.tomakehurst:wiremock-standalone
org.awaitility:awaitility
org.apache.ivy:ivy
org.testcontainers:testcontainers

We can always add more later on.

I guess the best way forward would be to use a allow list of dependencies we'd want to update.

Awesome, thanks for the list, see https://github.com/elastic/apm-agent-java/pull/1486/commits/ddcd82c2eb61e77d0f600e8a48521d0863e8a282

OTOH, when a PR is created by dependabot, if that particular dependency should be excluded, there is a way to say in the PR with a comment, for instance https://github.com/elastic/apm-pipeline-library/pull/829
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

OTOH, when a PR is created by dependabot, if that particular dependency should be excluded, there is a way to say in the PR with a comment, for instance elastic/apm-pipeline-library#829

That's good to know. I'll leave it up to the team whether they prefer a allow or deny list.


custom distance function not passed to ABC inference

On trying to pass a custom function to define the distance metric for ABC methods (eg MCABC), the following error is received on running the inference model:

Upon inspecting the source code at sbi/inference/abc/abc_base.py, I see that while there's code written to handle the custom function, the code is structured in a way to never reach it (it already assumes that the 'distance' parameter is a string, and only assigns the function to self.distance if distance is a String and not a callable.

Also in the same code, the definition for the L1 distance seems to be off. Should it be torch.sum() instead of torch.mean()? When I tried to use the L1 distance for 2D data, I was able to get points that were twice as far away from the threshold as I expected.

Thanks for creating the issue. It should be possible to pass a Callable custom distance function when creating the ABC object. E.g.,
abc = MCABC(simulator, prior, distance=your_custom_distance)

the choose_distance_function is called only when the passed distance is a str.

Thanks for creating the issue. It should be possible to pass a Callable custom distance function when creating the ABC object. E.g.,
abc = MCABC(simulator, prior, distance=your_custom_distance)

the choose_distance_function is called only when the passed distance is a str.

Yes, that's true, but since self.distance attribute is never being set when distance is not an str, we get an error. So, an else block is needed here.

Oh, indeed. This will not work. Thanks for spotting this!
I will make a PR fixing this.


Compilation Failure on Applying reduction ConeMatrixStuffing

Describe the bug
Can't compile what I was hoping would be a straightforward regression example I was trying out. Specifically, I am failing on this step in the process:
(CVXPY) Nov 29 06:13:25 PM: Applying reduction ConeMatrixStuffing

I am working off of this example on StackOverflow, which appears outdated. (I was hoping to update it if I can get this working).
For reference, I got something comparable working in scipy:
import numpy as np
from scipy.optimize import minimize

def loss(weights):
    return np.sum(np.square((np.dot(x, weights) - y.T)))

cons = ({'type': 'eq',
         'fun' : lambda weights: np.sum(weights) - 1.0})

w0 = np.zeros(x.shape[1])
res = minimize(loss, w0, method='SLSQP', constraints=cons,
               bounds=[(0, np.inf) for i in range(x.shape[1])], options={'disp': True})

To Reproduce
import numpy as np
import cvxpy as cp

x1 = np.arange(1000)
x2 = np.random.normal(size=(1000,))
x = np.vstack([x1, x2]).T

y = np.random.random_sample(size=(1000,))

print("x shape", x.shape)
print("y shape", y.shape)

weights = cp.Variable(x.shape[1])

objective = cp.norm( cp.sum( x @ weights , axis=1) - y )
minimize = cp.Minimize(objective)

constraints = [weights >= 0, cp.sum(weights) == 1.0]
problem = cp.Problem(minimize, constraints)

problem.solve(verbose=True)

print(problem.value)
print(weights.value)

Expected behavior
Want the code to compile and to get optimization results.
Output
x shape (1000, 2)
y shape (1000,)
===============================================================================
                                     CVXPY
                                     v1.2.2
===============================================================================
(CVXPY) Nov 29 06:13:25 PM: Your problem has 2 variables, 2 constraints, and 0 parameters.
(CVXPY) Nov 29 06:13:25 PM: It is compliant with the following grammars: DCP, DQCP
(CVXPY) Nov 29 06:13:25 PM: (If you need to solve this problem multiple times, but with different data, consider using parameters.)
(CVXPY) Nov 29 06:13:25 PM: CVXPY will first compile your problem; then, it will invoke a numerical solver to obtain a solution.
-------------------------------------------------------------------------------
                                  Compilation
-------------------------------------------------------------------------------
(CVXPY) Nov 29 06:13:25 PM: Compiling problem (target solver=ECOS).
(CVXPY) Nov 29 06:13:25 PM: Reduction chain: Dcp2Cone -> CvxAttr2Constr -> ConeMatrixStuffing -> ECOS
(CVXPY) Nov 29 06:13:25 PM: Applying reduction Dcp2Cone
(CVXPY) Nov 29 06:13:25 PM: Applying reduction CvxAttr2Constr
(CVXPY) Nov 29 06:13:25 PM: Applying reduction ConeMatrixStuffing

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:37, in lazyprop.<locals>._lazyprop(self)
     36 try:
---> 37     return getattr(self, attr_name)
     38 except AttributeError:

AttributeError: 'reshape' object has no attribute '_lazy_canonical_form'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:37, in lazyprop.<locals>._lazyprop(self)
     36 try:
---> 37     return getattr(self, attr_name)
     38 except AttributeError:

AttributeError: 'AddExpression' object has no attribute '_lazy_canonical_form'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:37, in lazyprop.<locals>._lazyprop(self)
     36 try:
---> 37     return getattr(self, attr_name)
     38 except AttributeError:

AttributeError: 'Sum' object has no attribute '_lazy_canonical_form'

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
Input In [92], in <cell line: 21>()
     18 constraints = [weights >= 0, cp.sum(weights) == 1.0]
     19 problem = cp.Problem(minimize, constraints)
---> 21 problem.solve(verbose=True)
     23 print(problem.value)
     24 print(weights.value)

File /opt/conda/lib/python3.9/site-packages/cvxpy/problems/problem.py:481, in Problem.solve(self, *args, **kwargs)
    479 else:
    480     solve_func = Problem._solve
--> 481 return solve_func(self, *args, **kwargs)

File /opt/conda/lib/python3.9/site-packages/cvxpy/problems/problem.py:1007, in Problem._solve(self, solver, warm_start, verbose, gp, qcp, requires_grad, enforce_dpp, ignore_dpp, **kwargs)
   1004         self.unpack(chain.retrieve(soln))
   1005         return self.value
-> 1007 data, solving_chain, inverse_data = self.get_problem_data(
   1008     solver, gp, enforce_dpp, ignore_dpp, verbose)
   1010 if verbose:
   1011     print(_NUM_SOLVER_STR)

File /opt/conda/lib/python3.9/site-packages/cvxpy/problems/problem.py:655, in Problem.get_problem_data(self, solver, gp, enforce_dpp, ignore_dpp, verbose)
    652     s.LOGGER.info(
    653              'Compiling problem (target solver=%s).', solver_name)
    654     s.LOGGER.info('Reduction chain: %s', reduction_chain_str)
--> 655 data, inverse_data = solving_chain.apply(self, verbose)
    656 safe_to_cache = (
    657     isinstance(data, dict)
    658     and s.PARAM_PROB in data
    659     and not any(isinstance(reduction, EvalParams)
    660                 for reduction in solving_chain.reductions)
    661 )
    662 self._compilation_time = time.time() - start

File /opt/conda/lib/python3.9/site-packages/cvxpy/reductions/chain.py:76, in Chain.apply(self, problem, verbose)
     74     if verbose:
     75         s.LOGGER.info('Applying reduction %s', type(r).__name__)
---> 76     problem, inv = r.apply(problem)
     77     inverse_data.append(inv)
     78 return problem, inverse_data

File /opt/conda/lib/python3.9/site-packages/cvxpy/reductions/dcp2cone/cone_matrix_stuffing.py:344, in ConeMatrixStuffing.apply(self, problem)
    342 # Batch expressions together, then split apart.
    343 expr_list = [arg for c in ordered_cons for arg in c.args]
--> 344 params_to_problem_data = extractor.affine(expr_list)
    346 inverse_data.minimize = type(problem.objective) == Minimize
    347 new_prob = ParamConeProg(params_to_objective,
    348                          flattened_variable,
    349                          params_to_problem_data,
   (...)
    353                          problem.parameters(),
    354                          inverse_data.param_id_map)

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/coeff_extractor.py:82, in CoeffExtractor.affine(self, expr)
     80 assert all([e.is_dpp() for e in expr_list])
     81 num_rows = sum([e.size for e in expr_list])
---> 82 op_list = [e.canonical_form[0] for e in expr_list]
     83 return canonInterface.get_problem_matrix(op_list,
     84                                          self.x_length,
     85                                          self.id_map,
     86                                          self.param_to_size,
     87                                          self.param_id_map,
     88                                          num_rows)

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/coeff_extractor.py:82, in <listcomp>(.0)
     80 assert all([e.is_dpp() for e in expr_list])
     81 num_rows = sum([e.size for e in expr_list])
---> 82 op_list = [e.canonical_form[0] for e in expr_list]
     83 return canonInterface.get_problem_matrix(op_list,
     84                                          self.x_length,
     85                                          self.id_map,
     86                                          self.param_to_size,
     87                                          self.param_id_map,
     88                                          num_rows)

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:39, in lazyprop.<locals>._lazyprop(self)
     37     return getattr(self, attr_name)
     38 except AttributeError:
---> 39     setattr(self, attr_name, func(self))
     40 return getattr(self, attr_name)

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/canonical.py:43, in Canonical.canonical_form(self)
     36 @pu.lazyprop
     37 def canonical_form(self):
     38     """The graph implementation of the object stored as a property.
     39
     40     Returns:
     41         A tuple of (affine expression, [constraints]).
     42     """
---> 43     return self.canonicalize()

File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/atom.py:322, in Atom.canonicalize(self)
    320 constraints = []
    321 for arg in self.args:
--> 322     obj, constr = arg.canonical_form
    323     arg_objs.append(obj)
    324     constraints += constr

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:39, in lazyprop.<locals>._lazyprop(self)
     37     return getattr(self, attr_name)
     38 except AttributeError:
---> 39     setattr(self, attr_name, func(self))
     40 return getattr(self, attr_name)

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/canonical.py:43, in Canonical.canonical_form(self)
     36 @pu.lazyprop
     37 def canonical_form(self):
     38     """The graph implementation of the object stored as a property.
     39
     40     Returns:
     41         A tuple of (affine expression, [constraints]).
     42     """
---> 43     return self.canonicalize()

File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/atom.py:322, in Atom.canonicalize(self)
    320 constraints = []
    321 for arg in self.args:
--> 322     obj, constr = arg.canonical_form
    323     arg_objs.append(obj)
    324     constraints += constr

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:39, in lazyprop.<locals>._lazyprop(self)
     37     return getattr(self, attr_name)
     38 except AttributeError:
---> 39     setattr(self, attr_name, func(self))
     40 return getattr(self, attr_name)

File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/canonical.py:43, in Canonical.canonical_form(self)
     36 @pu.lazyprop
     37 def canonical_form(self):
     38     """The graph implementation of the object stored as a property.
     39
     40     Returns:
     41         A tuple of (affine expression, [constraints]).
     42     """
---> 43     return self.canonicalize()

File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/atom.py:327, in Atom.canonicalize(self)
    325 # Special info required by the graph implementation.
    326 data = self.get_data()
--> 327 graph_obj, graph_constr = self.graph_implementation(arg_objs,
    328                                                     self.shape,
    329                                                     data)
    330 return graph_obj, constraints + graph_constr

File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/affine/sum.py:93, in Sum.graph_implementation(self, arg_objs, shape, data)
     91     const_shape = (arg_objs[0].shape[1], 1)
     92 else:
---> 93     const_shape = (arg_objs[0].shape[1],)
     94 ones = lu.create_const(np.ones(const_shape), const_shape)
     95 obj = lu.rmul_expr(arg_objs[0], ones, shape)

IndexError: tuple index out of range

Version
OS
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Python
Python 3.9.12 | packaged by conda-forge | (main, Mar 24 2022, 23:25:59)
[GCC 10.3.0] on linux

CVXPY Version: 1.2.2

Can't comment on the compilation, but there will also be a problem as the intended way of doing sum of squares is the dedicated sum_squares function (there are some examples in the documentation that explain why)
On Tuesday, November 29, 2022 at 10:31:31 AM PST, Abe Lerman @.***> wrote:
Describe the bug
Can't compile what I was hoping would be a straightforward regression example I was trying out. Specifically, I am failing on this step in the process:
(CVXPY) Nov 29 06:13:25 PM: Applying reduction ConeMatrixStuffing
I am working off of this example on StackOverflow, which appears outdated. (I was hoping to update it if I can get this working).
For reference, I got something comparable working in scipy:
import numpy as np
from scipy.optimize import minimize
def loss(weights):
return np.sum(np.square((np.dot(x, weights) - y.T)))
cons = ({'type': 'eq',
'fun' : lambda weights: np.sum(weights) - 1.0},
{'type': 'ineq',
'fun' : lambda weights: np.min(weights)})
w0 = np.zeros(x.shape[1])
res = minimize(loss, w0, method='SLSQP', constraints=cons,
bounds=[(0, np.inf) for i in range(x.shape[1])], options={'disp': True})
To Reproduce
import numpy as np
import cvxpy as cp
x1 = np.arange(1000)
x2 = np.random.normal(size=(1000,))
x = np.vstack([x1, x2]).T
y = np.random.random_sample(size=(1000,))
print("x shape", x.shape)
print("y shape", y.shape)
weights = cp.Variable(x.shape[1])
objective = cp.norm( cp.sum( x @ weights , axis=1) - y )
minimize = cp.Minimize(objective)
constraints = [weights >= 0, cp.sum(weights) == 1.0]
problem = cp.Problem(minimize, constraints)
problem.solve(verbose=True)
print(problem.value)
print(weights.value)
Expected behavior
Want the code to compile and to get optimization results.
Output
x shape (1000, 2)
y shape (1000,)
                                 CVXPY
                                 v1.2.2

===============================================================================
(CVXPY) Nov 29 06:13:25 PM: Your problem has 2 variables, 2 constraints, and 0 parameters.
(CVXPY) Nov 29 06:13:25 PM: It is compliant with the following grammars: DCP, DQCP
(CVXPY) Nov 29 06:13:25 PM: (If you need to solve this problem multiple times, but with different data, consider using parameters.)
(CVXPY) Nov 29 06:13:25 PM: CVXPY will first compile your problem; then, it will invoke a numerical solver to obtain a solution.
                              Compilation

(CVXPY) Nov 29 06:13:25 PM: Compiling problem (target solver=ECOS).
(CVXPY) Nov 29 06:13:25 PM: Reduction chain: Dcp2Cone -> CvxAttr2Constr -> ConeMatrixStuffing -> ECOS
(CVXPY) Nov 29 06:13:25 PM: Applying reduction Dcp2Cone
(CVXPY) Nov 29 06:13:25 PM: Applying reduction CvxAttr2Constr
(CVXPY) Nov 29 06:13:25 PM: Applying reduction ConeMatrixStuffing

AttributeError                            Traceback (most recent call last)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:37, in lazyprop.._lazyprop(self)
36 try:
---> 37     return getattr(self, attr_name)
38 except AttributeError:
AttributeError: 'reshape' object has no attribute '_lazy_canonical_form'
During handling of the above exception, another exception occurred:
AttributeError                            Traceback (most recent call last)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:37, in lazyprop.._lazyprop(self)
36 try:
---> 37     return getattr(self, attr_name)
38 except AttributeError:
AttributeError: 'AddExpression' object has no attribute '_lazy_canonical_form'
During handling of the above exception, another exception occurred:
AttributeError                            Traceback (most recent call last)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:37, in lazyprop.._lazyprop(self)
36 try:
---> 37     return getattr(self, attr_name)
38 except AttributeError:
AttributeError: 'Sum' object has no attribute '_lazy_canonical_form'
During handling of the above exception, another exception occurred:
IndexError                                Traceback (most recent call last)
Input In [92], in <cell line: 21>()
18 constraints = [weights >= 0, cp.sum(weights) == 1.0]
19 problem = cp.Problem(minimize, constraints)
---> 21 problem.solve(verbose=True)
23 print(problem.value)
24 print(weights.value)
File /opt/conda/lib/python3.9/site-packages/cvxpy/problems/problem.py:481, in Problem.solve(self, *args, **kwargs)
479 else:
480     solve_func = Problem._solve
--> 481 return solve_func(self, *args, **kwargs)
File /opt/conda/lib/python3.9/site-packages/cvxpy/problems/problem.py:1007, in Problem._solve(self, solver, warm_start, verbose, gp, qcp, requires_grad, enforce_dpp, ignore_dpp, **kwargs)
1004         self.unpack(chain.retrieve(soln))
1005         return self.value
-> 1007 data, solving_chain, inverse_data = self.get_problem_data(
1008     solver, gp, enforce_dpp, ignore_dpp, verbose)
1010 if verbose:
1011     print(_NUM_SOLVER_STR)
File /opt/conda/lib/python3.9/site-packages/cvxpy/problems/problem.py:655, in Problem.get_problem_data(self, solver, gp, enforce_dpp, ignore_dpp, verbose)
652     s.LOGGER.info(
653              'Compiling problem (target solver=%s).', solver_name)
654     s.LOGGER.info('Reduction chain: %s', reduction_chain_str)
--> 655 data, inverse_data = solving_chain.apply(self, verbose)
656 safe_to_cache = (
657     isinstance(data, dict)
658     and s.PARAM_PROB in data
659     and not any(isinstance(reduction, EvalParams)
660                 for reduction in solving_chain.reductions)
661 )
662 self._compilation_time = time.time() - start
File /opt/conda/lib/python3.9/site-packages/cvxpy/reductions/chain.py:76, in Chain.apply(self, problem, verbose)
74     if verbose:
75         s.LOGGER.info('Applying reduction %s', type(r).name)
---> 76     problem, inv = r.apply(problem)
77     inverse_data.append(inv)
78 return problem, inverse_data
File /opt/conda/lib/python3.9/site-packages/cvxpy/reductions/dcp2cone/cone_matrix_stuffing.py:344, in ConeMatrixStuffing.apply(self, problem)
342 # Batch expressions together, then split apart.
343 expr_list = [arg for c in ordered_cons for arg in c.args]
--> 344 params_to_problem_data = extractor.affine(expr_list)
346 inverse_data.minimize = type(problem.objective) == Minimize
347 new_prob = ParamConeProg(params_to_objective,
348                          flattened_variable,
349                          params_to_problem_data,
(...)
353                          problem.parameters(),
354                          inverse_data.param_id_map)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/coeff_extractor.py:82, in CoeffExtractor.affine(self, expr)
80 assert all([e.is_dpp() for e in expr_list])
81 num_rows = sum([e.size for e in expr_list])
---> 82 op_list = [e.canonical_form[0] for e in expr_list]
83 return canonInterface.get_problem_matrix(op_list,
84                                          self.x_length,
85                                          self.id_map,
86                                          self.param_to_size,
87                                          self.param_id_map,
88                                          num_rows)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/coeff_extractor.py:82, in (.0)
80 assert all([e.is_dpp() for e in expr_list])
81 num_rows = sum([e.size for e in expr_list])
---> 82 op_list = [e.canonical_form[0] for e in expr_list]
83 return canonInterface.get_problem_matrix(op_list,
84                                          self.x_length,
85                                          self.id_map,
86                                          self.param_to_size,
87                                          self.param_id_map,
88                                          num_rows)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:39, in lazyprop.._lazyprop(self)
37     return getattr(self, attr_name)
38 except AttributeError:
---> 39     setattr(self, attr_name, func(self))
40 return getattr(self, attr_name)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/canonical.py:43, in Canonical.canonical_form(self)
36 @pu.lazyprop
37 def canonical_form(self):
38     """The graph implementation of the object stored as a property.
39
40     Returns:
41         A tuple of (affine expression, [constraints]).
42     """
---> 43     return self.canonicalize()
File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/atom.py:322, in Atom.canonicalize(self)
320 constraints = []
321 for arg in self.args:
--> 322     obj, constr = arg.canonical_form
323     arg_objs.append(obj)
324     constraints += constr
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:39, in lazyprop.._lazyprop(self)
37     return getattr(self, attr_name)
38 except AttributeError:
---> 39     setattr(self, attr_name, func(self))
40 return getattr(self, attr_name)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/canonical.py:43, in Canonical.canonical_form(self)
36 @pu.lazyprop
37 def canonical_form(self):
38     """The graph implementation of the object stored as a property.
39
40     Returns:
41         A tuple of (affine expression, [constraints]).
42     """
---> 43     return self.canonicalize()
File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/atom.py:322, in Atom.canonicalize(self)
320 constraints = []
321 for arg in self.args:
--> 322     obj, constr = arg.canonical_form
323     arg_objs.append(obj)
324     constraints += constr
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/performance_utils.py:39, in lazyprop.._lazyprop(self)
37     return getattr(self, attr_name)
38 except AttributeError:
---> 39     setattr(self, attr_name, func(self))
40 return getattr(self, attr_name)
File /opt/conda/lib/python3.9/site-packages/cvxpy/utilities/canonical.py:43, in Canonical.canonical_form(self)
36 @pu.lazyprop
37 def canonical_form(self):
38     """The graph implementation of the object stored as a property.
39
40     Returns:
41         A tuple of (affine expression, [constraints]).
42     """
---> 43     return self.canonicalize()
File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/atom.py:327, in Atom.canonicalize(self)
325 # Special info required by the graph implementation.
326 data = self.get_data()
--> 327 graph_obj, graph_constr = self.graph_implementation(arg_objs,
328                                                     self.shape,
329                                                     data)
330 return graph_obj, constraints + graph_constr
File /opt/conda/lib/python3.9/site-packages/cvxpy/atoms/affine/sum.py:93, in Sum.graph_implementation(self, arg_objs, shape, data)
91     const_shape = (arg_objs[0].shape[1], 1)
92 else:
---> 93     const_shape = (arg_objs[0].shape[1],)
94 ones = lu.create_const(np.ones(const_shape), const_shape)
95 obj = lu.rmul_expr(arg_objs[0], ones, shape)
IndexError: tuple index out of range
Version
OS
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
Python
Python 3.9.12 | packaged by conda-forge | (main, Mar 24 2022, 23:25:59)
[GCC 10.3.0] on linux
CVXPY Version: 1.2.2
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

ah, that did it - thanks @rsemenoff ! here's what worked, in case it helps anyone else:
import numpy as np
import cvxpy as cp

x1 = np.arange(1000)
x2 = np.random.normal(size=(1000,))
x = np.vstack([x1, x2]).T

y = np.random.random_sample(size=(1000,))

print("x shape", x.shape)
print("y shape", y.shape)

weights = cp.Variable(x.shape[1])

objective = cp.sum_squares(x @ weights - y)
minimize = cp.Minimize(objective)

constraints = [weights >= 0, cp.sum(weights) == 1.0]
problem = cp.Problem(minimize, constraints)

problem.solve(verbose=True)

print(problem.value)
print(weights.value)

Glad you got it working! There is an edge case that you've exposed though. Doing sum(x, axis=1) where x is 1D breaks things. It should instead throw an explicit error like in Numpy:
numpy.AxisError: axis 1 is out of bounds for array of dimension 1

Yes good point!
On Tue, Nov 29, 2022 at 12:01 PM Steven Diamond @.***>
wrote:

Glad you got it working! There is an edge case that you've exposed though.
Doing sum(x, axis=1) where x is 1D breaks things. It should instead throw
an explicit error like in Numpy:
numpy.AxisError: axis 1 is out of bounds for array of dimension 1
—
Reply to this email directly, view it on GitHub
https://github.com/cvxpy/cvxpy/issues/1963#issuecomment-1331151141, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQEPE7ZPTXSYG3V3JRAKE3WKZHITANCNFSM6AAAAAASOZKPNY
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

--
Abe Lerman


CSF Settings will not scroll

On a Mac, CSF Firewall Configurations will not scroll on Firefox or Chrome. I can refresh a bunch of times in a row and intermittently it will work.

I will fix it in 18.00, thank you for reporting.

Is there a timeline?

I've been working on it every single day for many hours since last release. I'm about 3/4 trouhgh.. About a week or so and it's out.

Is there a list of planned features?

Not the one I could predefine in the first place. The list is growing evey time a do something, like avalanche. I could send you current dev changelog in FB if you wish.

It's already so great I just can't image what's left to add.

Ohh. No, it's not. It'll be notable improvement, especially seen in tables rendering across everywhere, not mentioning new features - a lot of which for File Manager.

Well, I look forward to it!

Alright, thanks.

Theme Version 18.00 is out - please upgrade as soon as possible!


 Anyway, thx for reply!

@chrisbra  Oh no!  I got confused! This is the vim-airline BUG!!
Yesterday I pulled the lasted airline code on master branch. But it doesn't show the error line number which always shown on the left corner of vim.
U know , if there get something wrong in my code ,and syntastic will show me the error line number on the corner just like this

[Syntax: line:49 (1)]
But master show this
E:1

But I checkout the tag v0.8 , this can be shown correctly.

so you are using syntastic.
Does this patch work?
diff --git a/autoload/airline/extensions/syntastic.vim b/autoload/airline/extensions/syntastic.vim
index 9608ce0..01c01d2 100644
--- a/autoload/airline/extensions/syntastic.vim
+++ b/autoload/airline/extensions/syntastic.vim
@@ -22,9 +22,9 @@ function! airline#extensions#syntastic#get(type)
   let _backup = get(g:, 'syntastic_stl_format', '')
   let is_err = (a:type  is# 'error')
   if is_err
-    let g:syntastic_stl_format = '%E{%e}'
+    let g:syntastic_stl_format = '%E{%e(%fe)}'
   else
-    let g:syntastic_stl_format = '%W{%w}'
+    let g:syntastic_stl_format = '%W{%w(%fw)}'
   endif
   let cnt = SyntasticStatuslineFlag()
   if !empty(_backup)

@chrisbra
See this
https://github.com/vim-syntastic/syntastic/issues/2056#event-1196966285

@chrisbra  Still not work

did you restart Vim?

Yes

Yes, it took me a bit to setup Vim, but it now displays correctly E:2(L19)

@chrisbra  Not like before？
I used to get this:

[Syntax: line:49 (1)]

No, because this is getting too wide. (You would get the same for the warning section). And when you have more vertical splits, you won't have enough space.

@chrisbra  Awesome , but I guess there should have ways to personalize  out put

A little ugly looks to me... LOL

I am open for suggestions ;)

I am open for suggestions ;)

How about reverting 2e30555, and messing with g:syntastic_stl_format only if it isn't already set?  Something along the lines of:
let _backup = get(g:, 'syntastic_stl_format', '')
let g:syntastic_stl_format = get(g:, 'syntastic_stl_format', '%E{%e}')
let errors = SyntasticStatuslineFlag()
let g:syntastic_stl_format = _backup
return strlen(errors) ? errors : ''

I choose the original one.

At least, there should lay a blank space between L and 121

Before commit 2e30555 the format used to be controlled by g:syntastic_stl_format.  Whoever cared about syntastic statusline flag could just set g:syntastic_stl_format, and the result would be the same with or without airline.   After commit 2e30555 the format is no longer configurable, regardless of how much you hate the defaults. shrug

LOL

How about reverting 2e30555, and messing with g:syntastic_stl_format only if it isn't already set?

Actually that wouldn't work because syntastic sets g:syntastic_stl_format at start.  So perhaps just revert 2e30555, and tell people to set g:syntastic_stl_format if they are unhappy with the defaults?

that commit was mainly done, to distinguish between errors and warnings and there didn't seem to be a pragmatic method to get only warnings/errors from syntastic. So I needed to mess with g:syntastic_stl_format to work around that.
I might have missed something, since I don't usually use syntastic.

And I'd like to have a nice short format string for the errors/warning sections

@chrisbra  How about this:

At least, there should lay a blank space between L and 121

before I commit this, let's just see what follows this discussion :)
(and yes, the format of the sections should be configurable and shown in the help).

there didn't seem to be a pragmatic method to get only warnings/errors from syntastic.

Personally I use g:syntastic_stl_format = '[%E{E:%e(#%fe)}%B{,}%W{W:%w(#%fw)}]'.  This gives me [E:11(#30),W:872(#1)].  Something like %E{E:%e}%B{,}%W{W:%w}]' would give you [E:11,W:872], which would turn to [E:11] if there are no warnings, and to [W:872] if there are no errors.
It's true however that there is no way to get just [E:11] if there are both errors and warnings.  For that some kind of negative %B{...} would be needed.

Yeah, however those sections should be in different airline-highlighting groups. Therefore we have the syntastic-warn and syntastic-err section, which each only need to get the each respective item.
So let's use [%E{E:%e(#%fe)}] for the error section and [%W{W:%w(#%fw)}] and make it configurable.

You're killing format flexibility for the sake of changing colors. shrug

I don't see how using different sections make the format less flexible

Because airline no longer pays attention to g:syntastic_stl_format.  How do I get back the effect of g:syntastic_stl_format = '[%E{E:%e(#%fe)}%B{,}%W{W:%w(#%fw)}]'?

if you don't care, put that into ':let g:airline#extensions#syntastic#stl_format_err= and simply don't care ;)

That won't work if there are warnings but no errors.

Sorry, I am missing something. Why wouldn't that work? You would get an error symbol in front of it, but nevertheless, you should see the whole output as SyntasticStatuslineFlag() returns it.


Remove job table deletion notification

We added this notification to trace the deletion of the import temporary table to supervise that these weren't being stuck in the user db in case of an import error.
After a couple of months, I don't think this trace is useful anymore, so I'm removing it to alleviate the big amount of notifications we raise.

Hey @rafatower do you agree? :-)

I agree, go ahead with the trace deletion, please


FEATURE: Defining multiple flags in challenge for CTFd

This is supposed to take care of the issue #129.
I have successfully run linting, E2E testing, unit tests and tested on a self-hosted CTFd instance that the CSV obtained as a result is getting imported correctly.

👍 Running CI/CD right now, manual testing I can do on Monday and will then merge if all works on my end!


Cannot connect to DB located outside the container

Hi,
I am unable to connect to an  Oracle DB hosted in a LAN behind a firewall. Ports from my host are open.
ping command to the DB does not work when executed from inside the VM.
Below is the environment:

Host Windows 8
C:\Users\232451>docker-machine version
docker-machine version 0.6.0, build e27fb87
Oracle Virtual Box Manager Version 5.0.16 r105871
c# docker version

Client:
Version:      1.10.3
API version:  1.22
Go version:   go1.5.3
Git commit:   20f81dd
Built:        Thu Mar 10 21:49:11 2016
OS/Arch:      linux/amd64
Server:
Version:      1.10.3
API version:  1.22
Go version:   go1.5.3
Git commit:   20f81dd
Built:        Thu Mar 10 21:49:11 2016
OS/Arch:      linux/amd64
The VM is created using:
docker-machine --debug -s "D:\Docker.docker\machine" create --driver virtualbox --engine-env HTTP_PROXY=http://xxxxxx:xxxxxx@proxy.com:8080 --engine-env HTTPS_PROXY=http://xxxxxx:xxxxxx@proxy.com:8080 --engine-env NO_PROXY=172.,10.,192.*,localhost,<IP_ADDRESS> --virtualbox-memory 1024 test
Appreciate your help.
Thanks in Advance,
Milan.

I am able to make it work. The issue was with the IP of the machine.
followed this link.
https://support.zenoss.com/hc/en-us/articles/203582809-How-to-Change-the-Default-Docker-Subnet


Concise and readable release notes format

Problem
Originally copied from Mockito issue 700. Current release notes are not concise enough for rapid release model and hence the are hard to reason about. In short term we will make the release notes more concise. In the long term we need some kind of service that can list the changes between 2 arbitrary versions. In addition to compact format, we will also:

Add links to commits for given version (originally reported at https://github.com/mockito/mockito/issues/743): https://github.com/mockito/mockito/compare/v2.7.3...v2.7.4
Add link to bintray: https://bintray.com/mockito/maven/mockito/2.7.5
Add link to central: http://search.maven.org/#artifactdetails|org.mockito|mockito-core|2.7.5|jar
Signify the repository the release went to (see #4)

Proposed design of release notes
Release notes are automatically generated by Mockito Continous Delivery Pipeline.
2.7.5 - 2 authors, 5 commits - 2017-02-07 15:36 - notable release in Central and JCenter+Bintray
:cocktail: Christian Schwarz: Support for return type 'Void' in DoesNothingAnswer (#933)
2.7.4 - Allon Murienik, 1 commit - 2017-02-06 15:04 - minor release in Bintray
:cocktail: Fix whitespace issues throughout the code (#928)
2.7.3 - Christian Schwarz, 1 commit -2017-02-06 12:51 - minor release in Bintray
:cocktail: Small improvements (#912)
2.7.2 - 2 authors,  2 commits - 2017-02-04 12:05 - minor release in Bintray
:cocktail: Szczepan Faber: Deleted dead code (#924)
:cocktail: Rafael Winterhalter: Added subproject for configuration-free inline mock making. (#920)
2.7.1 - no commits - 2017-01-31 16:48 - minor release in Bintray
2.7.0 - 2 authors, 10 commits - 2017-01-31 16:48 - minor release in Bintray
:cocktail: No pull requests referenced in commit messages.
2.6.5 - Szczepan Faber, 10 commits - 2017-01-31 16:48 - minor release in Bintray
:cocktail: No pull requests referenced in commit messages.
Discontinued tabular release notes idea
👎 We discontinued the tabular release notes idea because:

not concise enough
hard to read as plain text due to markdown tables
hard to parse / manipulate markdown tables

Version
Date
Authors (commits)
Type
Link
Description

2.2.5
2016-10-17 16:34 UTC
Christian Schwarz (2), Brice Dutheil (1)
Enhancement
#635
Unified logic of argument matching and capturing

2.2.4
2016-10-17 15:40 UTC
Rafael Winterhalter (1)
Bugfix
#699
Fails to create mock of inner class hierarchy with type variable from outer class

Misc
#695
Mocking final classes with Java8 when compiling with -parameters flag

Fixed.


Skip building wasm-opt-sys when it has already been built

the build.rs of wasm-opt-sys  takes too much time

The lack of caching in the C++ build step is the big disadvantage of how we're building binaryen using only the cc crate and without cmake. Any time the wasm-opt-sys build script is invoked it will rebuild all the C++ files.
cc explicitly doesn't support any kind of caching or incremental compilation - it's out of scope for that crate.
Fixing this is possible though not trivial.
We could just use cmake but that imposes multiple new external dependencies that are less likely to be available than a C++ compiler, the reason I decided to use cc for the build.
We could also attempt to add a caching layer on top of the cc crate. Even an imperfect implementation would probably be usable for the purpose of not rebuilding all of binaryen. Other projects might want this as well.
My preference is to the latter. It's something I would be interested in doing, but I'll need to see whether it's in scope of the funding for this project.

I've thought a bit about how to add a caching layer on top of the cc crate, and I have not come up with a plan that I think will obviously work. The big obstacle is that we also have to interop with the cxx_build crate, which is itself a wrapper around the cc::Build constructor; and I don't see a way to inject any behavior between cxx_build and cc::Build.
cxx_build is pretty simple though so one possibility is to just copy that code and duplicate its behavior.

I've thought about this some more, and think there may be a way to cache cc build results even with cxx_build, at least with the limited features that wasm-opt uses. I've sketched out an API and docs here:
https://github.com/brson/wasm-opt-rs/blob/cache/components/wasm-opt-sys/cc_cache.rs
I am feeling wary of actually attempting this since there are so many unknown ways caching a C++ build can go wrong. But idk maybe we'll try it.

One thing to note is that even if we skip building some C++ files, I don't see any way to avoid rerunning ar to create the library rustc needs to link to, and the time to run ar is not insignificant.

There is another potential approach here: sscache already does build caching for rust and C++. It could be possible to automatically acquire sccache and configure it as part of the build script.


:robot: Triggering CI on branch 'release-next' after synching to upstream/main

/test 411-test-e2e-tls-aws-ocp-411
/test 413-test-e2e-tls-aws-ocp-413

OCF Webhook is merging this PR


Pod file  QMCVDevelopment not installing

Pod file  QMCVDevelopment not installing
SSH file created and uploaded in github
When i try ssh -T<EMAIL_ADDRESS>
Hi Kuriakose3! You've successfully authenticated, but GitHub does not provide shell access.
Macintosh:.ssh kuriakosepious$ ssh -T<EMAIL_ADDRESS>
When installing podfile,
Pre-downloading: `QMCVDevelopment` from `git.github.com:QuickBlox/QMChatViewController-ios.git`, branch `development`

[!] Error installing QMCVDevelopment
[!] /usr/local/bin/git clone git.github.com:QuickBlox/QMChatViewController-ios.git /var/folders/1j/dds4dz3d4p1fvw2xbfdj4kh00000gq/T/d20160822-11280-1h0j2lw --template= --single-branch --depth 1 --branch development

Cloning into '/var/folders/1j/dds4dz3d4p1fvw2xbfdj4kh00000gq/T/d20160822-11280-1h0j2lw'...
ssh: connect to host git.github.com port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Verbose file,
-> Pre-downloading: `QMCVDevelopment` from `git.github.com:QuickBlox/QMChatViewController-ios.git`, branch `development`
 > Git download
 > Git download
     $ /usr/local/bin/git clone
     git.github.com:QuickBlox/QMChatViewController-ios.git
     /var/folders/1j/dds4dz3d4p1fvw2xbfdj4kh00000gq/T/d20160822-11392-yd75gv
     --template= --single-branch --depth 1 --branch development
     Cloning into '/var/folders/1j/dds4dz3d4p1fvw2xbfdj4kh00000gq/T/d20160822-11392-yd75gv'...
     ssh: connect to host git.github.com port 22: Operation timed out
     fatal: Could not read from remote repository.

     Please make sure you have the correct access rights
     and the repository exists.

[!] Error installing QMCVDevelopment
[!] /usr/local/bin/git clone git.github.com:QuickBlox/QMChatViewController-ios.git /var/folders/1j/dds4dz3d4p1fvw2xbfdj4kh00000gq/T/d20160822-11392-yd75gv --template= --single-branch --depth 1 --branch development

Cloning into '/var/folders/1j/dds4dz3d4p1fvw2xbfdj4kh00000gq/T/d20160822-11392-yd75gv'...
ssh: connect to host git.github.com port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:122:in `rescue in execute_command'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:120:in `execute_command'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-downloader-1.0.0/lib/cocoapods-downloader/base.rb:154:in `block in executable'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-downloader-1.0.0/lib/cocoapods-downloader/git.rb:64:in `block in clone'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:153:in `block in ui_sub_action'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:152:in `ui_sub_action'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-downloader-1.0.0/lib/cocoapods-downloader/git.rb:62:in `clone'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-downloader-1.0.0/lib/cocoapods-downloader/git.rb:30:in `download!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-downloader-1.0.0/lib/cocoapods-downloader/base.rb:82:in `block in download'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:137:in `block in ui_action'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:136:in `ui_action'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-downloader-1.0.0/lib/cocoapods-downloader/base.rb:80:in `download'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:103:in `download_source'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:70:in `download_request'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader/cache.rb:170:in `download'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader/cache.rb:153:in `block in uncached_pod'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader/cache.rb:180:in `call'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader/cache.rb:180:in `in_tmpdir'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader/cache.rb:152:in `uncached_pod'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader/cache.rb:33:in `download_pod'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/downloader.rb:39:in `download'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/external_sources/abstract_external_source.rb:114:in `block in pre_download'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:84:in `titled_section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/external_sources/abstract_external_source.rb:112:in `pre_download'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/external_sources/downloader_source.rb:13:in `fetch'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:479:in `fetch_external_source'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:455:in `block (2 levels) in fetch_external_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:454:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:454:in `block in fetch_external_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:453:in `fetch_external_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:73:in `analyze'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:227:in `analyze'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:151:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:150:in `resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/installer.rb:114:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/command/install.rb:37:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/lib/cocoapods/command.rb:50:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

@Kuriakose3 were you able to fix this?

@Raikerian  fixed by adding needed files manually .

If you are still having any other troubles, please let us know by creating a separate issue.

From where i can find files which i can add manually ?


Working with cookie in mvc

I have 2 different urls to login into the application as follows
For Trainee:- http://localhost:56739/trainee/Login/myclientname
For Admin:- http://localhost:56739/admin/Login/myclientname
I am logging into the application using the below default login implementation
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: true);
What i observed the method PasswordSignInAsync is creating the cookie for logged in user.
However my issue is if I logged in using trainee url and tries to access the admin url then user is directly getting logged in into the admin application without asking for login, because of the cookie. Means the cookie is getting accessed/shared between trainee and admin.
My views are different for admin/trainee but they are in same project with below folder structure. http://i.stack.imgur.com/HyOhW.png
When i checked in the layout page for below line of code when switching between trainee and admin, this IsAuthenticatedcoming true though the admin is still not logged into the application and vice versa.
@if (User.Identity.IsAuthenticated)
I am using core identity framework for user authentication.
How can i maintain the separate cookie while switching between admin/trainee ?
Thanks for the help !

This is more an identity question. @haok can you help?

You can configure the authentication scheme for the admin app to be different
  AddIdentity(options => options.Cookies.ApplicationCookie.AuthenticationScheme = "Admin")

Then check for an identity with AuthenticationType == "Admin" instead of any authenticated identity in your view or you can use `signInManager.IsSignedIn(User)

Can you please provide some example/source code of it ? as I am not finding the clear way how it should be done ?

@HaoK Can you please update with my latest comment ?

You should really use a claim for the user to determine which role they are (user vs admin) as opposed to using different urls.  Then you could just use IsInRole("admin") instead.  That is the expected usage for the scenario you are targetting.

@HaoK Yeah... I have used the same now.. so I am able to work independently for admin/trainee user.
However, I cannot use User.IsInRole("Admin") as soon as I signed into the application, I need to redirect some action method(For e.g.Dashboard) and there I am able to get the true/false value return by IsInRole method.
If I check in the same Login method, then it always returns false, why is it so ?
And I am first authenticating the user and then checking roles of user(authorization) OR do I need to vice versa ?


Json format

Check if response has content type equals application/json and pretty print the body.

Thanks for the PR, but I'd like to keep the core library reporting the message body in its original format.
You can still pretty print the output by configuring the Atom package. You can set this globally in the package settings or you do it for a single request by adding a couple options like this:
GET http://localhost/something.json
@responseGrammar: JSON
@responseCommands: ["jsonpp:jsonpp"]

Using response commands never came to my mind, I'll do that.
Thank you for the feedback.


CentOS packages do not provide 'docker'

Description of problem:
The CentOS packages for docker-engine at yum.dockerproject.org do not provide 'docker', meaning that other CentOS packages which require 'docker' end up conflicting/removing the Docker Project provided RPMs in favour of older, CentOS-provided Docker versions.
docker version:
n/a
docker info:
n/a
uname -a:
n/a
Environment details (AWS, VirtualBox, physical, etc.):
CentOS Linux 7.2.
How reproducible:
Always
Steps to Reproduce:

Add yum.dockerproject.org repo to a CentOS 7 system
Install docker-engine from yum.dockerproject.org repo
Try to install another CentOS-provided package which requires docker (such as kubernetes-node from CentOS extras)

Actual Results:
Installation causes error due to conflict between docker-engine and docker packages. Proceeding downgrades Docker to the CentOS-provided Docker and removal of the yum.dockerproject.org packages.
Expected Results:
Packages relying on 'docker' should install without throwing up an error and/or causing the uninstall of the newer docker-engine packages.
Additional info:

Seems it was also issue of CentOs packaged problem.
What's the result if doing above steps in order of 3, 1, 2 ?  Will docker-engine install remove old version ?

docker-engine will remove docker yes, but it will also remove anything that relies on Docker. There's no way to have (for example) kubernetes-client installed as well as docker-engine. In CentOS Docker is provided by 'docker' rather than 'docker-engine'.

ping @jfrazelle

also @thaJeztah

I'm not sure we can do something here; if the "extras" repository contains packages that use the docker package from the "extras" repo, then uninstalling docker-engine is expected, because docker and docker-engine are the same packages, but maintained by different packagers.

We can't override an existing name
On Monday, February 22, 2016, Sebastiaan van Stijn<EMAIL_ADDRESS>wrote:

I'm not sure we can do something here; if the "extras" repository contains
packages that use the docker package from the "extras" repo, then
uninstalling docker-engine is expected, because docker and docker-engine
are the same packages, but maintained by different packagers.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/20567#issuecomment-187091522.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Same goes for Debian based, this should be closed
On Monday, February 22, 2016, Sebastiaan van Stijn<EMAIL_ADDRESS>wrote:

I'm not sure we can do something here; if the "extras" repository contains
packages that use the docker package from the "extras" repo, then
uninstalling docker-engine is expected, because docker and docker-engine
are the same packages, but maintained by different packagers.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/20567#issuecomment-187091522.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Closing, per the discussion above, but feel free to comment here after I've closed

Bug logged with Redhat - https://bugzilla.redhat.com/show_bug.cgi?id=1310903

Redhat have deemed it a Docker bug that they won't fix: https://bugzilla.redhat.com/show_bug.cgi?id=1310903

I think if RPMs have a concept of "Provides", that's probably our best bet
here (as noted in the OP) -- that way our package would advertize that it's
the "same" as the provided "docker" package and would thus satisfy the
dependencies of related packages appropriately.

any update ?
Same issue with Fedora 23
$ rpm -qp --provides docker-engine-1.10.3-1.fc23.x86_64.rpm
docker-engine = 1.10.3-1.fc23
docker-engine(x86-64) = 1.10.3-1.fc23

$ rpm -q --provides docker
config(docker) = 1:1.9.1-6.git6ec29ef.fc23
docker = 1:1.9.1-6.git6ec29ef.fc23
docker(x86-64) = 1:1.9.1-6.git6ec29ef.fc23
docker-io = 1:1.9.1-6.git6ec29ef.fc23
lxc-docker = 1:1.9.1-6.git6ec29ef.fc23

dnf install --allowerasing docker-engine
Dependencies resolved.
=============================================================================================================================================================================================================
 Package                                                Arch                                   Version                                                   Repository                                     Size
=============================================================================================================================================================================================================
Installing:
 docker-engine                                          x86_64                                 1.10.3-1.fc23                                             dockerrepo                                    9.7 M
 docker-engine-selinux                                  noarch                                 1.10.3-1.fc23                                             dockerrepo                                     32 k
 policycoreutils-python                                 x86_64                                 2.4-21.fc23                                               updates                                       400 k
Removing:
 cockpit                                                x86_64                                 0.96-1.fc23                                               @updates                                       36 k
 cockpit-docker                                         x86_64                                 0.96-1.fc23                                               @updates                                       23 k
 docker                                                 x86_64                                 1:1.9.1-6.git6ec29ef.fc23                                 @System                                        38 M
 docker-selinux                                         x86_64                                 1:1.9.1-6.git6ec29ef.fc23                                 @updates                                       25 k
 rpm-ostree-toolbox                                     x86_64                                 2015.8-4.fc23                                             @@commandline                                 361 k

Transaction Summary
=============================================================================================================================================================================================================
Install  3 Packages
Remove   5 Packages

Could you test to add the missing dependencies in the docker-engine rpm ?

Hi all.
I have tried to build virtual rpm which provides docker dependence and install it with kubernets from CentOS extras repository. It failed because your rpm spec include:
Conflicts: docker Conflicts: docker-io Conflicts: docker-engine-cs
So you are saying that is impossible to install any native rpm form CentOS/RHEL  required docker if you install docker-engine? The only question left is what is the meaning of docker-engine rpm? This makes it absolutely useless.

please any idea about this bug ??
Actually i am trying to install a kubernetes-node package and it conflicts with docker-engine and docker-engine-selinux. i want to override this packages.
what is recommended to avoid this issue? is the installation from kubernetes-node github release (kubelet,kube-proxy,etc) or importing another kubernetes-node package from somewhere???


⚠ Samsung has degraded performance

In 11ed9ce, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2151 ms

Resolved: Samsung performance has improved in 76c8716.


Uncaught (in promise): Error: Supplied data is not a JPEG

Thank you for submitting an issue to jsPDF. Please read carefully.
Are you using the latest version of jsPDF?
Yes, I'm using  1.3.2
Have you tried using jspdf.debug.js?
Yes
Steps to reproduce
As I'm having problem with images, I can't reproduce it on jsbin
These are the libraries i'm using

       ```

**HTML**

```

Flamingo - Toyota Diwali 2017 Group

 6 Nights 7 Days - Thailand

                                 Inquiry #123456789 12th May, 2017  -  Quotation #123456789 16th May, 2017
                                 2 Nights Bangkok, 1 Night Pattaya, 2 Nights Phuket, 1 Night Krabi

```

```.banner_container``` contains image as background image
(This is just a small part from original html, original html contains more images)
**What I saw**

```EXCEPTION: Uncaught (in promise): Error: Supplied data is not a JPEG
Error: Supplied data is not a JPEG
    at getJpegSizeFromBytes (http://localhost:4200/assets/js/jspdf/plugins/addimage.js:672:10) [angular]
    at Object.jsPDFAPI.processJPEG (http://localhost:4200/assets/js/jspdf/plugins/addimage.js:717:11) [angular]
    at Object.jsPDFAPI.addImage (http://localhost:4200/assets/js/jspdf/plugins/addimage.js:602:50) [angular]
    at Object.<anonymous> (http://localhost:4200/assets/js/jspdf/dist/jspdf.debug.js:4106:19) [angular]
    at http://localhost:4200/assets/js/jspdf/dist/html2canvas.js:606:21 [angular]
    at Object.onInvoke (http://localhost:4200/vendor.bundle.js:32369:37) [angular]
    at Zone.run (http://localhost:4200/polyfills.bundle.js:10853:43) [angular => angular]
    at http://localhost:4200/polyfills.bundle.js:11440:57 [angular]
    at Object.onInvokeTask (http://localhost:4200/vendor.bundle.js:32360:37) [angular]
    at ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:11093:36) [angular]
    at Zone.runTask (http://localhost:4200/polyfills.bundle.js:10893:47) [<root> => angular]```

**What I expected**
I expected a pdf file containing output like html is producing

Please help me fix it

Do you use JPEG2000?

@arasabbasi No, Im not using that.

In my opinion the jpg support in jspdf is very poorly implemented. You should check the validity of the  used jpegs.

@arasabbasi  anyways I've stopped using jspdf, instead I'm using pdfmake now.
Thanks for your answer. but I would have love to see a solution here

I added filetype recognition for addimage. Probably with next version of jspdf you could try it again and tell us what it shows then..
I close here for now. On request reopening the issue.


Sending the Wrong Message: Adoption, not Assimilation

Throw my hat in the ring of people that thinks this is a poor decision on a number of levels. The maximum I find acceptable is simply adding the extension without changing the default search engine and the method by which it can be changed--though I think that's still shady, it at least doesn't forcedly change the behavior of your users' browsers. No one is remotely interested in having their browser changed in any way. They have had it set that way for a reason and the most you can do is advertise that Bing includes MS search which has the capability to drive value. It is not yours to push people to see that value. I get it, I understand the value in MS Search, but this is much much too far and should be changed. Any focus group or survey could have told you that this was not a good idea. Even MVPs are stating that this is a poor choice.
I've been more positive about the trajectory of Microsoft in recent years, but this seems to reveal some sickly familiar attitudes to encroach in places that are not theirs to touch. It makes me think that the positive things I've seen are only a façade to the same old Microsoft. And it's quite ironic to me that there has been so much talk of adoption of things that have value, like Teams or even Bing Search, but this isn't adoption, this is force-feeding.
I look forward to the backpedal on this.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 77fb57a0-9af1-8ade-5846-4a44c6e1a702
Version Independent ID: 24c49cab-e850-df1f-5050-bac2c37c96bd
Content: Microsoft Search in Bing and Office 365 ProPlus
Content Source: DeployOffice/microsoft-search-bing.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

Based on customer feedback, we're making some changes to the plan to roll out the extension for Microsoft Search in Bing. For information about the changes, read this announcement. This article will be updated when more details are available.


Correction: Wrong source

URI of the page with the mistake
https://usaybia.net/person/802
What should be corrected on the page?
The person can´t be found on 4.4.1, but 4.1.1
How should it be corrected?
Correct the source.
Citation
No response
Citation URL
No response
Public Acknowledgement
Yes
Comments
No response

Same issue here: https://usaybia.net/person/1762


-h prints to stderr

Describe the bug
When running <blade> -h, the help message is printed to stderr, ignoring if it is a failure or not:
src/blade.c
...
void show_usage(char *argv[], bool fail) {
  fprintf(stderr, "Usage: %s [-[h | d | j | v | g]] [filename]\n", argv[0]);
  ...
  exit(fail ? EXIT_FAILURE : EXIT_SUCCESS);
}

To Reproduce
Steps to reproduce the behavior:

Install blade
Run blade -h

Expected behavior
If it's not a failure, print to stdout.
Desktop (please complete the following information):

OS: Pop!_OS 21.04 x86_64

I'm going to fix it


[Impeller] vulkan: shadows on buttons aren't rendering correctly in gallery

engine version
commit 622751bdce53a8bc95ee933a13eccbabd23df913 (HEAD, upstream/master, upstream/main)
Author: Zachary Anderson<EMAIL_ADDRESS>Date:   Mon Jun 5 08:38:32 2023 -0700

    Check more optional accesses (#42528)

    Related https://github.com/flutter/flutter/issues/127701

screenshot

This renders as expected if I patch the rrect_blur.frag shader to specify precision highp float.


Telegraf/line protocol input/output

Telegraf should be able to output metrics to another Telegraf, which would aggregate the metrics before sending them onto another output. This could potentially be a plugin that could simply accepts line protocol metrics generated via Telegraf's InfluxDB output.

One option would be to just have a udp input listener that would accept line-protocol, and same with the output

closing, essentially the same as https://github.com/influxdata/telegraf/issues/481


Alias exploit/bug

doing !alias  (notice the " " after the alias command) will cause your name to be invisible, works even if you do 2 spaces, 3 spaces etc...

This issue has been fixed in the latest commit of Plutonium Admin.


youtubeuploader tries to upload the youtube video even though the stream is offline.

Describe the bug
youtubeuploader tries to upload the youtube video even though the stream is offline.
Expected behavior
Every time the stream is tested to see if it is online, the YouTube API is also requested, which means that many points of the YouTube API are used up every minute that are actually not needed.
Show logs
8|maximal_schradin  | 17:18:23| Trying to fetch stream metadata 8|maximal_schradin  | 17:18:24| Stream seems offline, not able to fetch metadata. 8|maximal_schradin  | 17:18:24| Checking twitch.tv/maximal_schradin for a stream 8|maximal_schradin  | 17:18:24| All required files found 8|maximal_schradin  | error: No playable streams found on this URL: twitch.tv/maximal_schradin 8|maximal_schradin  | 17:18:26| youtubeuploader failed uploading the stream 8|maximal_schradin  | 17:18:26| Trying again in 1 minute
Config
`#!/bin/bash
#shellcheck disable=SC2034
#! Do not edit this file directly, instead create a new file with the name of the streamer you want to record. (e.g: asmongold.config)
set -a

#* Source
STREAM_SOURCE="twitch" #* Options: twitch, kick, youtube

#* Upload provider
UPLOAD_SERVICE="youtube" #* Options: youtube, rclone, restream, local

#* Twitch metadata settings:
API_CALLS="true" #? Enable this to fetch additional metadata from the Twitch API. API_URL must be set to a valid API URL.
API_URL="protected" #? API for fetching stream metadata. (e.g: https://example.com/info/)

#? Variables that can be used in VIDEO_TITLE, YOUTUBE_VIDEO_DESCRIPTION, YOUTUBE_VIDEO_PLAYLIST, RCLONE_FILENAME and LOCAL_FILENAME.
STREAMER_TITLE="initial_title" #? The title of the stream. (This is only available if API_CALLS is set to true.) [! Do not change these values]
STREAMER_GAME="inital_game"    #? The current game the user is playing. (This is only available if API_CALLS is set to true.) [! Do not change these values]
#? $STREAMER_NAME - The name of the streamer.
#? TIME_DATE - The current date (day/month/year).
#? TIME_CLOCK - The current time (hour:minute:second).

#* Streamlink settings (Valid for all upload providers)
STREAMLINK_QUALITY="best"                                               #* Options: worst, 360p, 480p, 720p, 720p60, 1080p60, best
STREAMLINK_FLAGS=("--twitch-disable-reruns" "--twitch-disable-hosting") #? Options to pass to streamlink. (NB! Array not a string) (https://streamlink.github.io/cli.html#twitch)
STREAMLINK_LOGS="error"                                                 #* Options: none, error, warning, info, debug, trace, all

#* Universal Upload settings (Valid for all upload providers)
VIDEO_DURATION="12:00:00"       #? XX:XX:XX (Notice: YouTube has a upload limit of 12 hours per video).
SPLIT_INTO_PARTS="true"        #? If you want to split the video into parts, set this to true. (if this is enabled VIDEO_DURATION is ignored).
SPLIT_VIDEO_DURATION="06:00:00" #? Set the duration of each part. (XX:XX:XX)
SAVE_ON_FAIL="false"            #? If you want to save the non-empty video that failed to upload, set this to true.

#* YouTube upload settings (Only valid if UPLOAD_SERVICE is set to youtube)
VIDEO_TITLE="$STREAMER_NAME - initial_title  - TIME_DATE"                          #? Title of the video.
VIDEO_DESCRIPTION="Uploaded" #? YouTube video description.
VIDEO_VISIBILITY="private"                                           #* Options: unlisted, private, public
VIDEO_PLAYLIST="$STREAMER_NAME VODs"                                  #? Playlist to upload to.

#* Rclone upload settings (Only valid if UPLOAD_SERVICE is set to rclone)
RCLONE_REMOTE="remote-name"                      #? Rclone remote to upload to.
RCLONE_DIR=""                                    #? Directory to upload to.
RCLONE_FILENAME="$STREAMER_NAME"_"TIME_DATE" #? Filename of the video on the remote. (Dont use spaces in the filename, use dashes or undersores instead.)
RCLONE_FILEEXT="mkv"                             #? File extension of the video on the remote.

#* Re-Stream settings (Only valid if UPLOAD_SERVICE is set to restream)
RTMPS_URL="rtmp://a.rtmp.youtube.com/live2/"
RTMPS_STREAM_KEY=""
AUDIO_BITRATE="44100"
AUDIO_CODEC="aac"
FILE_FORMAT="flv"

#* Local settings (Only valid if UPLOAD_SERVICE is set to local)
LOCAL_FILENAME="$STREAMER_NAME"_"TIME_DATE" #? Filename/filepath of the local recording. (Dont use spaces in the filename, use dashes or undersores instead.)
LOCAL_EXTENSION="mkv"                           #? File extension of the local recording.

#* Re-Encoding settings (Currently only works if UPLOAD_SERVICE is set to rclone or local)
#? Re-encodes the stream to a desired codec and quality using ffmpeg. This can be useful if you want to save space on your remote. (Only recommended if you have a high-end server.)
RE_ENCODE="false"         #? Set this to true if you want to re-encode the video.
RE_ENCODE_CODEC="libx265" #* Options: libx265, libvpx-vp9, libaom-av1 (https://ffmpeg.org/ffmpeg-codecs.html)
RE_ENCODE_CRF="25"        #* Options: 0-51 (lower is better quality, but larger file size) (https://slhck.info/video/2017/02/24/crf-guide.html)
RE_ECODE_PRESET="medium"  #* Options: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow (https://trac.ffmpeg.org/wiki/Encode/H.265)
RE_ENCODE_LOG="error"     #* Options: none, error, warning, info, debug, trace, all

set +a`

Desktop (please complete the following information):

OS: Ubuntu
Version v.2.3.0

fixed inhttps://github.com/jenslys/autovod/commit/bd8916092d8eb49156558f28d601ed999f96dfef


event.stopPropagation() not working with Html

Hi.
I want to create some popup over another mesh with . It works, but click event  fired twice - first in popup div and second in mesh under it.
I tried event.stopPropagation() on first event but it didn't work.
Example - https://codesandbox.io/s/event-propagation-from-html-f0t4v?file=/src/index.js
(if red div box is clicked there are two messages in console - one from div box and one from mesh)
function Content() {
  const onMeshClick = e => {
    console.log("mesh clicked")
  }

  const onHtmlClick = e => {
    e.preventDefault()
    e.stopPropagation()
    console.log("html clicked")
  }

  const onDivClick = e => {
    e.preventDefault()
    e.stopPropagation()
    console.log("div clicked")
  }

  return (
    <Canvas>
      <ambientLight />
      <Plane args={[5, 5]} onClick={onMeshClick}>
        <meshBasicMaterial attach="material" color="green" />
      </Plane>
      <Html onClick={onHtmlClick}>
        <div style={{ width: "40px", height: "40px", backgroundColor: "red" }} onClick={onDivClick} />
      </Html>
    </Canvas>
  )
}

this is because the html renders somewhere within the canvases parent div, it cant stop the propagation. if you portal html content in front of the canvas, then you can: https://codesandbox.io/s/event-propagation-from-html-pchhd?file=/src/index.js

this is because the html renders somewhere within the canvases parent div, it cant stop the propagation. if you portal html content in front of the canvas, then you can: https://codesandbox.io/s/event-propagation-from-html-pchhd?file=/src/index.js

thanks


Implement CONTAINS Operator

This commit introduces the CONTAINS operator
(https://docs.microsoft.com/en-us/sql/relational-databases/search/query-with-full-text-search?view=sql-server-ver15)
CONTAINS matches tokens vs LIKE which matches entire documents. CONTAINS operates on the text index and has that as a prerequisite.

Codecov Report

Merging #8466 (ab682c7) into master (5e56b9a) will decrease coverage by 56.52%.
The diff coverage is 0.00%.

:exclamation: Current head ab682c7 differs from pull request most recent head dc6c20b. Consider uploading reports for the commit dc6c20b to get more accurate results

@@              Coverage Diff              @@
##             master    #8466       +/-   ##
=============================================
- Coverage     70.70%   14.18%   -56.53%
+ Complexity     4285       84     -4201
=============================================
  Files          1664     1620       -44
  Lines         87342    85461     -1881
  Branches      13227    13026      -201
=============================================
- Hits          61757    12119    -49638
- Misses        21296    72425    +51129
+ Partials       4289      917     -3372

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.18% <0.00%> (+0.01%)
:arrow_up:

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

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

@atris The problem of allowing CONTAINS to use lucene text index is that we have to use the lucene query syntax for CONTAINS which might not be desired. Also it doesn't add much value because user can already use TEXT_MATCH to query lucene text index.

Merging as part of main text index PR


Renaming tabs

Description
Renamed tabs and got PartnerModal setup and ready, minor bug fixes needed.
Checklist
Remove any items which are not applicable.

[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.

Things left to do: 1. Props are not being passed down to Take Action button correctly. 2. Nothing opens on iOS when "Add a partner" is clicked on


Prevent a problematic char from breaking HTML comments

The thin right arrow (->) added to DANGEROUS_CHARS in PR #751 breaks the closing sequence (-->) of HTML comments, which in turn breaks the postrender functions and the resulting HTML.
This PR fixes the issue by adding a space in front of the thin right arrow: ' ->'

<mjml>
    <mj-body>
        <mj-container background-color="#eee">
            <mj-raw>
                <!-- some comment -->
            </mj-raw>
            <mj-section>
                <mj-column>
                    <mj-button >
                        Don't click me!
                    </mj-button>
                </mj-column>
            </mj-section>
        </mj-container>
    </mj-body>
</mjml>

Rendered with MJML 3.3.3:

Rendered with MJML 3.3.4:

Rendered with the patch:

Thanks you so much for this PR, I've just added the space on the opening tag too !


do not show claim footer when loading

now if someone claims repo with dynamic link http://localhost:5173/airdrop?claim=$id&otp=$otp, we will show "Token Expired" at footer while loading, which is confusing. This diff is to disable the footer while loading and always show loading/claim button. There are three different cases:

loading data. We will show "Loading" button(which is disabled) and hide the footer.
data is loaded and the claim is not expired. We will show claim button and the counting down footer.
claim is expired. We will show claim button(which is disabled) and show the "Claim Expired" button.

I also updated the "Token expired" to "Claim expired" since it doesn't make sense to say a token is expired.

@pette1999 We need to do some UI improvements including:

The button position is wrong

The style of disabled button should be different from active button so users can clearly tell the differences of these two.


languages.db doesn't load on NFS

I've been trying to get your library to work on my NFS but since you store your DB as an SQLite DB, which apparently doesn't work well with NFS, I get an Operational Error: Disk I/O error everytime I try to use iso639.Language.match('fr').
Can you please support running this on NFS too?
Steps to reproduce
Simply run the following on an NFS:
import iso639
iso639.Language.match('fr')`

Hello, from my googling, it would seem like the Operational Error: Disk I/O error exception is either a hardware issue (possibly about the specific location where the language.db file sits on your drive) or something else specific to your set-up. (There's also mentioning of SQLite and NFS not being friends with each other.) I'm not sure if there's anything I could do from my end, except for implementing this package without using SQLite altogether, which I'm not ready to do just yet for bandwidth, etc. Would you be able to uninstall and reinstall this package (maybe in a new Python environment?) to see if it resolves the issue?


[Bug]: Rainbow fails to update or install due to gitlab access right issues

Neovim version
master
Language affected
No response
Query
No response
Strategy
No response
Description
I can't seem to update or install rainbow due to the following error:

        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim'...
        remote: Enumerating objects: 3658, done.
        remote: Counting objects: 100% (902/902), done.
        remote: Compressing objects: 100% (339/339), done.
        remote: Total 3658 (delta 540), reused 833 (delta 498), pack-reused 2756
        Receiving objects: 100% (3658/3658), 496.83 KiB | 2.30 MiB/s, done.
        Resolving deltas: 100% (1434/1434), done.
        Submodule 'test/xdg/local/share/nvim/site/pack/testing/start/nvim-treesitter' (https://github.com/nvim-treesitter/nvim-treesitter) registered for path 'test/xdg/local/share/nvim/site/pack/testing/start/nvim-treesitter'
        Submodule 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' (https://gitlab.com/HiPhish/yo-dawg.nvim.git) registered for path 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'
        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/nvim-treesitter'...
        remote: Enumerating objects: 29824, done.
        remote: Counting objects: 100% (3118/3118), done.
        remote: Compressing objects: 100% (494/494), done.
        remote: Total 29824 (delta 2738), reused 2711 (delta 2600), pack-reused 26706
        Receiving objects: 100% (29824/29824), 5.85 MiB | 5.90 MiB/s, done.
        Resolving deltas: 100% (18139/18139), done.
        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'...
        Host key verification failed.
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.
        fatal: clone of 'https://gitlab.com/HiPhish/yo-dawg.nvim.git' into submodule path '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' failed
        Failed to clone 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'. Retry scheduled
        Cloning into '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg'...
        Host key verification failed.
        fatal: Could not read from remote repository.

        Please make sure you have the correct access rights
        and the repository exists.
        fatal: clone of 'https://gitlab.com/HiPhish/yo-dawg.nvim.git' into submodule path '/home/lateef/.local/share/nvim/lazy/rainbow-delimiters.nvim/test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' failed
        Failed to clone 'test/xdg/local/share/nvim/site/pack/testing/start/yo-dawg' a second time, aborting

Never mind, my gitlab ssh keys had expired. Closing.


Remove hardcoded localhost in login it

Just testing the waters by removing a hard-coded reference to localhost in LoginIT.java

Coverage decreased (-0.15%) to 83.65% when pulling 49b7ad12382421d00ae926ee65b2fc23f8b34952 on GESoftware-CF:Remove_hardcoded_localhost_in_LoginIT into a27f4ccfb3de1e1ab10b9a2f9c6366a78a66a41c on cloudfoundry:develop.

@amiri-ge did you submit your CLA?

@fhanik I should be covered under the GE Software CLA. FYI I made my membership to that organization public in profile as per your guidelines.

Will be merged in using 93c5c349c79bbe648986c50198f2b901c5bf11e9
That way we avoid all the extra commits that this PR has.

@fhanik Thanks. BTW, for future pull requests, is it necessary to create an issue first then submit the request or is it OK to document the issue in the pull request comments?

It's ok to directly create a pull requests, that is sufficient


Request for a forge release

This module is awesome, could we please have a forge release as well?

+1 :+1:

+1

+1

+1


Can't save the results of each function into a variable in python: returns None

I wish to save the result of each function into a new variable in python but the functions returns only a print and None object.
I cannot save it into a new variable in my code script.
For example I used the mysp.mysppaus() and the return is:
[]
number_of_pauses= 73
I would like to save it into a variable or get it into a dictionary with key = number_of_pauses and value = 73.
I am using python 3.7.4 on windows.
Thanks.

To do this I had to modify the function from the myprosody.py file and delete the print statements in the function. Also added a return statement for the number I needed, and added pass after except. Might work for you too!

To do this I had to modify the function from the myprosody.py file and delete the print statements in the function. Also added a return statement for the number I needed, and added pass after except. Might work for you too!

Thanks for your response @kelseymour I will definitely will do so. The thing is when you want to run a process on the cloud using this library functions you would have to install it to the environment using pip and then we return to the original functions of the library. Would love to know if you have any idea how to solve it.

Thanks for your response @kelseymour I will definitely will do so. The thing is when you want to run a process on the cloud using this library functions you would have to install it to the environment using pip and then we return to the original functions of the library. Would love to know if you have any idea how to solve it.

Up! I have the same case like @Roiinbarr

It would be great if this module addressed this concern, but for anyone else who has this question, this stackoverflow post helped me work around it: https://stackoverflow.com/questions/22822267/how-to-capture-print-output-of-another-module?noredirect=1&lq=1


logs over the progress bar

Hello!
How to write logs over the progress bar, i.e. during each console.log erase the progress bar and insert it below?
Thanks!

see https://github.com/npkgz/cli-progress/pull/57 + related issues.
there is no out-of-box solution - you have to use the build-in events of the MultiBar


Japanese translation of the tutorial

I am translating this tutorial into Japanese so that more developers in Japan find it less daunting and join substrate/polkadot community.
I've already created the repo branch/ja-JP, and am expecting one~two weeks are needed for completion of translation.
If anyone interested in peer review, please leave a comment on this issue.

This is awesome. Please reach out to me for any assistance I can provide!


Better strategy for Kubernetes [System.Text.Json] serialization?

The conflict between Newtonsoft.Json and System.Text.Json serialization is a pretty big mess right now.  I think we'll get it to work OK for the time being, but it seems like this may become a problem for users in the future when they try to create custom resources using our types.
At some point, we should come back and revisit this.  Perhaps we can develop a better comprehensive solution.
The current solution just seems to rickety right now.

We realized that we can model enums as strings and then remove the hacky custom object extensions for both cluster and namespace scoped resources.

Here's the plan:

[ ] Rename our existing custom object extension methods by prefixing with JNET (JSON.NET) and mark them as obsolete.
[ ] Recode to use the official methods in k8s.Util.

DONE