Rebase pull request #134 by @joehybird on the latest master

This rebases the Django 2.2 compatibility fixes by @joehybird (PR #134 that is) on the current master, porting all the test changes and Python compatibility cleanups.
I'm 99% sure the tests will fail after the first run, but let's see what I still need to fix :)

Hi @DragoonAethis I'm trying to catch up with activity on this project and the various PRs - it looks like your PR is the most complete and up-to-date. I'd like to help out with reviewing - could you take a look at the test that's failing in CI and see if you can quickly fix it?

@richardbarran The only remaining failing tests are on PyPy due to broken dependencies (mysqlclient complaining about EnvironmentError: mysql_config not found - fixing this requires installing MySQL/MariaDB client libraries on the host system) - to be honest this is the first time I've touched Travis or CI-testing Python libs and I'm not sure how to fix that. If someone could help over with this, I'd be grateful. Until then, all non-pypy appear to work fine.

I'm thinking that Pypy support is a "nice to have" - very few django projects out there seem to actively support it (I checked Wagtail, django-cms, Django Rest Framework).
If we just comment out that bit for now, and move forward - if someone is really keen on pypy support then they can help out with the PR?

Removed PyPy from CI - the last test still ran with tox.ini from the previous commit, but it looks ready to merge.

That's great - I'll pull your branch and try it out on my machine. Give me a day or two to find the time to test it out, and to get back to you.

Great Job @DragoonAethis :+1:

@joehybird thank you for the port, I just rebased it :P

@DragoonAethis @joehybird thanks for your great work! :tada:

@DragoonAethis @joehybird I've tried this branch on django-photologue - a project that depends on sorted-m2m - with Django 2.2 and it works perfectly.
Excellent work, I'm looking forward to a merge and a release!

@richardbarran do you need any help with this and triaging / checking the other related PR?

@yakky which "other related PR" are you referring to? Do you mean the other PRs that contain code that has been superseded by this PR?

So, this PR looks good - are we ok to merge? I'll leave this comment up for a few days, and if no one objects then I will go ahead and merge the PR.

@yakky which "other related PR" are you referring to? Do you mean the other PRs that contain code that has been superseded by this PR?

exactly

@auvipy I'm cool with dropping 3.4 support (tbh I care primarily about 3.7 at this point, with some lightweight testing on 3.6 and earlier), but before I do that - @richardbarran @joehybird @yakky are you okay with this? Django 1.11 still supports 3.4, 2.0 did but is itself no longer supported, 2.1 supports 3.5+. But then it also doesn't look like too much testing is needed to maintain 3.4 support at this point, so it could be removed along with the next(ish) release, since 1.11 is getting EOLed next April.

I'm fine with removing it, as long as it does not create excessive workload for you @DragoonAethis
As the next will only be a a cleanup / compatibility release, anyone needing python 3.4 can use previous version

Not a problem, one more +1 for deletion and I'll nuke it.

+1 from me to dropping Python 3.4 support.

Alright, removed. It doesn't look like there was anything else to clean up except test/setup.py entries, so it's good to go.

Alright, removed. It doesn't look like there was anything else to clean up except test/setup.py entries, so it's good to go.

Ok, let's merge!


inpreciese documentation of task_group::wait()

From here  https://www.threadingbuildingblocks.org/docs/help/reference/task_groups/task_group_cls/task_group_cls_members.html :

Member
Description

task_group_status wait()
Wait for all tasks in the group to complete or be canceled. Returns: True if this task group is canceling its tasks.

Return type in the description (bool) conflict with one in signature (task_group_status)

Hi, anton-potapov.
This issue was fixed.
Could you please confirm it?

confirmed :)


Use meta.id on database names

PR checklist
This PR adds meta['id'] to databases before being passed to the db_preparation modules. This simplifies database name parsing within the module itself (ie. BUSCO), and it follows the same meta-style that is used when renaming .command.{out,err} files. This PR will close #20

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[x] Make sure your code lints (nf-core lint).
[x] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <outdir>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[x] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Be mindful of the possible differences in the changelog :)


Replace sync Kafka consumers with confluent_kafka one

About this change - What it does

The exact same PR as https://github.com/Aiven-Open/karapace/pull/767 (which has been reverted in https://github.com/Aiven-Open/karapace/pull/793)
With a single line removed from backups creation (assigning a specific partition to a consumer after subscribing to the same topic): karapace/backup/api.py L533 removed, see the second commit in this PR

Why this way

Using consumer.assign after consumer.subscribe is not supposed to be done (further tests and guards will be introduced in a later PR which adds enriched functionality to consumers)

@jjaakola-aiven I updated the description with the location. After a short discussion with @aiven-anton I'll attempt to add a test that reveals this issue through the backups code as well.


IDocument missing StatusCode property

Should StatusCode be included in IDocument?  It is hanging off of Document but I can't see a way to access it.  Perhaps I should be doing things differently?
var document = await _context.OpenAsync(address);
Just want to make sure a 200 was returned before I continue on.

Quite useful - I will add it in v0.9.9 (actually I had the impression / intention to add it, but apparently I forgot / did not do it).
Thanks for the suggestion.

Added it, see PR #415.


Start-Job needs a -WorkingDirectory parameter

Currently, Start-Job:

defaults to different, fixed working directories on different platforms (which is problematic in itself):

$HOME on Unix (macOS, Linux)
$HOME\Documents on Windows

by contrast, using the newly-introduced Unix-like ... & syntax defaults to the current location; this discrepancy is problematic too [update: but as designed] - see #4267

Either way, there is no simple way to have the caller set the working directory explicitly, leading to such painful workarounds as in this SO answer.
The proposed solution:
# Wishful thinking
> $jb = Start-Job -WorkingDirectory $PSHOME { "Hi from $PWD." }; Receive-Job -AutoRemove -Wait $jb
Hi from C:\Program Files\PowerShell\6.0.0-beta.4

Environment data
PowerShell Core v6.0.0-beta.4 on macOS 10.12.5
PowerShell Core v6.0.0-beta.4 on Ubuntu 16.04.2 LTS
PowerShell Core v6.0.0-beta.4 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)
Windows PowerShell v5.1.15063.413 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)

If this gets added, then the language feature & should use it instead of how it is currently implemented.

Would like to see Start-Job have -ThrottleLimit compatibility.

@Average-Bear: I suggest you create a new issue (and provide a rationale for your request there).

WorkingDirectory is a property specific to a process - and the fact that Start-Job spins up an out-of-process runspace seems to me an implementation detail, not something you would necessarily want to bring up to the level of abstraction that a Job provides.
Seems like the kind of thing you would want to include in the initialization script, so I'd recommend just fixing #4530 so you can do:
$jb = Start-Job { "Hi from $PWD." } -InitializationScript {Set-Location $using:PWD}; Receive-Job -AutoRemove -Wait $jb

rather than the currently super awkward:
$jb = Start-Job { "Hi from $PWD." } -InitializationScript ([scriptblock]::Create("Set-Location $PWD")); Receive-Job -AutoRemove -Wait $jb

I consider -InitializationScript {Set-Location $using:PWD} awkward too.
Having a -WorkingDirectory is a matter of convenience first and foremost, and it also provides symmetry with Start-Process.
You're running a script block / script somewhere, and it's helpful to have a simple way to control that somewhere.
This is especially true with the current behavior, where you - invisibly - run in a location other than the current one (unlike when you use the new & operator on Unix - a regrettable discrepancy - see #4267).
As an aside, re implementation detail: Understanding the underpinnings of jobs is important, because users need to be aware that a separate process and remoting are involved to understand that  deserialized objects are returned.

@mklement0 @SteveL-MSFT
I want to take a stab at this one and before deep diving into the implementation I wanted to see what you think about the following solutions:

Quick Solution that respects the Job abstraction:

1. Get the working directory from the user.
2. Verify that the directory exists
3. Inject in the beginning of the script block that will be executed a 'Set-Location $UserSpecifiedWorkingDirectory'

Propagate the $WorkingDirectory variable all the way up to the Job level and specify the working directory there when the process starts

What do you think? Do any of these approaches seem reasonable?
Disclaimer: this is my first issue here so I might be missing something entirely

@davinci26 I wouldn't inject anything into the script block. That could result in some surprises if/when you debug a job (i.e. you should only see your job script when you debug a job, not extra stuff that your job script didn't include). Instead I'd just set the location when the runspace associated with the job is created, before the script block is run inside of it.

I took a deep dive at the codebase and I observed the following:
Creating a new pipeline with a Set-Location and adding it to the operations list:
https://github.com/PowerShell/PowerShell/blob/bd6fdae73520931f0d27a29d6290e18761772141/src/System.Management.Automation/engine/remoting/commands/StartJob.cs#L610
Just add this
var command = new Command("Set-Location");
command.Parameters.Add("LiteralPath", this.WorkingDirectory);
Pipeline tempPipeline = remoteRunspace.CreatePipeline(command.ToString());
tempPipeline.Commands.Add(command);
IThrottleOperation locationOperation = new ExecutionCmdletHelperComputerName(remoteRunspace, tempPipeline);
Operations.Add(locationOperation);

If you follow this approach then pwsh throws because the second operation in Operations is trying to open a runspace that is already open (see here)
Is this the intended behaviour? Can we modify the logic when we try to open the remote the runspace to skip the opening if the runspace is already open.
Adding a Set-Location command to the pipeline
This would require to either:

Use the CreatePipeline function available in PSRemotingCmdlets and then insert the command in the beginning. Personally I am not a huge fan of this approach as it would be a bit slow.

Modify the CreatePipeline function directly.

https://github.com/PowerShell/PowerShell/blob/bd6fdae73520931f0d27a29d6290e18761772141/src/System.Management.Automation/engine/remoting/commands/PSRemotingCmdlet.cs#L1831
This function is consumed by all PSRemoteCmdlets. Would the workingDirectory parameter make sense in all of them? Is this an overkill?
Changing the working directory of the pwsh remote server:

The command line argument workingdirectory does not work when the pwsh process runs in server mode (-s flag).
The InitializationScript argument is passed to the process startupInfo as part of the arguments.

If we stick to the implementation of (1) & (2) I do not see how we could have a workingDirectory parameter for Start-Job that would be able to set the working directory also for the InitializationScript. Is this part of the requirement?
Enabling (1) would allow us to implement the working directory fairly easily since we can add an additional command line argument to when the powershell server process instance is spawned.


Bug

Error: Service Unavailable
Error: Service Unavailable
    at Request.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:73924:19)
    at Request.Emitter.emit (https://homebrewery.naturalcrit.com/homebrew/bundle.js:1898:20)
    at XMLHttpRequest.xhr.onreadystatechange (https://homebrewery.naturalcrit.com/homebrew/bundle.js:74233:10)
{
  "status": 503,
  "method": "PUT",
  "url": "/api/update/bFnHaIvbYFOI"
}

Looks like our servers stalled for a couple minutes. Should be working again now.


Bump proper to 1.3 while moving it to its new home

Perhaps we can use this opportunity to start fetching proper from hex.pm instead. What do you think?

Perhaps we can use this opportunity to start fetching proper from hex.pm instead. What do you think?

Sure. Hadn't thought about that. Will handle in time.


Zend_Captcha tries to start session even when setKeepSession(false) is called

I have just noticed what looks like a bug to me:
In my code, I create a Zend_Captcha_Image, and I set it to not use session:
$captcha = new Zend_Captcha_Image;
[...]
$captcha->setKeepSession(false);
[...]
$id = $captcha->generate();
$word = $captcha->getWord();

However, when calling generate() (at which point the session is already started), I get an exception:
Zend_Session_Exception: session has already been started by session

.auto-start or session_start()
Shouldn't the call to setKeepSession(false) prevent this?

…and I set it to not use session:

You misunderstand the method setKeepSession. Look at the DocBlock:

Sets if session should be preserved on generate()

https://github.com/zendframework/zf1/blob/master/library/Zend/Captcha/Word.php#L221
Solution: You can give your existing session to the Captcha object with the method setSession.
https://github.com/zendframework/zf1/blob/master/library/Zend/Captcha/Word.php#L275

Problem is that our app doesn't use Zend_Session, and session is already started, should I refactor it all to use Zend_Session just so that this component can work?

should I refactor it all to use Zend_Session just so that this component can work?

No, you can set your own session class:
https://github.com/zendframework/zf1/blob/master/library/Zend/Captcha/Word.php#L140
https://github.com/zendframework/zf1/blob/master/tests/Zend/Captcha/DumbTest.php#L125
http://framework.zend.com/manual/1.12/en/zend.captcha.adapters.html#zend.captcha.adapters.word


update noqa rule to match latest flake8-builtins release

See https://github.com/gforcada/flake8-builtins/blob/1.3.0/CHANGES.rst#130-2018-04-13

Codecov Report

Merging #14 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #14   +/-   ##
=======================================
  Coverage   77.23%   77.23%
=======================================
  Files          48       48
  Lines        2438     2438
  Branches      387      387
=======================================
  Hits         1883     1883
  Misses        544      544
  Partials       11       11

Impacted Files
Coverage Δ

colcon_core/task/__init__.py
93.61% <100%> (ø)
:arrow_up:

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 cd05273...c9765d1. Read the comment docs.


mix() mixes the wrong volume when location=None

Overview
If mix() is called without the optional location argument, it mixes the maximum volume of the pipette instead of the volume specified by the volume argument.
Tested on APIv1, both with simulation and on a real robot. Untested on APIv2.
Test case
Script
from opentrons import labware, instruments, robot

tip_rack = labware.load("opentrons_96_tiprack_300ul", 1)
well_plate = labware.load("corning_96_wellplate_360ul_flat", 2)

pipette = instruments.P300_Multi(mount="right", tip_racks=[tip_rack])

pipette.pick_up_tip()

pipette.move_to(well_plate["A1"].bottom(2))
pipette.mix(repetitions=3, volume=123)

pipette.return_tip()

Output
Picking up tip wells A1...H1 in "1"
Mixing 3 times with a volume of 300.0ul
	Aspirating 300.0 uL from well A1 in "2" at 1.0 speed
	Dispensing 300.0 uL into well A1 in "2"
	Aspirating 300.0 uL from well A1 in "2" at 1.0 speed
	Dispensing 300.0 uL into well A1 in "2"
	Aspirating 300.0 uL from well A1 in "2" at 1.0 speed
	Dispensing 300.0 uL into well A1 in "2"
Returning tip
	Dropping tip wells A1...H1 in "1"

Fixed by #4237.


Suggestion: provide first class support for array selectors

Currently, we have this problem with selectors which derive and return arrays, whereby the array reference is not preserved even if the array contents have not changed:
const assert = require('assert');
const { createSelector } = require('reselect');

const state1 = {
  users: {
    foo: { id: 'foo' },
    bar: { id: 'bar' },
  },
};
const state2 = {
  users: {
    foo: { id: 'foo', age: 1 },
    bar: { id: 'bar' },
  },
};

const getUsersById = state => state.users;

const getUserIds = createSelector(getUsersById, users => Object.keys(users));

// error!
// they are deep equal but not reference equal
assert(getUserIds(state1) === getUserIds(state2));

We would like to write our selectors so that the array reference is preserved if the contents of the array have not changed.
As far as I understand, selectors like this (which derive and return arrays) are very common in React Redux apps. In React Redux, the best practice is for list components to pass IDs down to each child, and for the list item child to connect and lookup its own state value using the provided ID. The reason this is good for performance is because then the parent list component (and all of its children) will not have to re-render when one of the items changes. (More information in this article).
However, this performance optimisation only works if the selector that returns an array of IDs is correctly memoized—and currently there's just no straightforward way to do that with reselect, out of the box.
(In this case, we could store an array of IDs in Redux, as well as the dictionary, but that wouldn't work in many other cases e.g. where we're filtering an array inside a selector.)
Given this is a common pattern, I believe reselect should provide a direct solution, out of the box.
Related discussions:

https://github.com/reduxjs/reselect/issues/74
https://stackoverflow.com/questions/44305631/how-do-you-use-reselect-to-memoize-an-array
https://twitter.com/OliverJAsh/status/1246522776426602496

Has there been any thought on this?

I don't think there's any real active development going on with Reselect atm.
That said, looking at the issue, I agree that it's a common use case that would be useful to handle in some way.

There is a pretty simple work around for this:
import { defaultMemoize, createSelector } from 'reselect';

const createMemoizeArray = (array) => {
  const memArray = defaultMemoize((...array) => array);
  return (array) => memArray.apply(null, array);
};
const getUsersById = (state) => state.users;
const getUserIds = ((memArray) =>
  createSelector(getUsersById, (users) =>
    memArray(Object.keys(users))
  ))(createMemoizeArray()); //IIFE

// works
assert(getUserIds(state1) === getUserIds(state2));

The best workaround I've found so far is the one discussed in https://github.com/reduxjs/reselect/issues/74. That is, a custom memoize function called resultCheckMemoize.
Here it is applied to the example I gave in the original post.
I think resultCheckMemoize should be added to the library. WDYT @ellbee?
const assert = require('assert');
const { createSelectorCreator } = require('reselect');
const shallowEqual = require('shallowequal');

// https://github.com/reduxjs/reselect/blob/c1fa2caee69dd31d3185bc5aa30d4166f040f3de/src/index.js#L1
function defaultEqualityCheck(a, b) {
  return a === b
}

function resultCheckMemoize(
  func,
  resultCheck = defaultEqualityCheck,
  argsCheck = defaultEqualityCheck,
) {
  let lastArgs = null;
  let lastResult = null;
  return (...args) => {
    if (
      lastArgs !== null &&
      lastArgs.length === args.length &&
      args.every((value, index) => argsCheck(value, lastArgs[index]))
    ) {
      return lastResult;
    }
    lastArgs = args;
    const result = func(...args);
    return resultCheck(lastResult, result) ? lastResult : (lastResult = result);
  };
}

const state1 = {
  users: {
    foo: { id: 'foo' },
    bar: { id: 'bar' },
  },
};
const state2 = {
  users: {
    foo: { id: 'foo', age: 1 },
    bar: { id: 'bar' },
  },
};

const getUsersById = state => state.users;

const createArraySelector = createSelectorCreator(resultCheckMemoize, shallowEqual)

const getUserIds = createArraySelector(getUsersById, users => Object.keys(users));

assert(getUserIds(state1) === getUserIds(state2));

https://github.com/reduxjs/reselect/pull/456

@akmjenkins That's actually the same as what I settled on in the end: https://github.com/reduxjs/reselect/issues/441#issuecomment-743992521


[BEAM-828] Set the Project of a Table Reference at Runtime

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Instead of using the project at job submission time, use the project at
job execution time.

R: @dhalperi @reuvenlax

Coverage increased (+0.01%) to 70.661% when pulling e9d7f3966d7e41bb6150fff89b1c19d8de0f9beb on tgroh:project_id_for_table_execution_time into 4ff244d49c678f658f437600559cbe0a99048f81 on apache:master.

Quick sanity check: new logs will not be run at an increased frequency, even if using per-window or data-dependent tables?
LGTM, self-merge at will

No. This method is called exactly once in splitIntoBundles

I'll copy this change into my PR, since it likely won't merge (the code has
been refactored into several different files)
On Mon, Apr 17, 2017 at 6:20 PM, asfgit<EMAIL_ADDRESS>wrote:

Closed #2557 https://github.com/apache/beam/pull/2557 via 9b0cc98
https://github.com/apache/beam/commit/9b0cc9847d8f0119b33961ec4768cf83dcd2b5fd
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/2557#event-1045822081, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AUGE1ess8M7i8jbptq39RWGHdj_jTjomks5rxA_mgaJpZM4M_qe4
.


Please revert the change of symbol resolution

I'm talking about this one:

Behavior Change: Modified symbol resolution involving a quoted (forward-declared) type annotation that references a symbol in  the global (module) or builtins namespaces. The previous implementation didn't match the runtime behavior of typing.get_type_hints.

I don't think typing.get_type_hints is doing right, because it raises with inner classes using quoted annotations, and the behavior doesn't match that using unquoted annotations:
from __future__ import annotations

from typing import get_type_hints

class Outer:
    class Inner: pass
    def work(self) -> Inner: pass

get_type_hints(Outer.work)  # Raises

Without the import of annotations, the code works:
from typing import get_type_hints

class Outer:
    class Inner: pass
    def work(self) -> Inner: pass

get_type_hints(Outer.work)  # Returns

Of course, we can make it work with fully qualified types:
from __future__ import annotations

from typing import get_type_hints

class Outer:
    class Inner: pass
    def work(self) -> Outer.Inner: pass

get_type_hints(Outer.work)  # Returns

After all, I'd like to say that fully qualified types should be mandatory for a full match with the behavior of get_type_hints, but I don't think we have to go this far.

Can you provide an example of where this change is causing a problem for you? From the perspective of a type checker, the behavior of all three samples above work today, as they did prior to the recent change. The change was intended to more closely match the behavior of get_type_hints. The new behavior also appears to be consistent with mypy's behavior. So we'd need a compelling reason to revert.

I was trying to write a Python version of ReactiveSwift, and was stucked at the very beginning. Below is what I got so far.

/reactive/__init__.py
from ._reactive import *
from ._reactive_extensions_provider import *

/reactive/_reactive.py
from __future__ import annotations

from typing import Final, Generic, TypeVar

__all__: Final = ["Reactive"]

_Base_co = TypeVar("_Base_co", covariant=True)

class Reactive(Generic[_Base_co]):
    """
    A proxy which hosts reactive extensions of `Base`.
    """

    base: Final[_Base_co]
    """
    The `Base` instance the extensions would be invoked with.
    """

    def __init__(self, base: _Base_co) -> None:
        """
        Construct a proxy.

        Parameters
        ----------
        base
            The object to be proxied.
        """

        self.base = base

/reactive/_reactive_extensions_provider.py
from __future__ import annotations

from typing import Final, TypeVar

from typing_extensions import TypeAlias

from ._reactive import Reactive

__all__: Final = ["ReactiveExtensionsProvider"]

_Reactive: TypeAlias = Reactive

_Self_t = TypeVar("_Self_t", bound="ReactiveExtensionsProvider")

class ReactiveExtensionsProvider:
    Reactive: TypeAlias = _Reactive
    """
    A proxy which hosts static reactive extensions for the type of `self`.
    """

    @property
    def reactive(self: _Self_t) -> Reactive[_Self_t]:
        """
        A proxy which hosts reactive extensions for `self`.
        """

        return self.Reactive(self)

And a sample file for manually validating the static types.

/reactive/_usage_sample.py
from __future__ import annotations

from typing import Final, TypeVar

from . import *

__all__: Final = []

_Base_co = TypeVar("_Base_co", bound="Something", covariant=True)

_Self_t = TypeVar("_Self_t", bound="Something")

class Something(ReactiveExtensionsProvider):
    class Reactive(ReactiveExtensionsProvider.Reactive[_Base_co]):
        static_value: int = 0

        @property
        def value(self) -> str:
            ...

    @property
    def reactive(self: _Self_t) -> Reactive[_Self_t]:
        return self.Reactive(self)

static_value = Something.Reactive.static_value  # type should be `int`
something = Something()  # type should be `Something`
reactive = something.reactive  # type should be `Something.Reactive`
value = reactive.value  # type should be `str`

First, let me make some explanation:

Reactive serves as a base class of all reactive proxies, whereas something.reactive.somevalue is supposed to be a reactive signal of something.somevalue (which is not implemented yet in my code).
A subclass of ReactiveExtensionsProvider provides reactive to be the reactive proxy of its instance, and the result type is normally a true subclass of the basic Reactive.

Now, let's see what the problems are:

On the declaration line of  ReactiveExtensionsProvider.reactive, the result type Reactive is not ReactiveExtensionsProvider.Reactive but the reactive.Reactive (see the difference in hovering message). And there is no way to make it ReactiveExtensionsProvider.Reactive as long as there is an import of reactive.Reactive unaliased.
In the sample file, accessing something.reactive.value gets a warning, because type of something.reactive is not Something.Reactive but reactive.Reactive, for there is a wildcard import from reactive.

Technically, the two problems are just of one root cause. There may be ways to get around (for example, using a aliased import), but the code will become unintuitive in my opinion.

And I don't think it's correct to call get_type_hints without a localns argument.
If we call get_type_hints(SomeClass.some_method, localns=SomeClass.__dict__), the result should be the same no matter whether the class is written with quoted or unquoted annotations, and it should match the previous behavior of Pylance's type resolution.

Pyright's new behavior is not only more consistent with get_type_hints, it's also now consistent with mypy's behavior in this case. The old behavior wasn't. So I don't think it makes sense to revert this change. You'll need to update your code to avoid the namespace collision and accommodate the new behavior.

https://mypy-play.net/?mypy=master&python=3.10&gist=00ab8574876312dd2f7cf5504e44ac4c
Interestingly, I didn't see mypy do this, with both the latest stable version (0.910) or the master version.

I've finished reading PEP-563 and I have to agree that my sample code violates some rules written in it.
Closing.


Remove sigs that are too general

For example
FF25............................................................ 00 0000 0006 :0000 _BSTR_UserFree@8 ^0002 BSTR_UserFree
FF25............................................................ 00 0000 0006 :0000 _BSTR_UserMarshal@12 ^0002 BSTR_UserMarshal
...

pcf supports the -M## option to increase the min number of defined bytes.
Can we identify other patterns that likely will FP?

does the above FP often? this looks like a signature for a wrapper function, which requires the reference name to match, and that could be pretty complex.

good call on -M##, i hadn't read that closely yet.

hm yeah, I just thought intuitively, how useful can this be?
disassembles to a jmp
ff 25 00 00 00 00       jmp    DWORD PTR ds:0x0

never mind, seems to be useful for recursive flirt matching


Revert "dependency resolution performance improvements (#3106)"

This reverts commit bfde016c44acc43c27eb3b7a0545a0662a181502.
We are seeing issues like "error: database is locked" when using SwiftPM with this commit, let's do a speculative revert.
See also https://ci.swift.org/job/oss-swift-pr-test/15882/consoleText

@swift-ci please smoke test


Fix installer links

Reported on the forum here: https://mne.discourse.group/t/unable-to-download-the-linux-version-of-mne/6978
I updated the links to v1.4.0-post1, do you prefer v1.4.0?
I'm away for the weekend, feel free to push to this PR and merge it.

Thanks @mscheltienne

Should be cherry-picked into maint/1.4 to follow 1e89e5817c497b5bf87cdbbe717447fb37ef130a?

Sounds like a good idea

Done with the same flags as 1e89e5817c497b5bf87cdbbe717447fb37ef130a


Fixed issue where selected scan is null after normalization

For this issue, https://github.com/mzmine/mzmine3/issues/925 the user was unable to do adap aligner after they normalized. This throws the error the selected scans is null.

thanks @tnguy271


created the struct ServConfig and populate it and pass it around as n…

…eeded.
This is intended to address https://github.com/dosco/super-graph/issues/12

This looks great, I'm fine with merging it just have one question why do you use pass servConf as a function argument instead of a receiver argument?
Why this?
func waitForData(servConf *ServConfig, done chan bool, conn *ws.Conn, m *core.Member) {

Instead of
func (servConf *ServConfig) waitForData(, done chan bool, conn *ws.Conn, m *core.Member) {

Could you help me understand why that's a better path?  I'm happy to make the change, but it goes against my intuition on receivers.
Full disclosure: I'm pretty new to Go.  🐶

No specific reason I can think of. your code does the same thing essentially.


I can't get scale bar showed

I am trying to build a scale bar to show the percentages of used memory. However,it doesn't show and I have copy others config and it is work,but it won't show with my config. This is my config.yuck:
     (box :class "mem_bar" :orientation "h" (scale :hexpand true :min 0  :max 101 :value {EWW_RAM.used_mem_perc}))
And this isy style.css:
    .mem_bar {     	highlight {     		background-color: black;     	}     	trough {     		background-color: red;     	}     }

scales aren't working for me either even after copying someone else's config and styling exactly


Adding deploy scripts

Adding deploy scripts and matching changes to the Makefile.
Here are the deploy steps I recommend:

Create a branch off of main once ready to deploy
Bump the version info, docs etc in the branch
Review and merge to main
Run the following to deploy from main

make VERSION=<version_info> tag-and-release

The above call will make a github tag, and deploy to pypi, so make sure to have your pypi creds handy.

Sorry for not checking earlier, but tag_and_release.sh is missing the executable bit.  Either that bit should be set, or the makefile should explicitly call /bin/bash tag_and_release.sh I think?

@andre-merzky Thanks for catching that. It's odd that it worked on my side without the x bit. I've made the fixes on #232


first cut at KEM & key management skeletons

[This is a draft only to facilitate discussion about the approach taken (and to see what CI has to say).
Tagging particularly @levitte asking for advice whether this code should utilize the common provider APIs or rather not. Also tagging @nhorman for advice whether tracing code should be in or can be left out (as https://github.com/openssl/openssl/pull/25630 may make this superfluous).]

I think, in answer to your question regarding the tracing functions, you probably want to keep them in place.  The provider tracing  additions recently made relate to the ability to trace load/unloading/querying of a provider, but do not trace any specific algorithms that the provider offers (the fan out on that would make for a great deal of noise on the console when doing tracing I think, though it could be added as needed)

Instead of filling up libdefault.a, use a dummy... say, libtemplate.a?
Add this in providers/build.info:
LIBS{noinst}=libtemplate.a

... and then use that name in all relevant places.

Add this in providers/build.info

So done. Plus some INCLUDE statements. OK then to move to ready for review?

This looks pretty good. Let's take it out of draft.

Would encoders/decoders also be part of this?

No as I don't see a pressing need to persist KEMs for now.
This "skeleton" effort could (and IMO should) next expand to signature functionality, preparing the stage for the integration of MLDSA and SLHDSA.
Then we could think about doing encoder/decoder templates (enabling certificate management, say). That said, though, openssl currently doesn't really do algorithm-specific encoder/decoder logic but collates everything into one file. And before you ask, no, I do not find this logically correct, but saves writing many hundreds of lines of code. IMO, changing that (e.g., mirroring the (PQ-)algorithm-specific effort in oqsprovider) would be another issue/effort in its own right -- but again, at the cost of creating more code (and more possibilities/risk to introduce bugs).

This pull request is ready to merge

Squashed and pushed to master. Thanks.


Docker tag and logging bug

On Dockerhub, the "latest" tag doesn't match the version 1.1.0. When used it corresponds to a version 0.999.dev, which is not matching any tag on Dockerhub. That is not that bad since there is a version 1.1.0 available.
The real problem is that the images tagged with 1.1.0 and 1.0.1 do not show detailed errors when attempting to create a new database connection, which makes it very hard to debug and find the problem.
Expected results
A clear error popup with exception details, for example:
ERROR: (snowflake.connector.errors.DatabaseError) 250001 (08001): None: Failed to connect to DB: domain.region.snowflakecomputing.com:443. The requested database does not exist or not authorized.
(Background on this error at: http://sqlalche.me/e/13/4xp6)

Actual results
An empty error message
ERROR: failed to connect to DB

Screenshots
How to reproduce the bug
To reproduce, simply start a docker container with tag "1.1.0", then try to connect to a database with wrong credentials (any database, I have tried with snowflake and Athena).
Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Note that the "latest" tag (version 0.999.dev) does produce proper errors, which allows me to debug, but it's not reliable since there is no precise version it corresponds to (at least no tag matching that version on Dockerhub)

This is likely fixed by now, and is pretty out of date if not. If people are still encountering this in current versions (3.x) please open a new Issue or a PR to address the problem.
CC @mistercrunch in case this warrants further review.

Nah but for the record our dockers images have minimal database driver support as there are dozens of drivers and not everyone should pay the price of heavier/slower builds for databases their installation will never use. I recommend deriving our lean image target and adding the drivers you need on top.


missing source code

It appears the function referenced in this line is not defined anywhere. Am I missing something?

I see now that it's part of the stylegan2 library. Maybe the import should be then changed to from stylegan.dnnlib.tflib.tfutil import init_tf, convert_images_to_uint8


12666 Fixed database list not being populated on connection dialog

Passed azureAccount into onFetchDatabases and set on tempProfile.
This PR fixes #12666
Previous PR: https://github.com/microsoft/azuredatastudio/pull/13115/files

Pull Request Test Coverage Report for Build 346354063

0 of 5 (0.0%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.009%) to 40.205%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/services/connection/browser/connectionWidget.ts
0
1
0.0%

src/sql/platform/connection/common/connectionStore.ts
0
2
0.0%

src/sql/workbench/services/connection/browser/connectionController.ts
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/sql/workbench/services/connection/browser/connectionController.ts
1
39.01%

Totals

Change from base Build 346330720:
0.009%

Covered Lines:
21085

Relevant Lines:
48188

💛  - Coveralls


[ClangImporter] Always rebuild any bridging PCH that has errors

If a PCH was output with errors, it may not have serialized all its inputs. If there was a change to the search path or a headermap now exists where it didn't previously, it's possible those inputs will now be found. Ideally we would only rebuild in this particular case rather than any error in general, but explicit module builds are the real solution there. For now, just treat PCH with errors as out of date.
Resolves rdar://117037471.

@swift-ci please test


added consistent dark gray color to side nav

closes #1332
Side nav is now all dark gray. Note that the active page is still bolded though.

This is great thank you @XanderGardner! @kelea99 how does it look to you?

This looks fantastic! I call it done. Thank you, @XanderGardner and @hackartisan !


Altherma Room Temperature target temperature

Not able to find an individual entity for the Target Room Temp, it seems to be part of climate.room_temperature
Am I able to reference just the target room temp as I need it for Predheat application?

Sorry wrong integration


Morning session: Peer-to-peer code review

Hey, guys check out my code for Module 1 Capstone project. feel free to leave any comments feedbacks and suggestions

kindly, I recommend you use the CSS alphabetical order to control your variables better when making any changes.

Hi Rebaz
You have dona a great job so far
Congratulations! 🎉 :clap: :clap: :100:

To highlight :champagne:

All linters are passing :heavy_check_mark:
Good commit history :heavy_check_mark:
Good PR description :heavy_check_mark:

I suggest that the size of the webpage increase and decrease in font and layout as the screen also increase and decrease for individuals with smaller screen be able to view the hidden parts.


[RFR]limit zoom

[x] add configuration to limit zoom in and out.
[x] add example to show how to reset zoom

Needs rebase

rebased


Move ArchiveResults into the SQL db to avoid checking the filesystem for every Snapshot output status

Right now archivebox.zervice.io is taking 6s+ to load because it has to check the filesystem many times for each row on the page during the template rendering process.
We can load the ArchiveResults entries from the archive/<timestamp>/index.json files into the sqlite3 db. This will eliminate checking each output path on the filesystem every time we want to see whether it completed or not.

I will create a model and associate its instances with the Snapshot via foreign keys. Is that what you have in mind? @pirate

@pirate can this be closed?


[#118836855] Separate whitelisted CIDRs per role and Whitelist Bit Zesty IP address

#118836855 Whitelist Bit Zesty IP address
What
As we currently restrict access to Aviation House for internet facing system components, we need to  allow access for Bit Zesty before we implement a more secure mechanism to access the platform.
We want to implement it in a way that will allow different IPs in prod than dev/staging (3rd party tenants will access prod)
Notes
This is a different implementation than #248
In this alternate PR we try to:

Keep the minimum changes in terraform
Do not repeat IPs
All CIDRs are defined in the same way, a variable with a list of IPs.

Context
Split endpoint access cidrs by role type
In order to simplify the access rules and definition of CIDRS,
we split the endpoint cidrs list definitions for the security groups
in three types of roles:

admin_cidrs: Access to everything, from operation endpoints to CF API, SSH proxy and web access to apps.
tenant_cidrs: Access to CF API, SSH proxy and web access to apps.
web_access_cidrs: Web access to apps.

We make use of the function compact() in terraform to to allow have empty list of IPs in all cases.
These variables can be overwritten in the terraform/*.tfvars for each environment. For instance in terraform/prod.tfvars we currently override:

access_cidrs = "<IP_ADDRESS>/0"
tenant_cidrs = "<IP_ADDRESS>/32"

How to test it

Deploy the environment and confirm that the office IPs are still being properly added to the SG for web and api access.
Optionally add other IP to tenant_cidrs and confirm that they are added to the SG for API, SSH and web access.

Who?
Anyone but @keymon or @combor

Tested successfully, with and without the web access and tenant cidrs.


Need Support For sdk32 build tools

Just to be updated with google and want to use latest tools so Sir can you plz provide all build tools for aapt2

Just to be updated with google and want to use latest tools so Sir can you plz provide all build tools for aapt2

Usually I will update it once every few months. If you need the latest version of aapt2, you may need to compile it yourself. You can refer to this tutorial of mine or others.

Just to be updated with google and want to use latest tools so Sir can you plz provide all build tools for aapt2

Usually I will update it once every few months. If you need the latest version of aapt2, you may need to compile it yourself. You can refer to this tutorial of mine or others.

It means we will get aapt2 of sdk32 next month ??

It means we will get aapt2 of sdk32 next month ??
The termux already supports build-tools, and I will update it from time to time.

It means we will get aapt2 of sdk32 next month ??

The termux already supports build-tools, and I will update it from time to time.

But aapt2 of termux didn't work with agp(7.3.0-alpha01) and it needs to be updated

But aapt2 of termux didn't work with agp(7.3.0-alpha01) and it needs to be updated

Please wait for the official termux to fix it.

Ya I am regularly reporting aapt2 error to termux developer of every release cauz I am the one who request and get aapt2 and will.

@Lzhiyong
Successfully Run gradle(agp 7.3.1-alpha01)with aapt2 made by @xtkoba, I am now happy to get sdk32 support 😊
Here is the Screenshot link
https://github.com/termux/termux-packages/issues/8887#issuecomment-1033814515


feat(graph): Redudant connection.

Coverage remained the same at 100.0% when pulling 54caec53a1c8e133ec26d129f663b6bd77d654dc on redundant-connection into 49f6780f86147bf2cb6fbcfd61a98349294b7d39 on master.

Coverage remained the same at 100.0% when pulling 45b6864a9fee75fc211f43e660549469058a28a7 on redundant-connection into 49f6780f86147bf2cb6fbcfd61a98349294b7d39 on master.


[Gateway] refactor networkService.js

Issue Type

[ ] bug report
[ x] feature request

Current Behavior
Spaghetti!
Expected Behavior

Steps to Reproduce

Suggested Fix

issues is already there. https://github.com/bobanetwork/boba/issues/242 so closing this.


[Patchwork] How do you handle patches in general and/or maintaining them up to date?

This is not a bug, but mere a 'discussion'-kind of things.
Maintaing Gentoo ebuild of ungoogled-chromium I often face the need to edit or/and update patches (those, that are not maintained by ungoogled, or Gentoo, or Debian, or whatever they are). I handle this either by manually editing the patch file itself in an ordinary text editor or editing the needed files and running diff.
This is rather tedious and time consuming. I wonder, if there are any other (more automated or something) ways of dealing with all this? Given that ungoogled-chromium constantly deals with patches, those who maintain it and other paltform repos ( @Eloston in particular) might have some experience to share? How do you handle this?

When I first started ungoogled-chromium, I used to modify them by hand. Then I discovered that Debian uses quilt to manage patches. Now, managing patches is almost as easy as managing changes in a modern VCS.
If you want to get started with quilt, there are some instructions in the development notes. Most platform repos also document their own processes, but it's usually the same as this one with some slight modifications.
Currently, ungoogled-chromium structures patches in a quilt-compatible format; i.e. there is one directory patches that contains all patches, and a patches/series file that defines the order to apply them. There are more details about the format in the design doc. This applies to all platform repos in ungoogled-software as well.
However, the current workflows are not without their problems. Most notably, I think the process for updating to a new Chromium version is a bit cumbersome; it's not possible to update a platform repo's patches and ungoogled-chromium's patches in one shot (i.e. you have to run some commands to change from ungoogled-chromium's patches to the platform repo's patches). Another related problem is it's tedious to copy updated patches back to the source repos (e.g. the platform repo or the main ungoogled-chromium repo) after a build error. Ideally, there should be one command to handle domain substitution and the copying of patches in this scenario.
I'd also like to know how you all manage patches, and if you have suggestions for alternative workflows (e.g. a git-based workflow).

This is an old issue, that didn't show much activity recently — closing.
If you have any more information to add, let us know.


Change camera password

Hi,
Is it possible to modify the device's password with this project ?
I see that you can set "PasswordActivated" to true with the json configuration. But there is no field for the actual password.
Thanks,

Hello @nayan27 this is currently not supported. But from my point of view it is not a big thing to add this feature. The camera already does provide an XML-RPC command to activate the password. This command is below the device class and called activatePassword this method expects a single string parameter the password. To disable the password the method disablePassword is available. The disablePassword is parameter less. Both commands require a call to the save method of the device class.
I'll suggest adding a method void SetPassword(std::string password) to the Camera class. If the password string is empty the password is disabled.
Anny comments @tpanzarella?

@graugans Great this solution looks good. Do you believe you would be able to implement it or would you want me to do it ? If you want me to do it, should it be WrapInEditSession ? Also do I have the right to write to this repo ?
thanks for quick answers !

@nayan27 It would be highly appreciated to have code contributed. We can do this but it is not yet scheduled. For changing stuff in the device config you'll need an edit session. But I am not sure about the WrapInEditSession
The best way for contribution is creating a personal fork, change the code there and create a pull request.

As @graugans mentions, if you want to do this @nayan27  please provide a PR and we will review. However, since this is pretty straightforward we can also implement this and roll it in to 0.9.0 which I hope to release w/in 1 - 2 weeks. I think the interface that @graugans suggests is good. It would be exposed as part of the public interface but under the hood it would use the WrapInEditSession function to have all the messiness of the session stuff handled for it seamlessly.

@tpanzarella Thanks for the quick reply guys! I can wait for 1-2 weeks for this feature.
Also, Is there a way to update the firmware of the device with this new library ?
Thanks,

@nayan27 the update feature is already part of the library. If you have build the tools then you can use the ifm3d  tool for updates.
Save current config
$ifm3d --ip=<IP_ADDRESS> dump > ifm3d_config.json

Firmware update
$ ifm3d --ip=<IP_ADDRESS> reboot -r
$ sleep 20
$ ifm3d --ip=<IP_ADDRESS> swupdate < O3X_Firmware_1.0.64.swu

Apply configuration
$ cat  ifm3d_config.json | jq 'del(.ifm3d.Apps[0].Id)'  | ifm3d --ip=<IP_ADDRESS> config

Or after merging #61 you can skip the jq part
$ ifm3d --ip=<IP_ADDRESS> config < ifm3d_config.json

@tpanzarella this morning Sachin and I had a small discussion about the password feature. We both agreed having the password stored in plain-text within the JSON is not a good solution. The idea was adding a new command to alter the password. We both committed  to this proposal:
# Activate the password
$ ifm3d --ip=<IP_ADDRESS> password --new=TopSecret
# Change the password
$ ifm3d --ip=<IP_ADDRESS> --password=TopSecret password --new=HackMe
# Disable the password
ifm3d --ip=<IP_ADDRESS> --password=HackMe password --disable

In general providing the passwords as command line arguments can lead to leaking passwords through the history or through process explorers like ps or top. A more secure way is reading the password from a file. But the original design is already providing the command line argument so we moved forward with this approach.
Any thoughts on this @tpanzarella, @theseankelly ?

I do not have strong feelings about this either way. However, my initial reaction is that the password mechanism is inherently insecure. The connection to the camera is http, so a simple tcpdump will sniff the password in a few seconds should someone really want to gain access. To that end, an alternate to what is presented above, could be:

We do not serialize the password in the JSON. Ever.

"Best practices" usage of ifm3d could look like this:

$ ifm3d --ip=<IP_ADDRESS> --password=`cat ~/.ifm3d_passwd | mydecryption-algo.sh` foo

Store an encrypted version of your password in ~/.ifm3d_passwd and be sure to chmod 600 the file.

Just another way of looking at this problem which requires less tooling on our part. If we really wanted to make a secure system, it would have to start camera-side.

I agree on the general safety aspect. The idea with insertion of the password is a nice one. Maybe we should add this to the documentation as a hint. Plus the fact the password can be sniffed by tcpdump so better don't use this feature over an insecure connection.

@tpanzarella  in General you do agree with the proposal?

It is not clear to me. I don't see the difference between having a password sub-command vs. just using a top-level --password argument. To me they are equivalent. So, the former would be more work and the latter would be less work. I'd go with the latter. Please help me understand better if I am missing the point.

Is the main function of the password actually to protect/restrict access from a security perspective, or is it more of a hard switch to prevent accidental changes to camera configuration?

@tpanzarella --password flag is used to pass the password to the device for opening edit-session. Whereas password sub-command can be used to set the password as well as disable the password from camera.

@inbangsa Got it. Thanks for clarifying. Then, yes, the approach seems fine.

@inbangsa @graugans One (minor) point, I'd name the subcommand passwd instead of password. Mainly because we already apply some consistency with the traditional Unix command names for other operations  like ls, cp, rm. Again, this is not a big deal, but, certainly would be my preference.

@tpanzarella that’s easy to fix. It also separate the manipulation from providing the password.

@theseankelly the basic idea was protecting against altering settings from unauthorized persons. We had ongoing discussions about providing a master password to unlock an protected device. What is a backdor which can be exploited. So the current approach is installing a firmware nukes the config and removes the password. On the camera the password is hashed like in your Unix box and only hashes are compared. So no extraction of passwords possible except there is an error in the hash algo


: does not exist: src/Language/C/Clang/Internal/FFI.c

Cannot build clang-pure-<IP_ADDRESS> with ghc 8.2.2.
Building C Sources...
creating dist/build
.../ghc ... src/Language/C/Clang/Internal/FFI.c
<command line>: does not exist: src/Language/C/Clang/Internal/FFI.c

The following patch does allow it to build.  I'm not sure what the stanza was ever trying to do, but current hsc2hs does not generate a FFI.c from FFI.hsc.
diff -Nur old/clang-pure-<IP_ADDRESS>/Setup.hs new/clang-pure-<IP_ADDRESS>/Setup.hs
--- old/clang-pure-<IP_ADDRESS>/Setup.hs     2016-09-22 09:20:36.000000000 +0000
+++ new/clang-pure-<IP_ADDRESS>/Setup.hs     2018-07-02 09:25:13.651052572 +0000
@@ -85,12 +85,6 @@
         libBuildInfo = lbi
         { includeDirs = llvmIncludeDir : includeDirs lbi
         , extraLibDirs = llvmLibraryDir : extraLibDirs lbi
-        , cSources = -- define the generated c-sources here so that they don't get picked up by sdist
-#ifdef mingw32_HOST_OS
-            ["srcLanguageCClangInternalFFI.c"] -- work around a bug in inline-c (?)
-#else
-            ["src/Language/C/Clang/Internal/FFI.c"]
-#endif
         }
       }
     }

Could you try with the latest version?


Add proper constructor for array owner

Array owner constructor is not available. This PR tries to fix this.
I have not been able to set up a proper GENERIC INIT interface for both owner/wrapper. Instead, I rely on the presence of the P argument. It would be good,  if someone could look into this.

Hi @pmarguinaud. I filed a PR against your branch to add a generic constructor: https://github.com/pmarguinaud/field_api/pull/2. Either solution is fine with me, you can decide which one to merge.

That confirms that it is indeed a bug. I have tested your fix on GNU 13 and it also solves the problem there 👍

Thank you Ahmad


Fix service development warning

2021-06-15T02:42:53.000561022Z stdout  * Environment: production
2021-06-15T02:42:53.000607172Z stdout    WARNING: This is a development server. Do not use it in a production deployment.
2021-06-15T02:42:53.00061242Z stdout    Use a production WSGI server instead.

@shjwudp this one already fixed by recent PR?


[WIP] Mono repo

This PR puts all TrueBit smart contracts in one repo. I have also removed a bunch of code that is not being used now.  This includes basic-client, wasm-client/webasm-solidity, wasm-client/incentive-layer, as well as basic-client related tests.
Scripts
This PR includes a handful of new scripts to be used during development and prod setup. There is now a custom compilation and deployment script being used to work with the smart contracts. Along with a script to distribute TRU tokens to accounts.
Usage
There have been changes to the npm package commands.  I think its going to be much simpler to manage in this format moving forward.
Since its WIP, I won't get too critical just yet.
I recommend we stabilize the existing implementation and ci tests before tackling the todos.
I see .gitmodules needs to be cleaned up still.
Its looking like the only submodule will be ocaml-offchain, which I think is a huge improvement!
With all the contracts in this repo now, I feel the test directory should have a structure similar to the contracts directory under the wasm-client, we'll want to make sure incentive and dispute contracts have tests and that we are running them as part of CI.


react-native-securerandom is not properly linked

Hi,
I am getting the above error while trying to generator the number. I have installed and linked as said in the documentation.
Thanks.

Have to link manually in RN 63.2 app.

@emclab - do you have any suggestions on how to link manually? (I'm getting the same error, not sure what else to do..)

Which platform(s) are you seeing this on?

Getting the same error. iOS 14, macos, React Native 0.63.3

This package has issue with linking on iOS platforms.
Maybe use https://www.npmjs.com/package/react-native-get-random-values instead.

Has this been solved since a year has passed?


Unable to run report tool

When running the script I am getting the following messages after I provide Domain Credentials in the script.
PS C:\Windows\system32>>> C:\Utilities\EventLogReport\GetEventLogReport.ps1
Security Warning
Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm your
computer. Do you want to run C:\Utilities\EventLogReport\GetEventLogReport.ps1?
[D] Do not run  [R] Run once  [S] Suspend  [?] Help (default is "D"): R
Starting Script
Select Computer List...
Selected: Domain ( Computer(s) Found)
Unable to Create Log Report
A parameter cannot be found that matches parameter name 'Message'.
Caught on line number: 294

What version of Powershell are you running?  Run $PSVersionTable
Also, it looks like it could not generate a list of computers based on this message
Selected: Domain ( Computer(s) Found), this should provide a number of computers
Try running this cmd on it's own to make sure your Domain cmdlets are working correctly
$GetADComputerList = Get-ADComputer -Credential $Global:Cred -Filter {enabled -eq "true"} -Properties OperatingSystem | Select DNSHostname, OperatingSystem
You will need to replace $Global:Cred with Get-Credential


wws and ws

Hi again the wss is working well for the hub status but the hub also needs to use ws as well (think it was in the older ver) i am have had trouble getting the landing page to work. When talking to Assistant he said It's only exposing WSS and not WS as well. Looks like WS (http) is needed to display the rooms and users count and other details where WSS is used to check the hub status. Can you add the WS support back in as well. Assistant said it can run on the https but the server just does not like it and i can not get it to work. If not ill just keep fighting and try to get it to work thanks

To do this, you will need to either downgrade the connection (I'm not sure you can even do this) or run a second WebSocket server, which is not the best solution

Looks like WS (http) is needed to display the rooms and users count and other details where WSS is used to check the hub status.

Let me elaborate on that since it seems you understood it incorrectly.
WSS and WS are the same thing, one just uses SSL and the other one doesn't.
You need WSS if you're connecting through HTTPS, you need WS if you're connecting through HTTP.
Since my website uses HTTPS, you need WSS to check the status. Since your landing page uses HTTP you need WS for it to work.
The best solution is to make your landing page use HTTPS and thus use WSS.
My hubs run both WS and WSS because the hub is exposing WS, and I use a reverse proxy to expose a WSS port. That is also a good solution.

Thanks yep i have got it running on https :)


Pdf export of a page with chartistjs chart

Thankyou for the great library.
I want to print a page with chart created with chartist.js.
But when exporting it to pdf  only the labels in PDF but there is no chart.
Here am adding a JS Fiddle  that will reproduce the issue
I request you to have a look and help me to solve the same.

As far as I know, you can't print an SVG in a pdf directly using html2pdf.  You may use "canvg" for this...

Hi @samuelgeojit, yes @albancho is right! Unfortunately html2pdf is limited based on the abilities of html2canvas, which is what actually converts the HTML into an image.
As @albancho suggested, you could run canvg first on all your charts to convert them to images, then run html2pdf.

Closing - this is an issue in html2canvas, can't be solved on this end.


Add crate: ndarray-glm

Please add crate to category: Scientific Computing
This crate implements generalized linear models for ndarray array data. PR #92

#92 is merged. Thanks.


what does these two wavy lines means in cookies chapter?

var n = ~~this.cookies.get('view', { signed: true }) + 1;

what does ~~ mean ? thanks

UPDATED:
I searched, they are double-bitwise NOT operation, the following are some paris.
~~null;      // => 0
~~undefined; // => 0
~~0;         // => 0
~~{};        // => 0
~~[];        // => 0
~~(1/0);     // => 0
~~false;     // => 0
~~true;      // => 1
~~1.2543;    // => 1
~~4.9;       // => 4
~~(-2.999);  // => -2

Due to this.cookies.get('view', { signed: true }) is undefined, so , in ~~ this way quick transfer undefined to 0 and increase it...


Updates React Keyframes component

This was the one component I had mentioned that was causing console warnings and needed to be fixed upstream. They took care of it!

Excellent!


Web_Viewer Scalable

The Web viewer needs to be made scalable to fit inside of the window.

Implemented
https://github.com/smasherprog/Remote_Access_Library/commit/de616dc61fb0745f246cdc498eda4a15be0fb36b


Updates data catalog filter options.

Fixes CILogon token expire time.
Adds option to send password reset emails using local/trusted server.

@DanielJMaher This PR is currently on uframe.ooi for testing purposes.  Contact me if you have questions.

@oceanzus Bug found: Go to data catalog, toggle mobile assets only, observe count (37), toggle on metadata streams, observe count (37), toggle off metadata streams, observe count (55).  Should still be 37.


Sign in Method Error

If one email address for example<EMAIL_ADDRESS>that is used in facebook account creation. And i login with facebook and i signout. And then i login with that gmail and logout. Finally i sign in facebook again then an alert happen(An account already exists with the same email address but diferent sign-in credentials...)

Sign in problem is solved.

But the profile picture is not changed.