updated the wide mobile view

Signed-off-by: Aditya Chaterjee<EMAIL_ADDRESS>Description
wide mobile view in meshery docs fixed
This PR fixes #3414
Notes for Reviewers
Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit 09e52985efacf631304fdc1bcdc74127e4206453 at: https://60ea90db6f32a884848c067c--meshery-docs-preview.netlify.app

@warunicorn19 There's a small issue regarding the last image at, https://60ea90db6f32a884848c067c--meshery-docs-preview.netlify.app/installation/quick-start
The last image tends to get cut in the middle while other images are shown perfectly

@warunicorn19 Do you mind fixing this up in this PR? 👀

Here's a Screenshot from my mobile 📱

Okay got it, no problem, I'll do it by tomorrow

Okay sure 🚀

Cool😎

hey @adithyaakrishna, could you please check if it looks fine now?

🚀 Preview for commit 66ffe7ee29381eefbda3a99e70a9790ed09a3e66 at: https://60ebd3fa41189bccb8525852--meshery-docs-preview.netlify.app

🚀 Preview for commit fca0d5f6653c7ad1bd36a475401869c9d33ae470 at: https://60ebdcb93d6d3f8e9a570019--meshery-docs-preview.netlify.app


updated project with locales fro GB and 'dev', prevented the viewer i…

…nitialisation from being synchronous, which was causing warnings in Chrome and Firefox.

After reading through some documentation on i18next, it seemed best not to make them symlinks for now, since they are likely to change separately. Git can handle symlinks if we decide we do decide to go down that route.

We need to figure out how to make this more efficient.  Having to update 3 files for English is not great.


[SE-4345] feat: add alternate custom_user_id generation

This PR adds an alternate way to generate custom_user_id.
In rare cases user.id cannot be used with LTI providers when the user id already exists on the provider side. To support scenarios like this, it is needed to have another way to generate a user identification string that is unique per user per installation. To provide a per-instance unique string for the user, we return the hashed combination of the user's id and registration date.
Dependencies: None
Screenshots:  N/A
Sandbox URL: TBD - the sandbox is being provisioned.
Merge deadline: None
Testing instructions:

login with edx user
add an LTI block described in readme test instructions
use personal_user_info_with_combined_user_id instead of the original personal user info processor
check the custom_user_id sent to the provider

Author notes and concerns:

The function naming for alternate id generation may not the best.

Thank you @OmarIthawi! Sure, I'll do the changes in about an hour.

@thraxil would you mind spot checking it? Overall functionality looks good to me but just in case I've missed a generic python issue.

@thraxil , @OmarIthawi the suggestion is applied. Thank you both


Reorganisation of API reference

Fairly significant reorganisation of the API reference information. Removes use of curl to make not only platform-agnostic but also tool-agnostic, and aligns better with specification.
Should also be more developer-friendly. Feedback welcomed, as ever.
Having some problems with consistency in nomenclature and curly braces, for example with:

Get all records that share a field-value for a particular field-name

Also just to note that if this PR is approved in principle then we (I) will have to edit the quick start guide's links to match some new tags; the only reason I haven't done that yet is because I mainly want to use this to gather early feedback on this change for the time being.
Please also see the notes below.

Please note that under GET /entries/:

start (Optional): Collection page number. Defaults to ?.
limit (Optional): Collection page size. Defaults to ?. Maximum is ?.

The '?' are placeholders; I don't know what the appropriate values should be so if someone could fill me in that would be 👍

I've tried to remove some of the warnings, since the way we need to do this in the tech docs tool isn't very accessible (see https://github.com/alphagov/tech-docs-template/issues/151 which I opened).
The pagination warnings I'm hoping are covered by the new format (see for example GET /records/) but there are warnings under for example GET /records/{key} about having the exact identifier to get a match which this PR removes as things stand. The other one is under GET /download-register and warns that it will download every item and entry.

Thank you @michaelabenyohai
If possible I would like to aim for more than just @arnau's approval of this so will leave it up for review for a bit to see if that's achievable
For the record I'm planning a round of user research on the docs (to do myself) which would include this

It looks good. My only thought is that we have lost the structured nature to the contents on the left hand side. I had thought we got good feedback to the contents listing "GET /register", "GET /records" etc. The headings do make sense, but are they as easy for someone to navigate quickly?

Yes I thought that over the weekend. The best thing to do might be to partly revert and keep the existing (as in, currently live) headers with just the endpoints and then do the new research from there?

Yeah that might be good. Does that mean we'll lose the descriptions in those headers? Or will you out them elsewhere?
It might be just me that thinks this, but I do think it was easier to skim the contents previously. It was easier to identify what was "API" and what was other helpful stuff.

The descriptions are currently in the 'Quick start guide' under the 'Choose an endpoint' header so they'll still reside there regardless.
There's no real reason why I can't duplicate the descriptions again under a the endpoint header.
e.g.

GET /something/
"a plaintext description"
HTTP response

The other point is with the new multipage/dropdown functionality coming in soon the left-hand nav is likely to change again. How exactly it changes will depend on user research outcomes, I would imagine.

If we have feedback that having GET /foo is better, we should keep it this way.
About the descriptions, I think it's important to have them in context of each endpoint.
How is the left-hand nav be affected by the multipage functionality? In any case, we will probably not move to multipage during Q2, unless I missed something.

@arnau It depends on what specific parts of the current docs we choose to put into different pages; if we put any in then they will be accessible via a drop-down menu.

That's as things stand anyway... it's STC.

If you guys are OK with it as it is, I'll merge.

@bahmady did you decide to get rid of the descriptions?


O(1) forward computation requires potentially unbounded time to compute gradient

So this is a fun one.
The context here is that I'm implementing #5642, which I'm thinking of as a reverse-mode autodifferentiable while loop subject to a maximum number of iterations.
The good news is that the forward pass works perfectly (correct asymptotics; handles issues to do with vmap and in-place updates c.f. #8192). However the backward pass can be arbitrarily expensive. I've already tried staring at the jaxpr without anything jumping out at me as being obviously wrong. I'm not completely sure whether to regard this as a bug in JAX (maybe XLA), or if this is something I can work around on the user side of things.
The following is most minimal of MWE I've been able to put together (e.g. this version won't vmap efficiently; I've cut the special handling of that out). Even so it's more of a "moderately sized working example".
First of all, here is the (simplified) code for bounded_while_loop:
import jax
import jax.lax as lax

def bounded_while_loop(cond_fun, body_fun, init_val, max_steps):
    """API as `lax.while_loop`, except that it takes an integer `max_steps` argument."""
    if not isinstance(max_steps, int) or max_steps < 0:
        raise ValueError("max_steps must be a non-negative integer")
    if max_steps == 0:
        return init_val
    if max_steps & (max_steps - 1) != 0:
        raise ValueError("max_steps must be a power of two")

    init_data = (cond_fun(init_val), init_val)
    _, val = _while_loop(cond_fun, body_fun, init_data, max_steps)
    return val

def _while_loop(cond_fun, body_fun, data, max_steps):
    if max_steps == 1:
        pred, val = data
        new_val = body_fun(val)
        keep = lambda a, b: lax.select(pred, a, b)
        new_val = jax.tree_map(keep, new_val, val)
        return cond_fun(new_val), new_val
    else:

        def _call(_data):
            return _while_loop(cond_fun, body_fun, _data, max_steps // 2)

        def _scan_fn(_data, _):
            _pred, _ = _data
            return lax.cond(_pred, _call, lambda x: x, _data), None

        return lax.scan(_scan_fn, data, xs=None, length=2)[0]

Then the test harness:
import functools as ft
import jax
import jax.experimental.stax as stax
import jax.numpy as jnp
import jax.random as jrandom
import time

_key = jrandom.PRNGKey(0)
_init, _apply = stax.serial(stax.Dense(1024),
                            stax.elementwise(jnp.tanh),
                            stax.Dense(1024),
                            stax.elementwise(jnp.tanh),
                            stax.Dense(1))
expensive_fn = ft.partial(_apply, _init(_key, (1,))[1])

def cond_fun(val):
    x, step = val
    return step < 8

def body_fun(val):
    x, step = val
    return (expensive_fn(x), step + 1)

def timed(fn):
    def timer(*a, **kw):
        start = time.time()
        fn(*a, **kw).block_until_ready()
        end = time.time()
        print(end - start)
    return timer

@timed
@ft.partial(jax.jit, static_argnums=1)
@jax.grad
def f(val, max_steps):
    return jnp.sum(bounded_while_loop(cond_fun, body_fun, (val, 0), max_steps)[0])

val = jnp.array([1.])
f(val, 8)
f(val, 8)  # 0.037744998931884766
f(val, 16)
f(val, 16)  # 0.05941605567932129
f(val, 32)
f(val, 32)  # 0.10239911079406738

As you can see, the runtime (of this gradient operation) increases proportional to the max_steps bound. This is despite the forward operation running in constant time (just comment out the jax.grad and rerun). Indeed the overall number of steps taken in the while loop is always exactly 8, by the choice of cond_fun.
(Incidentally compile times are exponential in the depth of nested scans because of #8193, #8184, but based on the commentary in #8184 it sounds like a fix for that issue might be on the horizon.)
These times were obtained on the CPU. I've verified that the same behaviour also occurs on the GPU (with a more expensive expensive_fn).
This kind of adaptive computation is the sort of thing for which I'm still usually reaching towards PyTorch, what with the static-graph requirement of XLA. I'd love to get the above working, as IMO it's the one arena in which JAX still hasn't caught up.

Thanks for raising this! I haven't looked at it yet, but I wanted to ask you about this comment:

This kind of adaptive computation is the sort of thing for which I'm still usually reaching towards PyTorch, what with the static-graph requirement of XLA. I'd love to get the above working, as IMO it's the one arena in which JAX still hasn't caught up.

As you probably know, you can use JAX without any static graph requirements: just use jax.numpy and jax.grad. Optionally you can apply jax.jit to subroutines where you don't mind static shape requirements, but you don't need to use it at all.
Is following that unconstrained approach not performant enough for your workload? If so, can you share some kind of benchmark?

For the sake of anyone landing here in the future: I've managed to resolve this by adding a jax.checkpoint decorator to the _scan_fn.
I'm not 100% certain exactly what's going wrong in the original code but I think it's something to do with the way the forward pass is stored until the backward pass, so forcing a different strategy like this seems to help.
With this fix, computing the gradient seems to have a runtime of O(steps taken) + O(log(max_steps)). Ideally we'd only have the O(steps taken) part, of course, but this still seems to be good enough for practical purposes.

Finally getting back to this!
The right solution is to use jax.checkpoint as you are.
The issue here is that:

the gradient of a cond produces one cond for the forward pass and one cond for the backward pass, where as usual the forward pass computation (without jax.checkpoint) computes "residual" values during the forward pass which are consumed by the backward pass;
jax.lax.cond, like the HLO Conditional, requires all branches to have the same output type.

In particular, as a consequence of these two facts, if we have one branch which when differentiated requires no residual outputs, and another branch which requires a lot of residual outputs, to form a valid cond/Conditional we need to join the types of these two branches by adding some dummy residuals (arrays of zeros) to the no-residuals branch. These are the broadcast_in_dim applications we see when we run this version of the code:
import jax
import jax.lax as lax

def bounded_while_loop(cond_fun, body_fun, init_val, max_steps):
    """API as `lax.while_loop`, except that it takes an integer `max_steps` argument."""
    if not isinstance(max_steps, int) or max_steps < 0:
        raise ValueError("max_steps must be a non-negative integer")
    if max_steps == 0:
        return init_val
    if max_steps & (max_steps - 1) != 0:
        raise ValueError("max_steps must be a power of two")

    init_data = (cond_fun(init_val), init_val)
    _, val = _while_loop(cond_fun, body_fun, init_data, max_steps)
    return val

def _while_loop(cond_fun, body_fun, data, max_steps):
    if max_steps == 1:
        pred, val = data
        new_val = body_fun(val)
        keep = lambda a, b: lax.select(pred, a, b)
        new_val = jax.tree_map(keep, new_val, val)
        return cond_fun(new_val), new_val
    else:

        def _call(_data):
            return _while_loop(cond_fun, body_fun, _data, max_steps // 2)

        @jax.checkpoint
        def _scan_fn(_data, _):
            _pred, _ = _data
            return lax.cond(_pred, _call, lambda x: x, _data), None

        return lax.scan(_scan_fn, data, xs=None, length=2)[0]

import functools as ft
import jax
import jax.experimental.stax as stax
import jax.numpy as jnp
import jax.random as jrandom
import time

_key = jrandom.PRNGKey(0)
_init, _apply = stax.serial(stax.Dense(1024),
                            stax.elementwise(jnp.tanh),
                            stax.Dense(1024),
                            stax.elementwise(jnp.tanh),
                            stax.Dense(1))
expensive_fn = ft.partial(_apply, _init(_key, (1,))[1])

def cond_fun(val):
    x, step = val
    return step < 8

def body_fun(val):
    x, step = val
    return (expensive_fn(x), step + 1)

timings = []

def timed(fn):
    def timer(*a, **kw):
        start = time.time()
        fn(*a, **kw).block_until_ready()
        end = time.time()
        timings.append(end - start)
    return timer

# @timed
@ft.partial(jax.jit, static_argnums=1)
@jax.grad
def f(val, max_steps):
    return jnp.sum(bounded_while_loop(cond_fun, body_fun, (val, 0), max_steps)[0])

val = jnp.array([1.])

import sys
n = int(sys.argv[1])
print(jax.make_jaxpr(lambda x: f(x, n))(val))

python 8239.py 2  # or 4, 8, 16, whatever

These dummy-constructing broadcasts do enough extra work to explain the behavior you observed.
Because jax.checkpoint means the forward pass doesn't need to produce any residuals, this extra work doesn't need to happen. (Actually, the broadcast_in_dims aren't completely removed by jax.checkpoint, but they're all moved to the backward pass to be right next to their consumers, so we believe it's easier for XLA to optimize away this extra work.)
The best fix actually involves dynamic shapes, or something similar: we'd like to create residuals which might have zero size when we take the no-op branch of the cond. Equivalently we'd like optionals or sum types which don't involve any runtime work. That's out of scope for JAX as it exists today though.
I'm going to close this issue because this is intended behavior for jax.lax.cond today, and jax.checkpoint is the right way to get the computation you want, though in a glorious dynamic-shape future we could make this smarter automatically.
Thanks to @axch for help pair-debugging this.

Sounds good! Thank you for the write-up. (Crossing my fingers for the glorious dynamic-shape future.)


Waiting for control plane to be fully upgraded

Issue #, if available:
A part of kindless upgrade task for management cluster: https://github.com/aws/eks-anywhere/blob/main/designs/kindless-upgrades.md#waiting-for-control-plane-to-be-fully-upgraded
Description of changes:
There a race condition where the status of the CAPI cluster is not updated fast enough after updating the KCP. Thus, before upgrading other components like CNI, worker nodes wait for CP to be fully upgraded before upgrading other components of the cluster. Now the controller will look at the KCP object instead of CAPI cluster to avoid outdated status reports.
Testing (if applicable):
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.17


Adding a demo CMakeLists.txt file that shows how to compile the demo with cmake

As I use CMake I wanted to test how easy it is to setup docks without Projucer, and then thought you might appreciate it as well. I tested the demo program a little and after a while it crashes in a Mouse listener which no longer exists. Couldn't really reproduce it yet, but I'll keep looking!

Perfect! That's actually how I use it in my own repo. Thanks so much.


Should the pressed event be working on macOS?

I got the library to work, but am only getting the Released event, but never the Pressed event first.

cc @pewsheen

@janniks Hi! The Pressed event emitted normally on my M1 Mac with macOS 14.2.1.
Could you provide more information about your environment and issue?
Such as the model of your Mac, OS version, rust version, and a repository which you have encountered the issue would be very helpful.

closing for inactivity


Add node 19.x workaround

Overview
Node 18.x and 20.x DirEnts have a path (directory bit) and name, but node 19.x only has name (== full path I assume). So, we need to calculate the effective full name based on whether path is present.
Deliverables

[x] refactor the code

Work for this issue will begin begin on branch work-liquid-labs/find-plus/3.


Does not run under PHP8

We have moved the project to PHP 8 as PHP 7.4 is EOL at the end of the year. Unfortunately, one dependency does not tolerate the change:

Your requirements could not be resolved to an installable set of packages.
Problem 1
- bnomei/kirby3-doctor[1.5.0, ..., 1.5.1] require zendframework/zenddiagnostics ^1.6 -> satisfiable by zendframework/zenddiagnostics[v1.6.0].
- zendframework/zenddiagnostics v1.6.0 requires php ^5.6 || ^7.0 -> your php version (8.0.13) does not satisfy that requirement.
- Root composer.json requires bnomei/kirby3-doctor ^1.5 -> satisfiable by bnomei/kirby3-doctor[1.5.0, 1.5.1].

I also have this issue when I try to install it with composer

will be fixed in ucoming v2

https://github.com/bnomei/kirby3-doctor/releases/tag/v2.0.0
you will have to remove and require again with composer. just upgrading will not upgrade from v1 to v2.


Added the ForestFlow example

This adds the ForestFlow example. Let me know if the format is okay. I left the pip install for the special library requirements (except for torchcfm, which is assumed installed).

Thank you for your contribution @AlexiaJM! Indeed, the requirements are directly in the notebook. In all other sections of the library, we have a requirement.txt file that users have to install to run specific parts of the library. I would prefer some consistency and adding a requirements.txt file. @atong01 @josephdviviano what is your opinion?
Also, note that I have just added a test to the forest-flow branch. Everything passed on my side. Note that I still have to add tests for the guidance functions.

We should add optional dependencies. This would make testing easier. Ideally the syntax would be
pip install torchcfm
pip install torchcfm[forest]
pip install torchcfm[image]
pip install torchcfm[singlecell]

I removed the installs from the notebook. I incremented the torchcfm package version to be able to add some optional requirements. You can manually test it using pip install .[examples].
I put everything related to examples into 'examples', but feel free to organize it differently.

Sorry I'm late to this. I think it's easiest if you group all optional deps under .[examples] as already mentioned, just to make maintenance of your pyproject.toml easier. We do something similar in torchgfn (we have an optional .[scripts] install flag).


Upgrade axios

Upgrade  axios to 0.19 to avoid CVE-2019-10742 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10742)

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Refactor
[ ] Performance
[ ] Tests
[ ] Build
[ ] Documentation
[ ] Code style update
[ ] Continuous Integration
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Does this PR release a new version?

[x] Yes
[ ] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the develop branch, not the master branch
[x] All tests are passing
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Your pull request doesn't follow our contribution guidelines. Please review and correct it.


documentation example slightly wrong - 5.3.2

The following is slightly wrong:
https://github.com/in-toto/specification/blob/master/in-toto-spec.md?plain=1#L1459
Currently says "As a result of this, Alice's layout would have two steps and one inspection." but the example has 3 steps so should be "As a result of this, Alice's layout would have three steps and one inspection."

Furthermore, the explanation below this appears to be copy pasted from the first example and is missing a section:

From this layout file, we can see that Alice is expected to create a foo.py script using vi. The signed link metadata should be done with Alice's key (for simplicity, the same key is used to sign the layout and the first link metadata). After this, Bob is expected to use "tar zcvf ..." to create a tarball, and ship it to Carl. We assume that Carl’s machine already hosts an inspect_tarball.sh script, which will be used to inspect the contents of the tarball.

This needs a sentence explaining that Caroline and Alfred are expected to have run test.py.
Happy to submit a PR is that would be helpful.

Further down in the 3rd example (using VCS and changing to c with compilation step) the example mentions:

Carl must also make sure that the binary contained in the tarball matches the one that Eleanor reported at the end of her step

Yet the inspection in the example layout has expected materials including the source code (src/foo.c)  but if this is checking the packaging step, Bob is only adding the binary to the tarball, so the example layout is confusing at it appears to be inspecting for source code that Bob isnt adding.

Should check-out-vcs.[UPSTREAM-DEV1-KEYID-PREFIX].link be checkout-vcs.[UPSTREAM-DEV1-KEYID-PREFIX].link?
https://github.com/in-toto/specification/blob/master/in-toto-spec.md?plain=1#L1989


vs code preview html API is being deprecated

The following notification appears when using the extension.
Extension 'Ciantic.keymapceditor-vsc' uses the 'vscode.previewHtml' command which is deprecated and will be removed soon. Please file an issue against this extension to update to use VS Code's webview API.

Oh dear, does it work? I have to look at this.

It runs but seems to be unable to load the keys. Not sure if it's related to the deprecation.

I upgraded it to use latest API, new version is 0.7.4.
And it seems to work now with the keymap you tried.


MultiparameterAssignmentErrors

Hi,
I'm getting a MultiparameterAssignmentError  when enabling the multiparameter extension:
u = User.new(:name => 'foo', "dob(1i)"=>"1902", "dob(2i)"=>"2", "dob(3i)"=>"31")
ActiveRecord::MultiparameterAssignmentErrors: 1 error(s) on assignment of multiparameter attributes
	from /Users/trusche/.rvm/gems/ruby-1.8.7-p302@rails3/gems/activerecord-3.0.2/lib/active_record/base.rb:1787:in `execute_callstack_for_multiparameter_attributes'
	from /Users/trusche/.rvm/gems/ruby-1.8.7-p302@rails3/gems/activerecord-3.0.2/lib/active_record/base.rb:1742:in `assign_multiparameter_attributes'
	from /Users/trusche/.rvm/gems/ruby-1.8.7-p302@rails3/gems/activerecord-3.0.2/lib/active_record/base.rb:1563:in `attributes='
	from /Users/trusche/.rvm/gems/ruby-1.8.7-p302@rails3/gems/activerecord-3.0.2/lib/active_record/base.rb:1406:in `initialize'
	from (irb):1:in `new'

I've set up a clean rails 3 up to rule out any other gems or plugins interfering. Note that I'm getting this on assignment - before even validating. Here's my config:
ValidatesTimeliness.setup do |config|
  # Extend ORM/ODMs for full support (:active_record, :mongoid).
  config.extend_orms = [ :active_record ]
  #
  # Default timezone
  # config.default_timezone = :utc
  #
  # Set the dummy date part for a time type values.
  # config.dummy_date_for_time_type = [ 2000, 1, 1 ]
  #
  # Ignore errors when restriction options are evaluated
  config.ignore_restriction_errors = false
  #
  # Re-display invalid values in date/time selects
  config.enable_date_time_select_extension!
  #
  # Handle multiparameter date/time values strictly
  config.enable_multiparameter_extension!
  #
  # Shorthand date and time symbols for restrictions
  # config.restriction_shorthand_symbols.update(
  #   :now   => lambda { Time.current },
  #   :today => lambda { Date.current }
  # )
  #
  # Use the plugin date/time parser which is stricter and extendable
  # config.use_plugin_parser = false
  #
  # Add one or more formats making them valid. e.g. add_formats(:date, 'd(st|rd|th) of mmm, yyyy')
  # config.parser.add_formats()
  #
  # Remove one or more formats making them invalid. e.g. remove_formats(:date, 'dd/mm/yyy')
  # config.parser.remove_formats()
  #
  # Change the amiguous year threshold when parsing a 2 digit year
  # config.parser.ambiguous_year_threshold =  30
  #
  # Treat ambiguous dates, such as 01/02/1950, as a Non-US date.
  # config.parser.remove_us_formats
end

When I comment out the "config.enable_multiparameter_extension!" line it doesn't throw the Exception (but doesn't prevent date rollover either, which is what I want to achieve).
Any ideas? This happens on rails 3.0.1 and 3.0.2, plugin version 3.0.1
Thanks!

I'm having also this issue. The problem is exactly the same as the opener's.
I'm using version 3.0.8, with a date-only field, using date_select helper on Rails 3.2.1


Exception not caught while working with value which may be not a string

re.sub will throw exception which will not be caught — https://github.com/okfn/jtskit-py/blob/master/jtskit/_types.py#L156

@gvidon thanks. Can you make this fix, and add a test to prove it, as part of the current work you are doing to port JTSKit to Javascript.

Closing in favor of https://github.com/okfn/jsontableschema-py/issues/26


GuardAuthenticator implementation for Symfony 2.8 and later

The current SimplePreAuthenticator implementation is deprecated since Symfony 4.2. The guard authentication system provides more flexibility to eg. more verbose responses concerning authentication. And it makes this bundle (better) forward-compatible with Symfony 5 and later.
This PR adds the following:

A JwtGuardAuthenticator class with service definition to use in the security.y(a)ml.
A JwtUserProvider which adheres to the JWTUserProviderInterface. It offers a basic user provider implementation by reading the information from the token and transforming it to a Symfony User.
A docblock fix for JWTUserProviderInterface::loadUserByJWT.

At the moment the JwtGuardAuthenticator returns JSON responses, but I guess not everyone would want that.
If you'd like to provide more flexibility, I'm willing to extract that part from the guard authenticator.
References

Guard authenticators are supported since Symfony 2.8 (source: Packagist)
SimplePreAuthenticator implementation is deprecated since Symfony 4.2

Testing
Instead of following chapter "Set up the SecurityProvider" of the Symfony API: Authorization guide add the following configuration to the security.y(a)ml:
security:
    providers:
        a0:
            id: jwt_auth.security.user.jwt_user_provider

    firewalls:
        secured_area:
            pattern: ^/api
            stateless: true
            provider: 'a0'
            guard:
                authenticators:
                    - jwt_auth.security.guard.jwt_guard_authenticator

    access_control:
        - { path: ^/api/private-scoped, roles: ROLE_JWT_SCOPE_READ_MESSAGES }
        - { path: ^/api/private, roles: ROLE_JWT_AUTHENTICATED }
        - { path: ^/api/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }

Optionally, chapter "Set up the User and UserProvider" can also be skipped by configuring the JwtUserProvider.

[x] This change adds test coverage
[x] This change has been tested on Symfony 4.2
[ ] This change has been tested on the latest version of Symfony

Checklist

[x] I have read the Auth0 general contribution guidelines

[x] I have read the Auth0 Code of Conduct

[x] All existing and new tests complete without errors

Hey @joshcanhelp, when do you expect to be able to take a look at this PR? 🙂

@niels-nijens - At first glance, this looks great! Just to clarify ... this is adding another way to authenticate? Do you have some sample code for how this would be used?
Also, thank you for the tests, much appreciated!
Let me know on the above and I'll pull this down and take a look. As long as there aren't any breaking changes (doesn't look like it) and this is Symfony 3 compatible (looks like it is based on CI), then we should be fine to merge this in. I'll look into the Snyk CI check failing on my end.

any help needed to get this PR merged?

@A-Marwan - I'd like to know a little more about what this is actually adding or improving.

@joshcanhelp This PR fixes deprecation issues with Symfony >= 4.2.
Since SF 4.2, SimplePreAuthenticator is deprecated  (as is mentioned by OP) and is succeeded by guard authenticators.

hi @joshcanhelp , anything else you need? :)

@darthf1 - Thanks for the run-down, I appreciate it. I'll take some time next week to walk through it.

Hopefully @niels-nijens can help with your comments on the code.
Regarding your concerns; the reason there's a lot of references to 'User', is because of assumptions made a long time ago by Symfony regarding security, that a User is always a real user. The eco-system has changed and this assumption is now incorrect. They're working on reworking everything related to security. Your concern is specifically mentioned on the first bullet point. So the reference in code is to a 'User', but it doesn't necessarily have to be a real user (like in this case).
The implementation of this merge request is actually really easy, you only need to change the firewalls config in security.yaml:
firewalls:
  secured_area:
    pattern: ^/api
    stateless: true
    simple_preauth:
      authenticator: jwt_auth.jwt_authenticator
      provider: a0

Becomes:
firewalls:
  secured_area:
    pattern: ^/api
      stateless: true
      provider: 'a0'
      guard:
        authenticators:
          - jwt_auth.security.guard.jwt_guard_authenticator

The only change here is that Symfony's Guard authenticator is leveraged, instead of the deprecated simple_preauth.

Sorry, due to vacation I wasn't able to respond earlier. I'll make the changes based on your feedback today, @joshcanhelp.

@darthf1 Thanks for answering some of @joshcanhelp's questions. 👍
@joshcanhelp I think I addressed all the feedback you had.

@darthf1 - Thanks from me as well! Great explanation.
@niels-nijens - This looks great. I'll give it one more pass this week and get the CI passing this week.

CodeCov API reports test coverage with this PR merged is 74.24%
Ran snyk test in CI SSH and it reported Tested 33 dependencies for known issues, no vulnerable paths found.


Need a way to consistently deploy a kcp server + kind clusters for develop/test/demo

Currently there is no standard way to bring up a kcp instance and workload clusters so that they could be used for development, testing, or demoing.
Ideally we need a command that, given kind and kcp binaries in the path:

can deploy kcp and 0-n (number configurable) kind clusters locally
expose the configuration required to use what is deployed in a standard way

e.g. copy the kind server configurations to the .kcp/ path for ease of consumption

It may also be useful to have a command that stops the kcp server and deletes the kind clusters to simplify cleanup.
Past discussion suggests that this functionality be implemented in golang (vs bash) to simplify maintenance and avoid the inevitable bash compatibility issues between darwin and linux.

This can be easily adapted as starting point (remove tmux ... )
https://gist.github.com/aojea/7eb651bf2172a1415cf6576d0baeb9f5

Past discussion suggests that this functionality be implemented in golang (vs bash) to simplify maintenance and avoid the inevitable bash compatibility issues between darwin and linux.

Bash can be used only for setting up the environment, not for adding testing functionality not knobs ... If that is not the case, agree it should be moved to other thing

I think the consensus was that bash starts simple but never stays that way. Given that being able to deploy consistently is likely to be something we need for the lifespan of the project, best to do the right thing now and switch to golang.

Note that cluster registration and syncer deployment should be optional to enable arbitrary test configuration (including running the syncer in-process for testing).

I think the consensus was that bash starts simple but never stays that way

I don't think anybody can argue against that XD

The flow of "start kcp, do something that results in a kubeconfig, register using that as a workload cluster in kcp" seems to be covered in e2e - @marun do you think there's an opportunity for reuse there?

@stevekuznetsov While there is some potential for reuse, the current e2e code manages kcp as a subprocess. For this issue, I'm hoping for a command that starts background processes and exits (kind of like kind start cluster but for kcp+kind).


lenses: Changes for release 2.3

Apply new metrics format for ZK, SR, Connect
Apply changes to support HortonWork Registry
HW + Kerberos settings added
Kubernetes Processors SR options added

This change is

Thank you @spirosoik !


Duplicate postinstall key in package.json

Actual behavior
When trying to install the package, BUN throws this warning:
warn: Duplicate key "postinstall" in object literal
   at esbuild/package.json/package.json:98:3

Expected behavior
No warnings
Steps to reproduce
bun install @morevm/vue-transitions
Environment

Device:
OS:
Browser:

Additional context
No response
Possible solution
delete one of these lines (97/98) in vue-transitions/package.json
	"scripts": {
		"postinstall": "node ./scripts/postinstall.js",
		"postinstall": "node ./scripts/postinstall.js",
		...
        }

Good day @pisandelli,
Thank you for noticing, sorry for the really delayed reaction.
This is fixed in just released v3.0.3. :)


Names for custom procedure block types

Proposed new names:

Old names -> new names:

procedures_callnoreturn_internal -> procedures_defnoreturn
procedures_defnoreturn -> procedures_defwrapper
procedures_callnoreturn -> procedures_callnoreturn (no change)

@paulkaplan we'd have to make this change simultaneously here and in scratch-vm.

Renames that we settled on:

procedures_callnoreturn_internal -> procedures_prototype
procedures_defnoreturn -> procedures_definition
procedures_callnoreturn -> procedures_call

Paul already made the change in the VM.


Unable to connect to proxy when setting up agent nodes

Environmental Info:
K3s Version:

root@master:/home/vagrant# k3s -v
k3s version v1.28.8+k3s1 (653dd61a)
go version go1.21.8

Node(s) CPU architecture, OS, and Version:

root@master:/home/vagrant# uname -a
Linux master 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Cluster Configuration:

1 server, 2 agents:
Vagrant.configure(2) do |config|
  config.vm.box = "generic/ubuntu2204"

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end

  config.vm.define "master" do |master|
    master.vm.hostname = "master"
    master.vm.network "private_network", ip: "<IP_ADDRESS>"
  end

  config.vm.define "node1" do |node1|
    node1.vm.hostname = "node1"
    node1.vm.network "private_network", ip: "<IP_ADDRESS>"
  end

  config.vm.define "node2" do |node2|
    node2.vm.hostname = "node2"
    node2.vm.network "private_network", ip: "<IP_ADDRESS>"
  end
end

Describe the bug:

When setting up the agent nodes, I get the following errors:
Failed to connect to proxy. Empty dialer response
Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused

Steps To Reproduce:

Installed K3s with the following instructions:

K3S
Use Vagrant to easily spin multiple VMs (requires VirtualBox). First we need to install both packages:
# Install virtualbox and vagrant
sudo apt install virtualbox vagrant -y

We should now be able to create the VMs we need to test k3s:
# Run the VMs
vagrant up

This should spin up 3 Ubuntu 22.04 VMs with their respective hostnames and IP addresses as defined on the Vagrantfile.
Update firewall
For Ubuntu VMs, a few extra steps are needed:
# It is recommended to turn off ufw (uncomplicated firewall)
ufw disable

# If you wish to keep ufw enabled, by default, the following rules are required
ufw allow 6443/tcp                   #apiserver
ufw allow from <IP_ADDRESS>/16 to any   #pods
ufw allow from <IP_ADDRESS>/16 to any   #services

MASTER
On the master VM, install k3s:
# Install k3s as the master
curl -sfL https://get.k3s.io | sh -

# Check that the service is running
systemctl status k3s

# Check the nodes
k3s kubectl get nodes

Get the token we need to use when installing k3s on the other nodes:
cat /var/lib/rancher/k3s/server/node-token

NODE1
On the node1 VM, install k3s as an agent:
# Install k3s as an agent node
curl -sfL https://get.k3s.io | K3S_URL=https://<MASTER_IP>:6443 K3S_TOKEN=<TOKEN> sh -

NODE2
On the node2 VM, install k3s as an agent:
# Install k3s as an agent node
curl -sfL https://get.k3s.io | K3S_URL=https://<MASTER_IP>:6443 K3S_TOKEN=<TOKEN> sh -

Expected behavior:

The agent nodes should be able to connect to the master node.
 Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:13 node1 k3s[3915]: time="2024-04-03T16:20:13Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"

Apr 03 16:18:27 node1 systemd[1]: Starting Lightweight Kubernetes...
Apr 03 16:18:27 node1 sh[3911]: + /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service
Apr 03 16:18:27 node1 k3s[3915]: time="2024-04-03T16:18:27Z" level=info msg="Acquiring lock file /var/lib/rancher/k3s/data/.lock"
Apr 03 16:18:27 node1 k3s[3915]: time="2024-04-03T16:18:27Z" level=info msg="Preparing data dir /var/lib/rancher/k3s/data/ef92c15b8f1c59f266ea4a9589be87b1b799d1682673f29721e8a1f7b0a4a97b"
Apr 03 16:18:30 node1 k3s[3915]: time="2024-04-03T16:18:30Z" level=info msg="Starting k3s agent v1.28.8+k3s1 (653dd61a)"
Apr 03 16:18:30 node1 k3s[3915]: time="2024-04-03T16:18:30Z" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Apr 03 16:18:30 node1 k3s[3915]: time="2024-04-03T16:18:30Z" level=info msg="Running load balancer k3s-agent-load-balancer <IP_ADDRESS>:6444 -> [<IP_ADDRESS>:6443] [default: <IP_ADDRESS>:6443]"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Module overlay was already loaded"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Module br_netfilter was already loaded"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_established' to 86400"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_close_wait' to 3600"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Set sysctl 'net/ipv4/conf/all/forwarding' to 1"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Set sysctl 'net/netfilter/nf_conntrack_max' to 131072"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Logging containerd to /var/lib/rancher/k3s/agent/containerd/containerd.log"
Apr 03 16:18:31 node1 k3s[3915]: time="2024-04-03T16:18:31Z" level=info msg="Running containerd -c /var/lib/rancher/k3s/agent/etc/containerd/config.toml -a /run/k3s/containerd/containerd.sock --state /run/k3s/containerd --root /var/lib/rancher/k3s/agent/containerd"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="containerd is now running"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Getting list of apiserver endpoints from server"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Updated load balancer k3s-agent-load-balancer default server address -> <IP_ADDRESS>:6443"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Removing server from load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Updated load balancer k3s-agent-load-balancer server addresses -> [<IP_ADDRESS>:6443] [default: <IP_ADDRESS>:6443]"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Running kubelet --address=<IP_ADDRESS> --allowed-unsafe-sysctls=net.ipv4.ip_forward,net.ipv6.conf.all.forwarding --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --cgroup-driver=systemd --client-ca-file=/var/lib/rancher/k3s/agent/client-ca.crt --cloud-provider=external --cluster-dns=<IP_ADDRESS> --cluster-domain=cluster.local --container-runtime-endpoint=unix:///run/k3s/containerd/containerd.sock --containerd=/run/k3s/containerd/containerd.sock --eviction-hard=imagefs.available<5%,nodefs.available<5% --eviction-minimum-reclaim=imagefs.available=10%,nodefs.available=10% --fail-swap-on=false --feature-gates=CloudDualStackNodeIPs=true --healthz-bind-address=<IP_ADDRESS> --hostname-override=node1 --kubeconfig=/var/lib/rancher/k3s/agent/kubelet.kubeconfig --node-ip=<IP_ADDRESS> --node-labels= --pod-infra-container-image=rancher/mirrored-pause:3.6 --pod-manifest-path=/var/lib/rancher/k3s/agent/pod-manifests --read-only-port=0 --resolv-conf=/run/systemd/resolve/resolv.conf --serialize-image-pulls=false --tls-cert-file=/var/lib/rancher/k3s/agent/serving-kubelet.crt --tls-private-key-file=/var/lib/rancher/k3s/agent/serving-kubelet.key"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:32 node1 k3s[3915]: time="2024-04-03T16:18:32Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:38152-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:18:37 node1 k3s[3915]: time="2024-04-03T16:18:37Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:37 node1 k3s[3915]: time="2024-04-03T16:18:37Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:38314-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:18:37 node1 k3s[3915]: time="2024-04-03T16:18:37Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:37 node1 k3s[3915]: time="2024-04-03T16:18:37Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:42 node1 k3s[3915]: time="2024-04-03T16:18:42Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:42 node1 k3s[3915]: time="2024-04-03T16:18:42Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:42 node1 k3s[3915]: time="2024-04-03T16:18:42Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:42 node1 k3s[3915]: time="2024-04-03T16:18:42Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:57764-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:18:43 node1 k3s[3915]: W0403 16:18:43.148052    3915 reflector.go:535] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:57806-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:57744-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:18:43 node1 k3s[3915]: I0403 16:18:43.148308    3915 trace.go:236] Trace[1871427865]: "Reflector ListAndWatch" name:k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229 (03-Apr-2024 16:18:32.941) (total time: 10207ms):
Apr 03 16:18:43 node1 k3s[3915]: Trace[1871427865]: ---"Objects listed" error:Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:57806-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:57744-><IP_ADDRESS>:6444: read: connection reset by peer 10207ms (16:18:43.148)
Apr 03 16:18:43 node1 k3s[3915]: Trace[1871427865]: [10.207250423s] [10.207250423s] END
Apr 03 16:18:43 node1 k3s[3915]: E0403 16:18:43.148448    3915 reflector.go:147] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:57806-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:57744-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:18:47 node1 k3s[3915]: time="2024-04-03T16:18:47Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:58004-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:18:47 node1 k3s[3915]: time="2024-04-03T16:18:47Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:47 node1 k3s[3915]: time="2024-04-03T16:18:47Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:47 node1 k3s[3915]: time="2024-04-03T16:18:47Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:52 node1 k3s[3915]: time="2024-04-03T16:18:52Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:60786-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:18:52 node1 k3s[3915]: time="2024-04-03T16:18:52Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:52 node1 k3s[3915]: time="2024-04-03T16:18:52Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:52 node1 k3s[3915]: time="2024-04-03T16:18:52Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:54 node1 k3s[3915]: W0403 16:18:54.105835    3915 reflector.go:535] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": EOF - error from a previous attempt: read tcp <IP_ADDRESS>:60788-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:18:54 node1 k3s[3915]: I0403 16:18:54.105899    3915 trace.go:236] Trace[232591820]: "Reflector ListAndWatch" name:k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229 (03-Apr-2024 16:18:43.982) (total time: 10123ms):
Apr 03 16:18:54 node1 k3s[3915]: Trace[232591820]: ---"Objects listed" error:Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": EOF - error from a previous attempt: read tcp <IP_ADDRESS>:60788-><IP_ADDRESS>:6444: read: connection reset by peer 10122ms (16:18:54.105)
Apr 03 16:18:54 node1 k3s[3915]: Trace[232591820]: [10.123021188s] [10.123021188s] END
Apr 03 16:18:54 node1 k3s[3915]: E0403 16:18:54.105911    3915 reflector.go:147] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": EOF - error from a previous attempt: read tcp <IP_ADDRESS>:60788-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:18:57 node1 k3s[3915]: time="2024-04-03T16:18:57Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:57 node1 k3s[3915]: time="2024-04-03T16:18:57Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:57 node1 k3s[3915]: time="2024-04-03T16:18:57Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:18:57 node1 k3s[3915]: time="2024-04-03T16:18:57Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:60948-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:02 node1 k3s[3915]: time="2024-04-03T16:19:02Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:38052-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:02 node1 k3s[3915]: time="2024-04-03T16:19:02Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:02 node1 k3s[3915]: time="2024-04-03T16:19:02Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:02 node1 k3s[3915]: time="2024-04-03T16:19:02Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:06 node1 k3s[3915]: W0403 16:19:06.982008    3915 reflector.go:535] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": EOF - error from a previous attempt: read tcp <IP_ADDRESS>:38196-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:19:06 node1 k3s[3915]: I0403 16:19:06.982401    3915 trace.go:236] Trace[2059427684]: "Reflector ListAndWatch" name:k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229 (03-Apr-2024 16:18:56.861) (total time: 10120ms):
Apr 03 16:19:06 node1 k3s[3915]: Trace[2059427684]: ---"Objects listed" error:Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": EOF - error from a previous attempt: read tcp <IP_ADDRESS>:38196-><IP_ADDRESS>:6444: read: connection reset by peer 10120ms (16:19:06.981)
Apr 03 16:19:06 node1 k3s[3915]: Trace[2059427684]: [10.120741384s] [10.120741384s] END
Apr 03 16:19:06 node1 k3s[3915]: E0403 16:19:06.982546    3915 reflector.go:147] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": EOF - error from a previous attempt: read tcp <IP_ADDRESS>:38196-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:19:07 node1 k3s[3915]: time="2024-04-03T16:19:07Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:38292-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:07 node1 k3s[3915]: time="2024-04-03T16:19:07Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:07 node1 k3s[3915]: time="2024-04-03T16:19:07Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:07 node1 k3s[3915]: time="2024-04-03T16:19:07Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:12 node1 k3s[3915]: time="2024-04-03T16:19:12Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": EOF"
Apr 03 16:19:13 node1 k3s[3915]: time="2024-04-03T16:19:13Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:13 node1 k3s[3915]: time="2024-04-03T16:19:13Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:13 node1 k3s[3915]: time="2024-04-03T16:19:13Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:17 node1 k3s[3915]: time="2024-04-03T16:19:17Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:41024-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:18 node1 k3s[3915]: time="2024-04-03T16:19:18Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:18 node1 k3s[3915]: time="2024-04-03T16:19:18Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:18 node1 k3s[3915]: time="2024-04-03T16:19:18Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:20 node1 k3s[3915]: W0403 16:19:20.710333    3915 reflector.go:535] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:35684-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:41088-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:19:20 node1 k3s[3915]: I0403 16:19:20.710377    3915 trace.go:236] Trace[1014071780]: "Reflector ListAndWatch" name:k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229 (03-Apr-2024 16:19:10.543) (total time: 10166ms):
Apr 03 16:19:20 node1 k3s[3915]: Trace[1014071780]: ---"Objects listed" error:Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:35684-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:41088-><IP_ADDRESS>:6444: read: connection reset by peer 10166ms (16:19:20.710)
Apr 03 16:19:20 node1 k3s[3915]: Trace[1014071780]: [10.166928099s] [10.166928099s] END
Apr 03 16:19:20 node1 k3s[3915]: E0403 16:19:20.710386    3915 reflector.go:147] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:35684-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:41088-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:19:22 node1 k3s[3915]: time="2024-04-03T16:19:22Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:35732-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:23 node1 k3s[3915]: time="2024-04-03T16:19:23Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:23 node1 k3s[3915]: time="2024-04-03T16:19:23Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:23 node1 k3s[3915]: time="2024-04-03T16:19:23Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:27 node1 k3s[3915]: time="2024-04-03T16:19:27Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:35860-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:28 node1 k3s[3915]: time="2024-04-03T16:19:28Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:28 node1 k3s[3915]: time="2024-04-03T16:19:28Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:28 node1 k3s[3915]: time="2024-04-03T16:19:28Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:32 node1 k3s[3915]: time="2024-04-03T16:19:32Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": EOF"
Apr 03 16:19:33 node1 k3s[3915]: time="2024-04-03T16:19:33Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:33 node1 k3s[3915]: time="2024-04-03T16:19:33Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:33 node1 k3s[3915]: time="2024-04-03T16:19:33Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:37 node1 k3s[3915]: time="2024-04-03T16:19:37Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": EOF"
Apr 03 16:19:38 node1 k3s[3915]: time="2024-04-03T16:19:38Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:38 node1 k3s[3915]: time="2024-04-03T16:19:38Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:38 node1 k3s[3915]: time="2024-04-03T16:19:38Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:41 node1 k3s[3915]: W0403 16:19:41.276237    3915 reflector.go:535] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:51740-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:51712-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:19:41 node1 k3s[3915]: I0403 16:19:41.276282    3915 trace.go:236] Trace[788827548]: "Reflector ListAndWatch" name:k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229 (03-Apr-2024 16:19:31.151) (total time: 10125ms):
Apr 03 16:19:41 node1 k3s[3915]: Trace[788827548]: ---"Objects listed" error:Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:51740-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:51712-><IP_ADDRESS>:6444: read: connection reset by peer 10125ms (16:19:41.276)
Apr 03 16:19:41 node1 k3s[3915]: Trace[788827548]: [10.125206812s] [10.125206812s] END
Apr 03 16:19:41 node1 k3s[3915]: E0403 16:19:41.276292    3915 reflector.go:147] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:51740-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:51712-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:19:42 node1 k3s[3915]: time="2024-04-03T16:19:42Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:51798-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:43 node1 k3s[3915]: time="2024-04-03T16:19:43Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:43 node1 k3s[3915]: time="2024-04-03T16:19:43Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:43 node1 k3s[3915]: time="2024-04-03T16:19:43Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:47 node1 k3s[3915]: time="2024-04-03T16:19:47Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": EOF"
Apr 03 16:19:48 node1 k3s[3915]: time="2024-04-03T16:19:48Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:48 node1 k3s[3915]: time="2024-04-03T16:19:48Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:48 node1 k3s[3915]: time="2024-04-03T16:19:48Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:52 node1 k3s[3915]: time="2024-04-03T16:19:52Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": EOF"
Apr 03 16:19:53 node1 k3s[3915]: time="2024-04-03T16:19:53Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:53 node1 k3s[3915]: time="2024-04-03T16:19:53Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:53 node1 k3s[3915]: time="2024-04-03T16:19:53Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:57 node1 k3s[3915]: time="2024-04-03T16:19:57Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:37044-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:19:58 node1 k3s[3915]: time="2024-04-03T16:19:58Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:19:58 node1 k3s[3915]: time="2024-04-03T16:19:58Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:19:58 node1 k3s[3915]: time="2024-04-03T16:19:58Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:02 node1 k3s[3915]: time="2024-04-03T16:20:02Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:42192-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:20:03 node1 k3s[3915]: time="2024-04-03T16:20:03Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:03 node1 k3s[3915]: time="2024-04-03T16:20:03Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:03 node1 k3s[3915]: time="2024-04-03T16:20:03Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:07 node1 k3s[3915]: time="2024-04-03T16:20:07Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:42448-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:20:08 node1 k3s[3915]: time="2024-04-03T16:20:08Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:08 node1 k3s[3915]: time="2024-04-03T16:20:08Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:08 node1 k3s[3915]: time="2024-04-03T16:20:08Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:10 node1 k3s[3915]: W0403 16:20:10.470622    3915 reflector.go:535] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:39464-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:42520-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:20:10 node1 k3s[3915]: I0403 16:20:10.470982    3915 trace.go:236] Trace[1903520160]: "Reflector ListAndWatch" name:k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229 (03-Apr-2024 16:20:00.430) (total time: 10040ms):
Apr 03 16:20:10 node1 k3s[3915]: Trace[1903520160]: ---"Objects listed" error:Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:39464-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:42520-><IP_ADDRESS>:6444: read: connection reset by peer 10039ms (16:20:10.470)
Apr 03 16:20:10 node1 k3s[3915]: Trace[1903520160]: [10.040077312s] [10.040077312s] END
Apr 03 16:20:10 node1 k3s[3915]: E0403 16:20:10.471095    3915 reflector.go:147] k8s.io/client-go@v1.28.8-k3s1/tools/cache/reflector.go:229: Failed to watch *v1.Endpoints: failed to list *v1.Endpoints: Get "https://<IP_ADDRESS>:6444/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&limit=500&resourceVersion=0": read tcp <IP_ADDRESS>:39464-><IP_ADDRESS>:6444: read: connection reset by peer - error from a previous attempt: read tcp <IP_ADDRESS>:42520-><IP_ADDRESS>:6444: read: connection reset by peer
Apr 03 16:20:12 node1 k3s[3915]: time="2024-04-03T16:20:12Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": EOF"
Apr 03 16:20:13 node1 k3s[3915]: time="2024-04-03T16:20:13Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:13 node1 k3s[3915]: time="2024-04-03T16:20:13Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:13 node1 k3s[3915]: time="2024-04-03T16:20:13Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:17 node1 k3s[3915]: time="2024-04-03T16:20:17Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:39680-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:20:18 node1 k3s[3915]: time="2024-04-03T16:20:18Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:18 node1 k3s[3915]: time="2024-04-03T16:20:18Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:18 node1 k3s[3915]: time="2024-04-03T16:20:18Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:22 node1 k3s[3915]: time="2024-04-03T16:20:22Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:57740-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:20:23 node1 k3s[3915]: time="2024-04-03T16:20:23Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:23 node1 k3s[3915]: time="2024-04-03T16:20:23Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:23 node1 k3s[3915]: time="2024-04-03T16:20:23Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:27 node1 k3s[3915]: time="2024-04-03T16:20:27Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:57920-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:20:28 node1 k3s[3915]: time="2024-04-03T16:20:28Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:28 node1 k3s[3915]: time="2024-04-03T16:20:28Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:28 node1 k3s[3915]: time="2024-04-03T16:20:28Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:32 node1 k3s[3915]: time="2024-04-03T16:20:32Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": read tcp <IP_ADDRESS>:58574-><IP_ADDRESS>:6444: read: connection reset by peer"
Apr 03 16:20:33 node1 k3s[3915]: time="2024-04-03T16:20:33Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:20:33 node1 k3s[3915]: time="2024-04-03T16:20:33Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"
Apr 03 16:20:33 node1 k3s[3915]: time="2024-04-03T16:20:33Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"

I believe there were issues with older iptables but when I looked at my version, it seems to be okay:
root@master:/home/vagrant# iptables --version
iptables v1.8.7 (nf_tables)

Apr 03 16:18:57 node1 k3s[3915]: time="2024-04-03T16:18:57Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
Apr 03 16:18:57 node1 k3s[3915]: time="2024-04-03T16:18:57Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:6443: connect: connection refused"

Did you need to use --node-ip on the server to tell it to use a different IP address? Or do you need to open up ports on that node so that the agent can connect?


Show diff of unsaved changes in editor with modified file, to review changes before save

Very often we have opened files, that was modified long time ago and not saved, and when VS Code asks "Do you want to save changes you made to filename.txt" on closing - you can't remember what exactly you change in each file, is this really needs to be saved, or maybe this is even random edits, so you becomes confused.
To solve this problem will be good to add ability to show the diff of unsaved changes with saved file, to review it and decide "To save or not to save".

Duplicate of #124238


Tenable.IO solution. Function Issue

Describe the bug
Error on load function on sentinel.
 'extend' operator: Failed to resolve scalar expression named 'bios_uuid_s' If issue persists, please open a support ticket. Request id: 5deea9db-2647-4768-a1fb-6443c12d2fc6
To Reproduce
Steps to reproduce the behavior:

Deploy ARM Tenable.IO Solution.
Click on Logs > Workspace Function > TenableIOAssets
Ger error:

Expected behavior
Should load and parse data from tenable tables properly.
Screenshots

Desktop (please complete the following information):

OS: macOS 12.4
Browser Edge
Version 101

Additional context
https://github.com/Azure/Azure-Sentinel/blob/4bed20ece3dd254878ec866e83db14240532d6d4/Solutions/TenableIO/Parsers/TenableIOAssets.txt#L25

Hi @dnetoa, thank you for flagging this. Apologies for the delayed response. If you still need assistance, please reply here within 5 business days.

Since we have not received a response in the last 5 days, we are closing your issue #5088 as per our standard operating procedures. If you still need support for this issue, feel free to re-open at any time. Thank you for your co-operation.

This error is still occurring with Tenable App solution from Content Hub version 2.0.2


Question

Hi
How do I get access to the watched values in an enumSource filter?
I have an UI with two drop downs  where you select manufacturer in the first and then I want the second drop down to adapt the list of models to the value of the first drop down.
What I have tried at the moment doesn't work:
manufacturer: {
title: "Manufacturer",
type: "string",
"enum": [
"hp",
"dell"
],
options: {
enum_titles: [
"HP",
"Dell"
]
}
},
model: {
title: "Model",
type: "string",
enumSource: [
{
source: [
{
manufacturer: "hp",
model: "1234",
title: "1234"
},
{
manufacturer: "dell",
model: "gx790",
title: "GX790"
}
],
filter: "<% if (item.manufacturer === manufacturer) {print(1);} %>",
value: "<%= item.model %>",
title: "<%= item.title %>"
}
],
watch: {
manufacturer: "manufacturer"
}
},

JSON is not functional. You can not do something like filter: "<% if (item.manufacturer === manufacturer) {print(1);} %>"

Hi,
Yes, you can use templates (underscore template engine) for filter, value and title in enumSource but my problem is that I can't get access to the variables that I want to.
Br.
Rune

Hi
I have solved it by making a copy of the select editor and changed a single line from
if(this.enumSource[i].filter({i:j,item:items[j])) new_items.push(items[j]);
to
if(this.enumSource[i].filter({i:j,item:items[j],watched:vars})) new_items.push(items[j]);
Now I can connect two drop down menus by using this filter
filter: "<% if (item.manufacturer === watched.manufacturer) {print(1);} %>",

You could make a Pull?-Request (I believe it was called in Git) for this as others can surely use it too.

Stefan Caks
Software Development
Business Unit e-Testing
bit media e-solutions Gmbh. & Co KG
Kaerntner Strasse 337, A-8054 Graz
Tel.     +43 316 / 28 66 60-461
<EMAIL_ADDRESS>www.bitmedia.cchttp://www.bitmedia.cc/

Von: Rune Christensen<EMAIL_ADDRESS>Gesendet: Donnerstag, 16. Juli 2015 16:18
An: jdorn/json-editor
Cc: Caks, Stefan
Betreff: Re: [json-editor] Question (#465)
Hi
I have solved it by making a copy of the select editor and changed a single line from
if(this.enumSource[i].filter({i:j,item:items[j])) new_items.push(items[j]);
to
if(this.enumSource[i].filter({i:j,item:items[j],watched:vars})) new_items.push(items[j]);
Now I can connect two drop down menus by using this filter
filter: "<% if (item.manufacturer === watched.manufacturer) {print(1);} %>",
—
Reply to this email directly or view it on GitHubhttps://github.com/jdorn/json-editor/issues/465#issuecomment-121969645.
bit group GmbH | Kärntner Straße 311, 8054 Graz | FN 263579t | ATU67761415 | Gerichtsstand Graz
bit schulungscenter GmbH | Kärntner Straße 311, 8054 Graz | FN 387824f | ATU67641206 | Gerichtsstand Graz
bit management Beratung GesmbH | Kärntner Straße 311, 8054 Graz | FN 247859z | ATU58011225 | Gerichtsstand Graz
bit media e-solutions GmbH | Kärntner Straße 311, 8054 Graz | FN 194056b | ATU49975601 | Gerichtsstand Wien
Unternehmensberatung bit consulting GmbH | Kärntner Straße 311, 8054 Graz | FN 196369d | ATU49853109 | Gerichtsstand Graz

Diese E-Mail und die Beilagen können vertrauliche Informationen enthalten, die nur für den Empfänger bestimmt sind.  Jegliche unerlaubte Kopie, Veröffentlichung oder Verbreitung der Inhalte aus dieser E-Mail sind generell untersagt.
This E-Mail and any attachments may contain confidential information and is intended solely for the addressee. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


storage/block_device: initial implementation

This commit adds support for using a block device as the backing storage for
torusd.
Two utilities have been added, mkfs.torus and fsck.torus, to format a block
device for use by torus, and for checking the consistency of a formatted block
device, respectively.
There is a metadata section of size 512 bytes written to the beginning of the
disk, and the rest of the disk is used to store data.
Each location on the disk in which data can be stored has two things: block
headers of size 512 bytes, and the actual data, whose size is determined by the
torus cluster's block size.
When given a block ref, the location of the data is determined by feeding 24
bits comprised of the block ref's volume, inode, and index through sha256,
converting the last 8 bytes into a uint64.
The block headers are simply a series of 32 bit chunks, containing the three
fields from a block ref and a location field. The location field will either be
0, signifying the data for this block ref is at this location, or a non-zero
integer, which is the location of a different set of block headers to go to.
When writing a block, if the default location is used for a preexisting block
(so, a hash collision), linear probing is then used to find the next free
location to use.
Fixes https://github.com/coreos/torus/issues/171.

This is no longer a WIP, I'm happy with the current state of the tests and they all pass. Unfortunately it looks like travis ci doesn't support loopback devices, so my tests don't succeed when run there. Anyone have any ideas on that one? Maybe just disable my tests in CI for now?

I've updated my added tests to require the integration build tag to run, to prevent them from failing in travis ci.

Review bump

@dgonyeo I'll review, plus... THANKS FOR THE UNIT TESTS!! Finally!

@dgonyeo Quick question before I start the review.  It says on your comment:
There is a metadata section of size 512 bytes written to the beginning of the
disk, and the rest of the disk is used to store data.

This would create a very unaligned disk chunk because every is off by 512 bytes.  You want to store metadata on the first chunk, not LBA.  For example, a 4k write to LBA 0 from the caller, would not be aligned to the chunk if the is 4k in size.  If the chunk is 512k in size and the caller write the last 4k in that chunk, 4k-512 bytes would go into this chunk, and 512 bytes would go into the next.

Seems to me like the easiest fix would be to make that starting section 4k then, right? I'll tweak this PR to do that.

Cleaning up my old PRs


1.0.4 changelog update

Codecov Report

Merging #9 (2dac551) into master (e14aa0f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #9   +/-   ##
=========================================
  Coverage     64.84%   64.84%
  Complexity        1        1
=========================================
  Files            49       49
  Lines          1155     1155
  Branches         66       66
=========================================
  Hits            749      749
  Misses          360      360
  Partials         46       46

Continue to review full report at Codecov.

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

Codecov Report

Merging #9 (2dac551) into master (e14aa0f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #9   +/-   ##
=========================================
  Coverage     64.84%   64.84%
  Complexity        1        1
=========================================
  Files            49       49
  Lines          1155     1155
  Branches         66       66
=========================================
  Hits            749      749
  Misses          360      360
  Partials         46       46

Continue to review full report at Codecov.

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


[Event Request] COD1380 BatchProcess

Could you please add 2 Events on Codeunit 1380 "Batch Processing Mgt." on BatchProcess-Procedure.

Hi, unfortunaly there is an error in your implementation of the event. You did not respect the red text of the picture.
Now if you use the IsHandled-Parameter, the Open Window will never be closed!


Update vcsh to 2.x

This is rather a shot in the dark. I'm the one that did the work upstream overhauling the build system between 1.x and 2.x so I know what happened there, but I don't know if this packaging is anything like correct.
The major change is that we switched from a home-grown makefile to a regular autotools build with a configure that checks for dependencies and system paths, and a make install that puts it all in standardized locations. All standard things like --prefix when configuring and DESTDIR when installing should would as expected now.
Additionally there are bash and zsh completions that should get installed, but I don't know if this build recipe will handle that or not.
@ttuegel I'm available for questions, and by all means if this doesn't get close feel free to nuke this and handle it however is proper.
Motivation for this change
Upstream release:
https://github.com/RichiH/vcsh/releases/tag/v2.0.1
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I am very sorry I didn't notice the sile update, that should be put in a separate commit, so exactly two commits:

vcsh: 1.20170915 → 2.0.1
sile: 0.10.14 → 0.10.15

Otherwise the vcsh package builds and runs, LGTM.

Wow what the heck! That should not have gotten in this squash, I was working on that in another branch. I must have gotten sapped by a Neovim buffer still being open and a :W instead of :w.

That sile update isn't even current! It was from months ago and is already in master. Another update is in progress in #136453, I've removed that from the commit.


NEW: create twitter widget

Create twitter widget in home page

Thanks @anibalsolon ! Should I merge it directly in the main branch?

It is fine to merge to develop and then to main- we would need to back-merge main to develop, so it is not saving operations by merging directly to main.


Go Redis will get slow query (1 s) when application load is heavy

I have a web API written in Go using Go redis.
the API will connection to redis,fetch the newest 5 items in a 20-items list,do some iter computation,and reture the result.
(I will use RPUSH to store the list )
However,when a use http_load to run benchmark,the log shows that redis is slow.
The slow rate is about 0.1%.
Every time I run the benchmark,there will be slow log
When I use Python script ,the redis response always in ms!
How is that?
the init connection code is as this:
spec := redis.DefaultSpec().Host(host).Port(port).Db(db)
conn, e := redis.NewAsynchClientWithSpec(spec)
if e != nil {
    log.Fatal("Error creating client for worker: ", e)
    os.Exit(1)
}

And the Lrange code is as this:
futureData,err = (*Redis).Lrange("my redis key",- 5,-1)
timeout := 100*time.Millisecond
t := time.Now()
mydata,err,timedout  := futureData.TryGet(timeout)
if time.Since(t) > time.Second {
    log.Println("slow redis query[fetch result]"）
}

Well the usage is correct, but I can't speak to the usage of micro-benchmark you are using. For one, you did not provide that, and more importantly, micro-benchmarks are not definitive in terms of performance benchmarks.


Segmentation fault in yarp::dev::ControlBoardSubControlBoardAxesDecomposition

I got the following segfault while trying to run yarprobotinterface for a Gazebo 7 simulation:

Below the responsible piece of code, and here the link to the line reported by valgrind:
295 void ControlBoardSubControlBoardAxesDecomposition::fillCompleteJointVectorFromSubControlBoardBuffers(int* full, const RemappedControlBoards& remappedControlBoards)
296 {
297    for(size_t ctrlBrd=0; ctrlBrd < remappedControlBoards.getNrOfSubControlBoards(); ctrlBrd++)
298   {
299        m_counterForControlBoard[ctrlBrd] = 0;
300    }
301
302    for(int j=0; j < m_nrOfControlledAxesInRemappedCtrlBrd; j++)
303    {
304        size_t subIndex=remappedControlBoards.lut[j].subControlBoardIndex;
305        full[j] = m_bufferForSubControlBoardControlModes[subIndex][m_counterForControlBoard[subIndex]];
306        m_counterForControlBoard[subIndex]++;
307    }
308 }

Steps for reproducing the segfault:
yarpserver &
gazebo &
YARP_ROBOT_NAME="icubGazeboSim" yarprobotinterface --config launch-wholebodydynamics.xml

Eventually, I'm not sure if the yarprobotinterface output could be relevant:
TcpConnector::connect fail: Connection refused
Connect [handle=48] at <IP_ADDRESS>:16679
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/right_arm/stateExt:o to /wholeBodyDynamics/right_arm/stateExt:i
 * query "/wholeBodyDynamics/r_leg_ft_sensor"
 * query "/wholeBodyDynamics/left_leg/stateExt:i"
TcpConnector::connect fail: Connection refused
Connect [handle=56] at <IP_ADDRESS>:21031
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/right_leg/analog:o to /wholeBodyDynamics/r_leg_ft_sensor
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:17447
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/left_leg/stateExt:o to /wholeBodyDynamics/left_leg/stateExt:i
 * query "/wholeBodyDynamics/right_leg/stateExt:i"
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:18215
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/right_leg/stateExt:o to /wholeBodyDynamics/right_leg/stateExt:i
 * query "/wholeBodyDynamics/l_arm_ft_sensor"
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:19495
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/left_arm/analog:o to /wholeBodyDynamics/l_arm_ft_sensor
 * query "/wholeBodyDynamics/l_foot_ft_sensor"
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:21543
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/left_foot/analog:o to /wholeBodyDynamics/l_foot_ft_sensor
 * query "/wholeBodyDynamics/head/stateExt:i"
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:18983
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/head/stateExt:o to /wholeBodyDynamics/head/stateExt:i
 * query "/wholeBodyDynamics/r_arm_ft_sensor"
 * query "/wholeBodyDynamics/torso/stateExt:i"
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:20007
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/right_arm/analog:o to /wholeBodyDynamics/r_arm_ft_sensor
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:15143
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/torso/stateExt:o to /wholeBodyDynamics/torso/stateExt:i
 * query "/wholeBodyDynamics/r_foot_ft_sensor"
 * query "/wholeBodyDynamics/imu"
TcpConnector::connect fail: Connection refused
Connect [handle=51] at <IP_ADDRESS>:19239
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/inertial to /wholeBodyDynamics/imu
TcpConnector::connect fail: Connection refused
Connect [handle=56] at <IP_ADDRESS>:22055
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/right_foot/analog:o to /wholeBodyDynamics/r_foot_ft_sensor
 * query "/wholeBodyDynamics/l_leg_ft_sensor"
 * query "/wholeBodyDynamics/left_arm/stateExt:i"
TcpConnector::connect fail: Connection refused
Connect [handle=48] at <IP_ADDRESS>:20519
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/left_leg/analog:o to /wholeBodyDynamics/l_leg_ft_sensor
TcpConnector::connect fail: Connection refused
Connect [handle=48] at <IP_ADDRESS>:15911
yarp: SocketTwoWayStream::updateAddresses failed getting local address
yarp: Removing output from /icubSim/left_arm/stateExt:o to /wholeBodyDynamics/left_arm/stateExt:i

cc @francesco-romano @traversaro

Actually, that source file has been copied from robotology/yarp. Follow the https://github.com/robotology/yarp/issues/1212 and then port the fix also here.

Refer to https://github.com/robotology/yarp/issues/1212 for the culprit.


The destination matches on the host and path

There's also
`hoverctl destination ''
and
`hoverctl destination '' --dry-run url-to-test.com

LGTM!


CanvasRenderer gets stuck at the last renderTexture resolution

I initially noticed that interactive events were getting sent the wrong location. It turns out that if a texture is drawn that has a resolution different to the default renderer resolution on the canvas renderer, then the canvas itself gets set to that resolution.
It stems from this PR: https://github.com/pixijs/pixi.js/pull/2870
If you add the 2 lines back into CanvasRenderer.js
this.rootResolution = this.resolution
and
this.resolution = this.rootResolution;
Then this issue goes away. I don't know the problem that PR was attempting to solve, so not submitting a reverse PR just yet

The problem was that you couldn't change the resolution of the canvas renderer because it would always just use 1 because it reset to rootResolution that defaulted to 1 and was never set anywhere else.

Ah, ok, I'd gotten around that by doing
renderer.resolution = renderer.rootResolution = newResolution


Approve profile page for EnvReportingBC

As Environmental Reporting BC,  I need a profile page in the BCDevExchange.
Created by: Loren
DOD

Profile page approved and in PROD.

Approach
With EnvReportingBC for approval

@dy2288 This page is approved by the program owner: https://bcdevexchange.org/programs/Environmental Reporting BC
Please add here using the first sentence from the Description on the profile: https://bcdevexchange.org/programs
@watkinspd

Done.

Thanks!
On Nov 10, 2015 12:18 PM, dy2288<EMAIL_ADDRESS>wrote:
Done.

Reply to this email directly or view it on GitHubhttps://github.com/BCDevExchange/BCDevExchange-app/issues/169#issuecomment-155553610.


HLS video playback not working on many players

Which version are you using?
v0.16.4
Which operating system are you using?

OS

[ ] Linux
[X] Windows
[X] macOS

Architecture

[X] amd64
[ ] arm64
[ ] arm7
[ ] arm6

Describe the issue
Description playback is not streaming with any video player apart from hls.js, i've tried VideoJs & shaka-player.
I have tried on a mac and windows machine for playback and cannot get an output on the HLS feed.
Describe how to replicate the issue

start the server with docker or running the code GO
publish stream with OBS (rtmp)
https://jsfiddle.net/tLe5u96h/
Player fails to display video

I have used your attempt and am getting the same outcome - see https://github.com/aler9/rtsp-simple-server/issues/461.

video.js is now supported in main (6ad638d).

I’ve not been able to test it yet, but thank you :)

Can confrim fully working with videoJs7

side note: shaka-player doesn't support HLS with TS segments, therefore it can't be used with rtsp-simple-server.


add toggle for 24-hour clock on report btn

Requested by #2861

Wouldn't it be possible to add a different DateTimeFormatter which would be used to display 24hr time rather than doing a bunch of string processing on each time block

@Nightfirecat I looked at it first and thought it had no "support" for 24 hour cycle, but surely it had.

You could detect user system clock automagically instead of making this toggle.


drivers/bluetooth: ipm_stm32wb.c: Increase RX thread stack size

Stack overflows where seen in heavy logging conditions since printk
modifications that increased "slightly" RAM consumption
(973487fdad1b72e7aaeb95c0330b9fa4a5831026).
Increase RX Thread stack size to avoid these overflows.
Signed-off-by: Erwan Gouriou<EMAIL_ADDRESS>

@jhedberg, @joerchan, after debugging this case, it seemed to me that memory for logging is allocated by the calling thread and not by the log thread, is that the correct understanding?
Anyway, increasing the RX thread stack fix the issue

@jhedberg, @joerchan, after debugging this case, it seemed to me that memory for logging is allocated by the calling thread and not by the log thread, is that the correct understanding?
Anyway, increasing the RX thread stack fix the issue

It appends many time to me that enabling log for debug purpose causes similar issue (usage fault issue, ...). It could be interesting to have an automatic way to increase stack size (calling thread ??) when increasing log level

It appends many time to me that enabling log for debug purpose causes similar issue (usage fault issue, ...). It could be interesting to have an automatic way to increase stack size (calling thread ??) when increasing log level

Best to make it simple, unless we really need the memory saving.


0.7 update

Just wondering if someone is already working on making this compatible with PureScript 0.7?

Yes, I'm working on it

Fantastic! :)


Map view automatically pans without user input

Very often in a recent version, the map views automatically pans upwards. In the example, I manually pan down (ie the map moves down) by dragging, then I move (but don't drag!) the cursor down. As you can see, the map moves upwards:
https://user-images.githubusercontent.com/1289165/128626640-6faa28ed-8878-498e-9fea-efcc331328e9.mp4

It's not completely apparent from your video but it's a behavior I'm familiar with; in the cases I've seen it's caused by the default autoPan flag of the new popups (as opposed to the tooltips in earlier versions) which is sometimes behaving unexpectedly. It makes room for a popup when you're swinging over a marker but then eventually may not display the popup...
To verify this is indeed the cause, can you try to add autoPan: false to the bindPopup options in mapView.ts:352 (last line of newMarker.on('mouseover'...)?

I just tried it out and that seems to fix the problem! Looking at my video, my mouse does go over a marker when I move it down, so that makes sense. I do have a couple of huge paragraphs in the tooltip that almost spans the complete vertical space, so that might be it.

I'm wondering whether the right thing to do is to turn off this flag (meaning sometimes popups can get located off the view), or to limit the size of the popup. I'll try to experiment with both to see which provides the best user experience. If you get to a conclusion after playing around with autoPan: false, would love to hear.

Hmm, my intuition would be to limit the size of the popup, possibly with being able to scroll? I think it'll do even if not, honestly.