Storage Architectural Update ... Avoid multi-initiator writable volume

Ian has chosen the following path for  the near-future:

[ ] CLI command (+ binmode API) to switch storage amongst the four supported modes:

Host-only (R/W)
Firmware-only (R/W)
Host and Firmware (both R/O)
No access (e.g., not formatted, both get no access)

[ ] On boot:

[ ] initial mode is Firmware-only
[ ] if button is being held down at boot, read configuration, then switch to Host-only.
Intent appears to be to make it easier to copy files to/from the BP5, when terminal software is not (easily) available?

[ ] Transitions from Firmware-only mode:

[ ] FAIL when the firmware has an open handle
[ ] Handle count appears to already be tracked

[ ] Transitions from Host-only mode:

[ ] FAIL when host used PREVENT_ALLOW_MEDIUM_REMOVAL and media is still locked

Nota Bene: Since the bus (USB) is still hot-plug, Windows (and likely other OS) will still apply conservative approaches to caching writes, and surprise-removal is still possible.
Nota Bene: May require host-side to initiate a safe-removal / unmount procedure for unlock to be sent

Note that use and support of PREVENT_ALLOW_MEDIUM_REMOVAL is an aspirational goal ... additional testing is needed to verify how the lock and unlock sequences are applied on various host OS.
Although aspirational, if the host is kind enough to give hints that it is writing to the media, may as well try to cooperate (at least when in host-exclusive mode).

original post

Ian has chosen the following path for  the near-future:

[ ] CLI command (+ binmode API) to switch storage amongst the four supported modes:

Host-only (R/W)
Firmware-only (R/W)
Host and Firmware (both R/O)
No access (e.g., not formatted, both get no access)

[ ] On boot:

[ ] initial mode is Firmware-only
[ ] if button is being held down at boot, read configuration, then switch to Host-only.
Intent appears to be to make it easier to copy files to/from the BP5, when terminal software is not (easily) available?

[ ] Transitions from Firmware-only mode:

[ ] FAIL when the firmware has an open handle
[ ] Handle count appears to already be tracked

[ ] Transitions from Host-only mode:

[ ] FAIL when host used PREVENT_ALLOW_MEDIUM_REMOVAL and media is still locked

Nota Bene: Since the bus (USB) is still hot-plug, Windows (and likely other OS) will still apply conservative approaches to caching writes, and surprise-removal is still possible.
Nota Bene: May require host-side to initiate a safe-removal / unmount procedure for unlock to be sent

Note that use and support of PREVENT_ALLOW_MEDIUM_REMOVAL is an aspirational goal ... additional testing is needed to verify how the lock and unlock sequences are applied on various host OS.
Although aspirational, if the host is kind enough to give hints that it is writing to the media, may as well try to cooperate (at least when in host-exclusive mode).


Relocate dependencies to resolve incompatibilities

This fixes three client crashes caused by using Geyser-Fabric with certain mods:

Relocating com.google fixes an exception when clicking "Create New World". Not sure which mod causes this (I use quite a few other mods), but it happens on both Fabric and Quilt.
Relocating it.unimi.dsi.fastutil fixes an exception during mixin transformation. This only happens on Quilt, and it seems to be an incompatibility with Lithium.
Relocating org.slf4j fixes an exception during launch. This also only happens on Quilt, and it seems to be an incompatibility with Iris.

Thanks for the PR! I think the root cause here is that these dependencies should be removed from the jar entirely as the Minecraft server provides them. We have code to do that but something in the Gradle migration must have broken that. Can you take a look?

Oh, sorry, I missed that! It looks like the issue is that - since the Gradle migration - all of Geyser's dependencies are included directly in the core JAR file that's published to the Maven repository. So this code...
exclude group: 'com.google.guava', module: "guava"
exclude group: 'com.google.code.gson', module: "gson"
exclude group: 'org.slf4j'
exclude group: 'com.nukkitx.fastutil'
exclude group: 'io.netty.incubator'

...does absolutely nothing now. I created GeyserMC/Geyser#3331 which should fix this issue, so I'll close this PR! Alternatively, we could probably configure shadowJar in Geyser-Fabric to remove all of the packages of dependencies from the final JAR file, but that sounds very disgusting.


Allowed describe to take in functions again

Summary
Partially replicates https://github.com/DefinitelyTyped/DefinitelyTyped/pull/23102 by allowing describe to take in a number or function.
Fixes #12483.
Test plan
I can verify TypeScript thinks these things are valid:

~I couldn't figure out where the right place to test this at runtime is, though. Could someone help please? 🙂~ Actually, there are a bunch of compiler issues - I'll work on those.

Nice! CI seems happy 🙂
Can you add type tests as well? https://github.com/facebook/jest/blob/c65bb4521597fb1ad65dacd778a26e04684b2872/packages/jest-types/typetests/globals.test.ts

Thank you for the pointers @SimenB! 🙌


docker: invalid publish opts format (should be name=value but got 'novnc-port:8080').

using the run command provided

Getting the same, any solutions?

Fixed in dev version. Thanks for the issue.


Move path mangling to util module and test it.

This might be leaning a bit into gamification, but it does drop one more temporary allocation and sets a bit of precedent towards better testing...

I think more tests in general would be healthy. Therefore 👍

I think more tests in general would be healthy. Therefore 👍


If code is unreleased, don't tag banner code with release version

Currently the banner code adds pkg.version, which is the code version from bower.json, however when the code is unreleased (e.g. when there is content in the Unreleased section of the changelog), this technically shouldn't be tagged with a release number as the actual JS code may contain more than what's in the release version specified.

so then there will be no version number at all in between releases? Maybe we need a release grunt task that adds all that only when opening a PR from refresh->beta?

So then there will be no version number at all in between releases?

That or something like:
 *  cfgov-refresh - v3.0.0-1.0.0 + Unreleased

Maybe we need a release grunt task that adds all that only when opening a PR from refresh->beta?

That sounds good to me.

We no longer include the version in the banner.


feat(types): allow readonly array in omit function

[!TIP]
The owner of this PR can publish a preview release by commenting /publish in this PR. Afterwards, anyone can try it out by running pnpm add radashi@pr<PR_NUMBER>.

Summary
This pull request is an enhancement to the omit function, allowing it to accept readonly array keys. This means that the keys array cannot be modified within the function

Related issue, if any:
https://github.com/radashi-org/radashi/issues/267

For any code change,

[ ] Related documentation has been updated, if needed
[x] Related tests have been added or updated, if needed
[ ] Related benchmarks have been added or updated, if needed

Does this PR introduce a breaking change?

No

🎉
This will be released in v12.2.0 (and a beta before then, once I fix the CI script)


[GraphQL error]: Message: Cannot query field 'links' on type 'Query'. (line 2, column 3):

Hi.
I'm following the tutorial on https://www.howtographql.com/react-apollo/1-getting-started/
have followed all of the steps, (which basically involves downloading the starter tarball and running the yarn install commands).
when I try to execute the feed query on the playground, it gives me the following error in the console.
$ graphql playground Type "Node" is missing a "resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning. Server is running on http://localhost:4000 Serving playground at http://localhost:3000/playground Request to http://localhost:4466: query: {   links {     id     createdAt     description     url   } } operationName: null variables: {} [GraphQL error]: Message: Cannot query field 'links' on type 'Query'. (line 2, column 3):   links {   ^, Location: [object Object], Path: undefined [Network error]: Error: Cannot query field 'links' on type 'Query'. (line 2, column 3):   links {   ^ Error: Cannot query field 'links' on type 'Query'. (line 2, column 3):   links {   ^     at BatchedGraphQLClient.<anonymous> (C:\Users\ihols\src\hackernews-react-apollo\server\node_modules\http-link-dataloader\dist\src\BatchedGraphQLClient.js:77:35)     at step (C:\Users\ihols\src\hackernews-react-apollo\server\node_modules\http-link-dataloader\dist\src\BatchedGraphQLClient.js:40:23)     at Object.next (C:\Users\ihols\src\hackernews-react-apollo\server\node_modules\http-link-dataloader\dist\src\BatchedGraphQLClient.js:21:53)     at fulfilled (C:\Users\ihols\src\hackernews-react-apollo\server\node_modules\http-link-dataloader\dist\src\BatchedGraphQLClient.js:12:58)     at process._tickCallback (internal/process/next_tick.js:68:7)
DB is mysql in docker container.
OS is windows 10.
Thanks!

digging into this. there was an issue when I deployed the DB. it didn't create all the tables, and referenced a 'datamodel.prisma' which only had a user table in there (no idea where this came from).
when I updated that file to have the same contents as database/datamodel.graphql it passed.


The word Vector2.DOWN is wrongly obscured in some cases.

Like DOWN, there are other directions of Vector2 that are mishandled.
This is probably because I created another script with UP DOWN LEFT RIGHT members.
Can I only avoid it? Maybe it's a problem, so I wrote this issue.

Oh ye, I forgot to add the constants of variants as exceptions.
Easy to fix, thanks!


Twitter User Mentions feed

Twitter offers an API endpoint for user mentions.  It would be grand if I could subscribe to this from Granary.

yes! thanks for filing. i looked at that API endpoint originally, but shied away from it since it only works for the authenticated user, not arbitrary usernames:
https://github.com/snarfed/granary/blob/master/granary/twitter.py#L415-L418
...but that's a totally reasonable limit to impose.

note to myself: i'd probably add the special case for the authenticated user to fetch_mentions():
https://github.com/snarfed/granary/blob/master/granary/twitter.py#L449
not sure how i'd expose it in the API and/or the web UI yet.

Sorry if I'm missing something obvious, but isn't Granary authenticating to Twitter as me already?  Or is it authenticating as your application ID and I'm simply granting that ID read access to my Tweets?

heh, yes. the missing part is the statuses/mentions_timeline API call, and the new REST endpoint, UI, etc we'll need for it, not authentication.

Twitter is now developer-hostile, so I don't plan to work on this myself. I'll happily review and merge PR(s) though!


Omnisharp fails on OSX

Issue Description
Omnisharp fails with
OmniSharp requires a complete install of Mono (including MSBuild) to provide language services when omnisharp.useModernNet is disabled in Settings. Please install the latest Mono and restart.
omnisharp.useModernNet is disabled in settings already.
Steps to Reproduce
Just open project
Expected Behavior
Omnisharp should work
Actual Behavior
Omnisharp fails with
OmniSharp requires a complete install of Mono (including MSBuild) to provide language services when omnisharp.useModernNet is disabled in Settings. Please install the latest Mono and restart.
Logs
OmniSharp log
OmniSharp failed to start because of missing requirements.
OmniSharp failed to start because of missing requirements.
OmniSharp failed to start because of missing requirements.
OmniSharp failed to start because of missing requirements.
C# log
empty
Environment information
VSCode version: 1.73.0
C# Extension: 1.25.1
Mono Information
        OmniSharp using mono: 6.12.0
Dotnet Information
.NET SDK (reflecting any global.json):
 Version:   6.0.401
 Commit:    0906eae6f8
Runtime Environment:
OS Name:     Mac OS X
OS Version:  13.0
OS Platform: Darwin
RID:         osx-arm64
Base Path:   /usr/local/share/dotnet/sdk/6.0.401/
global.json file:
Not found
Host:
Version:      6.0.9
Architecture: arm64
Commit:       163a63591c
.NET SDKs installed:
6.0.401 [/usr/local/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Download .NET:
https://aka.ms/dotnet-download
Learn about .NET Runtimes and SDKs:
https://aka.ms/dotnet/runtimes-sdk-info

Visual Studio Code Extensions

Extension
Author
Version

better-cpp-syntax
jeff-hykin
1.16.3

cpptools-themes
ms-vscode
2.0.0

csharp
ms-dotnettools
1.25.1

csharpier-vscode
csharpier
1.3.5

debugger-for-chrome
msjsdiag
4.13.0

isort
ms-python
2022.4.0

jupyter
ms-toolsai
2022.9.1202862440

jupyter-keymap
ms-toolsai
1.0.0

jupyter-renderers
ms-toolsai
1.0.12

python
ms-python
2022.18.1

remote-containers
ms-vscode-remote
0.262.3

remote-ssh
ms-vscode-remote
0.90.1

remote-ssh-edit
ms-vscode-remote
0.84.0

remote-wsl
ms-vscode-remote
0.72.0

textproto-grammer
thejustinwalsh
0.0.8

vetur
octref
0.36.1

vim
vscodevim
1.24.3

vscode-bazel
BazelBuild
0.6.0

vscode-docker
ms-azuretools
1.22.2

vscode-jupyter-cell-tags
ms-toolsai
0.1.6

vscode-jupyter-slideshow
ms-toolsai
0.1.5

vscode-proto3
zxh404
0.5.5

vscode-pylance
ms-python
2022.11.10

vscode-remote-extensionpack
ms-vscode-remote
0.21.0

vscode-solution-explorer
fernandoescolar
0.7.4

vscode-typescript-tslint-plugin
ms-vscode
1.3.4

Confirmed this is a regression in 1.25.1, 1.25.0 works fine.

This is a duplicate of #5443

Confirmed this is a regression in 1.25.1, 1.25.0 works fine.

@kzaher how to downgrade to 1.25.0 ?

Google itOn 9 Nov 2022, at 19:43, Rohit Vishwakarma @.***> wrote:
Confirmed this is a regression in 1.25.1, 1.25.0 works fine.
@kzaher how to downgrade to 1.25.0 ?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Downgraded to 1.25.0
I've never had to downgrade a VSCode extension, so for anyone else who doesn't know:

And select 1.25.0

Closing as duplicate of https://github.com/OmniSharp/omnisharp-vscode/issues/5443 .  Should be resolved in the next release (hopefully today).  Until then, the linked issue has workarounds.

The same problem occurs in Linux Ubuntu 20.04

macOS still exists in v1.25.7 version

I downgraded to 1.25.2 and it seems to most recent one that works


Has something changed recently that causes Go To Definition to open files with network-share-drive paths converted to UNC paths?

I've been seeing several questions on Stack Overflow about this recently- people opening a workspace stored on a Windows network-share-drive, and then using Go To Definition from a file located in that workspace to navigate to the definition of that symbol, defined in the same workspace, and the editor tab being opened for that file with a UNC path instead of a network-share-drive path. Sort of particularly interesting is that if the symbol is defined somewhere else in the same file, then a new editor tab is opened using the UNC version of the path, so now there are two tabs for the same file opened- one with the network-share-drive path, and one with the UNC path.
Especially problematic is that these users report that the two opened documents are not recognized by VS Code as being the same, so changes in one are not kept instantaneously in sync with the other, and they can have unsaved, out-of-sync changes.
Did something change recently to cause this behaviour? Can any maintainers here reproduce the issue? Is it intentional? If so, why was it deemed desirable?

I'm just adding a couple of the questions for reference:
https://stackoverflow.com/questions/77873627/go-to-definition-on-python-function-in-vs-code-opens-new-tab-with-unc-path
https://stackoverflow.com/questions/77861942/vscode-pylance-converts-network-drive-to-unc-path

This is a dupe of https://github.com/microsoft/pylance-release/issues/5260 which we recently fixed. It was not intentional for this to happen.

I can confirm that at least prerelease v2024.1.103 has this issue fixed.


Improve tests coverage and formatting

Codecov Report

Merging #22 (1a3b5dc) into master (07b74b2) will increase coverage by 10.38%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           master      #22       +/-   ##
===========================================
+ Coverage   84.97%   95.35%   +10.38%
===========================================
  Files           4        4
  Lines         519      517        -2
  Branches      111      110        -1
===========================================
+ Hits          441      493       +52
+ Misses         64       13       -51
+ Partials       14       11        -3

Impacted Files
Coverage Δ

animation_retarget/ops.py
100.00% <ø> (+2.15%)
:arrow_up:

animation_retarget/core.py
93.06% <100.00%> (+1.98%)
:arrow_up:

animation_retarget/ui.py
97.32% <100.00%> (+41.07%)
: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 07b74b2...1a3b5dc. Read the comment docs.


No devices found with name or id matching 'web' when running Flutter in Chromebook

Unable to run Flutter for Web in Chromebook.
flutter doctor -v is as below:

flutter doctor -v
> [✓] Flutter (Channel stable, 2.5.2, on Debian GNU/Linux 10 (buster) 5.4.131-16049-gc688e114d34e, locale en_US.UTF-8)

    • Flutter version 2.5.2 at /home/charithasds/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3595343e20 (3 days ago), 2021-09-30 12:58:18 -0700
    • Engine revision 6ac856380f
    • Dart version 2.14.3

> [✗] Chrome - develop for the web (Cannot find Chrome executable at /usr/bin/google-chrome-stable)

    ! /usr/bin/google-chrome-stable is not executable.

> [✓] VS Code (version 1.60.2)

    • VS Code at /usr/share/code
    • Flutter extension version 3.26.0

> [!] Connected device

    ! No devices available

> ! Doctor found issues in 2 categories.

I have added the below line in `.bashrc`:

`export CHROME_EXECUTABLE=/usr/bin/google-chrome-stable`

If this was removed, I will get this for `flutter doctor -v`:

> [✓] Flutter (Channel stable, 2.5.2, on Debian GNU/Linux 10 (buster) 5.4.131-16049-gc688e114d34e, locale en_US.UTF-8)

    • Flutter version 2.5.2 at /home/charithasds/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3595343e20 (3 days ago), 2021-09-30 12:58:18 -0700
    • Engine revision 6ac856380f
    • Dart version 2.14.3

> [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)

    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

> [✓] VS Code (version 1.60.2)

    • VS Code at /usr/share/code
    • Flutter extension version 3.26.0

> [!] Connected device

    ! No devices available

> ! Doctor found issues in 2 categories.

Searched and found the issues #40478 and #72982 for the same. Even though #40478 has a fix, it's not working now. The workaround in #72982 is having a high impact on the CPU and takes a very long time to compile.
I have tried flutter run -d web --web-port 8000 and flutter run -d web --web-port 8000 --web-hostname <IP_ADDRESS> and both gives the below output:
No devices found with name or id matching 'web'
Is there any other solution that can be used?

Hi @charithasds
Along with other fixes, have you tried flutter config --enable-web? and restart your terminal

Hi @TahaTesser,
Yep it was already enabled. So no luck with that.


Fix Bug in add_ncu

#178 Introduced a bug when chosen_metrics was not provided. When chosen_metrics=None all ncu metrics are added to the perf dataframe. This PR fixes the bug by modifying the check and moving it, where we can check for duplicate columns when chosen_metrics=None aswell.

@michaelmckinsey1 Can you please resolve conflicts on this PR? Apologies if I merged these in the wrong order.


Add NativeAOT macOS prerequisites

Cc @jkotas

Internal previews

📄 File
🔗 Preview link

docs/core/deploying/native-aot/index.md
Native AOT deployment

I'd ideally want to make this bullet only show up if people are looking at the page in the context of .NET 8 (we don't support macOS on .NET 7), but I don't know how to do that.

I'd ideally want to make this bullet only show up if people are looking at the page in the context of .NET 8 (we don't support macOS on .NET 7), but I don't know how to do that.

I do not think we need to complicate the doc by filtering this part.
(It we wanted to filter it, I guess we would put it under tabs - there is one net7/net8 specific paragraph in the doc already.)

I think my suggestion is applicable, accept it and we can merge

@MichalStrehovsky How's this suggestion?


Possible performance optimisation in scipy.sparse.compressed

There are various places in scipy.sparse.compressed (which provides the base class for csr_matrix and csc_matrix) where new matrices are constructed internally using the pattern:
return self.__class__((data, indices, indptr), shape=(M, N))

Because the _cs_matrix constructor calls check_format this means that each time we do this we end up running checks to ensure the validity of the data. But these instances are being constructed internally and so should never be invalid (or if they are, that's a more serious bug that needs addressing).
I first noticed this when profiling code which takes column slices of a large number of CSC matrices. Below is a small demo of the performance difference between constructing submatrices using __init__ and constructing them directly using __new__:
$ python sparse_submatrix_performance.py
sparse_matrix:      10000 loops, best of 3: 77.5 usec per loop
fast_sparse_matrix: 10000 loops, best of 3: 22.6 usec per loop

sparse_submatrix_performance.py
import timeit
import scipy.sparse
from scipy.sparse.compressed import _process_slice, get_csr_submatrix

class FastCSRMatrix(scipy.sparse.csr_matrix):

    def _get_submatrix(self, major=None, minor=None, copy=False):
        """Return a submatrix of this matrix.
        major, minor: None, int, or slice with step 1
        """
        M, N = self._swap(self.shape)
        i0, i1 = _process_slice(major, M)
        j0, j1 = _process_slice(minor, N)

        if i0 == 0 and j0 == 0 and i1 == M and j1 == N:
            return self.copy() if copy else self

        indptr, indices, data = get_csr_submatrix(
            M, N, self.indptr, self.indices, self.data, i0, i1, j0, j1)

        shape = self._swap((i1 - i0, j1 - j0))

        # Rather than constucting a new instance with `__init__` which runs
        # `check_format` we construct it directly
        # return self.__class__((data, indices, indptr), shape=shape,
        #                       dtype=self.dtype, copy=False)
        new_matrix = self.__class__.__new__(self.__class__)
        new_matrix.data = data
        new_matrix.indices = indices
        new_matrix.indptr = indptr
        new_matrix._shape = shape
        return new_matrix

def sparse_matrix():
    return scipy.sparse.random(100, 100, format='csr', random_state=123)

def fast_sparse_matrix():
    return FastCSRMatrix(sparse_matrix())

if __name__ == '__main__':

    for fn_name in ["sparse_matrix", "fast_sparse_matrix"]:
        loops = 10000
        results = timeit.repeat(
            setup="from __main__ import {0}; matrix = {0}()".format(fn_name),
            stmt="matrix[10:90, :]",
            number=loops,
        )
        best = min(results)
        usec = best * 1e6 / loops
        print("{}: {} loops, best of 3: {:.1f} usec per loop".format(fn_name, loops, usec))

As you can see, the version which avoids check_format is over three times as fast.
I wonder if there's scope for adding an internal class method something like the below:
@classmethod
def _new(cls, data, indices, indptr, shape):
    """
    Constructs a new matrix instance from data which is already known to be valid.
    Only for internal use
    """
    matrix = cls.__new__(cls)
    matrix.data = data
    matrix.indices = indices
    matrix.indptr = indptr
    matrix._shape = shape
    return matrix

This could be used in the various places where we construct matrices internally. Searching here for the string self.__class__(( shows 9 instances.

Makes sense, the constructor does a fair amount of logic and sanity checking.
If you open a pull request with your proposed change, I'd be happy to review it!

This also affects round-tripping through Arrow.SparseCSRMatrix.  The pyarrow.SparseCSRMatrix.to_scipy() uses the same constructor, with the same end result.  In addition to the internal interface mentioned above, it would be useful to have an "unsafe" constructor mode which bypasses the expensive checks.
In this case, the overhead is closer to 7X in informal tests:
In [28]: sp
Out[28]:
<2326909x52392 sparse matrix of type '<class 'numpy.float32'>'
        with<PHONE_NUMBER> stored elements in Compressed Sparse Row format>

In [29]: %time pyarrow.SparseCSRMatrix.from_scipy(sp)
CPU times: user 41 µs, sys: 35 µs, total: 76 µs
Wall time: 125 µs
Out[29]:
<pyarrow.SparseCSRMatrix>
type: float
shape: (2326909, 52392)

In [30]: %time pyarrow.SparseCSRMatrix.from_scipy(sp).to_scipy()
CPU times: user 7.08 s, sys: 126 ms, total: 7.2 s
Wall time: 7.2 s
Out[30]:
<2326909x52392 sparse matrix of type '<class 'numpy.float32'>'
        with<PHONE_NUMBER> stored elements in Compressed Sparse Row format>


using respectful language

/gcbrun

/gcbrun

:shipit:
(Since breaking change, CI pipeline needs to be updated. Will create issue)

:shipit:
(Since breaking change, CI pipeline needs to be updated. Will create issue)


Enable es6toprimitive under experimental

Enable es6toprimitive under experimental flag.
Update following areas to be spec-compliant:
ToPrimitive (abstract operation)
Date.prototype@@toprimitive
Symbol.prototype@@toprimitive
Update unit tests with coverage on:
ToNumber (abstract operation)
ToString (abstract operation)
ToPropertyKey (abstract operation)
Abstract rational comparison (abstract operation)
Abstract equality comparison (abstract operation)
"+" operator
Date() constructor
Date.prototype.toJSON()

@Microsoft/chakra-es could you take look pls?

        Assert(!CrossSite::NeedMarshalVar(result, requestContext));

nit: (not related to your change) this assert should be moved below if check and its body. If this result is nullptr then this assert will throw, isn't it?

Refers to: lib/Runtime/Language/JavascriptConversion.cpp:528 in bf80652. [](commit_id = bf8065293e0ef016de1c59275bac3ed82135ce34, deletion_comment = False)

        Assert(!CrossSite::NeedMarshalVar(result, requestContext));

Make sense. Moved to latest rev.

In reply to: 234661240 [](ancestors = 234661240)

Refers to: lib/Runtime/Language/JavascriptConversion.cpp:528 in bf80652. [](commit_id = bf8065293e0ef016de1c59275bac3ed82135ce34, deletion_comment = False)

:shipit:


Update capa_test.go

What this PR does
Checklist

[ ] Update changelog in CHANGELOG.md.

Trigger e2e tests

/run cluster-test-suites

any more info? :p why is the change needed now or  what part of issue is it?

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites


Sia stuck at block 33412

I'm trying to run Sia on my RasPi 2 B+ and it's been stuck for days at block 33,412. siad pegs my CPU and uses about 60% of the system's RAM.
Any way to debug what it's hanging on? I'm running from master at d461e3422695f4f0f047972b1b1d17649f62bcfa.

So, we're actively working on this. We believe that the core problem is highly inefficient network usage, which consumes both RAM and stalls out network connections. There was a recently merged PR to prevent siad from broadcasting blocks during IBD, which should help with a lot of the traffic problems. A PR is open right now to flood block headers across the network instead of full blocks, which should also help.
There's another problem where clients will actually do 5+ simultaneously block downloads, meaning they download all of the blocks multiple times over.
We're not sure the exact reason that clients are getting stuck, but Jordan is working on it full time right now. We've made several improvements, expanded testing, and once the remaining obscene inefficiencies are gone we'll add logging and diagnose the freezing (assuming that the freezing isn't solved at that point).
The peering code that's currently in place was only designed to handle tiny blocks and relatively low peer counts. Now that blocks are larger and there are more peers, it's simply not keeping up. Also, there are more blocks, which is contributing to the issues.
Usually, when it gets stuck it'll get unstuck after a while. Sometimes it's 3 hours, sometimes it's like 18. I'm guessing it's taking you multiple days because the raspi is so low-power. But, Sia in theory should run fine on a raspi. I'm guessing that after we've made the network upgrades, the raspi will do much better. Already we've seen RAM requirements drop about 400MB.

Left it running for 2 days and I'm up to 35,744. Getting there!
But even if I catch up, can I serve as a functional host node if I'm frequently stuck on blocks for hours/days?

People tend to have significantly less trouble once they are caught up.  So you get a  ton of concurrent communication that's redundant and completely unnecessary.
Once you are caught up, you stop spawning new threads because you aren't confused about the new blocks. Nodes are usually significantly better at staying caught up than they are at catching up.

Restarting said may help you catch up faster. I found a bug in the synchronization code today that may be the cause of this. Will have a PR in for the fix later tonight.

It was making slow progress for a while and now it's been stuck on 38,610 for I think two days now. I tried checking out sync-bug-fix before it got merged and rebuilt and ran with that, but still seeing the issue. I'll re-sync and rebuild.

the sync bug fixed one of two issues. Things should be a lot smoother after that merge, but there's another thing that needs to be merged. (limiting the number of peers you are doing IBD with).

Finally caught up! Whee!
$ $GOPATH/bin/siac
Block:<PHONE_NUMBER>0005ee21c9bfa8c19eed129583f1a7aaf593035eebdd1fe427a7bf
Height: 40071
Target: [0 0 0 0 0 1 99 98 52 169 83 213 45 227 127 200 23 168 24 17 17 144 175 1 193 22 9 247 50 159 229 65]


Duplicate banners implemented previous work arounds, and have large number of crashes

First of all thanks for taking up this project.
I've implemented the work arounds in the issue over in the old repo.
https://github.com/admob-plus/admob-plus/issues/450
document.addEventListener('pause', function() {
if (banner) {
console.log('pause hide banner');
banner.hide();
}
});
document.addEventListener('resume', function() {
if (banner) {
console.log('resume show banner');
banner.show();
}
});
and i've also passed the banner ID to banner load.
banner = new admob.BannerAd({
adUnitId: bannerId,
position: "top",
size: {
adaptive: "anchored"
},
id: _bannerId ? Number.parseInt(_bannerId) : null
}
);
I write the bannerId to local storage when it loads and read it when the app starts.
I get a lot of app crashes with:
AMBBanner.swift line 8 specialized static AMBBanner.updateLayout()
Fatal Exception: NSGenericException
Unable to activate constraint with anchors <NSLayoutYAxisAnchor:0x2810d14c0 "ServerLife.AMBBannerStackView:0
×10416c6f0.top"> and <NSLayoutYAxisAnchor:0x2810f4680 "UILayoutGuide:0×283ca8d20'UlViewSafeAreaLayoutGui de' top"> because they have no common ancestor. Does the constraint or its anchors reference items in different vie w hierarchies? That's illegal.
From what I can gather from my users this is happening when they come back from closing an Interstitial.
Before I move to this new repo, I'd like to know

If the original issue has been fixed.
What work arounds anyone else is using.
Does anyone else have this crash.

Hey @EYALIN can you let me know about this issue please?

@jasonandress , I'm working on trying to see what will be the correct way to solve it. in a meantime use the workaround, it works for me.


I can´t create an environment with API

I can´t create an environment with API. I tried in several ways and it was not possible, I always get the message: "details": "hostname cannot be empty" or "details": "Invalid environment name".
Can someone help me? Is it a bug or did you change some endpoint?
1:
http --form POST https://my-portainer.com/api/endpoints "Authorization: Bearer eyxxxxxxxxxxxxxxxxxxxDg2Nzl9.Exxxxxxxxxxxxxx4ro" Name="test" EndpointCreationType=4
or
2:
http POST https://my-portainer.com/api/endpoints X-API-Key:ptr_xxxxxxxxxxxxxxxx= Name="test" EndpointCreationType=4
I tried with curl too, the same answer.

Portainer version: 2.13.1
Target Docker version (the host/cluster you manage): 20.10.13
Platform (windows/linux): Linux
Command used to start Portainer (docker run -p 9443:9443 portainer/portainer):  docker run -d -p 443:9443 -p 8000:8000     --name portainer --restart always     -v /var/run/docker.sock:/var/run/docker.sock     -v portainer_data:/data     -v /opt/certs:/certs     portainer/portainer-ce:latest
Target Swarm version (if applicable):
Browser:

Are you providing the other information needed (for example the URL)? You're choosing the Edge Agent type in your deployment so you would need to specify the URL (as it won't be local). You can find all the options listed in the SwaggerHub documentation.

No, because the documentation says the required fields are Name and EndpointCreationType only.
I even downgraded to version 2.11.1 and it worked with the same commands I reported here.

Yes, those are the only explicitly required fields for that API endpoint, because there are fallback defaults for the other values. Those fallbacks probably don't make sense for an Edge Agent deployment though, which is why I suggested setting the URL explicitly.
I'm currently testing this locally to see if I can replicate what you're seeing.

I've been able to replicate this behavior on 2.13.1 and as you've indicated it works fine on 2.11.1. I'm opening a bug internally with the team around this.

On further testing, the URL parameter does indeed need to be set when using EndpointCreationType=4 in 2.13.1. This is due to some validation changes that were made in this release. I'm working with the team to get the documentation updated to reflect this.
However, I have not been able to replicate your assertion that the same thing happens for EndpointCreationType=1 - on both 2.11.1 and 2.13.1 I can create a type 1 environment with just the Name and EndpointCreationType fields set, nothing else.

I had a similar issue while using Ansibles URI module and got the same Invalid environment name" error message.
Got it solved, when I changed the body_format from json to form-multipart.
Maybe it helps.

The API documentation has been updated to note that URL is required for EndpointCreationType=4.


No output file

Hi! I'm using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node version is 9.3.0) Unfortunatelly output file is not generated even though everything's green in console.
Here's my config:
    {
        test: /\.css$/,
        include: path.join(__dirname, "src"),
        use: ExtractTextPlugin.extract({
          use: [
            {
              loader: "css-loader",
              options: {
                modules: true,
                localIdentName: "[local]_[hash:base64:5]",
                imports: false,
              },
            },
          ],
          fallback: "style-loader",
        }),
      }

    /*...*/

    plugins: [new ExtractTextPlugin({ filename: "[name].bundle.css", allChunks: true })],

And of cause I do import css file:
import React from "react";

import style from "./styles.css";

export default () => (
  <div className={style.test}>
    ...
  </div>
);

Interesting part is that css-loader seems to work: I clearly see generated classnames.
Here's a repo: https://github.com/grundiss/lilenko_ru (yarn build-client builds client, src/client/pages/main/index.js imports css file)
I would really appreciate some help in figuring out, what do I do wrong.

It suddenly started to work. Don't know, cache or something...


[Feature request] Is it able to save all tags information from all bookmarked pictures?

Prerequisites

[x] Did you read FAQ section?
[x] Did you test with the latest releases or commit ?

Description
Since there are thousands of picture in my disc, which is really hard for me to find a specific picture while forgetting the artist id and the name of the picture.
The "Export online bookmark" option only export the artist id, it'll be great if there's an function
for "Export tags of bookmarked pictures" and export the information shown on console like :
Processing Image Id: 77112462
Member Name  : y
Member Token : lovely-z
Title:
Tags : にじさんじ, バーチャルYouTuber, 月ノ美兎, バーチャルYouTuber1000users入り
Date : 2019-10-04 15:01:06+00:00
If possible, "Export user custom tags" will also be great.
Thanks a lot in advance.

enable
writeimageinfo = True
it will come out like
ArtistID      = 7758 ArtistName    = ReDrop ImageID       = 79583703 Title         = イライラのアサシン Caption       = バレンタインのカーマちゃんめっちゃイライラしてましたね…。 Tags          = Fate/GrandOrder, カーマ(Fate), FGO, イライラダブルピース, 枕草子・春曙抄, 直視, メンチビーム, Fate/GO30000users入り, 違和感仕事しろ, 下屋則子 Image Mode    = big Pages         = 1 Date          = 02/18/20 15:04 Resolution    = 2275x1280 Tools         =  BookmarkCount = 43561 Link          = https://www.pixiv.net/en/artworks/79583703 Ugoira Data   =


Update documentation about multi-args factories

Following #215

Implementation has already been done, but the documentation needs to be improved.

see https://github.com/Kodein-Framework/Kodein-DI/commit/c6948981e8a83db78a689a7ef6003af5d5554423


Can't clean shutdown lnd with --watchtower.active

Background
I run lnd  with --watchtower.active, but I can't clean shutdown lnd.

Sounds like some watchtower goroutine isn't properly exited.
Could you please forcefully shut down lnd, start it again with the --profile=9736 port, try a clean shutdown and when it hangs again extract a goroutine profile as described here: https://github.com/lightningnetwork/lnd/blob/master/docs/debugging_lnd.md#capturing-pprof-data-with-lnd
That would help us to identify where the problem lies.

Ok, I will send the pprof data to you by slack.

As there is no sensitive/personal information in the profile, I'm posting it here as well so others can take a look too: https://paste.ubuntu.com/p/FcW3QvhJDm/
I looked into some of the goroutines and am not sure if the btcwallet/wallet should still be listening on those channels at this point. But apart from that I didn't see anything suspicious. Any ideas @wpaulino, @Crypt-iQ ?

The goroutine profile shows that lnd is still in the process of starting up, specifically trying to connect to btcd for fee estimation. There's no trace of a shutdown request at all.

Same problem here. Tried with different watchtowers. Unable to stop the LND daemon when connected to a watchtower. When trying "lnd stop", active channels becomes zero but the daemon is not stopping. No error messages.

@peername: I still wasn't able to reproduce this locally. Would you be willing to share your configuration, or at least everything watchtower related?

It usually happens to me when the remote watchtower is offline. There are pending client updates that can't be sent.

Ah, that helps, thanks! Maybe I can reproduce it then.

I looked into this a bit more.
Unfortunately I couldn't reproduce any shutdown hang.
At most it took 10 seconds to shut down if there was a session negotiation still ongoing. But after the 10 seconds the force shutdown kicked in and lnd terminated normally.
But it seems that there are different scenarios where you (@lesterli, @peername and @githorray) experience this.
I think we need more information. Can you please answer the following questions?

Are you running a watchtower server (--watchtower.active) or client (--wtclient.active)?
What watchtower and tor related configuration have you set?
What does the log look like in general (any error messages?) or on shutdown specifically? (Would be helpful if you could increase the debuglevel=debug and post more than just the last three lines).
Can you extract a profile again, during the shutdown that hangs? It looks like the previous profile was taken while the node was still starting.

Thanks!

I'm seeing this as well and it has been consistent for at least the last two lnd versions. Forced to do a "kill -KILL".
 I suspect that has something to do with it.
$ lncli wtclient stats
{
    "num_backups": 0,
    "num_pending_backups": 0,
    "num_failed_backups": 0,
    "num_sessions_acquired": 0,
    "num_sessions_exhausted": 0
}

$ lncli wtclient policy
{
    "max_updates": 1024,
    "sweep_sat_per_byte": 10
}

I'm not running with tor enabled.
I have trace-level log files for two different occasions that I can send privately, just let me know.
I don't have a any profile data. I have tried to do pkill -5 -x lnd in the past to get a golang call stack dump but systemd never saved any output of that to the journal, lnd was killed though.

@jogc thanks for the additional information. I'm still unable to reproduce this locally.
Can you send me the trace level logs please? I'm guggero in our community Slack or on Keybase.

None of these towers are functional but I'm unable to remove them.

Are you running into https://github.com/lightningnetwork/lnd/issues/4420?

None of these towers are functional but I'm unable to remove them.

Are you running into #4420?

It seems similiar but I'm getting removing towers is disallowed while a new session negotiation is in progress rather than tower has unacked updates. Heres what I wrote on slack about it a while back:

If I do a lncli wtclient towers it shows two towers. Both are old stale towers that are not reachable. Trying to remove either of them with lncli wtclient remove gives me [lncli] rpc error: code = Unknown desc = removing towers is disallowed while a new session negotiation is in progress. Neither of them are specified on the lnd command line. How can I get rid of them and start fresh?

Ah I see. That stems from the watchtower client attempting to negotiate a new session with one of the candidates. There's no way for it to know at the moment that these towers no longer exist, so it will wait until it can reach either of them (which will never happen). You'll want to add a new reachable tower, which will be chosen to negotiate a session with, and you should then be able to remove the others.

I was finally able to reproduce it!
The problem occurs if there is no active session and the number of updates is exhausted:
2020-10-27 11:18:49.409 [DBG] WTCL: Processing backup(940a681cf49e2ee12015b0d6b83f810fc5a509d5fe5bf921a74d79c9af3ac7cd, 1907)
2020-10-27 11:18:49.409 [DBG] WTCL: SessionQueue(03cce423735484aedd57882692b132e0d3c84892090936d6b44c41be0771cc1582) deciding to accept backup(940a681cf49e2ee12015b0d6b83f810fc5a509d5fe5bf921a74d79c9af3ac7cd, 1907) seqnum=4 pending=15 max-updates=20
2020-10-27 11:18:49.409 [INF] WTCL: Queued backup(940a681cf49e2ee12015b0d6b83f810fc5a509d5fe5bf921a74d79c9af3ac7cd, 1907) successfully for session 03cce423735484aedd57882692b132e0d3c84892090936d6b44c41be0771cc1582
2020-10-27 11:18:49.409 [DBG] WTCL: Session 03cce423735484aedd57882692b132e0d3c84892090936d6b44c41be0771cc1582 exhausted
2020-10-27 11:18:49.409 [INF] WTCL: Requesting new session.
2020-10-27 11:18:49.409 [DBG] WTCL: Dispatching session negotiation
2020-10-27 11:18:49.410 [DBG] WTCL: Attempting session negotiation with tower=020ecd2e0eb26d73beeec130f2a9d89bdb99a4fb9d2cd1177130b4162b2562f434
2020-10-27 11:18:49.413 [DBG] WTCL: Request for session negotiation with tower=020ecd2e0eb26d73beeec130f2a9d89bdb99a4fb9d2cd1177130b4162b2562f434@<IP_ADDRESS>:9911 failed, trying again -- reason: dial tcp <IP_ADDRESS>:9911: connect: connection refused
2020-10-27 11:18:49.413 [DBG] WTCL: Request for session negotiation with tower=020ecd2e0eb26d73beeec130f2a9d89bdb99a4fb9d2cd1177130b4162b2562f434@7ykwxs6ln3o4xjuwcovvpl4mnyg2gbij44i3ve6kofbwbobi2tdx7wyd.onion:9911 failed, trying again -- reason: dial tcp: address 7ykwxs6ln3o4xjuwcovvpl4mnyg2gbij44i3ve6kofbwbobi2tdx7wyd.onion: no suitable address found
2020-10-27 11:18:49.413 [DBG] WTCL: Session negotiation with tower=020ecd2e0eb26d73beeec130f2a9d89bdb99a4fb9d2cd1177130b4162b2562f434 failed, trying again -- reason: session negotiation unsuccessful
2020-10-27 11:18:49.413 [DBG] WTCL: Unable to get new tower candidate, retrying after 10s -- reason: exhausted all tower candidates

If that happens, the sessionQueue is set to nil here: https://github.com/lightningnetwork/lnd/blob/master/watchtower/wtclient/client.go#L848
That causes the main loop to not read from the pipeline anymore, this isn't reached: https://github.com/lightningnetwork/lnd/blob/master/watchtower/wtclient/client.go#L772
Therefore on shutdown, the task pipeline's signalUntilShutdown() has no effect as nobody's listening on https://github.com/lightningnetwork/lnd/blob/master/watchtower/wtclient/task_pipeline.go#L164.
I'm really not sure what to do in this situation, this code base is very unfamiliar to me. @cfromknecht could you take a look please?
@jogc you can solve this problem manually by removing all faulty sessions the way @wpaulino mentioned in the previous comment. The shutdown hang is caused by too many non-submitted backups. Once that queue is cleared, the problem should be gone.
But we obviously still want to fix the issue itself.

@jogc you can solve this problem manually by removing all faulty sessions the way @wpaulino mentioned in the previous comment. The shutdown hang is caused by too many non-submitted backups. Once that queue is cleared, the problem should be gone.
But we obviously still want to fix the issue itself.

The problem is if its just the address for the watchtower that's wrong, not the pubkey. There is no way to change/add addresses to a known watchtower and since you can't remove the tower itself you are kind of stuck.

@jogc you can solve this problem manually by removing all faulty sessions the way @wpaulino mentioned in the previous comment. The shutdown hang is caused by too many non-submitted backups. Once that queue is cleared, the problem should be gone.
But we obviously still want to fix the issue itself.

Stupid question, but when adding a new tower, is it supposed to keep uploading stuff for 30 minutes straight? I thought it would just send the latest state if each channel and be done with it (until the state changes for a channel obviously). It just keeps uploaing and uploading until I remove the tower again. I mean like 10 uploads per second.  Since you didn't have any reachable towers, none of these states were backed up and are pending.


Add incrementer example contract

Add example contract for incrementer (ref from https://github.com/paritytech/ink-examples/blob/main/incrementer/lib.rs )

@sirius651 Hi, could add this example to build ci?


taxonomic profiles

Dear Silas,
Last time, I consulted you about the taxonomic and functional profiling for metagenomic data. After check the several papers and blocks, I want to try metaphlan2 and humann2 to get taxonomic and functional profile, respectively. I am not sure whether you are familiar with the two pipeline, my question will be very general before running the two pipeline.
All my data is paired-end data, while it appears that both metaphlan2 and humann2 do not support paired-end analysis. For this step, I would like to use atlas to merge each to to on paired fastq file. In this case, shall what should I specify in atlas assemble -until?
In addition, I am not sure which fastq is the best for taxonomic and functional profile, shall I use the data generated after 1) quality control (quality controlled reads) or 2) assembly? I don't have clue but feel that it will be better to use the merged fastq file at least after quality control. Can you give me more instruction in this point? To get this file, what parameter shall I further specify in atlas assemble flow?
Looking forward to hearing from you.
Thank you and best regards,
cam315

First, here is an article which explains the fundamental difference between read-based tools like Humans and assembly based tools like Atlas:
http://www.nature.com/doifinder/10.1038/nbt.3935
I hope you don’t mind that the Human database is constructed for human microbiota and not updated since 5 years. Anyway I suggest to check how many reads human cannot annotate ‘unclassified’.
Humann and metaphlan ignore paired end reads and treat use only single end reads, that’s right.
I don’t think the default mapping parameters are optimised for merged reads, e.g. what is the overlap they require between read and gene?
I would’t merge them and just use them as single end reads, so you will have two times more.
You can use ‘atlas QC myconfig.yaml’ to get the QC_reads and concatenate them.
Kind regards
Silas

Dear Silas,
Thank you very much for your prompt reply. I tested one sample with humann2 and metaphlan2. As you mentioned, these two pipelines worked very bad with the environmental dataset, the taxonomical and functional profiling missed 99% and 98% of total QC reads. That is far out of my expectation. The atlas assinged these reads far higher in this aspect.
Frankly, I am new in analyzing metagenomic data and get confused at the current stage. I think it is very important to choose a right pipeline in the beginning. To generate the taxonomic and functional profile for environmental sample, what tools or pipelines do you think are more appropriate for environmental samples? You have mentioned kraken, then I will try it soon. In addition, do you think kallisto will fit? Has atlas ever considered to include the two blocks?
Looking forward to your instruction.
Thank you and best regards,
Sizhong

Welcome to the club.
I also work on poorly characterised environments. I don’t think that neither Kraken nor Kallisto, will help you much because they both depend on databases. And If there are not many genomes in gene bank this two tools won’t classify much reads.
For environments lacking genome references, people have often used assembly based metagenomics (see article from last mail). Using assembly based metagenomics one tries to reconstruct “meta genome assembled genomes” (MAGs), which are then more or less complete and more or less new or closely related to existing taxonomies.
As I see it Atlas is a pipeline combining (the best) state of the art tools to reconstruct genomes from meta-genomes.
However Atlas doesn’t produce output tables combining the results from different samples, rather it outpus tables with gene annotation for each MAG, specific too each sample.
Have you already run Atlas until the end?
As I’m also interested in such summary tables I will try to help you.
What exactly are you looking for?
How do you expect a taxonomy to look like if you have newly identified species in your sample?

Yes, I've tried running Atlas until the end and have got a bunch of data in separate samples. I would assume that the assembly-based MAGs are advanced analysis, while the taxonomic and functional profile are basic analysis. With the two profiling (like traditional OTUs table putting mulitple samples together), the researchers could do some basic analysis regarding questions, for example, who are there and what they can do. There are also a lot of downstream analysis R or python packages with basic data designed as OTU tables.

Hello again @cam315
For taxonomy tables, I don't understand how do you want to get an taxonomy if not trough MAGs or trough marker genes?
If you want a table for functions, (without the genome information) you could run Atlas with or without the genome_binning option.
You should get a {sample}/{sample}_annotations.txt

contig_id
locus_tag
ftype
Length
gene
EC_number
product
orf_taxonomy
taxonomy
erfc
count

FR5_0
FR5_00001
CDS
663

hypothetical protein

23

FR5_1
FR5_00002
CDS
822

hypothetical protein

45

FR5_2
FR5_00003
CDS
393

hypothetical protein

78

FR5_2
FR5_00004
CDS
279

hypothetical protein

62

There we have the counts, at least for each sample.
Now to combine different samples,

one could combine all the genes predicted in {sample}/annotation/prokka/{sample}.fna and generate a gene catalog for your dataset. Then we could quantify the genes in each sample.

Otherwise one could combine all contigs and predict genes from them and run them trough the annotation and quantification steps.

This does however not adress the annotation, the prokka annotation are quite limited.  I tought about eggNOG or OrthoDB, which seems to much larger.

@SilasK Following your instruction for functional profiling, if someone want to merge the according *_annotation.txt from different samples together, a column should be specify to be used for merging, for example, in R. In this case, contig_id ,locus_tag, product, taxonomy are not suitable. What will be your comment? Thank you.

I don't know, I see there no comparable id. taxonomy would be eventually possible, but it's not defined for all genes.

Why aren't they suitable? Maybe not suitable to your research question. Prokka annotations are definitely incomplete, but it does get you a simple way to compare across samples. You have EC number which you can then link to KEGG pathways and you have quantities associated per EC. You can do the same with taxonomy, product, etc. Totally depends on the question you're trying to answer.

Yes it’s true you could focus on the subset with  EC numbers. I meant that the locus tags can't be ported between samples, something I'd like to solve with #90

The problem is that either EC or taxonomy are not always assigned (missing) for some rows, which will make the merging difficult. On the other hand, contig_ids and locus_tag are unique and present, by this could not be used for multiple samples (for there are not shared by different samples). Any solutions?

We are working on it #90
But bare in mind that even in the best case, not all reads get aligned, and there is missing data.

@SilasK Then we can first assign these missing elements as 'unclassified' and merge the table afterwards, right?

@cam315 I implemented a gene quantification in the #90 branch. If you want to try it.

@SilasK Thank you for your quick feedback. I would like to try.

To test my implementation you should change to the 'combine_contig' branch:
Download the repro grom github:
git clone https://github.com/pnnl/atlas.git

change to the development branch:
git checkout <branch>

Go in the environment where you could call atlas
e.g. source activate atlas
I suggest directly to access directly the Snakefile. I din’t finalised everything in the setup.py.
instead of atlas assemble -o {outdir} config.yaml <params>
use:
snakemake -s path/to/atlas/atlas/Snakefile --use-conda --config workflow="complete" \
    -d {outdir} \
    --configfile config.yaml \
    --config combine_contigs=True \
<params>

Results
see in the subfolder contigs
This works for all contigs (in my test data, I had only one)
combined_gene_info.tsv

Geneid
Chr
Start
End
Strand
Length

1_1
C_0
3
3368
+
3366

1_2
C_0
3375
4880
+
1506

1_3
C_0
4867
5661
+
795

1_4
C_0
5636
6121
+
486

combined_gene_counts.tsv

Geneid
S1
S2

1_1
279.5
279.5

1_2
144
144

1_3
85.5
85.5

1_4
52
52

I advanced faster than I thought.
I managed to make a new version of the pipeline. It should also output the taxonomy of the genes.
However I don’t know how to aggregate them.
You can test it directly using the mags branch (see above)
Apparently there is only one high quality contig in the cami_high data and here are the output of it.
Annotations
anotations/metagenome/annotations.txt

contig_id
locus_tag
ftype
Length
gene
EC_number
product
orf_taxonomy
taxonomy
erfc
count

C_0
metagenome_00001
CDS

yteP

putative multiple-sugar transport system permease YteP
Ruminiclostridium sp. KB18
k__Bacteria;p__Firmicutes;c__Clostridia;o__Clostridiales;f__Ruminococcaceae;g__Ruminiclostridium;s__Ruminiclostridium   sp. KB18
0.09589097
606

C_0
metagenome_00002
CDS

araQ

L-arabinose transport system permease protein AraQ
Ruminiclostridium sp. KB18
k__Bacteria;p__Firmicutes;c__Clostridia;o__Clostridiales;f__Ruminococcaceae;g__Ruminiclostridium;s__Ruminiclostridium   sp. KB18
0.09589097
906

C_0
metagenome_00003
CDS

hypothetical protein

387

anotations/metagenome/gene_conts.tsv

Geneid
S002
S004
S005

metagenome_00001
342.5
70
109.5

metagenome_00002
427
92.5
158.5

metagenome_00003
259.5
58.5
68

@SilasK following your instruction, I have tested the 'mags' branch. During the step of 'rule analyse_whole_metagenome', the input file can not be generated even I increase the latency-wait to 600 seconds. It may depend on the capacity of computer workstation. Could you please optimize the script so that the pipeline can go ahead? info as follows:
rule analyse_whole_metagenome:
input: contigs/combined_contigs.fasta
output: annotations/metagenome/metagenome_contigs.fasta
jobid: 158
Waiting at most 600 seconds for missing files.
MissingOutputException in line 304 of /home/syang/atlas/atlas/rules/combine_contigs.snakefile:
Missing files after 600 seconds:
annotations/metagenome/metagenome_contigs.fasta
This might be due to filesystem latency. If that is the case, consider to increase the wait time with --latency-wait.
Will exit after finishing currently running jobs.
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message

In the last version I corrected this small bug.
Could you again download it again. Sory for the inconveniences.
On Mar 2, 2018, 10:02, at 10:02, cam315<EMAIL_ADDRESS>wrote:

@SilasK following your instruction, I have tested the 'mags' branch.
During the step of 'rule analyse_whole_metagenome', the input file can
not be generated even I increase the latency-wait to 600 seconds. It
may depend on the capacity of computer workstation. Could you please
optimize the script so that the pipeline can go ahead? info as follows:
rule analyse_whole_metagenome:
input: contigs/combined_contigs.fasta
output: annotations/metagenome/metagenome_contigs.fasta
jobid: 158
Waiting at most 600 seconds for missing files.
MissingOutputException in line 304 of
/home/syang/atlas/atlas/rules/combine_contigs.snakefile:
Missing files after 600 seconds:
annotations/metagenome/metagenome_contigs.fasta
This might be due to filesystem latency. If that is the case, consider
to increase the wait time with --latency-wait.
Will exit after finishing currently running jobs.
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/pnnl/atlas/issues/87#issuecomment-369862195


Cannot call method 'toUpperCase' of undefined

If I add the following in my gruntfile:
grunt.initConfig({
  responsive_images: {
	myTask: {
	  options: {
		sizes: [{
		  width: 320,
		},{
		  width: 640,
		},{
		  width: 1024,
		}]
	  },
	  files: [{
		expand: true,
		src: ['**.{jpg,gif,png}'],
		cwd: 'images/',
		custom_dest: 'dest/{%= width %}/'
	  }]
	}
  },
})

I get the error Cannot call method 'toUpperCase' of undefined
This is the output:
Running "responsive_images:myTask" (responsive_images) task
Fatal error: Cannot call method 'toUpperCase' of undefined
TypeError: Cannot call method 'toUpperCase' of undefined
at isAnimatedGif (C:\Dev\picture\node_modules\grunt-responsive-images\tasks
responsive_images.js:279:37)
at gm. (C:\Dev\picture\node_modules\grunt-responsive-images\tasks
\responsive_images.js:314:12)
at gm.EventEmitter.emit (events.js:106:17)
at gm. (C:\Dev\picture\node_modules\grunt-responsive-images\node_
modules\gm\lib\getters.js:129:14)
at ChildProcess.cb (C:\Dev\picture\node_modules\grunt-responsive-images\node
_modules\gm\lib\command.js:264:16)
at ChildProcess.EventEmitter.emit (events.js:95:17)
at Process.ChildProcess._handle.onexit (child_process.js:787:12)

Fixed in 0.1.5


more cherry-picked commits for v1.10

I know it's a bit late now for this PR but can we bring also https://github.com/PX4/Firmware/pull/13307 for the release? Thanks!


Fix test.

Fixes #25 .

This might not test ZZPhase support at all, right? Is there a machine that we know has ZZPhase support, so that we can write tests for that too?

I guess there is not one that is guaranteed to have it at the moment.


Show launchpool total staked in mooTokens

Was showing number of the underlying token which mis-matched the UI and caused 'Your Pool%' to be wrong.

spent some time to understand what is PPFS 😅.
i think it's good to keep totalStaked, totalStakedInUsd without Decimal prefix, this naming is used like this in many places, especially api, so just to be consistent.
would you consider simplify it like this?
tokenContract to earnContract - looks more correct.
PPFS to mooDecimals.
And totalStakedInUsd if isMoo to reuse current value
      const getTotalStaked = async pool => {
        const tokenPrice = await fetchPrice({ id: pool.tokenOracleId });
        const earnContract = new web3.eth.Contract(pool.earnContractAbi, pool.earnContractAddress);
        const staked = new BigNumber(await earnContract.methods.totalSupply().call());
        const tokenDecimals = new BigNumber(10).exponentiatedBy(pool.tokenDecimals);
        const totalStaked = staked.dividedBy(tokenDecimals);
        let totalStakedInUsd = staked.times(tokenPrice).dividedBy(tokenDecimals);

        if (pool.isMooStaked) {
          const mooToken = new web3.eth.Contract(MooToken, pool.tokenAddress);
          const pricePerShare = new BigNumber(await mooToken.methods.getPricePerFullShare().call());
          const mooDecimals = new BigNumber(10).exponentiatedBy(18);

          totalStakedInUsd = totalStakedInUsd
            .times(pricePerShare)
            .dividedBy(mooDecimals);
        }

        return [totalStaked, totalStakedInUsd];
      };


Rendering issue with ArtemisLib and Crawling Anim

Install ArtemisLib and AquaAcro and turn on the ArtemisLib Integration
Use a mod such as GulliverReloaded
Crawl in front of another player with a size scaling of 1 (normal size) or less, this happen:

Set the size scaling of the crawling player to at least 1.2
Crawl again, it's working:

So basically it seems that if the player is of a size scaling smaller than 1.2, the crawling animation render is not working properly.

Some other screens, I think the issue is coming from

GlStateManager.translate(evt.getX() / widthAttribute - evt.getX(), evt.getY() / heightAttribute - evt.getY(), evt.getZ() / widthAttribute - evt.getZ());

located in the onEntityRenderPre method in the AttachAttributesFix class

If that can help you: Did a partial fix on my part by simply reducing the hitbox of the player by 60% if the player is crouching (instead of scaling the render). Works like a charm so far


Edited card is being rearrange to the bottom.

https://user-images.githubusercontent.com/60868965/124619254-118a9200-deab-11eb-84cb-494abac23f35.mp4

let's keep this behavior as it is. I think there is no problem since we added ability to rearrange the card.


[Bug Report] Error in el-switch when toggling the value causes it to be destroyed

Element UI version
2.12.0
OS/Browsers version
Windows 10 / Google Chrome 77.0.3865.90
Vue version
2.6.10
Reproduction Link
https://codepen.io/mattheyan/pen/KKPjNwx
Steps to reproduce
Place an "" inside of a conditionally rendered region (v-if) that is either directly or indirectly driven by the model value the switch is bound to (v-model), so that when the switch is toggled the switch is destroyed. When the change happens, the switch component uses nextTick to delay updating the checkbox value. However, by the time nextTick fires the component has been destroyed and the input no longer exists, resulting in "TypeError: Cannot set property 'checked' of undefined".
What is Expected?
The error should not occur. Since the component is destroyed, it should not try to update the checkbox.
What is actually happening?
The attempt to modify the checkbox value results in an error.

I can submit a PR for to fix this. In terms of how, I believe I've seen many places in the code base where the existence of a ref is checked before interacting with it, but these may be cases where the ref is optional. In this scenario I could also avoid the error by checking "_isDestroyed" if that would be preferred.

I had that bug too, it happens when I rerender my el-form using a key:

I'm having the same problem, i wonder if the team has fixed it?
Copying the component seems not to be a great way of doing stuff, guess that'll my final option

Same problem please fix 2.15.1


Other player positions do not look 100% smooth

Can the other player positions be made even smoother?
Clone and run the project yourself to see exactly what I mean.

Send ids with packet data. This way you can keep track of the timestamps when the packets were sent and received. Great for getting smooth position simulations?
Try lerping from current position to next received position instead of lerping from previous received position to next received position without changing how t is calculated.


fix: remove config update

Fixes #243

:tada: This PR is included in version 1.32.4 :tada:
The release is available on:

v1.32.4
GitHub release

Your semantic-release bot :package::rocket:


actionmenu: investigate auto origin aware

try out ps-ui/react-menu

Close for now.  Wait to see how people use the action-menu as-is.


blocked IP

I just tried to vote on a paper for tomorrow and got this response:

Sorry, you're trying to vote from an IP address that is blocked from voting.

Is this a generic problem, or are you doing this just for me ;-)

I wish I had that sort of power, but there is no login.
Have tried on the vpn version?

Ok I see the problem on the vpn. This might be related to our recent witch to non-vpn-based access.

Of course it is! We used to check the IP of the voter. I have removed this. Now anyone can vote. Even you!


Discussion, ways to enhance compile time of compiler in development?

I don't know if some of you are acquainted with Resharper Build (https://blog.jetbrains.com/dotnet/2015/10/15/introducing-resharper-build/), it has a "Public API surface monitoring" which could provide quick gain in development feedback loop, this saves me lots of time any day.
My thinking is that FSharp.Compiler project has a cohesive set of subfolders, and each could be a separate project with normal project dependencies; right now changing anything in that project incurs recompile of the whole project.
With Resharper Build, it could mean just compiling a single folder, even if the folder is at the top of the project, as long as no public symbol which is depended upon has changed, even in such case, it would only recompile the other projects that actually depend on those symbols and not all of them.
I'd prefer F# to have fine grained incremental compilation but this is probably not going to come overnight, but it feels this work around could be quite effective and save time to developers who don't compile on fastest machines available.

Closing this as it's an inactive discussion


shared_dirs and shared_files per staging?

Q
A

Issue Type
Question

Deployer Version
6.1.0

Local Machine OS
macOS High Sierra

Remote Machine OS
N/A

Description
How to configure shared_files or shared_dirs to be added only to predefined stages? The idea is to configure shared files for all stages and for specific ones to add more shared files. The code below shows my attempt:
Steps to reproduce
Run dep deploy production. Expected result is to have shared file a.
Run dep deploy local. Expected result is to have shared files a and b. Only b is shared.
Content of deploy.php
set('shared_files', ['a']);

task('deploy:shared:reports', function () {
    add('shared_files', ['b']);
})->onStage(['local', 'develop']);

Not it's possible only by getting all stage and then setting back.
Try this:
set('shared_files', ['a']);

task('deploy:shared:reports', function () {
    set('shared_files', get('shared_files') + ['b']);
})->onStage(['local', 'develop']);

In v7 where will be new function: stage('production', function () {...}) there you can configure stage more easily.

Thanks! That would be handy to configure stages that way.


Major tidy up on proxies

Fix #344

Massive changes. Looks fine, but I'll need to do a proper coverage review while is merged and after/while we do the Fix-XXX tasks.
I also added another ticket to include (if missing after all this refactor, as I think it happened) coverage of payables, covering the four possible cases: Calling with/without data and with/without sending ether in the call.


Two executed SQL queries for a single GraphQL query

Bug Report
Current behavior
It seems that with postgres connector Prisma executes two SQL queries for a single GraphQL query.
query getPost {
   post(postId: “cjmln88vt000z0a17d5vha3wq”){
      title
   }
}

Postgres LOGs:
postgres_1  | 2018-09-28 11:45:41.804 GMT [34] LOG:  execute <unnamed>: select
postgres_1  |       “default$default”.“Post”.“id”,
postgres_1  |       “default$default”.“Post”.“title”,
postgres_1  |       “default$default”.“Post”.“published”
postgres_1  |     from “default$default”.“Post”
postgres_1  |     where “default$default”.“Post”.“id” = $1
postgres_1  | 2018-09-28 11:45:41.804 GMT [34] DETAIL:  parameters: $1 = ‘cjmln88vt000z0a17d5vha3wq’
postgres_1  | 2018-09-28 11:45:41.804 GMT [33] LOG:  execute <unnamed>: select
postgres_1  |       “default$default”.“Post”.“id”,
postgres_1  |       “default$default”.“Post”.“title”,
postgres_1  |       “default$default”.“Post”.“published”
postgres_1  |     from “default$default”.“Post”
postgres_1  |     where “default$default”.“Post”.“id” = $1
postgres_1  | 2018-09-28 11:45:41.804 GMT [33] DETAIL:  parameters: $1 = ‘cjmln88vt000z0a17d5vha3wq’

Reproduction
You can reproduce this behaviour by following Prisma Get started section from the docs.
This issue was found on prisma/1.18.0-beta.4 (darwin-x64) node-v10.10.0
Expected behavior?
Postgres should log only one executed SQL query.

I'm using Playground. The resolver has same definition as the one from the tutorial:
post(root, args, context) {
      return context.prisma.post({ id: args.postId });
    }

So nothing specific is used.

Let's have a look at all of the components in your setup:

Postgres DB
Prisma Core
Prisma Client
Server
Playground

My goal is to find out which of these components is responsible for the duplicate query.
So, the quickest way to get there is to remove as many components as possible out of the equation, while still being able to reproduce the issue.
My hunch is that the problem is in 3).
It's safe to say that Postgres is not the source of the error.
To remove Playground as a potential source of error: Are you able to reproduce the problem by sending a cURL statement to 4)?

I sent curl statement:
curl 'http://localhost:4000/' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: http://localhost:4000' --data-binary '{"query":"query getPost {\n  post(postId: \"cjmln88vt000z0a17d5vha3wq\"){\n    title\n  }\n}"}' --compressed

and again got two queries logged.

I created a repo so you can reproduce the issue more easily.
https://github.com/tadejstanic/prisma-test-js

Thanks, here is the full reproduction:
git clone https://github.com/tadejstanic/prisma-test-js.git
cd prisma-test-js
docker-compose up -d
prisma deploy
prisma generate
node index.js

send this curl:
curl 'http://localhost:4000/' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: http://localhost:4000'  --data-binary '{"query":"query c {\n  getAllUsers {\n    id\n  }\n}"}' --compressed

Super weird, after fiddling around with this, I am after some while not able to reproduce the duplicate query anymore. Then sometimes it is happening again, without changing anything.
This is definitely the same symptoms as #3106.
My current best guess is that one needs this stack, and some other state that I'm not aware of yet to reproduce the problem:

Prisma Core
Prisma Client
Server (graphql-yoga)

I was also able to reproduce the issue at some point with these two adjustments:
- const { prisma } = require("./prisma-client");
+ const { Prisma } = require("./prisma-client");

const server = new GraphQLServer({
  typeDefs: "./schema.graphql",
  resolvers,
  context: {
-    prisma
+    prisma: new Prisma({debug: true})
  },
});

With this, I could see that the Prisma Client was only printing the query once, but the Postgres logs still executed the query twice.
Now, the question is whether Prisma Client has a bug that only prints the query once, but executes it twice, or if Prisma Core has a bug that replicates an incoming query.
Or GraphQL Yoga is somehow executing the resolver code path for the query twice.

Next try gain more insight into this will be to log incoming queries to Prisma. I will do so by adding these env vars to the docker-compose.yml:
SLOW_QUERIES_LOGGING=true
SLOW_QUERIES_LOGGING_THRESHOLD=0
PRISMA_CONFIG: |
        port: 4466

Indeed, using the above configuration for the Prisma server, I can boil this issue down to the Prisma server!

I send one query using this curl

curl 'http://localhost:4000/' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: http://localhost:4000'  --data-binary '{"query":"query c {\n  getAllUsers {\n    id\n  }\n}"}' --compressed

Prisma server logs one slow query

SLOW QUERY - DURATION: 17
QUERY: [{"query":"{\n  users {\n    id\n    email\n    name\n  }\n}\n","variables":{}},{"query":"{\n  users {\n    id\n    email\n
   name\n  }\n}\n","variables":{}}]

Postgres logs two queries

2018-10-01 10:48:01.981 GMT [113] LOG:  execute <unnamed>: select
          "Alias"."id",
          "Alias"."email",
          "Alias"."name"
        from "default$default"."User" as "Alias"
        order by "Alias"."id" asc
        offset $1
2018-10-01 10:48:01.981 GMT [113] DETAIL:  parameters: $1 = '0'
2018-10-01 10:48:01.981 GMT [112] LOG:  execute <unnamed>: select
          "Alias"."id",
          "Alias"."email",
          "Alias"."name"
        from "default$default"."User" as "Alias"
        order by "Alias"."id" asc
        offset $1
2018-10-01 10:48:01.981 GMT [112] DETAIL:  parameters: $1 = '0'

I made an additional test regarding this issue but this time by using a different framework NestJS. Using this framework had two objectives.
The first one was to remove graphql-yoga from the stack, which might be the reason for generating two queries. Nest.js framework is actually using apollo-server-express. It turned out that even with this setting I'm able to log two SQL queries for a single GraphQL query.
The second goal with integrating Prisma and Nest.js was to see, how well both pieces are playing together. The main benefit of this integration is that we can get quite maintainable and readable code structure for a GraphQL server.
However, one thing poped-up while doing the integration, which might be somehow related to the issue we dealt with.
I set this data model:
type User {
  id: ID! @unique
  name: String!
  courses: [Course!]!
}

type Course {
  id: ID! @unique
  title: String!
  owner: User!
}

Then I inserted two users and one course that was linked to one of the users. After that I made this query:
query getAllUsers {
  getAllUsers{
    name courses{
      title
    }
  }
}

Based on my experiences with batching SQL queries with dataloader or joinmonster I expected Prisma server would also generate at most two SQL queries for the mentioned GraphQL query. But DB logs shows that Prisma server executed 5 SQL queries.
nest-prisma-db | 2018-10-02 07:28:56.683 GMT [264] LOG:  execute <unnamed>: select
nest-prisma-db | 	  "Alias"."id",
nest-prisma-db | 	  "Alias"."name"
nest-prisma-db | 	from "default$default"."User" as "Alias"
nest-prisma-db | 	order by "Alias"."id" asc
nest-prisma-db | 	offset $1
nest-prisma-db | 2018-10-02 07:28:56.683 GMT [264] DETAIL:  parameters: $1 = '0'
nest-prisma-db | 2018-10-02 07:28:56.723 GMT [264] LOG:  execute <unnamed>: select "default$default"."User"."id"
nest-prisma-db | 	from "default$default"."User"
nest-prisma-db | 	where "default$default"."User"."id" = $1
nest-prisma-db | 2018-10-02 07:28:56.723 GMT [264] DETAIL:  parameters: $1 = 'cjmqbyb8k000l0a34zy9m55wb'
nest-prisma-db | 2018-10-02 07:28:56.724 GMT [266] LOG:  execute <unnamed>: select "default$default"."User"."id"
nest-prisma-db | 	from "default$default"."User"
nest-prisma-db | 	where "default$default"."User"."id" = $1
nest-prisma-db | 2018-10-02 07:28:56.724 GMT [266] DETAIL:  parameters: $1 = 'cjmqbxjg8000i0a34qsluv5x9'
nest-prisma-db | 2018-10-02 07:28:56.731 GMT [264] LOG:  execute <unnamed>: select
nest-prisma-db | 	  "Alias"."id",
nest-prisma-db | 	  "Alias"."title",
nest-prisma-db | 	  "RelationTable"."A" as "__RelatedModel__",
nest-prisma-db | 	  "RelationTable"."B" as "__ParentModel__"
nest-prisma-db | 	from "default$default"."Course" as "Alias"
nest-prisma-db | 	  join "default$default"."_CourseToUser" as "RelationTable"
nest-prisma-db | 	  on "Alias"."id" = "RelationTable"."A"
nest-prisma-db | 	where "RelationTable"."B" in ($1)
nest-prisma-db | 	order by "RelationTable"."A" asc
nest-prisma-db | 2018-10-02 07:28:56.731 GMT [264] DETAIL:  parameters: $1 = 'cjmqbxjg8000i0a34qsluv5x9'
nest-prisma-db | 2018-10-02 07:28:56.734 GMT [264] LOG:  execute <unnamed>: select
nest-prisma-db | 	  "Alias"."id",
nest-prisma-db | 	  "Alias"."title",
nest-prisma-db | 	  "RelationTable"."A" as "__RelatedModel__",
nest-prisma-db | 	  "RelationTable"."B" as "__ParentModel__"
nest-prisma-db | 	from "default$default"."Course" as "Alias"
nest-prisma-db | 	  join "default$default"."_CourseToUser" as "RelationTable"
nest-prisma-db | 	  on "Alias"."id" = "RelationTable"."A"
nest-prisma-db | 	where "RelationTable"."B" in ($1)
nest-prisma-db | 	order by "RelationTable"."A" asc
nest-prisma-db | 2018-10-02 07:28:56.734 GMT [264] DETAIL:  parameters: $1 = 'cjmqbyb8k000l0a34zy9m55wb'

I'd like to know is this expected from Prisma server or is related to the issue we're already delaing with it?
The repo of the integration is here - https://github.com/tadejstanic/prisma-nestjs

Looking at my previous message again with a closer look, we can see that in step 2, there are actually two queries already!
SLOW QUERY - DURATION: 17
QUERY: [{"query":"{\n  users {\n    id\n    email\n    name\n  }\n}\n","variables":{}},{"query":"{\n  users {\n    id\n    email\n
   name\n  }\n}\n","variables":{}}]

The incoming object has this structure: [{"query":...}, {"query":...}]. So, this actually suggests that the error is in Prisma Client. Prisma Client takes in one query, and, using Apollo style Query Batching, duplicates the query and batches it up into one HTTP request.

Great to hear that you've located the issue. Hope we can get the fix soon.

I'm getting the same problem with this basic set up https://github.com/zebapy/fs-prisma

As per #3106 using async / await in my mutation fixes this for me.

Hey @tadejstanic, we are still struggling to reliably reproduce this, which makes fixing this bug very difficult. Unfortunatly, there are no further news yet!

Update: I am reliably able to reproduce this when I don't use await and return the promise from client directly.

We tried to reproduce this with Prisma CLI version
divyendusingh [prisma]$ prisma version
prisma/1.20.0-alpha.33 (darwin-x64) node-v10.4.0
and Prisma server 1.17 and we were not able to reproduce this.
If there are any reliable reproductions, that would help. Thanks!

I am having the same issue with duplicated entries on my database (using mysql).
$ prisma version
prisma/1.19.0 (darwin-x64) node-v10.13.0

prisma container logs (I formatted the queries to show them more clearly)
SLOW QUERY - DURATION: 66
QUERY:
[
  {
    "query": "mutation ($data: UserCreateInput!) {\n  createUser(data: $data) {\n    id\n    name\n    email\n    newsletter\n    currency\n    lang\n    createdAt\n    updatedAt\n  }\n}\n",
    "variables": { "data": { "name": "Ariel", "email"<EMAIL_ADDRESS>"lang": "EN", "currency": "EUR" } }
  },
  {
    "query": "mutation ($data: UserCreateInput!) {\n  createUser(data: $data) {\n    id\n    name\n    email\n    newsletter\n    currency\n    lang\n    createdAt\n    updatedAt\n  }\n}\n",
    "variables": { "data": { "name": "Ariel", "email"<EMAIL_ADDRESS>"lang": "EN", "currency": "EUR" } }
  }
]

The mutation and the model definition are quite simple.
export const Mutation = {
  createUser: (parent: any, args: any, ctx: Context) => {
    return ctx.db.createUser({ name, email });
  }
};

model
type User {
  id: ID! @unique
  name: String
  email: String
  newsletter: Boolean! @default(value: "false")
  currency: Currency
  lang: Lang
  projects: [Project!]!
  createdAt: DateTime!
  updatedAt: DateTime!
}

type Project {
  id: ID! @unique
  name: String
  user: User!
  createdAt: DateTime!
  updatedAt: DateTime!
}

@marktani I am relatively new to Prisma and GraphQL, have been getting this same issue for last couple days. I am not really sure how to get this to work correctly.
Is there any update available on this?


Adding matching on a range of values.

@martincooper suggested in #315 to match on a range of values. He also suggested to re-work the Match implementation in order to have this nice API:
final String result = Match
       .whenIn(1, 3, 5, 7).then(x -> "true")
       .whenIn(2, 4, 6, 8).then(x -> "false")
       .when(10).then(x -> "other")
       .apply(6);

Woops, closing this as duplicate of #302 - knew I missed s.th. :)


Could you please release your trainging code?

+1

I will make the training code public around mid-July, I've been quite busy lately.


Checksum of the attachment is not working

I uploaded a document with an attachment using mark 6.7. At that time, checksum value was given in Comment field of the attachment (See Version 1 in following image).
Then, I updated mark from 6.7 to 8.0.
After that, when uploaded the same document, checksum value was lost in the Comment field of the attachment (See Version 2 in following image).

Looking into the source code, following line seems to be the cause. The checksum is set to local variable "attach" but seems to be not affecting to "attaches".
https://github.com/kovetskiy/mark/blob/2f34e9397368cd5c423dac6fc6db4a0be436195c/pkg/mark/attachment.go#L54
I would applicate if the team could handle this.

I'll take a look at raising a PR for this.

@ITHedgeHog it should be fixed now. Please check and close if so.


Regular handshake icon

Icon name
handshake
Use cases
Collaboration ,cooperation, teaming, assistance, introduction, meeting, interviews.
Design ideas
Similar to the heart-handshake but without the heart.
Checklist

[X] I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
[X] I have searched existing icons to make sure it does not already exist and I didn't find any.
[X] I am not requesting a brand logo and the art is not protected by copyright.
[X] I am not requesting an icon that includes religious, political imagery or hate symbols.
[X] I have provided appropriate use cases for the icon(s) requested.

Duplicate of #608


Extracted interfaces for StreamClient, StreamFeed, Collections and Ba…

…tchOperations. These interfaces can now be used to unit test any application that uses StreamClient. #14

Can we get this merged please? If nobody has objections......

@Link512 ^^^^


v6.1.3

Coverage remained the same at 99.9% when pulling a09598c8891b365a30ca79690416189ca5a8a510 on release_candidate into 2c0a6aaecb092f1acba59a1afeaf148789d24d8d on v6.


Add the packaging metadata to build the solium snap

This package will let you publish the latest solium in the Ubuntu store, and from there reach many users on all the supported Ubuntu versions, and more Linux distributions in progress. You just have to go to https://build.snapcraft.io and enable the automated continuous delivery.

Thanks @elopio, this certainly would be great. But I'm afraid I'll pass on it because:

Solium is under heavy development right now and we'll add distribution channels only once it has reached a mature stage.
This seems to be a marketing gimmick to me.
Don't get me wrong, I'm sure your intention was to contribute to the project, but we can't add a configuration from a product that we're not fully aware of. So I'll keep this PR open for now.

Hello @duaraghav8!
Thanks for taking a look. No marketing gimmick here, I'm maintaining the solidity snap in the Ubuntu store, and I started looking for other useful tools to accompany it. As part of my work in Ubuntu, I have to test our new features each week, so I took solium as a test subject for our snapcraft 2.33 release.
It worked nicely, so I shared the package with you in case you would be interested in making your project a one-command install for Ubuntu users. But I can understand if you are not interested, no hard feelings :)
About solium being under development, we designed the store to have room for that. The resulting snap out of build.snapcraft.io will end up in the edge channel. Snaps are visible for user searches only when they are in the stable channel. This gives your early adopters a very easy way to always have the latest code from the master branch, and provide feedback as you develop. I wrote a little about this here: http://elopio.net/blog/ipfs-crowdtesting/
In the case of solidity, we have the develop branch hooked to the edge channel. And the release branch hooked to the candidate channel. 0.4.15 was our second release to the stable channel in the store. Things are looking good there, with the number of installs slowly growing, around 10 new users per day now.
Please let me know if you have any question. And I'm sorry if it sounded too much like I'm trying to sell you something.

@elopio That does give me some confidence! Like I said, this kind of distribution would be great for solium. I'll read up on and play around with Snapcraft a bit more and once confident about usage, I'll merge this PR.
Thanks again:)

Thanks for the merge @duaraghav8. Let me know if you need a hand putting it in the store.
pura vida.


update refunds method client

Problem:
We modify credit card refunds endpoint
Solution:
Update client

@LieAlbertTriAdrian can you review?

Of course. Wait a minute @jcontini

Otherwise, LGTM

alright, will update this

LGTM


Support private modules

A module marked as private can only be imported by other modules in the same package.
private module Implementation.Details exports (..);

The implementation should be fairly straightforward - we just need to check during build planning whether a module imported from a different package is private: true (and raise an error if it is):
Relevant bit of the build planning logic is here:
https://github.com/ditto-lang/ditto/blob/8c3b1c900fb35c49c0f77b99c55cf1bc450763bf/crates/ditto-make/src/build_ninja.rs#L305-L337
The ditto_ast::Module type will also need a private: bool field adding:
https://github.com/ditto-lang/ditto/blob/8c3b1c900fb35c49c0f77b99c55cf1bc450763bf/crates/ditto-ast/src/module.rs#L9

Hi,
Can I take up this issue if possible?


fix(start_planner): fix path cut by U turn goal

Description

Putting goal in after U-turn cut the path.
This is because current lanes is up to forward length and does not include the goal lane.
In this PR get curent lanes with max length to include goal lane.

Related links

Tests performed

psim

Notes for reviewers

Interface changes

none
Effects on system behavior

none
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

this PR include https://github.com/autowarefoundation/autoware.universe/pull/4108