camera integration thru iframe/web viewer

Hi!
I'm interested on your solution on creating native apps
However. Is it capable to connect native camera to the iframe web app? or is it possible to iframe my web app with camera integration and use your web viewer. Do the camera of the web app will allow ?
Our use case is for timekeeping purposes wherein an employee time-in thru selfie.

Hi @dominickenaje
It seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Failure to compile

I get the following error when I try to compile swdcom from github using make:
[ -d stlink/.git ] || git submodule update --init
Submodule 'stlink' (https://github.com/Crest/stlink.git) registered for path 'stlink'
Cloning into '/home/sean/Downloads/swdcom/swdcom/stlink'...
Submodule path 'stlink': checked out '14fc947acfcd04dd2a07c26d0ce7ea7916b2a65c'
make -C stlink
make[1]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink'
-- The C compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Git: /usr/bin/git (found version "2.33.0")
-- Rewrite /home/sean/Downloads/swdcom/swdcom/stlink/.version with 1.6.1!
-- stlink version: 1.6.1-91-g14fc947
-- Major 1 Minor 6 Patch 1
-- Performing Test C_SUPPORTS_STD_GNU11
-- Performing Test C_SUPPORTS_STD_GNU11 - Success
-- Performing Test C_SUPPORTS_STD_GNU18
-- Performing Test C_SUPPORTS_STD_GNU18 - Success
-- Performing Test C_SUPPORTS_WALL
-- Performing Test C_SUPPORTS_WALL - Success
-- Performing Test C_SUPPORTS_WEXTRA
-- Performing Test C_SUPPORTS_WEXTRA - Success
-- Performing Test C_SUPPORTS_WSHADOW
-- Performing Test C_SUPPORTS_WSHADOW - Success
-- Performing Test C_SUPPORTS_D_FORTIFY_SOURCE_2
-- Performing Test C_SUPPORTS_D_FORTIFY_SOURCE_2 - Success
-- Performing Test C_SUPPORTS_FSTRICT_ALIASING
-- Performing Test C_SUPPORTS_FSTRICT_ALIASING - Success
-- Performing Test C_SUPPORTS_WUNDEF
-- Performing Test C_SUPPORTS_WUNDEF - Success
-- Performing Test C_SUPPORTS_WFORMAT
-- Performing Test C_SUPPORTS_WFORMAT - Success
-- Performing Test C_SUPPORTS_WFORMAT_SECURITY
-- Performing Test C_SUPPORTS_WFORMAT_SECURITY - Success
-- Performing Test C_SUPPORTS_WMAYBE_UNINITIALIZED
-- Performing Test C_SUPPORTS_WMAYBE_UNINITIALIZED - Success
-- Performing Test C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS
-- Performing Test C_SUPPORTS_WMISSING_VARIABLE_DECLARATIONS - Failed
-- Performing Test C_SUPPORTS_WSHORTEN_64_TO_32
-- Performing Test C_SUPPORTS_WSHORTEN_64_TO_32 - Failed
-- Performing Test C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION
-- Performing Test C_SUPPORTS_WIMPLICIT_FUNCTION_DECLARATION - Success
-- Performing Test C_SUPPORTS_WREDUNDANT_DECLS
-- Performing Test C_SUPPORTS_WREDUNDANT_DECLS - Success
-- Performing Test C_SUPPORTS_FPIC
-- Performing Test C_SUPPORTS_FPIC - Success
-- Performing Test C_SUPPORTS_O2
-- Performing Test C_SUPPORTS_O2 - Success
-- Performing Test C_SUPPORTS_WERROR
-- Performing Test C_SUPPORTS_WERROR - Success
-- Found libusb: /usr/lib/libusb-1.0.so
-- Looking for __stack_chk_fail in ssp
-- Looking for __stack_chk_fail in ssp - not found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- STLINK_LIB_SHARED: stlink
-- PROJECT_VERSION_MAJOR: 1
-- VERSION: 1.6.1
-- STLINK_LIB_STATIC: stlink-static
-- PROJECT_VERSION_MAJOR: 1
-- VERSION: 1.6.1
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0")
-- Checking for module 'gtk+-3.0'
--   Found gtk+-3.0, version 3.24.30
-- Found GTK3: -I/usr/include/gtk-3.0;/usr/include/pango-1.0;/usr/include/glib-2.0;/usr/lib/glib-2.0/include;/usr/include/harfbuzz;/usr/include/freetype2;/usr/include/libpng16;/usr/include/libmount;/usr/include/blkid;/usr/include/fribidi;/usr/include/cairo;/usr/include/lzo;/usr/include/pixman-1;/usr/include/gdk-pixbuf-2.0;/usr/include/gio-unix-2.0;/usr/include/cloudproviders;/usr/include/atk-1.0;/usr/include/at-spi2-atk/2.0;/usr/include/dbus-1.0;/usr/lib/dbus-1.0/include;/usr/include/at-spi-2.0, gtk-3;gdk-3;z;pangocairo-1.0;pango-1.0;harfbuzz;atk-1.0;cairo-gobject;cairo;gdk_pixbuf-2.0;gio-2.0;gobject-2.0;glib-2.0
-- Manpage generation disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sean/Downloads/swdcom/swdcom/stlink/build/Release
[RELEASE]
make[2]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[3]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[  2%] Building C object CMakeFiles/stlink.dir/src/common.c.o
[  5%] Building C object CMakeFiles/stlink.dir/src/stlink-lib/chipid.c.o
[  8%] Building C object CMakeFiles/stlink.dir/src/stlink-lib/flash_loader.c.o
[ 11%] Building C object CMakeFiles/stlink.dir/src/stlink-lib/logging.c.o
[ 13%] Building C object CMakeFiles/stlink.dir/src/stlink-lib/md5.c.o
[ 16%] Building C object CMakeFiles/stlink.dir/src/stlink-lib/sg.c.o
[ 19%] Building C object CMakeFiles/stlink.dir/src/stlink-lib/usb.c.o
[ 22%] Linking C shared library lib/libstlink.so
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 22%] Built target stlink
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 25%] Building C object CMakeFiles/stlink-static.dir/src/common.c.o
[ 27%] Building C object CMakeFiles/stlink-static.dir/src/stlink-lib/chipid.c.o
[ 30%] Building C object CMakeFiles/stlink-static.dir/src/stlink-lib/flash_loader.c.o
[ 33%] Building C object CMakeFiles/stlink-static.dir/src/stlink-lib/logging.c.o
[ 36%] Building C object CMakeFiles/stlink-static.dir/src/stlink-lib/md5.c.o
[ 38%] Building C object CMakeFiles/stlink-static.dir/src/stlink-lib/sg.c.o
[ 41%] Building C object CMakeFiles/stlink-static.dir/src/stlink-lib/usb.c.o
[ 44%] Linking C static library lib/libstlink.a
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 44%] Built target stlink-static
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 47%] Building C object CMakeFiles/st-flash.dir/src/st-flash/flash.c.o
[ 50%] Building C object CMakeFiles/st-flash.dir/src/st-flash/flash_opts.c.o
[ 52%] Linking C executable bin/st-flash
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 52%] Built target st-flash
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 55%] Building C object CMakeFiles/st-info.dir/src/st-info/info.c.o
[ 58%] Linking C executable bin/st-info
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 58%] Built target st-info
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[4]: Entering directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
[ 61%] Building C object CMakeFiles/st-util.dir/src/st-util/gdb-remote.c.o
[ 63%] Building C object CMakeFiles/st-util.dir/src/st-util/gdb-server.c.o
In function ‘do_connect’,
inlined from ‘do_connect’ at /home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:88:18,
inlined from ‘serve’ at /home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:1821:18:
/home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:92:14: error: ‘stlink_open_usb’ accessing 64 bytes in a region of size 28 [-Werror=stringop-overflow=]
92 |         sl = stlink_open_usb(st->logging_level, st->reset, serialnumber, 0);
|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c: In function ‘serve’:
/home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:92:14: note: referencing argument 3 of type ‘char *’
In file included from /home/sean/Downloads/swdcom/swdcom/stlink/inc/stlink.h:306,
from /home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:28:
/home/sean/Downloads/swdcom/swdcom/stlink/src/stlink-lib/usb.h:69:11: note: in a call to function ‘stlink_open_usb’
69 | stlink_t *stlink_open_usb(enum ugly_loglevel verbose, int reset, char serial[STLINK_SERIAL_MAX_SIZE], int freq);
|           ^~~~~~~~~~~~~~~
In function ‘do_connect’,
inlined from ‘do_connect’ at /home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:88:18,
inlined from ‘main’ at /home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:227:10:
/home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:92:14: error: ‘stlink_open_usb’ accessing 64 bytes in a region of size 28 [-Werror=stringop-overflow=]
92 |         sl = stlink_open_usb(st->logging_level, st->reset, serialnumber, 0);
|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c: In function ‘main’:
/home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:92:14: note: referencing argument 3 of type ‘char *’
In file included from /home/sean/Downloads/swdcom/swdcom/stlink/inc/stlink.h:306,
from /home/sean/Downloads/swdcom/swdcom/stlink/src/st-util/gdb-server.c:28:
/home/sean/Downloads/swdcom/swdcom/stlink/src/stlink-lib/usb.h:69:11: note: in a call to function ‘stlink_open_usb’
69 | stlink_t *stlink_open_usb(enum ugly_loglevel verbose, int reset, char serial[STLINK_SERIAL_MAX_SIZE], int freq);
|           ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[4]: *** [CMakeFiles/st-util.dir/build.make:90: CMakeFiles/st-util.dir/src/st-util/gdb-server.c.o] Error 1
make[4]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[3]: *** [CMakeFiles/Makefile2:342: CMakeFiles/st-util.dir/all] Error 2
make[3]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[2]: *** [Makefile:156: all] Error 2
make[2]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink/build/Release'
make[1]: *** [Makefile:34: release] Error 2
make[1]: Leaving directory '/home/sean/Downloads/swdcom/swdcom/stlink'
make: *** [GNUmakefile:18: stlink/build/Release/lib/libstlink.a] Error 2
Any idea what I'm missing that is preventing compilation?

Actually, I seem to be programming it through the USB ST-link, not the USB serial cable.

Please try the latest master branch again.

Close for lack of response.


i18n: declare error type and skip default section name

Codecov Report

Merging #6 (a1a8364) into main (4c45185) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   93.36%   93.38%   +0.01%
==========================================
  Files           5        5
  Lines         558      559       +1
==========================================
+ Hits          521      522       +1
  Misses         24       24
  Partials       13       13


Composable API for asserting algebraic properties and specifying execution strategy

Transducers.jl now has different kinds of fold that are usable with different algebraic properties of the reducing function:

binary function: foldl / transduce
monoid (semigroup): reduce / transduce_assoc
commutative monoid: reduce_commutative / transduce_commutative! (related: foreach(ndreducible(...)); foldl-based API to implement GEMM https://tkf.github.io/NDReducibles.jl/dev/)

Some of those functions are not exposed, as it was hard to come up with a consistent and composable interface.
This is not the only way to categorize the folds.  Another axis is based on the execution mechanism:

sequential: foldl / collect / copy
threaded divide-and-conquer: reduce / tcollect / tcopy
distributed fork-join: dreduce / dcollect / dcopy

Problems
It is ugly that the execution strategies are encoded in one-letter prefixes like t and d.  It is also hard to express other useful strategies:

single-threaded version of reduce to get pair-wise summation even in single-thread

simd = true can be set by default in this case.

single-threaded version of reduce_commutative when there is non-canonical iteration order (e.g., block matrix, ndreducible)

It is also impossible to let Transducers.jl choose the best strategy even though relevant information is already/can be encoded in the transducer/reducing function types.
Wants

Orthogonalize the algebraic properties and execution mechanisms.
An entry point that automatically chooses execution strategy.

Idea
Specifying strategy
One solution may be to introduce a new function fold (no l)
fold(rf, xf, coll; strategy = Auto(), ...)

where strategy can be something like
Auto()  # i.e. DWIM
Sequential()
Unordered()
ThreadedPairwise(basesize)  # ThreadedDivideAndConquer()? ThreadedDAC()?
ThreadedUnordered(basesize)
DistributedForkJoin(pool, basesize, inner_strategy)

s.t
foldl(rf, xf, coll) = fold(rf, xf, coll; strategy = Sequential())
reduce(rf, xf, coll; basesize) =
    fold(rf, xf, coll; strategy = ThreadedPairwise(basesize))
dreduce(rf, xf, coll; basesize, threads_basesize, pool) =
    fold(rf, xf, coll; strategy = Distributed(pool, basesize, ThreadedPairwise(threads_basesize)))

Asserting algebraic properties
Use some wrapper factory to declare the algebraic properties of reducing functions and transducers:
associative(op)
commutative(op)
stateless(xf)

For example:
op = (x, y) -> x + y
fold(op, Map(identity), coll)               # => foldl
fold(associative(op), Map(identity), coll)  # => reduce

Would it make sense to offer the strategy as an optional first positional argument like foldl([strategy,] rf, xf, coll) so the user can have more control over dispatch?


No longer works once on V12

Not sure if this module is still being maintained. but v12 is gving this:
Error: You are accessing the Combatant5e "data" field of which was deprecated in v10 and replaced with "system". Continued usage of pre-v10 ".data" paths is no longer supported"
at get data (foundry-esm.js:11866:15)
at group-initiative.js:94:90
at Array.reduce ()
at Combat5e.rollGroupInitiative (group-initiative.js:91:32)
at Combat5e.rollAll (group-initiative.js:71:51)
at 🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:616:16)
at 🎁Combat.prototype.rollAll#0 (libWrapper-wrapper.js:189:20)
at CombatTracker5e._onCombatControl (foundry.js:89790:38)
at HTMLAnchorElement. (foundry.js:89727:51)
at HTMLAnchorElement.dispatch (jquery.min.js:2:40035)
at v.handle (jquery.min.js:2:38006)

Thanks, I'll have a look at this soon. Obviously something I missed when converting to v11

I believe this should be fixed in version 2.1.6, will you let me know whether it's working for you in v12, @SilverwolfNL?

Seems to be working fine now , thank you


[stable/external-dns] Typo in azure resource group

Describe the bug
Typo.
In templates/deployment.yaml  found typo:
        # Azure Arguments
        {{- if eq .Values.provider "azure" }}
        {{- if .Values.azure.resoureGroup }}
        - --azure-resource-group={{ .Values.azure.resoureGroup }}
        {{- end }}

Need to fix resourceGroup

and in values.yaml also

Hi @aaktaev ,
Thank you for reporting the issue, we will fix it as far as we can.


Event dispatcher

Reuses 90% of Laravel's Events Dispatcher.

Check what it actually looks like once merged:
<?php namespace Winter\Storm\Events;

use Exception;
use ReflectionClass;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Illuminate\Container\Container;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Contracts\Broadcasting\Factory as BroadcastFactory;
use Illuminate\Contracts\Container\Container as ContainerContract;

class Dispatcher extends \Illuminate\Events\Dispatcher
{
    /**
     * The sorted event listeners.
     *
     * @var array
     */
    protected $sorted = [];

    /**
     * The event firing stack.
     *
     * @var array
     */
    protected $firing = [];

    /**
     * Register an event listener with the dispatcher.
     *
     * @param  string|array  $events
     * @param  mixed  $listener
     * @param  int  $priority
     * @return void
     */
    public function listen($events, $listener, $priority = 0)
    {
        foreach ((array) $events as $event) {
            if (Str::contains($event, '*')) {
                $this->setupWildcardListen($event, $listener);
            } else {
                $this->listeners[$event][$priority][] = $this->makeListener($listener);

                unset($this->sorted[$event]);
            }
        }
    }

    /**
     * Get the event that is currently firing.
     *
     * @return string
     */
    public function firing()
    {
        return last($this->firing);
    }

    /**
     * Fire an event until the first non-null response is returned.
     *
     * @param  string|object  $event
     * @param  mixed  $payload
     * @return array|null
     */
    public function until($event, $payload = [])
    {
        return $this->dispatch($event, $payload, true);
    }

    /**
     * Fire an event and call the listeners.
     *
     * @param  string|object  $event
     * @param  mixed  $payload
     * @param  bool  $halt
     * @return array|null
     */
    public function fire($event, $payload = [], $halt = false)
    {
        return $this->dispatch($event, $payload, $halt);
    }

    /**
     * Fire an event and call the listeners.
     *
     * @param  string|object  $event
     * @param  mixed  $payload
     * @param  bool  $halt
     * @return array|null
     */
    public function dispatch($event, $payload = [], $halt = false)
    {
        // When the given "event" is actually an object we will assume it is an event
        // object and use the class as the event name and this event itself as the
        // payload to the handler, which makes object based events quite simple.
        list($event, $payload) = $this->parseEventAndPayload($event, $payload);

        $responses = [];

        // If an array is not given to us as the payload, we will turn it into one so
        // we can easily use call_user_func_array on the listeners, passing in the
        // payload to each of them so that they receive each of these arguments.
        if (! is_array($payload)) {
            $payload = [$payload];
        }

        $this->firing[] = $event;

        if (isset($payload[0]) && $payload[0] instanceof ShouldBroadcast) {
            $this->broadcastEvent($payload[0]);
        }

        foreach ($this->getListeners($event) as $listener) {
            $response = $listener($event, $payload);

            // If a response is returned from the listener and event halting is enabled
            // we will just return this response, and not call the rest of the event
            // listeners. Otherwise we will add the response on the response list.
            if (! is_null($response) && $halt) {
                array_pop($this->firing);

                return $response;
            }

            // If a boolean false is returned from a listener, we will stop propagating
            // the event to any further listeners down in the chain, else we keep on
            // looping through the listeners and firing every one in our sequence.
            if ($response === false) {
                break;
            }

            $responses[] = $response;
        }

        array_pop($this->firing);

        return $halt ? null : $responses;
    }

    /**
     * Get all of the listeners for a given event name.
     *
     * @param  string  $eventName
     * @return array
     */
    public function getListeners($eventName)
    {
        if (!isset($this->sorted[$eventName])) {
            $this->sortListeners($eventName);
        }

        $listeners = $this->sorted[$eventName] ?? [];

        $listeners = array_merge(
            $listeners,
            $this->wildcardsCache[$eventName] ?? $this->getWildcardListeners($eventName)
        );

        return class_exists($eventName, false)
                    ? $this->addInterfaceListeners($eventName, $listeners)
                    : $listeners;
    }

    /**
     * Sort the listeners for a given event by priority.
     *
     * @param  string  $eventName
     * @return array
     */
    protected function sortListeners($eventName)
    {
        $this->sorted[$eventName] = [];

        // If listeners exist for the given event, we will sort them by the priority
        // so that we can call them in the correct order. We will cache off these
        // sorted event listeners so we do not have to re-sort on every events.
        if (isset($this->listeners[$eventName])) {
            krsort($this->listeners[$eventName]);

            $this->sorted[$eventName] = call_user_func_array(
                'array_merge',
                $this->listeners[$eventName]
            );
        }
    }

    /**
     * Create a callable for putting an event handler on the queue.
     *
     * @param  string  $class
     * @param  string  $method
     * @return \Closure
     */
    protected function createQueuedHandlerCallable($class, $method)
    {
        return function () use ($class, $method) {
            $arguments = $this->cloneArgumentsForQueueing(func_get_args());

            if (method_exists($class, 'queue')) {
                $this->callQueueMethodOnHandler($class, $method, $arguments);
            } else {
                $this->resolveQueue()->push('Winter\Storm\Events\CallQueuedHandler@call', [
                    'class' => $class, 'method' => $method, 'data' => serialize($arguments),
                ]);
            }
        };
    }

    /**
     * Clone the given arguments for queueing.
     *
     * @param  array  $arguments
     * @return array
     */
    protected function cloneArgumentsForQueueing(array $arguments)
    {
        return array_map(function ($a) {
            return is_object($a) ? clone $a : $a;
        }, $arguments);
    }

    /**
     * Call the queue method on the handler class.
     *
     * @param  string  $class
     * @param  string  $method
     * @param  array  $arguments
     * @return void
     */
    protected function callQueueMethodOnHandler($class, $method, $arguments)
    {
        $handler = (new ReflectionClass($class))->newInstanceWithoutConstructor();

        $handler->queue($this->resolveQueue(), 'Winter\Storm\Events\CallQueuedHandler@call', [
            'class' => $class, 'method' => $method, 'data' => serialize($arguments),
        ]);
    }
}


Rewrite content for development homepage

https://trello.com/c/mk5M2aKD/619-general-design-and-stylistic-updates-to-signup-workflow
Since a developer may not think to spin up the app in order to
learn about it, we should favour having documentation in the
README, which happens to already cover all of the content here.
On the other hand, keeping this page still provides a nicer
experience for someone who's new to the app. This replaces the
previous content with some simple links to further info.
Before

After

Thanks for the review @1pretz1 👍.

I think this was only added so govuk-docker wouldn't complain when starting the app up as it expected a root page to exist.

I don't think this is true, as GOV.UK Docker has no expectations of what an app does once it's started. Although you're right it's referenced in the original commit - a @kevindew special 😄.

There used to be a check that queried whether an app started up or not otherwise you got some red text: https://github.com/alphagov/govuk-docker/blob/894457484abcb5abe01734ebeb4b7479bd876128/lib/govuk_docker/commands/startup.rb#L36
Even though the GOV.UK Docker concern is gone, it's still nice to have this as it can be a disconcerting experience when you freshly start an app and get a 404 when you query it's root.
It sounds good to simplify the info.

There used to be a check that queried whether an app started up or not otherwise you got some red text.

Oh yeah! Thanks for pointing that out @kevindew - I've tried to forget about the rather painful "Ruby CLI" era!


ignore: using for reviewing

Motivation
(Write your motivation here)
Test Plan
(If you changed any code, please provide clear instructions on how you verified your changes work.)
Related PRs
(Link any related PRs here)

There doesn't appear to be any penalties for double signing or being offline.


Beginner-oriented command help messages

Comes after https://github.com/coursier/coursier/pull/2253
Fixes https://github.com/coursier/coursier/issues/2196

Hide some more options
Group all options
Sort all option groups

I rebased and addressed the review for this one in #2272, because @adpi2 is on vacation this week.

Merged via https://github.com/coursier/coursier/pull/2272.


Rework NetworkRequestRepresenting

Issue:
For the following reasons, we want to try an other approach to represent requests:

Base URL Key concept is not directly comprehensible
Not all information about the request is available: NetworkRequestRepresenting does not contain the whole URL to perform the request.
NetworkRequestRepresenting can be configured to be invalid. This is not ideal.

Issue #31
Issue #32

Proposed solution:
We aim for a solution that addresses these points. The proposed solution is to rewrite the NetworkRequestRepresenting protocol that its only function is to return a valid URLRequest.

Simplifies usage of DBNetworkStack by removing Base URL Key concept (See: #9). An URLRequest contains all information about the request
With an URLRequest starting this request should always be possible, which resolves #31 and #32

done with #35


feat : Night Mode extension

White light often strains our eyes especially for developers, coders so why not make their lives easier by implementing night mode. Make an extension that enables night mode. Also, add an on and off button for night mode.

[ ] Create a folder with all code
[ ] Add readme with a preview picture of the extension
[ ] Attach a picture of the extension while creating a PR

Create a PR 🥳
Happy contributing 🎊

Hi @harshita214, I am interested in working on this under JWOC.

Sure @RajulPE, Go ahead and start building 🚀 All the best 👍

Completed - #21


fix: dead links in Release Notes

Just some things that aren't redirecting anymore since there has been a few relocations over time.

Thanks for catching these!


Create logical design for External Person authentication and authorization

I want to create a logical design for external Person authentication and authorization, so that the FHIR solution can authenticate and authorize calls from external users

DEC-8: The delivery team met with the Product Group to discuss the latest authN/authZ recommendations, including SMART on FHIR support and product roadmap

Mike Schimmel has responded on this user story that Person Auth requires a discussion with a product owner on what the entitlements need to be. Then, a design can be proposed for it by the Microsoft team.

External person authorization is not needed for FY23 Q2 so Watson moved this to the Ice Box. Only machine-to-machine authorization is required for this Phase 1 of the FHIR project.

Draft Architecture Drawing on Lucid:  https://lucid.app/lucidchart/bfeea8ed-ad1d-4052-9f9b-a9fc3f758d07/edit?page=vmE9hOIVsmk72&invitationId=inv_8ac32cb4-2d06-4cee-a4ce-1a2d5c5941b6#

Visio version of Drawing:  https://microsoft.sharepoint.com/:u:/r/teams/CDCDataModernizationInitiativeDMIINTERNALONLY/_layouts/15/Doc.aspx?sourcedoc={97905E6E-D441-4B32-8D03-A19425B9AF59}&file=FHIR User Auth Logical Architecture.vsdx&action=default&mobileredirect=true&share=IQFuXpCXQdQyS40DoZQlua9ZAWYQVWFmETJ9oubIXvDeDSg


Auto Routing Rules don't apply Launch Args

First off, thank you for the great program, it is designed so much nicer than other apps like it. 👏
Here's my understanding of the issue — in AutoRulesCheck.cs, the browser is started with this command:
Process.Start(x.ExePath, link);

It's missing the LaunchArgs part that is included elsewhere, such as BrowsersList.xaml.cs, there's some extra logic to include the LaunchArgs and apply them to the command:
Process.Start(browser.ExePath, Link + " " + browser.LaunchArgs);

For reference, my use case is this: I have a different Github account for my work, and a separate Chrome profile where I'm logged into my work Github. But when I click PR links in Slack, it randomly opens in either my default profile or the work profile (whichever one I most recently opened a tab in).

Yes, I will release a new version soon to add this. Thanks for me making aware of this.


Adding reportstream-sftp-ingestion to sonar cloud

A new project needs to be created in sonarCloud, the associated github directory is reportstream-sftp-ingestion

Project overview and summary pages.


Fixes #1164 - Peloton connects to nonexistent database

Coverage decreased (-0.0009%) to 77.167% when pulling d4b177f7d48bae177c0d7b28a4ddd26bbd5aa5bc on eribeiro:1164-inexistent-db into 624cdde090b7888e553549b28dd07e581422e455 on cmu-db:master.

@eribeiro Thanks for the PR, I just forgot to inform you about doing a separate PR as I’m busy with a conference this week. However, please fix the undeclared identifier error for client. Then the code should compile fine.

I would review this when this PR is ready to review.

@schedutron @ChTimTsubasa My bad! I was rebasing with current master late last night and didn't see this "little" detail. Thanks for pointing out.

Ok, I am gonna add those tests asap. Btw, I was able to get the a basic jdbc tests running. Some observations below when running with the following JDBC URL: jdbc:postgresql://localhost:<port>/foo

This is the stack trace on Postgres connecting to a non existent database (foo):

Exception in thread "main" org.postgresql.util.PSQLException: FATAL: database "foo" does not exist
	at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:730)
	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:231)
	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
	at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
	at org.postgresql.Driver.makeConnection(Driver.java:407)
	at org.postgresql.Driver.connect(Driver.java:275)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at PelotonBasicTest.makeConnection(PelotonBasicTest.java:149)
	at PelotonBasicTest.<init>(PelotonBasicTest.java:144)
	at PelotonBasicTest.SingleTest(PelotonBasicTest.java:807)
	at PelotonBasicTest.main(PelotonBasicTest.java:801)

This is the stack trace of Peloton after the patch connecting to same non existent database:

Exception in thread "main" org.postgresql.util.PSQLException: FATAL: Database "foo" doesn't exist
	at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:451)
	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:223)
	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
	at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
	at org.postgresql.Driver.makeConnection(Driver.java:407)
	at org.postgresql.Driver.connect(Driver.java:275)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at PelotonBasicTest.makeConnection(PelotonBasicTest.java:149)
	at PelotonBasicTest.<init>(PelotonBasicTest.java:144)
	at PelotonBasicTest.SingleTest(PelotonBasicTest.java:807)
	at PelotonBasicTest.main(PelotonBasicTest.java:801)

There was a code and message for severity ('S' and "FATAL") as described here: https://www.postgresql.org/docs/9.4/static/protocol-error-fields.html that I added on the lastest commit, while the "3D000" error code came from here: https://www.postgresql.org/docs/9.4/static/errcodes-appendix.html

I see that if I don't provide the database name after the slash (jdbc:postgresql://localhost:15721/) then Peloton returns a empty value for the database name. Any idea of why this is happening?
Exception in thread "main" org.postgresql.util.PSQLException: Database "" doesn't exist
	at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:451)
	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:223)
	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
	at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
	at org.postgresql.Driver.makeConnection(Driver.java:407)
	at org.postgresql.Driver.connect(Driver.java:275)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at PelotonBasicTest.makeConnection(PelotonBasicTest.java:149)
	at PelotonBasicTest.<init>(PelotonBasicTest.java:144)
	at PelotonBasicTest.SingleTest(PelotonBasicTest.java:807)
	at PelotonBasicTest.main(PelotonBasicTest.java:801)

The exception looks like that you are implementing the database check correctly. Can you try some test cases with "default_database", which is the default existing database?

I don't understand the comment about "not being able to register a test". How did you try to add the new test?

@eribeiro What is the status of this?


Add GeoJSON encoding to geom package. (#288)

Title says it all.

Coverage increased (+0.5%) to 42.146% when pulling 4f5323b0b41d4b1b0d3fe29d05748ab2b9aac265 on issue-288_geojson_encoding into 633a2e69054ce31a25a770bfd62644e5f9198d4f on v0.6.0.

updates are in.

Looks good to me, can't approve since I opened the PR.


Username is not valid format

Laravel Version: 5.5.24
Adldap2-Laravel Version: v3.0.5
PHP Version: 7.1
LDAP Type: Active Directory

Description:
Hello,
I use the below code to check if a user is valid
$credentials = $request->only($this->username(), 'password');
$username = $credentials[$this->username()];
$password = $credentials['password'];
$user_format = env('ADLDAP_USER_FORMAT', 'cn=%s,'.env('ADLDAP_BASEDN', ''));
$userdn = sprintf($user_format, $username);
if(Adldap::auth()->attempt($userdn, $password, $bindAsUser = true))

By using username and password it is working for most of the users except the users that they have the symbol '-' on the username.
E.g.
t_dimitris is working
t-dimitris is not working
Both accounts are valid and the passwords have been confirmed by login on the windows.
The error that i received is that the "Username is not valid format"

Strange, I can't seem to replicate this issue... Can you post a stack trace with sensitive details omitted?

Ignore this issue, my mistake I had extra validation with [w] regex and failed there sorry and thank you!

No problem, glad you got it working!


Add AlphaFold Multimer

Issue #, if available: N/A
Description of changes: Add AlphaFold Multimer support for HealthOmics
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

canceling PR in favor of in-repo branch


Synchronising two cameras using a hardwired sync cable.

Hi, please let me know if this is the wrong area to ask this question, im not sure where else to go with it.
I am looking to sync captured frames by two AV USB cameras. As such, I followed the guide here on hardwiring them: https://forum.alliedvision.com/t/how-to-synchronize-alvium-usb-cameras/232
I followed the steps and was able to make a cable and trigger a capture from two cameras, a controller and a follower.
However, I cannot understand how to pair the synchronized frames with each other after capture. I am using vmbpy in Python. The cameras are set up as above, and then instructed to start streaming in the main code as follows:
# Start Streaming with a custom a buffer of 10 Frames (defaults to 5)
follower_cam.start_streaming(handler=captured_frames_obj.follower_frame_handler,
    buffer_count=10,
    allocation_mode=vmbpy.AllocationMode.AnnounceFrame)
controller_cam.start_streaming(handler=captured_frames_obj.controller_frame_handler,
    buffer_count=10,
    allocation_mode=vmbpy.AllocationMode.AnnounceFrame)

You can see that they are set-up with a callback handler function. In this function, I write the frames and their Frame ID to a buffer.
def controller_frame_handler(self, cam: vmbpy.Camera, stream: vmbpy.Stream, frame: vmbpy.Frame):
    # print('Controller {} acquired {}'.format(cam, frame), flush=True)
    # Check if priority queue is not full, if not add frame to queue
    if not self.controller_queue.full():
        self.controller_frame = frame.as_numpy_ndarray()
        # print(f"Putting controller frame {frame.get_id()} in queue")
        self.controller_queue.put((frame.get_id(), self.controller_frame))

    cam.queue_frame(frame)

I have a buffer of frames and their ID from each camera then. However, when I match up pairs of frames by their ID, they are not in sync, as I would have expected.
Would you have any suggestions on how to capture pairs of frames that are in sync with a reasonable FPS rate?
Thanks,

Each frame has a timestamp (the satrt of the exposure time), that you can read out in the Callback. You could associate the IDs and the timestamp to check in your code what the actual times of the frames are.
What cameras are you using? Please also check the information in the User Guide regarding Hardware Triggers, the GPIO Interfaces and specifically if you have a Rolling Shutter camera, you can only trigger at half of the maximum FPS at the moment.
You can also check the timings of the trigger and the exposure by using the GPIOs and a logic analyzer to see the timings of the output ExposureActive for both cameras.
The settings for that would be almost the same as the ones for the trigger of the Controller, just on a different Line:
LineSelector = LineX
LineMode = Ouput
LineSource = ExposureActive
If you find discrepancy here, then it is most likely, that you have not set the settings correctly. Please check them in Vimba Viewer and attach screenshots for the various I/Os, Trigger and PixelFormat + ExposureTime settings.
Also note, that if the exposure time is longer than the period between triggers for the follower, then the triggers will be ignored.

Yes, the 2050 is a Rolling Shutter (RS) Sensor, so with the hardware trigger you don't get the full framerate, only half at the moment. With the coming firmware 13 you will be able to achieve almost the full framerate with hardware trigger, but until then, I recommend setting the controller to half the max FPS and setting the DeviceLinkThroughputLimit (the datarate of the camera in Bytes/s) as high as your hardware allows, before you get incomplete frames. A higher datarate gives you a higher max FPS in general.


Varargs in functions

Looking at the CraftTweaker documentation for IOreDictEntry, the example for adding items indicates that varargs functions exist, as shown here:
//oreDictEnt.add(IItemStack... item_items);
oreDictEnt.add(<minecraft:grass>);
oreDictEnt.add(<minecraft:iron_ore>, <minecraft:dirt>);

However, nowhere in the documentation for custom functions is there any indication of it being possible to declare a custom function to take a varargs parameter. I tried, as a quick test, declaring a function parameter parameterName as string... (and it was not just the last but the only parameter in that function) but running /ct syntax gave me the error ) expected at that line. I also tried declaring parameterName... as string[] and got the same error.
Can custom functions be declared to take varargs parameters? If so, what is the syntax (and can it be added to the documentation)? If not, can this be implemented?
Final note: I felt this belonged in the ZenScript issue tracker because it's a feature inherent to the language, not the minecraft-specific application of it. If I'm wrong about that, I can open a copy of this on the CraftTweaker issue tracker instead.

Unrelated side note, I love that github markdown syntax highlighting understands zenscript as a language.

ZS supports the idea of varargs.
However, currently only methods that are declared in the Java Code allow for varargs.
Custom functions in ZS are still pretty limited. They do not allow for varargs.
Heck, normal functions don't even allow for overloading or optional parameters.
If you are looking on how to use varargs when in Java Code, you can see here
https://github.com/CraftTweaker/CraftTweaker/blob/1.12/CraftTweaker2-API/src/main/java/crafttweaker/api/oredict/IOreDictEntry.java#L24
Since varargs are just syntactic sugar for an array creation, you can create the array explicitly.
Or you could create a zenClass inside ZS code, and have overloads for the most cases, so something like
zenClass MyClass {
    zenConstructor(){}
    function doSomething() as void {doSomething([]);}
    function doSomething(arg0 as string) as void {doSomething([arg0]);}
    function doSomething(arg0 as string, arg1 as string) as void {doSomething([arg0, arg1]);}
    function doSomething(arg0 as string, arg1 as string, arg2 as string) as void {doSomething([arg0, arg1, arg2]);}
    function doSomething(arg0 as string, arg1 as string, arg2 as string, arg3 as string) as void {doSomething([arg0, arg1, arg2, arg3]);}
    function doSomething(varargs as string[]) as void{
        /*Code here*/
    }
}


Fix bug and submit for code review

Fixing a bug in the return calculation and submitting for code review

Looks good! I have a suggestion for a performance improvement - there are loops across time and across assets. Let's see if we can vectorize some of these?

I have made the vectorization changes so the code is now running faster. Resubmitting for your review


Middleware - Orchestrator - delete stale heartbeat and action plans

A clear and concise description of what the bug is.
Currently, the stale heartbeats are not removed from the list of active tasks. Instead, it causes the task update jobs to process the completed tasks.
To fix this, prepare the job traversing through the NetApp heartbeat, and the deployed action plans to identify the stale objects.
The stale objects should be removed after a specific time of inactivity.

There is a need to filter the action plans and services based on the location they're deployed in.

Action Plans cannot be deleted for the planning based on historical data. They have to be marked as completed.

A better division of the Deployed NetApps is needed. For example, the NetApps would be separated into information about multiple deployed instances instead of one big action plan.
This is a significant change that will require remodelling of the data on the server side.

The proposal of the new relations for the deployed task


Uninitialized class property is defined with value "void 0" in es2015

Describe the bug
When transpiling to es2015, swc initializes an uninitialized class property to undefined:
// [...]
class Base {
    constructor(){
        _define_property(this, "data", 1);
    }
}
export class Foo extends Base {
    constructor(...args){
        super(...args);
        _define_property(this, "data", void 0);
    }
}

When es2022 is used, it does not initialize the property:
class Base {
    data = 1;
}
export class Foo extends Base {
    data;
}

Similarly, tsc and esbuild skip the initialization.
Input code
class Base {
  data: number = 1
}

export class Foo extends Base {
    data!: number
}

Config
{
  "jsc": {
    "parser": {
      "syntax": "typescript",
      "tsx": false
    },
    "target": "es2015",
    "loose": false,
    "minify": {
      "compress": false,
      "mangle": false
    }
  },
  "module": {
    "type": "es6"
  },
  "minify": false,
  "isModule": true
}

Playground link
https://play.swc.rs/?version=1.3.87&code=H4sIAAAAAAAAA0vOSSwuVnBKLE5VqOZSUEhJLEm0UsgrzU1KLVKwVTDkquXiSq0oyC8qUUgGq3TLz1dIrShJzUtB0gXRpwjTyFULABjS7aVWAAAA&config=H4sIAAAAAAAAA1VPSQ7CMAy85xWRzxwACQ78gUdEwa2Csil2JaKqfydpk0Jv9iye8SykhDdpeMi5jGWJKhGmfS8IZc%2FqUxDgHJF0MpHh1FmmSg3KEq7QsjHAKo3I1YV0PV9uzQE2BMLuaJgz3gz5P1MHFxMSHYVVqvxo8ZgoWiq48JpWsv1S%2B24N7vAT9bD9MBh6dienCcXyBbnuEC8XAQAA
SWC Info output
No response
Expected behavior
Skip the initialization of uninitialized class properties when target is es2015-2021 output.
It's not initializing to undefined when target is es2022.
Actual behavior
By setting the uninitialized property's value to undefined, it overrides the property value set in the base class.
Version
1.3.87
Additional context
Related issue: https://github.com/swc-project/swc/issues/3232

https://github.com/swc-project/swc/issues/7435

You can run this code in modern browsers with native class support.
You will get undefined.
class Base {
    data = 1;
}
class Foo extends Base {
    data;
}

console.log(new Foo().data); // undefined

TypeScript support class field syntax before it is standardized.
And TypeScript's class field has different semantics with native class field.
This is why useDefineForClassFields exists.
When target is set to es2022 or higher, TypeScript will use native class field semantics.
But you should not rely on the behavior of target default value.
You should always set useDefineForClassFields to true or false explicitly.
Once it works in TypeScript, it will work in swc.


Homepage "customisation" iframe still getting incorrect colour in light mode

To reproduce:

Go to https://ezkomment.vercel.app with Safari. Looks like iOS Safari is more likely to have this than macOS Safari.
Set the mode to light.
Reload the page.
See the iframe in the customisation section. Depending on luck, you might see the correct colour (in that case repeat step 3), or this:

The strange thing is that the <body> tag in the iframe doesn't have a .dark class, which means the current mode/theme mechanism is working.

This issue is not reproducible on Firefox.
I'm not even sure if this is our bug, it does actually look like a Safari bug. Still writing this issue for the record.

Not so completed, it's more like a workaround... But the kind of workaround that is simpler and far better than any solutions.


Add a threshold to DropColumnIfNull

Problem Description
The current version of DropColumnIfNull automatically drops any columns where all values are null. However, it would be good to have a threshold so that all columns that have a fraction of null values larger than a given threshold are dropped instead.
Feature Description
The DropColumnIfNull object should be modified so that it can take a "threshold" parameter, and then drop columns whose null fraction is above this threshold.
The value of the threshold should be 1.0 by default (i.e., all columns must be null to drop), and there should be a parameter for it in the TableVectorizer that the user can modify to tweak this.
Something to note is that the user may want to have different thresholds for different columns, which would complicate things.
Alternative Solutions
I am not sure whether we should have two separate objects like DropColumnIfNull and DropNullsAboveThreshold (tentative name), or if DropColumnIfNull should stay and get updated with the threshold.
We might want to have two different objects, one that takes a single value for the threshold, and one that allows for more granularity. Though, at that point it might just be better going with a TableVectorizer with specific transformers for each column :thinking:
Additional Context
No response

Hey @rcap107! We can add this parameter to the current DropNull object and rename it slightly IMO. Then, you could have a single parameter like drop_null_frac in the TableVectorizer, which is set to 1.0 by default (and None would mean no drop mechanism). Ideally, I would rather avoid having 2 separate input parameters in the TableVectorizer for this.
I guess having a single threshold for all columns is fine for now to keep things simple. WDYT?

Agreed, the first version should definitely be just a single threshold that's used for all columns, and that can take a single default value.
I still think that having an object that does the filtering with different thresholds for each column would be useful, but I don't see that as being a "default" part of the TV. Something for a different PR!

First draft in #1149

solved in #1149


Refactor: Button and ButtonLink have isSymmetrical prop instead of isSquare #DS-1484

Description

Additional context

Issue reference

coverage: 79.509% (+0.7%) from 78.791%
when pulling 237deeb99909a9c6fb274ad701ca93e7420f7ba3 on feat/ds-1484-button-rename-isSquare-to-isSymmetrical
into bc650cf61ff3ad724b5a6f03523b2043d534eba7 on integration/BC-v3-design-tokens.

❗This is not a refactor, but BREAKING CHANGE. Please, change the commits accordingly :-)

❗This is not a refactor, but BREAKING CHANGE. Please, change the commits accordingly :-)

Even though it's in the integration branch?


Installation with Conda creates Bokeh Errors

It seems that installing hvplot with conda install -c pyviz hvplot now installs bokeh versions 2.3 . This seems to cause errors when using Jupyter Lab and hvplot.pandas. Example:
The following code:
df.hvplot.line()

If using bokeh version 2.3, cell output:

If I uninstall bokeh and reinstall with 2.2.2 the output is correct:

This should be fixed by updating to the newly released HoloViews 1.14.2.

@Hoxbro Thanks! I created a new environment today and installed using conda install -c pyviz hvplot. Is this not best practice then if it doesn't install the correct version of Holoviews? Can you recommend a better alternative that installs it all?  Or do we need to run the that standard install line, plus a command to update holoviews.

You properly did everything correct.
The newest version of HoloViews was only released a couple hours ago.

Strange...We've been getting this error for a few days. Thanks for your
help though, I'll give this a try.
On Tue, Mar 2, 2021 at 4:06 PM Hoxbro<EMAIL_ADDRESS>wrote:

You properly did everything correct.
The newest version of HoloViews was only released a couple hours ago.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/holoviz/hvplot/issues/564#issuecomment-789215516, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AKLCLMPCZ4MHLCEIWWEPXRLTBVHNTANCNFSM4YPW2SZQ
.

Yes, please upgrade to Panel 0.11.0 and HoloViews 1.14.2 for compatibility with Bokeh 2.3. Sorry for the delay in getting compatible packages out.


odh configmap configuration to default template

I also changed the removal of raycluster tls objects so it is done by name rather than all at once
Issue link
https://redhat-internal.slack.com/archives/C06C5MK3MT9/p1708358451702429
https://issues.redhat.com/browse/RHOAIENG-3325
What changes have been made
I added optional configmaps to the default ray cluster template that match those generated by odh. I also changed the disabling of tls so that it removes only specific entries from volumes and volumeMounts that way it doesn't delete the volumes created in this PR
Verification steps
attempt to run a script that talks to endpoint with custom ca-cert and make sure it works without error or warning.
I'm not completely sure of a good way to test this
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] Testing is not required for this change

/hold needs test


Full screen editor in modal dialog no longer displays properly.

Full screen mode seems to be broken in the newest verson, (the editor disappears from the modal overly and is no longer full screen). From what I can see, the old version (v2.0.5) spawns  in the root of the body, whereas the new version is using the original div located in a bootstrap modal dialog). The change could be causing the problem.
Example
Also, there's no scroll bar in fullscreen mode, adding .fr-fullscreen .fr-wrapper { overflow-y: auto;} fixes the issue of not having a scroll-bar in full screen mode.

This is an issue with the editor itself, not the Angular plugin. I created a new issue on the editor repo and I am closing this one.

@Veloxio see https://github.com/froala/wysiwyg-editor/issues/1108#issuecomment-193823555.


[turbopack] Unable to resolve any modules

What version of Next.js are you using Turbopack in?
13.3.1
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Describe the Bug
When I start my server, I get the following errors
▶ npx next dev --turbo --show-all
info  - Loaded env from /Users/jakeleventhal/Code/Ecominate/apps/print-lab/client/.env
>>> TURBOPACK (alpha)

Thank you for trying Next.js v13 with Turbopack! As a reminder,
Turbopack is currently in alpha and not yet ready for production.
We appreciate your ongoing support as we work to make it ready
for everyone.

Learn more about Next.js v13 and Turbopack: https://nextjs.link/with-turbopack
Please direct feedback to: https://nextjs.link/turbopack-feedback

ready - started server on :::3000, url: http://localhost:3000
event - startup 3.543ms
error -
  [resolve]
    [next]/entry/fallback.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

      Error resolving EcmaScript Modules request
      unable to resolve module "react-dom" with subpath "/client"

    [next]/internal/shims-client.ts
      Error resolving EcmaScript Modules request
      unable to resolve uri "node:" "process"

    [next]/internal/shims.ts
      Error resolving EcmaScript Modules request
      unable to resolve uri "node:" "process"

    [next]/overlay/internal/ErrorBoundary.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

    [next]/overlay/internal/ReactDevOverlay.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/CodeFrame/CodeFrame.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

      Error resolving EcmaScript Modules request
      unable to resolve uri "node:" "process"

    [next]/overlay/internal/components/Dialog/Dialog.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Dialog/DialogBody.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Dialog/DialogContent.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Dialog/DialogHeader.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Dialog/DialogHeaderTabList.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Overlay/Overlay.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/ShadowPortal.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

      Error resolving EcmaScript Modules request
      unable to resolve module "react-dom"

    [next]/overlay/internal/components/Tabs/index.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Terminal/Terminal.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/components/Toast/Toast.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/container/Errors.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/container/ErrorsToast.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/container/RuntimeError.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

      Error resolving EcmaScript Modules request
      unable to resolve uri "node:" "process"

    [next]/overlay/internal/container/TurbopackIssue.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/helpers/parseStack.ts
      Error resolving EcmaScript Modules request
      unable to resolve uri "node:" "process"

    [next]/overlay/internal/helpers/stack-frame.ts
      Error resolving EcmaScript Modules request
      unable to resolve uri "node:" "process"

    [next]/overlay/internal/hooks/context.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/hooks/use-on-click-outside.ts
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

    [next]/overlay/internal/hooks/usePagination.ts
      Error resolving EcmaScript Modules request
      unable to resolve module "react"

    [next]/overlay/internal/icons/AlertOctagon.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/icons/AlertTriangle.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/icons/BaseIcon.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/icons/CloseIcon.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/icons/ExternalLink.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/icons/PackageX.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/styles/Base.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/styles/ComponentStyles.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

    [next]/overlay/internal/styles/CssReset.tsx
      Error resolving EcmaScript Modules request
      unable to resolve module "react" with subpath "/jsx-dev-runtime"

  [typescript]
    tsconfig.json
      An issue occurred while parsing a tsconfig.json file.
      extends doesn't resolve correctly

warning - [other]
  Could not resolve React Refresh runtime
  React Refresh will be disabled.
  To enable React Refresh, install the `react-refresh` and `@next/react-refresh-utils` modules.

[500] / (877ms)
error - [resolve]
  .env.js
    Error resolving EcmaScript Modules request
    unable to resolve uri "node:" "process"

  [next]/entry/next-hydrate.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/dist/client"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/dist/shared/lib/router/utils/format-url"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/dist/shared/lib/router/utils/querystring"

  apiRoutes/index.ts
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/utils"

    Error resolving EcmaScript Modules request
    unable to resolve module "axios"

    Error resolving EcmaScript Modules request
    unable to resolve uri "node:" "process"

  src/components/appLayout/index.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/shared-ui"

    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/components/loading-screen"

    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/layouts/dashboard/DashboardLayout"

    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/pages/_app"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/router"

    Error resolving EcmaScript Modules request
    unable to resolve module "react"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

    Error resolving EcmaScript Modules request
    unable to resolve module "react-redux"

  src/components/header/index.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/shared-ui"

    Error resolving EcmaScript Modules request
    unable to resolve module "react"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

    Error resolving EcmaScript Modules request
    unable to resolve module "react-redux"

  src/components/sisu/EmailVerificationModal.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/shared-ui"

    Error resolving EcmaScript Modules request
    unable to resolve module "@mui/material"

    Error resolving EcmaScript Modules request
    unable to resolve module "react"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

    Error resolving EcmaScript Modules request
    unable to resolve module "react-redux"

  src/pages/_app.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

    Error resolving EcmaScript Modules request
    unable to resolve module "react-redux"

    Error resolving EcmaScript Modules request
    unable to resolve module "redux-persist" with subpath "/integration/react"

  src/pages/_document.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/pages/_document"

  src/pages/email-verification/index.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/shared-ui"

    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/pages/_app"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/head"

    Error resolving EcmaScript Modules request
    unable to resolve module "react"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

    Error resolving EcmaScript Modules request
    unable to resolve module "react-redux"

  src/pages/index.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/pages/_app"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/head"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/router"

    Error resolving EcmaScript Modules request
    unable to resolve module "react"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

    Error resolving EcmaScript Modules request
    unable to resolve module "react-redux"

  src/pages/maintenance/index.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/pages/_app"

    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/pages/maintenance"

    Error resolving EcmaScript Modules request
    unable to resolve module "next" with subpath "/head"

    Error resolving EcmaScript Modules request
    unable to resolve module "react"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

  src/redux/actions/globalActions.ts
    Error resolving EcmaScript Modules request
    unable to resolve module "lodash"

    Error resolving EcmaScript Modules request
    unable to resolve module "moment-timezone"

  src/redux/reducers/index.ts
    Error resolving EcmaScript Modules request
    unable to resolve module "redux"

  src/redux/selectors/routesSelectors.tsx
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/utils/routing"

    Error resolving EcmaScript Modules request
    unable to resolve module "@mui/icons-material"

    Error resolving EcmaScript Modules request
    unable to resolve module "@reduxjs/toolkit"

    Error resolving EcmaScript Modules request
    unable to resolve module "react" with subpath "/jsx-dev-runtime"

  src/redux/store.ts
    Error resolving EcmaScript Modules request
    unable to resolve module "@reduxjs/toolkit"

    Error resolving EcmaScript Modules request
    unable to resolve module "next-redux-wrapper"

    Error resolving EcmaScript Modules request
    unable to resolve module "redux-persist"

    Error resolving EcmaScript Modules request
    unable to resolve module "redux-persist" with subpath "/lib/storage"

    Error resolving EcmaScript Modules request
    unable to resolve module "redux-thunk"

    Error resolving EcmaScript Modules request
    unable to resolve uri "node:" "process"

  src/theme/overrides.ts
    Error resolving EcmaScript Modules request
    unable to resolve module "@ecominate/ui-common" with subpath "/src/theme/palette"

event - 13 requests (e. g. GET /) 877ms

It seems to not be able to resolve any modules
tsconfig below:
{
  "compilerOptions": {
    "incremental": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "paths": {
      // Required because ui-common contains multiple entry points
      "@ecominate/ui-common/*": ["../ui-common/src/*"],
      // Use the MUI from ui-common
      "@mui/*": ["../ui-common/node_modules/@mui/*"]
    }
  },
  "extends": "../../../tsconfig.react.json",
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"]
}

Expected Behavior
No errors :)
To Reproduce
Start server. I can help with private repo access privately if someone is able to help.
Reproduction Repo
No response

Are you using pnpm workspaces?

I updated to the latest version of turbo pack. The problem is now relegated to only errors with @ecominate/ui-common and @mui packages (related to the tsconfig paths field).

Can you give us the result of running ls -la node_modules/@mui (and node_modules/@ecominate) in your project?

▶ ls -la node_modules/@mui
total 0
drwxr-xr-x   5 jakeleventhal  staff  160 May 10 23:55 .
drwxr-xr-x  26 jakeleventhal  staff  832 May 10 23:59 ..
lrwxr-xr-x   1 jakeleventhal  staff  148 May 10 23:55 icons-material -> ../../../../../node_modules/.pnpm/@mui+icons-material@5.11.16_@mui+material@5.12.2_@types+react@18.2.0_react@18.2.0/node_modules/@mui/icons-material
lrwxr-xr-x   1 jakeleventhal  staff  176 May 10 23:55 lab -> ../../../../../node_modules/.pnpm/@mui+lab@5.0.0-alpha.47_@emotion+react@11.10.8_@emotion+styled@11.10.8_@mui+material@5.12.2_@_ulybayhpjroiq4w6bboidbvbya/node_modules/@mui/lab
lrwxr-xr-x   1 jakeleventhal  staff  178 May 10 23:55 material -> ../../../../../node_modules/.pnpm/@mui+material@5.12.2_@emotion+react@11.10.8_@emotion+styled@11.10.8_@types+react@18.2.0_react-dom@18.2.0_react@18.2.0/node_modules/@mui/material

▶ ls -la node_modules/@ecominate
total 0
drwxr-xr-x   7 jakeleventhal  staff  224 May 10 23:55 .
drwxr-xr-x  26 jakeleventhal  staff  832 May 10 23:59 ..
lrwxr-xr-x   1 jakeleventhal  staff   39 May 10 23:55 emailer -> ../../../../../packages/ecominate/emailer
lrwxr-xr-x   1 jakeleventhal  staff   42 May 10 23:55 minimal-ui -> ../../../../../packages/ecominate/minimal-ui
lrwxr-xr-x   1 jakeleventhal  staff   41 May 10 23:55 shared-ui -> ../../../../../packages/ecominate/shared-ui
lrwxr-xr-x   1 jakeleventhal  staff   29 May 10 23:55 tsconfig -> ../../../../../tools/tsconfig
lrwxr-xr-x   1 jakeleventhal  staff   37 May 10 23:55 utils -> ../../../../../packages/ecominate/utils

@jakeleventhal are you still experiencing this issue?

yes
  ⚠ _app error - [project]/apps/artelo/client/src/pages/_app.tsx - Error resolving EcmaScript Modules request
unable to resolve module "@mui/x-date-pickers-pro" with subpath "/AdapterMoment"

 error - apps/artelo/client/src/pages/_app.tsx:4:0  Error resolving EcmaScript Modules request

  2 |
  3 | import { LocalizationProvider } from '@mui/x-date-pickers-pro';
> 4 | import { AdapterMoment } from '@mui/x-date-pickers-pro/AdapterMoment';
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  5 | import { AppProps } from 'next/app';
  6 | import React, { FC } from 'react';
  7 | import { Provider } from 'react-redux';
unable to resolve module "@mui/x-date-pickers-pro" with subpath "/AdapterMoment"
It was not possible to find the requested file.
    Parsed request as written in source code: module "@mui/x-date-pickers-pro" with subpath "/AdapterMoment"
    Path where resolving has started: [project]/apps/artelo/client/src/pages/_app.tsx
    Type of request: EcmaScript Modules request
    Import map: aliased to relative "../minimal-ui/node_modules/@mui/x-date-pickers-pro/AdapterMoment" inside of [project]/apps/artelo/client

notably, tsconfig:
{
  "compilerOptions": {
    "incremental": true,
    "isolatedModules": true,
    "noEmit": true,
    "paths": {
      // Required because minimal-ui contains multiple entry points
      "@riptech/minimal-ui/*": ["../minimal-ui/src/*"],
      // Use the MUI from minimal-ui
      "@mui/*": ["../minimal-ui/node_modules/@mui/*"]
    }
  },
  "exclude": ["dist", "node_modules"],
  "extends"<EMAIL_ADDRESS>  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"]
}

the tsconfig being extended is:
{
  "compilerOptions": {
    "allowJs": false,
    "declaration": false,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "jsx": "preserve",
    "lib": ["dom", "ESNext"],
    "module": "CommonJS",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "outDir": "./dist",
    "inlineSources": true,
    "resolveJsonModule": true,
    "sourceRoot": "/",
    "skipLibCheck": true,
    "sourceMap": true,
    "strict": true,
    "target": "ES6"
  },
  "files": ["./declarations.d.ts"],
  "extends": "./tsconfig.json",
  "exclude": ["dist", "node_modules"]
}

@jakeleventhal could you create a minimal repro in a public github repo or a codesandbox according to the bug template in the next.js repo?
https://github.com/vercel/next.js/issues/new?assignees=&labels=template%3A+bug&projects=&template=1.bug_report.yml

I am having the same issue with turbopack not resolving modules

In my case the problem was the following:
I had:
 "paths": {
      "@*": [
        "./output/*"
      ]
    }

In my tsconfig.json
Of course this overlaps with imports from node_modules that start with an @ sign.
This is no problem in webpack where apparently it first tries to locate the local file and falls back to node_modules otherwise.
I changed the import alias to @/ and now it's ugly everywhere but at least turbopack stops working in a different place now.

I changed the import alias to @/ and now it's ugly everywhere but at least turbopack stops working in a different place now.

I deeply second you on the "ugly everywhere" bit. I was very fond of using @*... I hope it gets sorted out in the future.
Anyway, thanks for your feedback, it was the solution for me.

Going to close this issue as there is no full reproduction included that allows us to investigate further. Feel free to open a new issue if you're still running into problems please open a new issue so that we can investigate it. Thanks!


Severe regression in calico-3.16 with etcdv3 backend

calico-node and calico-kube-controller pods starts spamming the following log lines after a full ETCD cluster restart (with etcd downtime):
2020-10-20 13:42:23.762 [ERROR][1] watcher.go 127: Watch channel error error=etcdserver: mvcc: required revision has been compacted
2020-10-20 13:42:23.763 [INFO][1] watchercache.go 96: Watch channel closed by remote - recreate watcher ListRoot="/calico/resources/v3/projectcalico.org/nodes"

Expected Behavior
Tested the same scenario with calico v3.15.3 and a small burst of error messages (about 10) are logged until etcd is back online

Current Behavior
Log messages are repeated endlessly at a rate of 6-9 per second per pod. Not sure if calico reconnects back to ETCD successfully or it remains disconnected from etcd and so the pods need to be restarted.

Possible Solution
If those error messages are expected, they should at least be logged with lower loglevel as they are currently being logged as ERROR.
Steps to Reproduce (for bugs)

Deploy calico version 3.16+ using etcd backend.
Stop all etcd cluster nodes
Restart etcd cluster

Context

Your Environment

Calico version 3.16.1 and 3.16.3
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes 1.19.2
Operating System and version: Debian buster
ETCD version: 3.4.13

@caseydavenport  @neiljerram  sorry to tag you directly. but this needs your attention.
we are also seeing this issue with multiple Calico installations(multiple Kube clusters) using

calico on etcdv3 backend.
Version anything >= 3.16

Symptoms we are seeing are,  calico-node and calico-kube-controller pods never seem to recover from the watch channel error, once they lose etcd connection to etcd3 cluster backend. Seems to be easily reproducible by triggering a rolling restart of etcd cluster servers. After that, calico-node and controller pods remains in a 'watch channel error' loop and never seems to recover until the pods are deleted/recreated.
Once the calico pods go into above state, the etcd server's etcd_debugging_mvcc_watcher_total metric keeps going up and the corresponding etcd server go heap memory usage starts climbing up.
I'm yet to trace this back through stepping down to older version of calico (3.15 or 3.14) to see where this broken behavior got introduced. But, https://github.com/projectcalico/libcalico-go/pull/1247 could be where this regression was introduced.
Please check.

2020-10-17 02:09:24.948 [ERROR][79] felix/watcher.go 127: Watch channel error error=etcdserver: mvcc: required revision has been compacted
2020-10-17 02:09:24.948 [ERROR][79] felix/watcher.go 127: Watch channel error error=etcdserver: mvcc: required revision has been compacted
2020-10-17 02:09:24.948 [INFO][79] felix/watchercache.go 96: Watch channel closed by remote - recreate watcher ListRoot="/calico/resources/v3/projectcalico.org/globalnetworkpolicies"
2020-10-17 02:09:24.948 [ERROR][79] felix/watcher.go 127: Watch channel error error=etcdserver: mvcc: required revision has been compacted
2020-10-17 02:09:24.948 [INFO][79] felix/watchercache.go 96: Watch channel closed by remote - recreate watcher ListRoot="/calico/resources/v3/projectcalico.org/globalnetworksets"

when calico-node or the singleton calico-kube-controller pods get into this state, they keep spewing these errors for watches on all paths and also, all watchers felix/watcher, tunnel-ip-allocator/watcher all logging the same error in continous loop, generating GBs of logs in matter of hours..

I tested the etcd cluster rolling restart with calico on v3.15.3. Both the calico-kube-controller and calico-node pods self-recover from watch channel closure/disruption without issues.
So, the regression seems to be introduced since >= v3.16.0.
@Wiston999 can you please update this issue title to 'severe regression in calico-3.16 with etcdv3 backend' ?

@Wiston999 can you please update this issue title to 'severe regression in calico-3.16 with etcdv3 backend' ?

Sure, thanks for your analysis.

I have same issue, etcd 3.4.14 and calico 3.16.3

@ravilr @Wiston999 @Sarga Please can you clarify:

Is there any symptom beyond the crazy amount of logging?  ("Severe regression" sounds like it would mean something more functional, as well as the crazy logging.)

Is there ever recovery once the etcd cluster is fully up again?  Original description says "Not sure if calico reconnects back to ETCD successfully or it remains disconnected from etcd and so the pods need to be restarted." and @ravilr 's comments seem to indicate no recovery, but I'd like to be sure.

Hi,
I can expose the following 3 scenarios:

I have also experienced networking errors in new pods (No route to host, checking with ip route, the route from pod IP to cali* interface in the node is missing) created while calico is spamming those log messages after some hours, fixed when calico pods are restarted.
New pods' network are properly setup if the pods are created just after etcd is restarted. It is, there is logspam but new pods are setup correctly. So I cannot ensure that the logspam is 100% related to pod network problems or some kind of mixed conditions.
I've tested etcd restart with calico 3.15.3 and there is no logspam, just a few error lines (10-15) until etcd is back online.

This is a severe regression because:

calico pods never recover from Watch channel errror's even after the etcd servers are online/after a etcd cluster rolling restart.  Only manual intervention of deleting the calico pods, on which DaemonSet/Deployment Kube controllers creating a new ones, fixes the issue.

Also when it hit this bug, calico pods are creating a lot of new watchers against etcd server in quick succession in never ending loop, resulting in massive ballooning of etcd server's memory usage. If left unattended, this could cause etcd server downtime, so triggers a cascading failure..

We are also experiencing this same issue.
Versions:

kubernetes: 3.16.13
calico: 3.16.3
etcd: 3.4.13

We see graphs very similar to this report issue in etcd: https://github.com/etcd-io/etcd/issues/8387
They suggest that there are some client-side metrics for monitoring the unexpected creation of additional watchers.
Steps to reproduce errors:

Upgrade calico-node and calico-controller to 3.16.3
Restart etcd servers in succession (or otherwise create downtime for etcd)
Observe the problem in the calico-node logs
Restart calico-node Pods and the issue goes away

We have the same symptoms with Calico 3.16.1 and etcd 3.4.3 and observe the infinite loops both in calico-kube-controllers pod and calico-node pods.
Similar to what ravilr writes, for us, we never have recovery of Calico after etcd is up again. Only remedy is to restart both the calico-kube-controllers depoly and calico-node daemonset.
Our impact is:
a) huge memory increase in etcd and thus spikes of etcd delay potentially due to garbage collection in etcd, leading even to k8s-apiserver restarts due to timeouts on lease renewal towards etcd.
b) huge increase in CPU load in etcd proportionally/linearily following how many calico-nodes are in this infinite loop situation. This is nicely visible: if you do a rolling restart of the calico-node pods, the CPU load of etcd proprtionally goes down again with the number of calico-node pods being restarted and thus not in infinite loop anymore. Which to me proves that calico is really sending out all these requests to etcd, thus is still connected to etcd.
c) Similar to what Wiston999 writes, some normal pods, when created during such a infinite loop scenario, have network connections right after they are created, as if Calico was not able to correctly set up the network due to an overload in the watcher/etcd area. Such pod network will then not come up until we delete the pod and try again. Then it is again a question of probability if the network comes up.

I believe @ravilr has correctly pointed to a PR containing a bug in some of the watcher error handling.  In particular errors caused by revisions that are obsolete due to compaction will not trigger a full re-sync and therefore we'll keep trying to watch from the same bad revision.
I have put up a fix in libcalico-go.  https://github.com/projectcalico/libcalico-go/pull/1337/files
Will push to get this reviewed and merged. Watch this space.


PyGCL installation not finding DGL

I have tried installing PyGCL with multiple versions of DGL >= 0.7
I am running on Centos 7 in an HPC environment.
Here is the error I am receiving:
ERROR: Could not find a version that satisfies the requirement dgl>=0.7 (from PyGCL)
Steps to reproduce:
spaulus@test:~$ pip3.8 install --user PyGCL
Collecting PyGCL
  Using cached PyGCL-0.1.1-py3-none-any.whl (32 kB)
Requirement already satisfied: scipy in /opt/ohpc/pub/spack/opt/spack/linux-centos7-x86_64/gcc-9.2.0/py-scipy-1.6.3-pz52lt4qo22xudj5rxfswm3ohjaed2t5/lib/python3.8/site-packages (from PyGCL) (1.6.3)
ERROR: Could not find a version that satisfies the requirement dgl>=0.7 (from PyGCL) (from versions: 0.1.0, 0.1.2, 0.1.3, 0.4.3, 0.4.3.post1, 0.4.3.post2, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.6.0, 0.6.0.post1, 0.6.1, 0.7a210406, 0.7a210407, 0.7a210408, 0.7a210409, 0.7a210410, 0.7a210412, 0.7a210413, 0.7a210414, 0.7a210415, 0.7a210416, 0.7a210420, 0.7a210421, 0.7a210422, 0.7a210423, 0.7a210424, 0.7a210425, 0.7a210426, 0.7a210427, 0.7a210429, 0.7a210501, 0.7a210503, 0.7a210506, 0.7a210507, 0.7a210508, 0.7a210511, 0.7a210512, 0.7a210513, 0.7a210514, 0.7a210515, 0.7a210517, 0.7a210518, 0.7a210519, 0.7a210520, 0.7a210525, 0.7a210527)
ERROR: No matching distribution found for dgl>=0.7 (from PyGCL)

spaulus@test:~$ pip3.8 list
Package               Version
--------------------- ----------
certifi               2021.10.8
charset-normalizer    2.0.7
decorator             5.1.0
dgl                   0.7a210525
googledrivedownloader 0.4
idna                  3.3
isodate               0.6.0
Jinja2                3.0.2
joblib                1.0.1
MarkupSafe            2.0.1
networkx              2.2
numpy                 1.20.1
pandas                1.3.4
pip                   20.2
pyparsing             3.0.4
python-dateutil       2.8.2
pytz                  2021.3
PyYAML                6.0
rdflib                6.0.2
requests              2.26.0
scikit-learn          0.24.1
scipy                 1.6.3
setuptools            50.3.2
six                   1.16.0
threadpoolctl         2.0.0
torch                 1.10.0
torch-geometric       2.0.2
torch-scatter         2.0.9
torch-sparse          0.6.12
tqdm                  4.59.0
typing-extensions     <IP_ADDRESS>
urllib3               1.26.7
yacs                  0.1.8

spaulus@test:~$ module list
Currently Loaded Modules:
  1) autotools                        9) gcc-9.2.0-gcc-8.3.0-ebpgkrt
  2) prun/1.3                        10) cuda-11.2.0-gcc-9.2.0-3fwlgae
  3) gnu8/8.3.0                      11) cudnn-<IP_ADDRESS>-11.1-gcc-9.2.0-fyvouhn
  4) ohpc                            12) py-pip-20.2-gcc-9.2.0-d66cbwk
  5) gcc/1                           13) py-scikit-learn-0.24.1-gcc-9.2.0-srlkj6p
  6) slurm/1                         14) py-numpy-1.20.1-gcc-9.2.0-25bs7fj
  7) openmpi/4.1.0                   15) py-tqdm-4.59.0-gcc-9.2.0-jliepte
  8) python-3.8.7-gcc-9.2.0-fn3m3au  16) py-networkx-2.2-gcc-8.3.0-ovwwomc

Any help would be greatly appreciated!

Hello skylerpaulus,
Maybe you could try to install dgl following its official instruction? The newest version should be 0.7.1.
Or you may clone the repo, delete the requirement dgl >= 0.7 specified in setup.cfg, and try to install manually by pip install .?

I met this ERROR recently. It will be solved through installing None-Cuda version dgl otherwise raise error. The developer could give some notice on that.

Thanks for your comments! We will add suggestions accordingly.


Fix char delete trigger appear for NPC

Second fix for issue https://github.com/Sphereserver/Source-X/issues/1029

Ok, All work like expected except this:
When we delete a char with the client screen, f_onchar_delete is launch 2 times. The only way to avoid this is to create a second bool argument on char delete function.

Tested deeply and works fine. But I think:
-There is no need to set argo=char  as char is already in  and works fine in both cases (from login screen and ingame command)
-Leave argo as m_pclient (it dosnt work on any serv_trigger) or change it to be account if possible.
Found minor weird bug:
If u "remove 1" an online player and deny it by return 1 on f_onchar_delete, player will not be removed from game but from players screenshoot. SO player can't move until sphere resend his data back.

Seem complete like this.
I added WARNING RED message each time a character is deleted. When character is deleted via login screen, you have a little message and WARNING message just after.

That fixes also the bug reported above?

That fixes also the bug reported above?

Not yet, ill check

BUg already fixed, ready to merge for me


Documentation: Updates for "Usage - On a single file"

Description of changes:
Removes the CBMC arguments section because we plan on keeping the flag hidden. Sets the "common arguments" to --function, --unwind, --output-format and --visualize, which nowadays are the most common ones.
Feel free to share your opinion.
Resolved issues:
Part of #700
Call-outs:

Testing:

How is this change tested? N/A

Is this a refactor change? No.

Checklist

[x] Each commit message has a non-empty body, explaining why the change was made
[x] Methods or procedures are documented
[x] Regression or unit tests are included, or existing tests cover the modified code
[x] My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@tedinski updated to replace "function" by "harness", and tweaked a few things to account for what is now the default behavior (i.e., run all proof harnesses). Can you take another look?


Open source supervisor switchover test

Co-authored-by: Sean Zhang<EMAIL_ADDRESS>

I think the discussion about whether gnoi should be a root feature, a subfeature under system, or just be part of the system feature would take much longer to settle. At the moment, I just want to avoid having many test locations when open sourcing.

There is precedent to place tests which are concerned with using gNOI protocol in the feature/gnoi folder and gRIBI in the feature/gribi folder.   So IMO more gNOI tests should IMO go into feature/gnoi.
The other folders are named after their openconfig root paths.  But maybe we should have used gnmi/<root_oc_path> instead to be consistent with the naming we used for gNOI and gRIBI.  I think this is historical because we didn't consider gRIBI and gNOI when we very first started.  I agree that this latter topic isn't super important to resolve and is beyond the scope of this PR.

@liulk I updated the PR to use the paths we discussed in the meeting.  If this sounds good to you, I can make another PR to get all the GNOI related features/tests into sync with this style.  #281 is another very similar PR to this one, so I will copy any decisions from here into that PR.


[test-triage] //sw/device/tests:i2c_target_test_fpga_cw310_sival is failing in CI

Hierarchy of regression failure
Chip Level
Failure Description
The //sw/device/tests:i2c_target_test_fpga_cw310_sival is failing in CI. Specifically, two sub-tests:

test_write_repeated_start
test_write_read_repeated_start
are failing. They have been temporarily disabled.

Looks like there is an issue sending the broken byte. @engdoreis perhaps you can triage this since you are most familiar with these sub-tests?
Steps to Reproduce

GitHub Revision: 4fd94db59a656b28be60db223f1698d5b397904a
-bazel test //sw/device/tests:i2c_target_test_fpga_cw310_sival

Tests with similar or related failures
N/A

#22729 has already disabled the test (thanks @vogelpi ) and I believe https://github.com/lowRISC/opentitan/pull/22698 may fix the issues that #22750 could not? @engdoreis probably knows better than I.