DVCI 299 - Replace Google Analytics with Clicky

Replaces Google Analytics tracking services with Clicky, a similar service that does not use tracking cookies.
We won't be able to test visitor tracking on our site until this branch is integrated into the deployed version of the site at https://dvci.github.io/shc-web-verifier/. That being said, I tested Clicky's tracking abilities by connecting my personal account to the http://localhost:3000/ URL when running locally, and was able to successfully record a site visit:

I have created a dvci account which is linked to https://dvci.github.io/shc-web-verifier/ via the tracking script added in this PR. Once this is merged, I can share the private link to our account's analytics page so that members can view the tracking analytics. There is also an option to send out regular email reports to team members, if that would be easier.

Overall, I think that Clicky is a good option and makes it easier for multiple developers to track visits to the site. It looks pretty easy to add developers to the DVCI account.
One thing to note is that the free accounts only have 30 days of history, so if we want to analyze more long-term trends, then we will need to record the monthly trends somewhere else. I don't think this is an issue, especially because we don't have any specific numbers that we are trying to reach - we would just need to check the DVCI account periodically so that we have a good estimate to provide to sponsors.
I think we should merge this PR before the privacy policy PR so that we can test opting out of Clicky, which we have linked in the proposed privacy policy.
I also tested out Clicky's tracking abilities on a personal account and everything looked good to me!

Good catch, I didn't see the 30 day history limit originally. I don't think we'll find a free alternative that allows us to store site visit data for an unlimited amount of time, so I like the idea of recording weekly/monthly visits in come central location, maybe an Excel sheet that is linked from Confluence. That way we could also run our own analytics, and figure our what types of trends we want to track. I'll look into the best approach for this after we merge this PR.


Make use of ANCHORE_LOG_LEVEL env variable

What this PR does / why we need it:
This PR includes the use of the ANCHORE_LOG_LEVEL env variable that is already defined in the Dockefile but not used within the /config/config.yaml file.
Which issue this PR fixes
Issue not filed on problem

Good catch @jbouse - thank you for the contribution!


Defining symbolic attributes not in initialization

I apologize in advance if this is a stupid question, but I really like the design of the library and I am afraid I am missing some context to "grok" it. Consider a simple MLP in PyTorch:
class SimpleMLP(Module):

  def __init__(self, in_channels, hidden_channels, out_channels, activation=F.relu):
    super().__init__()
    self.hidden = Linear(in_channels, hidden_channels)
    self.out = Linear(hidden_channels, out_channels)
    self.activation = activation

  def forward(self, x):
    return self.out(self.activation(self.hidden(x)))

Assume I now want to patch the linear layers to always add dropout afterwards. Is there a way to manipulate the decorator to force this? All the examples in the documentation use variants of Sequential, where the layers are explicitly passed during initialization. Since this is a rather common use case I am wondering if I completely misunderstanding the documentation and there is an easy way to accomplish this, or else if I should refactor the above code. Thanks!

Have you tried pg.detour? Consider the following:
def with_dropout(cls, *args, **kwags):
  return Sequential([
     cls(*args, **kwargs),
     Dropout(0.2)
  ])

# Under the context manager, all instantiation of `Linear` will be detoured to `with_dropout` function.
# You can insert the context manager at the right place to decide what to replace and what not to.
with pg.detoru([(Linear, with_dropout)]):
  mlp = SimpleMLP(48, 32, 128)
  mlp.forward(input)

See the doc ofpg.detour for more details.
Let me know if this works for you.

This is an interesting solution, thanks!


Improving CLI/SDK Testing

Current CLI/SDK Feature Workflow:

Open SDK PR
Create CLI PR pointing the SDK to fork of SDK PR
Merge SDK PR
Update CLI PR to point to master again

Problems:

No e2e testing on CLI PR. When the CLI PR is merged e2e will fail, stopping all merges until it gets fixed.
Not enough confidence to merge SDK PRs cause there isn’t enough testing on them.
Updating SDK versions in the CLI PR is tedious and causes many test reruns, delaying things.

Proposal 1: Test SDK with CLI
In this proposal, the sdk runs e2e by building the CLI with the version of the SDK in the PR.
Workflow:

Open SDK PR
CI builds the CLI with this PR and runs e2e.
Open CLI PR
CI automatically points SDK version to the CLI PR (using ‘Requires’ syntax) and runs e2e. If the change requires an e2e PR, the e2e PR can point to the CLI PR and vice versa.
Merge SDK PR
Update SDK version in CLI PR
Merge CLI PR

Problems:

For the SDK e2e tests, new features are not tested because they do not exist in the client, so you still have to create a CLI PR at the same time to test the new features.
Complicated… it’s very unlikely an outside contributor could get this right.

Advantages:

Confidence that the CLI will not break the e2e tests.

Proposal 2: E2E tests use SDK, CLI uses a mock
In the proposal, the e2e tests use the SDK instead of the cli. The CLI has fairly little logic and can be tested fairly completely against a mock http server (like we currently do for the SDK). This would allow us to check the CLI maintains session, parses command line arguments correctly, and etc.
Workflow:

Open SDK PR and a corresponding e2e PR using ‘Requires’ syntax.
Merge SDK PR
Open CLI PR
Merge CLI PR

Problems:

Lots of work to rewrite e2e
Not easy to work on CLI and SDK simultaneously (runs into many of the problems of our current workflow). A feature requires both an SDK and CLI update, and it makes sense to write both at the same time.

Advantages:

Confidence that the CLI/SDK will not break the e2e tests.
Pretty simple to understand, at least in relation to the rest of deis projects.

Proposal 3: E2E tests for both SDK and CLI
Write e2e tests for the SDK, but keep the CLI tests for normal e2e.
Workflow:

Open SDK PR and a corresponding e2e PR using ‘Requires’ syntax.
Merge SDK PR
Open CLI PR and a corresponding e2e PR using ‘Requires’ syntax.
Merge CLI PR

Problems:

Lots of work to write SDK e2e and keep both up to date
Not easy to work on CLI and SDK simultaneously (runs into many of the problems of our current workflow). A feature requires both an SDK and CLI update, and it makes sense to write both at the same time.

Advantages:

Confidence that the CLI/SDK will not break the e2e tests.
Pretty simple to understand, at least in relation to the rest of deis projects.

I am in favor of Proposal 1 at this time, with the initial pain points of this approach hopefully inspiring tooling improvements to make the experience better.

Feedback from offline discussion:

We'd like to pursue item (1)
We'd like to have a new jenkins job that watches for PRs on all of the following repos:

controller-sdk-go
workflow-cli
workflow-e2e

When this job fires for a given PR, it looks for the associated PRs from the other 2 repos

PRs are associated if they have the Requires syntax in them, and those pointers create a DAG

For example, if a CLI PR is submitted, the associated e2e PR is the one that points to it and the associated SDK PR is the one that the CLI PR points to

The test status on all PRs will be red until all 3 PRs are up, they create a DAG that starts with the E2E tests

Just to chime in, I'm also in favor of less disruptive, less effort #1, especially since my assumption is that this type of multi-PR situation will become somewhat less common in the future.

If we're going the route of option 1, we might as well not do anything. It's just as complicated to get the CLI to build with a specific SDK version than it is to manually pin to a version in glide.yaml like we already do. Essentially we'd be doing the same thing, except we're engineering this into CI and wasting release cycles. I don't think it's worth the time or effort to go that route if a simple change in glide.yaml is all it takes to effectively do all this work for us.

As for this:

CI automatically points SDK version to the CLI PR (using ‘Requires’ syntax) and runs e2e. If the change requires an e2e PR, the e2e PR can point to the CLI PR and vice versa.
Merge SDK PR
Update SDK version in CLI PR
Merge CLI PR

This already exists, so the pain points are from

Open SDK PR
CI builds the CLI with this PR and runs e2e.
Open CLI PR

Which is accomplished by modifying glide.yaml.

@bacongobbler The main thing we are working on is get one e2e running on CLI and SDK repos, and also possibly a single e2e build for the corresponding cli/sdk/e2e PR using the requires syntax, making it less painful to have to make the 3 part merges.

That being said, I think standalone controller SDK integration tests could be valuable, because right now as a SDK developer it is really hard to test that your changes actually work against a real cluster.

As for the alternate options: I'm completely against options 2 and 3 for a couple reasons:

mocking out the CLI for option 2 essentially throws away our existing (and green) e2e. Not a good idea.
e2e for both the cli and the sdk means contributors must now come up with two implementations in the same codebase for the same problem. As if it already isn't difficult enough to get people to contribute e2e tests...

I would propose a 4th option: just write integration tests for the sdk and leave e2e alone. That way SDK devs can test their changes against their own cluster, but we don't necessarily need to validate them against any sort of 2e2 for now. Just more of "helper" tests for devs.

Initial pipeline now created in https://github.com/deis/controller-sdk-go/issues/39; closing.


Crash at startup

Microsoft PowerToys version
0.72.2
Installation method
GitHub
Running as admin
Yes
Area(s) with issue?
Settings
Steps to reproduce
PowerToysReport_2023-12-13-23-19-36.zip
✔ Expected Behavior
That Powertoys should run and work.
❌ Actual Behavior
Powertoys crashes as soon as I try to bring up the Settings window. Only the system tray icon remains. This has happened repeatedly, in the past 3 publicly released versions.
Other Software
No response

From the event viewer:
  <EventData>
    <Data Name='AppName'>PowerToys.Settings.exe<\Data>
    <Data Name='AppVersion'><IP_ADDRESS><\Data>
    <Data Name='AppTimeStamp'>65410000<\Data>
    <Data Name='ModuleName'>Microsoft.UI.Input.dll<\Data>
    <Data Name='ModuleVersion'>10.0.22624.1051<\Data>
    <Data Name='ModuleTimeStamp'>b0e6654a<\Data>
    <Data Name='ExceptionCode'>c0000602<\Data>
    <Data Name='FaultingOffset'>000000000006fd55<\Data>
    <Data Name='ProcessId'>0x49d0<\Data>
    <Data Name='ProcessCreationTime'>0x1da276a4f56c040<\Data>
    <Data Name='AppPath'>C:\Program Files\PowerToys\WinUI3Apps\PowerToys.Settings.exe<\Data>
    <Data Name='ModulePath'>C:\Program Files\PowerToys\WinUI3Apps\Microsoft.UI.Input.dll<\Data>
    <Data Name='IntegratorReportId'>15772251-3f7d-4eb7-ab6f-59bf28769628<\Data>
    <Data Name='PackageFullName'><\Data>
    <Data Name='PackageRelativeAppId'><\Data>
  <\EventData>

This crash happens with 0.72.0 and 0.72.1 and 0.72.2 and with all previous builds released since October 2023 and that I tested.
Most often, the Settings window loads, is black for a few seconds and then crashes without user input.
Sometimes, the settings window is visible and navigable for a few seconds, then crashes.

Same.  Can't open the settings UI.  Some functions are running in the background, however, but not all.  Awake is running but not mouse without borders.
I hope this helps.
PowerToysReport_2024-01-08-08-14-55.zip

We just tested with Powertoys 0.77.0 and the same thing happens as reported above. The app seems to install well.
But when I try to start Powertoys, it still crashes.
Sometimes when starting, the Powertoys Settings window launches, but when I try to interact with it, it crashes.
At times, I am able interact briefly with the settings window, but then it spontaneously crashes again.
Resizing or moving the Powertoys window seems to provoke a crash.
Could you please address this issue?

To clarify, it does not seem like a complete crash, as the tray icon and I think some of its services continue running.
But the Settings is inaccessible, trying to launch it brings up a blank black window wich crashes.
Many other bug reports in the recent past seem to concern a similar or the same experience.

Even in the latest release v0.78.0, the same issue persists. 😞

/dup https://github.com/microsoft/PowerToys/issues/27037


generateTenantToken issue related to the JWTKit dependency

I made a huge mistake when I choose vapor/jwt-kit to implement the generate tenant token method changes from Meilisearch version v0.26. It was apparently a good choice, but I discover the problem after trying to publish it.
Vapor JWTKit seemed to be the best choice out there because it had a simple and powerful protocol API and is still maintainable if we compare this package with others like: https://github.com/kylef/JSONWebToken.swift (they seem to be abandoned).
Problem:
Vapor JWTKit has only support for SPM and has no support for CocoaPods (they even have an open issue https://github.com/vapor/jwt-kit/issues/47).
The major issue I'm facing now is what we should do now:

Remove JWTKit and do the token generation by hand?
Stop publishing to CocoaPods?
Remove JWTKit and find another open-source solution out there?
Fork Vapor JWTKit and add the support for CocoaPods ourselves?

Planned actions:

[x] Open this issue explaining the whole situation.
[x] Remove attempts to release a new version 0.14.0 (both Github release and tag, since they are not working).
[x] Add the pod spec lint into the Github Action CI to prevent problems like this from happening again https://github.com/meilisearch/meilisearch-swift/pull/298.
[x] Remove/Revert the code responsible to do the tenant token generation because it is blocking new releases now https://github.com/meilisearch/meilisearch-swift/pull/297.
[ ] Apply one of the solutions proposed above, to fix the generateTenantToken method.
[ ] After the removal of the broken generateTenantToken, release a new version.

For future readers: I opted to remove the tag/release because they were just an attempt to release, and I think this would be harmless for the users.
Sorry for the inconvenience. If you have any trouble with this, please open an issue :)

We opted to wait for users needing this special helper before choosing the best option. Meanwhile, if some users are in an environment that do support jwt-kit you can import the library and create the tokens with the library. Here is a pseudo-code and the guide to help you along. Please mention you are interested in this feature if you do (even if you use the third party library yourself)!

@brunoocasali I would do what @bidoubiwa suggested. Abstract the implementation and leave the user to decide how to use jwt-kit. The less dependencies in the project the better.

Can you enlighten me more about how do think it could be done here?


docs: replace slice calls to map

As it was discussed in https://github.com/reactjs/redux/pull/1468, ES5 array methods like map and filter are recommended approach rather than array slicing.

IMO this looks much cleaner and easier to understand, thanks very much @just-boris!
I'm in a hurry right now, so I'll do a functional test soon to make sure everything still works as expected and then merge!

I made changes only in Markdown files. So all code there wasn't actually executed during build.
@mxstbr How are gooing to test this?

Oh right, my bad, I didn't look at the code changes!
Looked through it now, LGTM, thanks very much @just-boris!


[Bug] The search function on the left side of the metadata page will cause problems when switching between dark and light colors

Search before asking

[X] I searched in the issues and found nothing similar.

Paimon UI version
main
Compute Engine
Flink
Minimal reproduce step
1.Initialization：

2.Search for a table in the search box:

3.Switch from light mode to dark mode:

4.Refresh the page again and return to normal:

What doesn't meet your expectations?
The search function on the left side of the metadata page will cause problems when switching between dark and light colors.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

@zhangmo8


Carthage Issue

Getting this error on Carthage update on Xcode 8 - A shell task (/usr/bin/env git checkout --quiet c69afd6a7712d31287921386ddb94ca206cb727e) failed with exit code 128:
fatal: reference is not a tree: c69afd6a7712d31287921386ddb94ca206cb727e

I've got the same issue. Any solution?

Fixed. Sorry @Sudhi55 and @PiotrStepien.


Determine visualization input to CytoscapeJS from PANDA

Overview
PANDA produces an all-to-all pairwise matrix of genes to transcription factors (TFs). This needs to be pared down to a sub-network for CytoscapeJS of the most connected genes and TFs.
PANDA output
PANDA produces a 2D matrix of genes (rows) to TFs (columns). The individual values represent the edge weight of the interaction between the individual TF and the individual gene. This is typically approximately a 20,000 x 644 matrix.
Sub-network creation
A simple output sub-network for CytoscapeJS would be created by the following:

Row sum for each gene. This is called a "target score" and represents an approximate measure of connectedness of that gene to TFs. Pick the top I genes by target score.
For i in these top I genes by target score, determine the top J TFs by individual edge weight for each i gene. This is the first level of connectiveness in the sub-network.
For j in these top J TFs, determine the top K genes by individual edge weight for each j TF. This is the second level of connectiveness in the sub-network.
This can continue until we decide to stop.

Here, you can see my code I used to parse a PANDA output and create a basic 4-column TSV output for the desktop Cytoscape to use. I only go two levels deep and pick top N ranked genes/TFs.
import panda as pd
from itertools import chain

df = pd.read_csv(
    "my_PANDA_output.tsv",
    sep = "\t",
    header = 0,
    index_col = 0
)

# Get top target score genes
first_level = list(df[df.sum().nlargest(top_n).index].columns)
# Pull top interacting TFs for each top gene
first_level_map = {}
for gene in first_level:
first_level_map[gene] = list(zip(
    list(df[gene].nlargest(top_n).index),
    list(df[gene].nlargest(top_n))
))
second_level_map = {}
second_level = list(set(
chain.from_iterable(list(first_level_map.values()))
))
# For each TF, pull top interacting genes
# second degree of interaction from the first gene
for tf, _ in second_level:
second_level_map[tf] = list(zip(
    list(df.loc[[tf]].squeeze().nlargest(top_n).index),
    list(df.loc[[tf]].squeeze().nlargest(top_n))
))
# Write to sif format
with open(output_name, 'w') as handle:
    for gene, tfs in first_level_map.items():
        for tf, weight in tfs:
            handle.write(
                '\t'.join([gene, tf, "dp", str(weight)]) + "\n"
            )
    for tf, genes in second_level_map.items():
        for gene, weight in genes:
            handle.write(
                '\t'.join([tf, gene, 'pd', str(weight)]) + "\n"
            )

User interface choices
We need to determine:

The levels of the network.
Top ranked genes/TFs.

For the purposes of 2, we will fix I == J == K == ... == N.
I suggest we choose top ranked genes/TFs as fixed cutoffs of 10, 15, 20, 25. Getting too big is an issue. I do not know how many layers we should consider, or how we should code that dynamically.

Proposed generic parsing function in Python
The following ingests a gene x TF PANDA matrix in TSV format and outputs a dictionary with node, node source (row or column), top children, and the edge weights.
import pandas as pd
from itertools import chain

def subset_PANDA_net(path_to_fname, max_depth, N, axis):
    '''
    Returns a subset of top interacting feat/obs in matrix.
        Parameters:
            path_to_fname (str): Path to matrix file.
            max_depth (int): Max depth layers to traverse.
            N (int): Top N children to return.
            axis (int): Initial axis to start

        Returns:
            node_children_map (dict): Flattened map of nodes and children.
                keys = tuple of (node, axis)
                list = tuples of (child, edge weight)
    '''
    def get_top_edges(df, nodes, axis, N):
        '''Sub-function for returning a single layer of sub-net.'''
        node_children_map = {}
        for node in nodes:
            node_children_map[(node, axis)] = set(
                zip(
                    df[node].nlargest(N).index,
                    df[node].nlargest(N)
                )
            )
        return node_children_map

    # Import file as pandas dataframe
    df = pd.read_csv(path_to_fname, sep="\t", header=0, index_col=0)

    # Set initial variables
    current_level = 0
    node_children_map = {}

    # First, establish initial nodes
    if axis == 0:
        nodes = zip(
            df[df.sum().nlargest(N).index].columns,
            [axis] * N
        )
    else:
        nodes = zip(
            df.T[df.T.sum().nlargest(N).index].columns,
            [axis] * N
        )

    # Find subsequent layers up to max_depth
    while current_level < max_depth:
        if axis == 0:
            sub_map = get_top_edges(df, list(zip(*nodes))[0], axis, N)
        else:
            # Transpose so code is same in sub-function
            # Code is simpler, but more computation
            sub_map = get_top_edges(df.T, list(zip(*nodes))[0], axis, N)
        # Traverse returned map and update node_children_map
        for k, v in sub_map.items():
            if k in node_children_map:
                node_children_map[k].update(v)
            else:
                node_children_map[k] = v
        # Define new nodes to search
        # Order of operations
        # 1. Flatten to vector
        # 2. Unzip node / edge weight tuple
        # 3. Convert to list
        # 4. Subset first item
        # 5. Zip in axis
        nodes = zip(
            list(zip(*chain.from_iterable(sub_map.values())))[0],
            [axis] * N
        )
        axis = int(not axis) # hack to switch axis
        current_level += 1
    return node_children_map # Can alternatively be converted to JSON

Proposed code for JSON serialization of output
Note: assumption for axes is:
0 = genes
1 = TFs
for the source of the root node - based on an assumed input gene x TF matrix (genes are rows).
import pandas as pd
from itertools import chain
import argparse
import json

def subset_PANDA_net(path_to_fname, max_depth, N, axis):
    '''
    Returns a subset of top interacting feat/obs in matrix.
        Parameters:
            path_to_fname (str): Path to matrix file.
            max_depth (int): Max depth layers to traverse.
            N (int): Top N children to return.
            axis (int): Initial axis to start

        Returns:
            node_children_map (dict): Flattened map of nodes and children.
                keys = tuple of (node, axis)
                list = tuples of (child, edge weight)
    '''
    def get_top_edges(df, nodes, axis, N):
        '''Sub-function for returning a single layer of sub-net.'''
        node_children_map = {}
        for node in nodes:
            node_children_map[(node, axis)] = set(
                zip(
                    df[node].nlargest(N).index,
                    df[node].nlargest(N)
                )
            )
        return node_children_map

    # Import file as pandas dataframe
    df = pd.read_csv(path_to_fname, sep="\t", header=0, index_col=0)

    # Set initial variables
    initial_axis = axis
    current_level = 0
    node_children_map = {}

    # First, establish initial nodes
    if axis == 1:
        nodes = zip(
            df[df.sum().nlargest(N).index].columns,
            [axis] * N
        )
    else:
        nodes = zip(
            df.T[df.T.sum().nlargest(N).index].columns,
            [axis] * N
        )

    # Find subsequent layers up to max_depth
    while current_level < max_depth:
        if axis == 1:
            sub_map = get_top_edges(df, list(zip(*nodes))[0], axis, N)
        else:
            # Transpose so code is same in sub-function
            # Code is simpler, but more computation
            sub_map = get_top_edges(df.T, list(zip(*nodes))[0], axis, N)
        # Traverse returned map and update node_children_map
        for k, v in sub_map.items():
            if k in node_children_map:
                node_children_map[k].update(v)
            else:
                node_children_map[k] = v
        # Define new nodes to search
        # Order of operations
        # 1. Flatten to vector
        # 2. Unzip node / edge weight tuple
        # 3. Convert to list
        # 4. Subset first item
        # 5. Uniqueify with set operation
        new_nodes = set(list(zip(*chain.from_iterable(sub_map.values())))[0])
        nodes = zip(
            new_nodes,
            [axis] * len(new_nodes)
        )
        axis = int(not axis) # hack to switch axis
        current_level += 1
    # Now to convert the above map into a JSON compatible dictionary
    # Initalize the JSON dict
    out_json_dict = {
        "initial_axis" : initial_axis,
        "nodes" : []
    }
    # Loops through all the root nodes
    for root, children in node_children_map.items():
        root_name, root_axis = root
        # Loops through all the Children to output an individual "dict"
        # for each child name and edge weight
        out_json_dict["nodes"].append(
            {
                root_name : {
                    "axis" : root_axis,
                    "children" : [
                        {k : v}
                        for k, v in children
                    ]
                }
            }
        )
    return json.dumps(out_json_dict)

Completed on the backend in commit 5437661c942e952de045cc445d38933706c8c133


Record and display the results of benchmarking

The current benchmarking framework does not record the results anywhere.  We would like to store the results of various benchmarks somewhere (for example, BigTable), and then visualize that information via a dashboard or similar.

#112


Add Support for 1809

With 1903 released GetLatest does not currently Support it.
Add support for Get-LatestUpdate -WindowsVersion Windows10 -Build '18362'

Fixed


Unable to select any board from drop down options

Hello, I am unable to functionally select any board from the drop down options. I do get the options but not the ability to enable my selection. I have a working Waveshare ESP32S3 128 plugged in that works with the VSCODE/ESPRESSIF IDF with no issues there.

There is a folder created .vscode and inside it there is an arduino.json file.
Copy the content here also a screen shot of the board manager like the picture below.
Also the arduino Extension output content.


Wrong link to github emojies

Nuff said, none of github emojies is workin' now at  https://pandao.github.io/editor.md/en.html :smile:

Duplicate of #300


Updated download link and small typo's

http://topo.linz.govt.nz/Topo50_raster_images/GeoTIFFTopo50/BX24_GeoTifv1-02.tif  is updated to
http://topo.linz.govt.nz/Topo50_raster_images/GeoTIFFTopo50/BX24_GeoTifv1-05.tif
Current download link leads to a 404
Line 165  : Enable Snapping(Magnet Icon)  =  Enable Snapping (Magnet Icon)  - added space between Snapping' and (
Line 181  :  select Vertex Tool(Current Layer).  = select Vertex Tool (Current Layer). - added space between Tool and (
Line 197  :  Click :guilabel:Save = Click :guilabel:Save. - added period after Save

Thanks for your contribution!

@DiGro I would like to add you to the contributor's list at https://www.qgistutorials.com/en/docs/introduction.html
Kindly help me with the name and URL you would like.

@spatialthoughts   Thank you for that, but I rather you didn't. I like to be on the background side of projects.
Greetings,
Dick

Got it! Cheers.


[Bug]The iframe outline is thicker on top and left side than the bottom and the right side

Description
It is observed that the iframe outline is thicker in left and top where as it s thin in right side and bottom
Expected Result:
All the sides should have equal thickness in outline
Actual Result:
outline is thicker in left and top where as it s thin in right side and bottom
Steps to reproduce the behaviour:
1.Drag and Drop iFrame and observe
Important Details

Version: [14.1 (166<IP_ADDRESS>.3)]
OS: [MacOS]
Browser [chrome, safari]
Environment [

release]

This is default iFrame behaviour, Since it treats borders and inset it gives out an illusion of width being different.
Closing this for now

@somangshu Can you please check for the fix. I will reopen this issue for now.

This can be solved using border-style: solid for the iframe node


fix: update deprecated docker image for java

The image: frolvlad/alpine-oraclejdk8:slim docker image has been deprecated due to Oracle Java's change in license. This causes the docker-compose up command to fail.
The maintainer has recommended a switch to frolvlad/alpine-java:jdk8-slim, which causes the container to start as originally intended.

@dileepbapat - Requesting a review. Enabling external contributors to set open-saber up while following the documentation here. (OpenSaber Docs Link).


Error when building new app

I am getting this error when trying to create a new nuxt app
node -v v12.13.1
` npx create-nuxt-app ui-dev2
internal/modules/cjs/loader.js:800
throw err;
^
Error: Cannot find module '/root/.npm/_npx/26147/lib/node_modules/create-nuxt-app/node_modules/ejs/postinstall.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
at internal/main/run_main_module.js:17:11 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node ./postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-11-25T20_35_42_769Z-debug.log
Install for [ 'create-nuxt-app@latest' ] failed with code 1`

I got a similar error.
In my case, after creating-nuxt-app and doing npm run dev, the client is not built.
I am also using node v 12.13.

I have same problem when running on docker.

error while trying to install nuxt on ubuntu 16.04
command: npx create-nuxt-app
module.js:328
throw err;
^
Error: Cannot find module '/root/.npm/_npx/11123/lib/node_modules/create-nuxt-app/node_modules/ejs/postinstall.js'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node ./postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-12-18T13_12_33_407Z-debug.log
Install for create-nuxt-app@latest failed with code 1

Same error:
// in docker container running node:latest
root@6d8e7e7ba219:/home/node/app# node -v && npm -v
v13.5.0
6.13.4

// in host shell
C:\Users\maxir>docker -v
Docker version 19.03.5, build 633a0ea

Same issue here:

Using from a docker container (VS Code Remote Extensions)
running npm i -g create-nuxt-app solved it.

https://gamecom.app/
I created a website on nuxt and have a infinite loader on the feed on the landing. Gives me great performance using vue and server render. Any thoughts?
FYI you have to login to enjoy the feed :-p

Getting this error on a new app install, debian 10:
npx create-nuxt-app internal/modules/cjs/loader.js:638     throw err;     ^ Error: Cannot find module '/root/.npm/_npx/2723/lib/node_modules/create-nuxt-app/node_modules/ejs/postinstall.js'     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)     at Function.Module._load (internal/modules/cjs/loader.js:562:25)     at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)     at startup (internal/bootstrap/node.js:283:19)     at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR<EMAIL_ADDRESS>postinstall:node ./postinstall.js npm ERR! Exit status 1 npm ERR!  npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR!     /root/.npm/_logs/2020-04-13T09_48_42_308Z-debug.log Install for create-nuxt-app@latest failed with code 1
Fixed it with @cmaneu answer  npm i -g create-nuxt-app and then ran the  npx create-nuxt-app command again.

I got the same error. I used Node.js version 14.x, then switched to Node.js version 12.x and the problem was fixed.

Tried node 14, 14-alpine, 12, 12-alpine and all yielded the same error.
I had to shell into a node container, install globally and then npm init.
MSYS_NO_PATHCONV=1 docker run --rm -it -v `pwd`:/usr/src -w /usr/src node:12 sh

$ npm install -g create-nuxt-app
$ npm init nuxt-app .

The MSYS_NO_PATHCONV=1 is to make sure the pwd maps the volume correctly correctly in git-bash.

@LukeP1 From the log, the error seems from ejs and there is an issue there as well https://github.com/mde/ejs/issues/487 , I think we can open an issue there and figure out a fix.

+1

I got the same error using Node v12.18.0. Then I  tried npm i -g create-nuxt-app, leading to the error
/root/.nvm/versions/node/v12.18.0/bin/create-nuxt-app -> /root/.nvm/versions/node/v12.18.0/lib/node_modules/create-nuxt-app/lib/cli.js

><EMAIL_ADDRESS>postinstall /root/.nvm/versions/node/v12.18.0/lib/node_modules/create-nuxt-app/node_modules/ejs
> node ./postinstall.js

internal/modules/cjs/loader.js:969
  throw err;
  ^

Error: Cannot find module '/root/.nvm/versions/node/v12.18.0/lib/node_modules/create-nuxt-app/node_modules/ejs/postinstall.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `node ./postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!

I have same problem.
I resolved the problem, install<EMAIL_ADDRESS>before install  create-nuxt-app.
versions
# in node.js container
root@204c32b15683:/app# node -v
v14.3.0
root@204c32b15683:/app# npm -v
6.14.4
root@204c32b15683:/app# nuxt -v
2.0.0
root@204c32b15683:/app# create-nuxt-app -v
create-nuxt-app/2.15.0 linux-x64 node-v14.3.0

# node.js dockerfile
FROM node:14.3

WORKDIR /app

ENV LANG C.UTF-8
ENV HOST <IP_ADDRESS>

RUN apt-get update -y && \
  apt-get upgrade -y && \
  npm install -g<EMAIL_ADDRESS>&& \
  npm install -g<EMAIL_ADDRESS>&&\
  npm install -g<EMAIL_ADDRESS>&&\
  npm install -g<EMAIL_ADDRESS>
ADD . /app

EXPOSE 3000

CMD ["npm", "run", "start"]

I was encountering the same issue just a little while ago, but I seem to have fixed it by using a different non-root account. I'm not sure why but it worked for me.

npm i -g create-nuxt-app solved the issue

npm i -g create-nuxt-app solved the issue

+1

...
><EMAIL_ADDRESS>postinstall /root/frontend/node_modules/babel-runtime/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

><EMAIL_ADDRESS>postinstall /root/frontend/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

><EMAIL_ADDRESS>postinstall /root/frontend/node_modules/core-js-pure
> node -e "try{require('./postinstall')}catch(e){}"

><EMAIL_ADDRESS>postinstall /root/frontend/node_modules/ejs
> node ./postinstall.js

internal/modules/cjs/loader.js:969
  throw err;
  ^

Error: Cannot find module '/root/frontend/node_modules/ejs/postinstall.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/react-scripts/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/watchpack-chokidar2/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/webpack-dev-server/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.3.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0-0 || ^15.4.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `node ./postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-03-12T08_23_00_578Z-debug.log

FYI, I encountered a similar error while installing react-scripts (npm install with a package.json having dependency of react-scripts.)
I could reproduce this in a container with /root as home directory.
For some reason, when the folder is put under /root (home) this error occurs. However, when I move it to other folder (e.g. /opt) it does not happen.
$ node -v
v12.18.2
$ npm -v
6.14.5

@amjltc295 From the error log, it seems missing ejs postinstall file from you node_module, can you double check if /root/frontend/node_modules/ejs/postinstall.js exists and has executable permission ?

docker run -v "$PWD":/usr/src/app -w /usr/src/app --rm -it node:14-alpine sh -c 'npm i -g create-nuxt-app && npm init nuxt-app frontend'

For pnpm users
try pnpm create nuxt-app <project-name>
PNPM installed all needed deps automatically. In the worst case, pn add -g create-nuxt-app and then the upper command

Download latest nodejs .exe (recommended for most users) from https://nodejs.org/en and install. it will replace your previous version
Check Version:

node -v
npm -v

Nuxt 2 Require:

Node.js - 16.x or 14.x
npm v5.2+ or v6.1+

Nuxt 3 Require:

Node.js - v16.10.0 or newer


bulk crashing

tried diff saves, manually loaded and dragged memory still crashes when bulk adding weapons.

manually adding weapons one by one works but crashes when adding katanas or great arrows. im using a ps4 save with 5 characters all made for pvp. hellllllllllllllllllp

i choose every weapon manually the weapons that always crash when adding are
katana
reapers
seals
sheilds
spears
staves
straight swords
torches
warhammers

link to my save https://drive.google.com/drive/folders/1W3a3Ev-JUNAvX6T5TVm2tpZsh9W6RjLh?usp=sharing

@snbsjshhs Please do not add 99, your storage box won't have that capacity, if it exceed the capacity it will crash

@snbsjshhs Please do not add 99, your storage box won't have that capacity, if it exceed the capacity it will crash

sorry I finally fixed it! it wasn't from the save editor at all but from the save itself, apparently deleting characters manually from elden ring doesn't actually delete it!! you have to delete the whole elden ring save from storage tab on playstation 4.

@snbsjshhs Please do not add 99, your storage box won't have that capacity, if it exceed the capacity it will crash

the way I do it is i uncheck all this
arrows
bolts
great arrows
great bolts
and
consumables
crafting animal
crafting inorganic
crafting plant
grease
meats
throwables
after that I bulk them separately so it doesn't crash.

i wouldn't recommend switching male character to female as it would give you glitched items and it won't load all talismans if you bulk add them!

I would suggest adding a "error" catagaory since some items that soft ban you are considered normal items! for the bulk section in talismans, careful when bulking because the talisman "Entwining Umbilical Cord" soft bans you from multilayer.


Add configuration to use jquery ui slider

Questions
Answers

Description?
https://github.com/PrestaShop/PrestaShop/issues/27186

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
https://github.com/PrestaShop/PrestaShop/issues/27186

How to test?
:warning: there are more modules loading jquery.ui.  So before testing please disable the following modules: ps_searchbar, ps_blockreassurance and ps_imageslider :warning:  . Install this module your prestashop, (go to Modules management page and upgrade if you manually reuploaded it on top of older version - actually recommeded to do so to test the upgrade). Now you should be able to see additional option in module confuguration "Use Jquery UI slider". Disable JS CCC function in BO > Performance.See that jquery-ui javascript file is not loaded in front office if the new option is not enabled. If you disable it, you should break price slider on classic theme, but not on hummingbird

This change is

Thanks @zuk3975!


libraryroot.js not found // No module named 'six'

Latest Steam version (non-Beta) and latest OldGlory version.
Running js_tweaker
Copying file library.js from Steam\steamui...
Opening library.beaut.js, generating beautified JS...
libraryroot.js not found
~~~~~~~~~~
Traceback (most recent call last):
  File "js_tweaker.py", line 91, in beautify_js
  File "jsbeautifier\__init__.py", line 86, in beautify_file
  File "jsbeautifier\cli\__init__.py", line 122, in process_file
  File "jsbeautifier\__init__.py", line 81, in beautify
  File "jsbeautifier\javascript\beautifier.py", line 142, in __init__
  File "PyInstaller\loader\pyimod02_importers.py", line 499, in exec_module
  File "jsbeautifier\javascript\acorn.py", line 17, in <module>
ModuleNotFoundError: No module named 'six'
None
~~~~~~~~~~

Fixed in 5.10.6


Failed to import duecredit due to No module named 'duecredit'

I just installed the module through common conda install:
conda install -c aramislab pybids

However when I import bids I get the following warning:
Failed to import duecredit due to No module named 'duecredit'

I tried both conda and pip and this is consistent. Is this a warning to be safely ignored?
Thanks!

Yes, you can safely ignore it. Alternatively, if you want to make it go away, you can pip install duecredit.

@lpjiang97 note that I don't maintain the conda formula for pybids--I didn't even realize there was one. It appears to be out of date, so I recommend upgrading via pip install --upgrade pybids.

@tyarkoni Ah, ok sounds good. Not sure who put it up -- might be a good idea to take it down :)

It looks like the following line:
https://github.com/bids-standard/pybids/blob/4315865375a6eb811ba9f7eadbc1d621ecb2de96/bids/due.py#L60
could be changed to
    if not isinstance(e, ImportError):

to avoid this warning in the case of a ModuleNotFoundError (which is a subclass of ImportError) on Python 3.6+.

I just fixed it in duecredit's version of the stub. Indeed here should be fixed as well.  isinstance shouldn't be used since python2 is still supported and ModuleNotFoundError is not defined. comparison by name is good enough for this one.  I will send a PR shortly, thanks

Commented on https://github.com/duecredit/duecredit/pull/149/files#r264696840, as well, but @yarikoptic I don't understand your objection here.

Seems fine either way, but ModuleNotFoundError is an ImportError so I think isinstance(..., ImportError) should work for both?

I waved away my objection -- I forgot what (if any) was the reason to do it this way instead of isinstance.  Just merged fixup within duecredit itself. Will release it soon.  We could update stub here as well if desired ;)


Add Asynchronous Clipboard API sample

/cc @surma @ebidel @garykac

Comments addressed.

Just a note: this example is derived from my original larger & prettier JSFiddle Demo.


chore(deps): update common-dev-assets digest to 93bc760

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
ea0f594 -> 93bc760

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline


Adding support for Cordova Sqlite Storage

Hello!
I was wondering if it's possible to add support for the highly popular cordova sqlite storage plugin? I'm not really sure how it's working behind the scenes, but as far as I can tell, the plugin is not lodaded/injected into the project until you run the project manually on a device or emulated one.
cordova prepare && cordova run android -- The plugin works as expected
rimraf www/* && cordova prepare && cordova run -- -livereload -- The plugin fails to load.
Is this something you're able to do on your side?

@SpellCraft Hey again!
LiveReload is impossible to support native plugins like cordova-sqlite-storage.
LiveReload only works with plugins that support browser platforms.
cordova-sqlite-storage currently supports browser platforms with some limitations!
If you want to run cordova-sqlite-storage with LiveReload, please see here.

Thanks for the input kotarella! With some tinkering, I think I actually managed to get it to work as.
Say you setup the database object like so;
const database = () => {
  return new Promise((resolve, reject) => {
    document.addEventListener('deviceready', () => {
      const db = window.sqlitePlugin.openDatabase({
        name: 'my.db',
        location: 'default',
      });
      if (!db) {
        reject();
      } else {
        resolve(db);
      }
    });
  });
};
export default database;

When you then import the promisified DB delegate, this query ran successfully with LiveReload;
database().then(db => {
  db.transaction(
    tx => {
      tx.executeSql('CREATE TABLE IF NOT EXISTS DemoTable (name, score)');
      tx.executeSql('INSERT INTO DemoTable VALUES (?,?)', ['Alice', 101]);
      tx.executeSql('INSERT INTO DemoTable VALUES (?,?)', ['Betty', 202]);
    },
    error => {
      console.log(`Transaction ERROR: ${error.message}`);
    },
    () => {
      console.log('Populated database OK');
      db.close();
    },
  );
});

Did it work?
I think it should be as follows.
const database = () => {
  return new Promise((resolve, reject) => {
    document.addEventListener('deviceready', () => {
      const db = window.sqlitePlugin ? window.sqlitePlugin.openDatabase({
          name: 'my.db',
          location: 'default',
        }) : window.openDatabase({
          name: 'my.db',
          location: 'default',
        });
      if (!db) {
        reject();
      } else {
        resolve(db);
      }
    });
  });
};
export default database;

Yeah. It's working just fine both with the live-server and on the app itself. :)

That's good!
If it is not a problem for you, close this!


Closing button, maximize and minimize are gone

Type: Bug
Simple as that, Closing , maximize and minimize buttons are gone. I can make it full screen, but that's not what I had, and from nowhere the buttons were gone!
 Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Fix service container names to drop null- prefix, and use stack.service-N

Kontena 1.0 added stacks. As part of the internal implementation and server API, all existing stackless services were associated with a special "null" stack. This stack name is hidden from the CLI interface, but it was included in the Docker service container names on the agent. Thus, the existing 0.16 service container names change as they are re-deployed with 1.0, which leads to user confusion when using the kontena container ... commands:
CONTAINER ID                    IMAGE                           COMMAND                        CREATED              STATUS
core-01/wordpress-mysql-1       mariadb:5.5                     "docker-entrypoint.sh mysqld"  1 hours ago          running
core-01/wordpress-wordpress-1   wordpress:4.6.1                 "docker-entrypoint.sh apache"  1 hours ago          running
core-01/null-redis-2            redis:latest                    "docker-entrypoint.sh redis-"  1 hours ago          running
core-01/null-redis-3            redis:latest                    "docker-entrypoint.sh redis-"  1 hours ago          running
core-01/null-redis-1            redis:latest                    "docker-entrypoint.sh redis-"  1 hours ago          running

This fix reverts to the pre-1.0 container naming scheme for classic pre-1.0 stackless services. Re-deploying a 1.0.0 stackless service with this fix restores the original service container names:
CONTAINER ID                    IMAGE                                              COMMAND                        CREATED              STATUS
core-01/redis-3                 redis:latest                                       "docker-entrypoint.sh redis-"  14 minutes ago       running
core-01/redis-2                 redis:latest                                       "docker-entrypoint.sh redis-"  14 minutes ago       running
core-01/redis-1                 redis:latest                                       "docker-entrypoint.sh redis-"  14 minutes ago       running

This also changes the 1.0 stack service container naming schema to use . as a separator, to avoid conflicts between similarly named app/stack services:
CONTAINER ID                    IMAGE                                              COMMAND                        CREATED              STATUS
core-01/wordpress.wordpress-1   wordpress:4.6.1                                    "docker-entrypoint.sh apache"  1 minutes ago        running
core-01/wordpress.mysql-1       mariadb:5.5                                        "docker-entrypoint.sh mysqld"  1 minutes ago        running

This fix changes the server GridService#name_with_stack. This method is only used for the server Docker::ServiceCreator -> agent RPC /service_pods/create { service_name: ... }. The agent then AFAIK only uses that ServicePod#service_name for the Docker container names (service container and volume container).
stateful: true data volume containers
The agent is okay when dealing with existing data volume containers using the old names:
3576f0b6264c        wordpress:4.6.1                                    "/w/w docker-entrypoi"    About a minute ago   Up About a minute         80/tcp                        wordpress.wordpress-1
c184fdb049bd        mariadb:5.5                                        "/w/w docker-entrypoi"    About a minute ago   Up About a minute         3306/tcp                      wordpress.mysql-1
7a7c033fd526        wordpress:4.6                                      "/bin/sh echo 'Data o"    8 weeks ago          Created                                                 wordpress-wordpress-1-volumes
09e74abf458c        3136ca77b3ea                                       "/bin/sh echo 'Data o"    8 weeks ago          Created                                                 wordpress-mysql-1-volumes

volumes_from container names
This also supports all five naming schemes used for service: volumes_from: ... in Kontena <1.0, 1.0, and with this PR:
development/wordpress/wordpress:
  stack: development/wordpress

development/wordpress/volumes_test:
  stack: development/wordpress
  volumes_from:
    - wordpress-%s

      # volumes_from:
      #   - wordpress-%s
      #
      # The actual container name for a stackless service is:
      #   Kontena <1.0: wordpress-1
      #   Kontena  1.0: null-wordpress-1
      #   Kontena >1.0: wordpress-1
      #
      # The actual container name for a stack service is:
      #   Kontena  1.0: wordpress-wordpress-1
      #   Kontena >1.0: wordpress.wordpress-1

Fixing container name overlap with stacks and services
Part of the reason for the null- prefix was to avoid overlap between a kontena app and kontena stack with the same name:

kontena app deploy --project-name wordpress with stack=null service=wordpress-wordpress
kontena stack install --name wordpress wordpress with stack=wordpress service=wordpress

The use of the - separator for the stack and service names also leads to Docker container name collisions:

kontena stack install --name web .. with stack=web service=server-apache
kontena stack install --name web-server with stack=web-server service=apache

This PR changes the service.stack separator, and thus fixes these issues. The kontena app wordpress-wordpress-1 service container will not overlap with the kontena stack wordpress.wordpress-1 container.
Validating stack/service names
The existing code already prohibits the use of . in service names:
kontena service create test.redis redis
 [fail] Creating test.redis service
 [error] {"name"=>"Name isn't in the right format"}

The same validation also holds for stack names, and service names within stacks.
NOTE: DNS name may also overlap
Stackless service names also overlap with stack names in DNS, if the stack exposes a service: #1377

kontena service create wordpress .... with stack=null service=wordpress collides with stack=wordpress

And the -#{instance_number can also leads to DNS collisions:

kontena service create mysql ... with stack=null service=mysql container=mysql-1
kontena service create mysql-1 ... with stack=null service=mysql-1 container=mysql-1-1

This is a separate issue, and not part of this PR.

@jakolehm opinions on what kind of validation this needs to include to get merged?

Maybe we could also introduce different separator for container names (as discussed)?

redis-1: null stack container
my-stack.redis-1: container in a stack

Rebased.
Changed the stack.service separator. The stackless services remain without the stack prefix or separator.

I think that the agent Kontena::Models::ServicePod#build_volumes_from needs fixing for this, but I'm having some trouble testing it.
What are the stack service volumes_from even expected to look like?

Fixed the agent ServicePods#volumes_from to support all cases, see the PR description.

Verified that the current 1.0 release already rejects the use of . in service names, and thus the use of . as the stack.service separator should be fully compatible:
kontena service create test.redis redis
 [fail] Creating test.redis service
 [error] {"name"=>"Name isn't in the right format"}

kontena stack install --name whoami.test ~/kontena/examples/whoami/kontena.yml
tehobari:~/kontena/kontena/cli :: bundle exec bin/kontena stack install --name whoami.test ~/kontena/examples/whoami/kontena.yml  [fail] Creating stack whoami.test
 [error] {"name"=>"Name isn't in the right format"}

kontena stack install --name wordpress2 .../wordpress/kontena.yml
 [fail] Creating stack wordpress2
 [error] {"services"=>"Service create failed for service 'volumes.test': Name isn't in the right format"}


Fix docker command

Noobs will struggle on this part a long time if they are using apt, since docker-compose actually is a package which is shown when you try to run docker-compose up -d

@HenryHengZJ Ready to merge along with https://github.com/FlowiseAI/FlowiseDocs/pull/95


A long time ago in a galaxy far, far away...

Hi @allinurl
I am lost in time... But I'm emerging from the shadows.
The things seem to stop here.
I will try add some ideas and help you to answer simple questions.
Nice to meet you, again!
May the force be with you.

Welcome back! It's great to hear from you again. Please feel free to take a look at some of those pending issues. I've been getting ready for some exciting updates that are in the works!


textlint-rule-stop-words: 5.0.0 -> 5.1.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sapegin/textlint-rule-stop-words/releases.
meta.description for textlint-rule-stop-words is: Textlint rule to find filler words, buzzwords and clichés
meta.homepage for textlint-rule-stop-words is: https://github.com/sapegin/textlint-rule-stop-words
meta.changelog for textlint-rule-stop-words is: https://github.com/sapegin/textlint-rule-stop-words/releases/tag/refs/tags/v5.1.0
Updates performed

NPM version update

To inspect upstream changes
Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 5.1.0 in filename of file in /nix/store/h6iw8q0lih65i2fhrwhccr3cw5mrsh1l-textlint-rule-stop-words-5.1.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

textlint-rule-stop-words

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h6iw8q0lih65i2fhrwhccr3cw5mrsh1l-textlint-rule-stop-words-5.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A textlint-rule-stop-words https://github.com/r-ryantm/nixpkgs/archive/be6d3b08a11f7ab65848be23bfd0ef036ddb643b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/be6d3b08a11f7ab65848be23bfd0ef036ddb643b#textlint-rule-stop-words

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h6iw8q0lih65i2fhrwhccr3cw5mrsh1l-textlint-rule-stop-words-5.1.0
ls -la /nix/store/h6iw8q0lih65i2fhrwhccr3cw5mrsh1l-textlint-rule-stop-words-5.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

textlint-rule-stop-words

Maintainer pings
cc @natsukium for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sapegin/textlint-rule-stop-words/releases.
meta.description for textlint-rule-stop-words is: Textlint rule to find filler words, buzzwords and clichés
meta.homepage for textlint-rule-stop-words is: https://github.com/sapegin/textlint-rule-stop-words
meta.changelog for textlint-rule-stop-words is: https://github.com/sapegin/textlint-rule-stop-words/releases/tag/v5.1.1
Updates performed

NPM version update

To inspect upstream changes
Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 5.1.1 in filename of file in /nix/store/cj946hi1q8fb98icdxax057h982cdrpp-textlint-rule-stop-words-5.1.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

textlint-rule-stop-words

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cj946hi1q8fb98icdxax057h982cdrpp-textlint-rule-stop-words-5.1.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A textlint-rule-stop-words https://github.com/r-ryantm/nixpkgs/archive/294a49b69781eacb0348b925b418702e903f9616.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/294a49b69781eacb0348b925b418702e903f9616#textlint-rule-stop-words

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cj946hi1q8fb98icdxax057h982cdrpp-textlint-rule-stop-words-5.1.1
ls -la /nix/store/cj946hi1q8fb98icdxax057h982cdrpp-textlint-rule-stop-words-5.1.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

textlint-rule-stop-words

Maintainer pings
cc @natsukium for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sapegin/textlint-rule-stop-words/releases.
meta.description for textlint-rule-stop-words is: Textlint rule to find filler words, buzzwords and clichés
meta.homepage for textlint-rule-stop-words is: https://github.com/sapegin/textlint-rule-stop-words
meta.changelog for textlint-rule-stop-words is: https://github.com/sapegin/textlint-rule-stop-words/releases/tag/v5.1.2
Updates performed

NPM version update

To inspect upstream changes
Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 5.1.2 with grep in /nix/store/23zz7r6pqcykrqpza8xrwh3b93hgnfj7-textlint-rule-stop-words-5.1.2
found 5.1.2 in filename of file in /nix/store/23zz7r6pqcykrqpza8xrwh3b93hgnfj7-textlint-rule-stop-words-5.1.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

textlint-rule-stop-words

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/23zz7r6pqcykrqpza8xrwh3b93hgnfj7-textlint-rule-stop-words-5.1.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A textlint-rule-stop-words https://github.com/r-ryantm/nixpkgs/archive/0c069b266a1a7f9091cbd1c2febec032f18bf5e7.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0c069b266a1a7f9091cbd1c2febec032f18bf5e7#textlint-rule-stop-words

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/23zz7r6pqcykrqpza8xrwh3b93hgnfj7-textlint-rule-stop-words-5.1.2
ls -la /nix/store/23zz7r6pqcykrqpza8xrwh3b93hgnfj7-textlint-rule-stop-words-5.1.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

textlint-rule-stop-words

Maintainer pings
cc @natsukium for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.


Update function

This is a question, though it's too long to write a good formatted gitter post...
I'm using an extended insertOrUpdate method like here: https://github.com/yahoo/squidb/issues/226 that looks like following:
public <T extends TableModel> Result insertOrUpdate(T item, IUpdateBeforeUpdate<T> updateBeforeUpdate, Property<?>... logicalKey) {
    // Validate the arguments
    if (logicalKey == null || logicalKey.length == 0) {
        throw new IllegalArgumentException("No logical key specified");
    }
    for (Property<?> col : logicalKey) {
        if (!item.containsNonNullValue(col)) {
            throw new IllegalArgumentException("Item did not have a value to compare for logical key column " + col);
        }
    }

    // Build a criterion for checking for existing models with the given logical key
    Criterion existingCriterion = logicalKey[0].eq(item.get(logicalKey[0]));
    for (int i = 1; i < logicalKey.length; i++ ) {
        existingCriterion = existingCriterion.and(logicalKey[i].eq(item.get(logicalKey[i])));
    }

    boolean success;
    Result result = null;
    Table t = getTable(item.getClass());
    T existing = (T) fetchByCriterion(item.getClass(), existingCriterion);
    if (existing == null)
    {
        success = insertRow(item);
        if (success)
            result = Result.Insert;
        else
            result = Result.Error;
        L.d(L.G_APP_UPDATE, "NEW ROW: %s", item);
    }
    else
    {
        if (updateBeforeUpdate != null)
            updateBeforeUpdate.update(item);
        existing.setPropertiesFromValuesStorage(item.getSetValues(), t.getProperties());
        success = updateRow(existing);
        if (success) { // This is not necessarily required, but it mimics the bookkeeping that persist() does
            item.setRowId(existing.getRowId());
            item.markSaved();
            result = Result.Update;
        }
        else
            result = Result.Error;
    }
    return result;
}

My updateBeforeUpdate paramater does only do following: it calls item.clearValue(field) for some user fields that MAY already exist so that those already existing values are not overwritten. So far so good.
Problem
After calling such an update function with a full loaded model, the model is not useable anymore, because it may have fields that were cleared.
What I want
I want to call the updateOrInsert function and keep all fields but be able to skip some fields from being persisted when calling this functions (BUT keep them in the model if they are in there.) Can I do this? Or do I have to extract the fields, save them in a list, save my model and reset the fields?

Sure, there are many ways to do this. Probably the easiest is to simply call setPropertiesFromValuesStorage using only the properties you are interested in, which I imagine you could provide using your IUpdateBeforeUpdate object:
existing.setPropertiesFromValuesStorage(item.getSetValues(), updateBeforeUpdate.whichPropertiesToSave());

If you do this though, note that the contract of markSaved will be somewhat broken. It will still put the skipped values into the databaseValues of the model, which is interpreted to mean "these were the last known values to exist in the database" -- which of course if some set values were skipped, they are not. Probably it's more "correct" to instead make item take on only the values from existing after the update has occurred, e.g. using item.clear(); item.readPropertiesFromValuesStorage(existing.getDatabaseValues()). Of course, you will have to decide what is the most "correct" for your use case. Hope that helps!

Those set/getPropertiesFromValuesStorage are a bit confusing imho, I don't get their meaning by reading the name just as the AbstractModel setValues and values field as well. I think something like get/setPersistetValues() and persistedValues and notYetPersistedValues or similar would reflect the purposes a little more, just my personal opinion though...
I think I get the idea now and can solve my problem with the tipps, thanks


Odd number of countries retrieved during retrieval of data

Hey there,
I was reinitialising the Geocode class, when I noticed that the number of countries returned by the file is much greater than what I would expect. Screenshot below of the data retrieved and the count of the countries. I would expect this number to be more like 200 so it's closer to the countries listed on this page https://www.geonames.org/countries/

This is a fantastic library btw, thank you for providing it!

Hey there - If I remember correctly it's because country names have a ton of different variants (think e.g. US, USA, United States, etc...) and also have various spellings in different languages, e.g. Italy, Italia, Repubblica Italiana, etc.
If your application only relies on English country names there might be ways to filter this specifically 🤔 Would need to look into how the country aliases are annotated. Thing is that the "official" country names are interestingly rarely used by anyone (i.e. people don't tend to spell out the full name of the US normally), so we can't just ignore aliases.

Hey @mar-muel, that makes sense thanks! Yes would be great to be able to filter by English-only. I see in the code that the featureCodes_en.txt file is downloaded, does that not filter by English only?
I'm using this as my reference for the available API's https://www.geonames.org/export/ws-overview.html but not sure if this is the correct source...

Unfortunately, it seems like the alternate names of places are not properly annotated. E.g. the alternate names of Toledo, Spain are given as a list of strings without any sort of language annotation:
'Taleda,Toledas,Tolede,Toledo,Toledo i Spania,Toledu,Toletum,Toleu,Tolède,XTJ,tlytlt,to le do,toledo,toleto,tolledo,toredo,tuo lai duo,tuo li duo,twldw,twldw  aspanya,twlydw,Τολέδο,Таледа,Толедо,Տոլեդո,טאלעדא,טולדו,تولدو، اسپانیا,توليدو,طليطلة,طلیطلہ,तोलेदो,ਤੋਲੇਦੋ,டொலேடோ,โตเลโด,ტოლედო,ቶሌዶ,トレド,托利多,托萊多, '레도

As I mentioned above, I cannot simply ignore these alternative names of places as they are sometimes more meaningful than the official names. Else something like this would not be possible:
>>> gc.decode("L.A.")
[{'name': 'L.A.', 'official_name': 'Los Angeles', 'country_code': 'US', 'longitude': -118.24368, 'latitude': 34.05223, 'geoname_id': '5368361', 'location_type': 'city', 'population': 3898747}]

Unfortunate but understandable, thanks :)


Slot value from triggered intent is always 'undefined'.  Need help, willing to pay.

I have one final obstacle in my app I'm developing with alexa-app.  The value field for the singular slot I define for my tellme intent is always undefined.  I'm simply trying to get Alexa to send me the raw text the user said.
I don't think it's a speech recognition problem, because this happens even when I enter plain text into simulator text edit box.  I get the same result.  The slot's value is always undefined.
Here is the tellme intent I define in the alexa-app  initialization phase.  I entered the word "test" as input into the simulator edit box:
	alexa_app_lib.intent("tellme", {
			// Set up a slot for the received input.
			"slots": {
				"ANSWER": "LITERAL"
			},
			// Suggest sample input the user might say to Alexa.
			"utterances": [
				"user input"
			]
		},
		function(request, response) {
			// Just parrot the response back.
			response.say(request.slots["answer"].value);
		}
	);

Here is what the console log results show for the answer slot from inside the tellme intent handler:
        request.slots["answer"] = alexa.slot
	request.slots["answer"].name = answer
	typeof request.slots["answer"].value = undefined

I'm willing to make a payment via PayPal to get this resolved quickly.

Hi @roschler,
I think you should use AMAZON.LITERAL instead of just LITERAL in your schema definition. If you are using the Alexa test simulator, you will also be able to see the exact request with the slot value (if any) when being sent to your app.
Pay attention that custom types are better than literals, so you might want to migrate to your own type in the future.
Also, you might want to read a slot value using the slot method:
function (request, response) {
  response.say(request.slot('ANSWER'));
}

Hello kobim,
I changed it to AMAZON.LITERAL and that didn't help.  But given your reminder to inspect the JSON payload sent by the simulator reveals something troubling.  If you look at the dump below, you will see that nowhere in the payload is the text I entered, that of the "test".  There's something that is keeping the simulator from sending me the text I input?  Therefore, it is no surprise the slot has no value by the time alexa-app rehashes it into the request object it provides to intent handlers.
I'm beginning to worry that there is some weird problem somewhere else?  What else could cause the simulator to not send the text input I entered?  In the meantime, thank you for your reply and I will investigate custom types.
Here is the simulator payload with the sensitive strings hidden:
{
"version": "1.0",
"session": {
	"new": false,
	"sessionId": <hidden>,
	"application": {
		"applicationId": <hidden>
	},
	"user": {
		"userId": <hidden>
	}
},
"context": {
	"AudioPlayer": {
		"playerActivity": "IDLE"
	},
	"Display": {
		"token": ""
	},
	"System": {
		"application": {
			"applicationId": <hidden>
		},
		"user": {
			"userId": <hidden>
		},
		"device": {
			"deviceId": <hidden>
			"supportedInterfaces": {
				"AudioPlayer": {},
				"Display": {
					"templateVersion": "1.0",
					"markupVersion": "1.0"
				}
			}
		},
		"apiEndpoint": "https://api.amazonalexa.com",
		"apiAccessToken": <hidden>
	}
},
"request": {
	"type": "IntentRequest",
	"requestId": <hidden>
	"timestamp": "2018-04-24T20:30:45Z",
	"locale": "en-US",
	"intent": {
		"name": "tellme",
		"confirmationStatus": "NONE",
		"slots": {
			"answer": {
				"name": "answer",
				"confirmationStatus": "NONE"
			}
		}
	}
}
}

Can you show me your skill schema?
I also noticed your utterances don't contain the slot. Try to change "user input" to "tell me {answer}" (under samples in the schema) and try to invoke tell me something in the text simulator.

Hi Kobi,
What are you calling the "interaction model"?  Are you referring to the content on the Alexa Skill model builder page?:

Note, I completely revamped my model to have an intent called search_query with a single slot named user_input and a single utterance that uses that slot defined as "the {user_input}".
This is getting text sent to me but unfortunately, only if I prefix the text with the word "the".  This is a problem because I want to get any text the user says, not only if it begins with "the".  Note, I changed from AMAZON.LITERAL to AMAZON.SearchQuery because I read that on Stack Overfow AMAZON.LITERAL was deprecated.  Is this so?
Also, there seems to be an overlap/duplication between the app.intent() definition in alexa-app handlers and the Alexa Skill model building page.  I assume my app.intent() definition has to include a matching intent name for it to be routed to when my Node.JS app receives request (and it is working).  But the slot and utterance definitions seem to overlap/duplicate what I define in the Alexa Skill model building page and I'm worried what that means in practice if there are variances between the utterances and slots defined on either side (i.e. - between the definitions found in the Alexa Skill model builder side and the code in my app.intent() definition in my Node.JS app that handles the similarly named intent).

The slot/utterance ("schema") passed to the intent function are used to generate the JSON for the interaction model and are optional.
Regarding the AMAZON.LITERAL deprecation comments, refer to the using custom types
link I provided earlier, as its better to define EXACTLY what you attempt to receive.
I'm closing this issue as it doesn't seem an issue with the library but with an understanding about interaction with an Alexa skill. Please refer to Understanding How Users Invoke Custom Skills in order to better understand how Alexa handles user input.


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test-source

Docs Build status updates of commit 12d5c8c:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-01-10-07-31-06 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-01-10-07-31-06

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


upgrade node version to 16, sort our npm deps and gatsby

We needed to change out workflow to account for the deprecated support for node version 16. Might be worth considering a different framework

done! thanks @dalia-nasr


IOS: Notification not receiving when app in foreground

Notification receiving when app in background, but not receiving in foreground.

Notification receiving when app in background, but not receiving in foreground.

cordova ios: 6.2.0


Fix incorrect array encoding in config produced by RollbarJsHelper

When building JS code with RollbarJsHelper and passing configuration
parameters that are arrays, those arrays in the final JS output are
incorrectly encoded as objects.

Thanks for taking the time to submit this! I agree; the current code seems buggy.
Digging a little, looks like JSON_FORCE_OBJECT was introduced back in 2017 by @rokob. I think the intent of that change was to ensure the configuration object at the highest level was always an object, but it seems to have neglected the side effect of forcing deep PHP arrays to JSON objects (eg, a configuration of [ "a" => [ ] ] produces {"a":{}} instead of the desired {"a":[]}.
We'll get this in the pipeline for change soon.

Yeah I was trying to only force the top-level to be an object. PHP never ceases to amaze me. I see now in the docs that there is a user comment about this behavior. Although the main docs don't mention anything about this being applied to the entire structure:

JSON_FORCE_OBJECT (int)
Outputs an object rather than an array when a non-associative array is used. Especially useful when the recipient of the output is expecting an object and the array is empty. Available as of PHP 5.3.0.


Old Dot redirection - App crashes when redirected from OD when user ID ends with even number

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.7-4
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: applause internal team
Slack conversation:
Action Performed:
Account used<EMAIL_ADDRESS>
Go to staging.new.expensify.com
Create a new ND account.
Go to self DM.
Click on the self DM header.
Check if the URL ends with an even number. If not, keep creating accounts until it ends with an even number. (Important)
Log in to the same account (with ending even number in User ID) on OD.
Log out of ND.
Click on the bubble on OD.

This issue does not happen if the user ID ends with odd number.
Expected Result:
App will not crash.
Actual Result:
App crashes.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Bug6543842_1721131672624!staging.new.expensify.com-1721131390252.txt
https://github.com/user-attachments/assets/d2d2c592-11b4-4d40-905c-2aa37707864f

View all open jobs on GitHub

this might be similar to what i reported here https://expensify.slack.com/archives/C049HHMV9SM/p1721144087581819

Thanks @ishpaul777 for pointing this out. We will fix this.
cc @chiragsalian @pac-guerreiro @fabioh8010 @mountiny

@ShridharGoel Thanks for sharing insights into the problem. I don't think this needs to be external as this issue came from recent changes in our PR. So I will raise a PR to fix this.

@rojiphil when can we expect a PR?

when can we expect a PR?

Working on this now. Will update in an hour.

Payment summary:

@rojiphil $250 - offer sent in upwork
@allgandalf $250 - offer sent in upwork

Thanks for completing the checklist so promptly! 🙇

Both payments completed 🚀


[VEN-2530]: IR deployments for bscmainnet for some assets 3/3 #469

Description
This PR deploys IR for some assets. This is part of the 3 phase VIPs related to Chaos Labs reccomendations
Resolves #VEN-2530
Checklist

[ ] I have updated the documentation to account for the changes in the code.
[ ] If I added new functionality, I added tests covering it.
[ ] If I fixed a bug, I added a test preventing this bug from silently reappearing again.
[ ] My contribution follows Venus contribution guidelines.

We won't apply more changes to the Stablecoin IR's


Support IP layer mode on macOS

Implement IP layer mode on macOS using socket(PF_INET, SOCK_RAW, IPPROTO_RAW) and setsockopt(IP_HDRINCL)
Teach recv-pcap to handle BSD loopback encapsulation as used by macOS utun interfaces
While here fix file descriptor leaks in bpf failure paths

Deliberately ifdef'ed macOS-specific code with __APPLE__ such that in the future, the code can be shared amongst macOS and BSDs lacking sendmmsg.  If/when I get around to implement sendmmsg for BSD, I'll likely propose to split send code into bsd-legacy and bsd-sendmmsg, instead of send-bsd and send-mac with largely duplicate code for the "no sendmmsg available" case.

Overall makes sense. One question:

Deliberately ifdef'ed macOS-specific code with APPLE such that in the future, the code can be shared amongst macOS and BSDs lacking sendmmsg.

This makes sense, but I'm not sure if the code in that block is actually Apple-specific. It seems that the host-order part:
	 BSD loopback encapsulation; the link layer header is a	4-byte
	 field,	 in  host  byte	 order,	 containing  a	PF_ value from
	 socket.h for the network-layer	protocol of the	packet

Is for BSD more broadly.

The ifdef __APPLE__ is on the send path, the byte order comment there applies only to IP header fields when sending through a raw IP socket (as opposed to BPF device, used by zmap when -X is not given), and is independent of the link layer type of the interface.  The packet sent to the socket begins with the IP header and has no link layer header.  macOS requires the off and len fields of the IP header in host byte order when sending via raw IP sockets.  FreeBSD used to require them in host byte order too, back when Apple forked the BSD portion of XNU from FreeBSD 4, but I think since around FreeBSD 11, FreeBSD takes those fields in network byte order.  When sending with those fields in host byte order on FreeBSD 14, or when sending with those fields in network byte order on macOS Sonoma, you get EINVAL from the sendto() calls.  This can be verified not only experimentally, but also by comparing the «Raw IP Sockets» section of ip(4) for macOS and different versions of FreeBSD.
The BSD loopback encapsulation change on the other hand is on the libpcap receive path, and is only relevant to certain types of interfaces, including utun on macOS, which is used by at least some VPN software on macOS.  I have not ifdef'ed that to __APPLE__, as it seems to compile fine on Linux etc too.  The commit adding recv support for BSD loopback encapsulation is orthogonal to the rest of the changeset; sending in IP layer mode works without it.  Zmap would not be able to receive packets over utun interfaces tho, as used by at least some VPN software on macOS.  Byte order of the protocol field in the BSD loopback encapsulation header is currently irrelevant, as zmap never interprets it.


chore: update Dependabot config

Allow updating GitHub Action versions
Increase allowed PRs from default 5 to 99

What kind of change does this PR introduce?

Did you add tests for your changes?
If relevant, did you update the documentation?
Summary

Does this PR introduce a breaking change?

Other information

This will probably need a rebase if https://github.com/puppeteer/puppeteer/pull/7856 lands

Yep, it needs a rebase.


MSI authentication is no longer available. Instead System assigned managed identity works. Please update upon check.

MSI authentication is no longer available. Instead System assigned managed identity works. Please update upon check.

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

ID: 239e657e-15d8-05a3-466d-4159b178307e
Version Independent ID: 866f6f93-0302-324b-668e-b41f67581d6d
Content: How to pause and resume dedicated SQL pools with Synapse Pipelines - Azure Synapse Analytics
Content Source: articles/synapse-analytics/sql/how-to-pause-resume-pipelines.md
Service: synapse-analytics
Sub-service: sql
GitHub Login: @kromerm
Microsoft Alias: makromer

@g-kannan
Thanks for your feedback! We will investigate and update as appropriate.

@kromerm
Could you please review add comments on this, update as appropriate.

@g-kannan
Thank you for bringing this to our attention.
I've delegated this to content author @kromerm, who will review it and offer their insightful opinions.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


readme.adoc , basic-examples adoc link broken

link to basic examples is broken: https://github.com/asciidoctor/asciidoctor-pdf/blob/9d7ddc77bb73a868855f8d68056ca0e9865deebd/blob/masterexamples/basic-example.adoc

It looks like the upgrade to Asciidoctor 1.5.2 "broke" the links in that the relfileprefix was introduced in 1.5.x and finally got activated...except it had the wrong value. We don't need it anyway, so I just dropped it.

Thanks for pointing this out, @rlopez133!


Standard for specific libraires

What is the standard way for content creators to add non-standard python modules/libraries?
One possibility is to add a file requirements.txt alongside the notebooks, and insert a cell with a single after the title of the notebook:
$pip install -r ./requirements.txt

We'd have to set it up so it works in colab (which supports pip install) and outside of colab (which doesn't always). Do you have an idea of how to do that?

I believe pip install also works in Jupyter notebooks as a shell command. Something along these lines would work:
$ #oneliner checking for ./requirements.txt, git clone repo otherwise
$ pip install -r ./requirements.txt

How will we embed requirements.txt in the colab?
On Mon, Jun 1, 2020 at 5:36 PM Marco Brigham<EMAIL_ADDRESS>wrote:

I believe pip install also works in Jupyter notebooks as a shell command.
Something along these lines would work:
$ #oneliner checking for ./requirements.txt, git clone repo otherwise
$ pip install -r ./requirements.txt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NeuromatchAcademy/course-content/issues/32#issuecomment-637123128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA22Q65ON345AVXFPJ7H4MTRUQNOZANCNFSM4NPVE6WA
.

The oneliner checks for the existence of ./requirements.txt, that failing the missing file is fetched with git or wget, etc.

see https://github.com/NeuromatchAcademy/course-content/pull/35


Black Screen after remote desktop

VSCode Version: 1.41.1
OS Version: Windows 10

Steps to Reproduce:

Open VS Code in a Windows machine
From another machine remote access to the first machine
go back to the original machine

Expected: VS code should be still open
Actual: VS code in the original machine turns to back screen

Does this issue occur when all extensions are disabled?: Yes/No

Is this still an issue with our latest insiders https://code.visualstudio.com/insiders


Io middleware

I think we are gonna come across a lot of middleware that deals with IO values, so it would be nice to have a way to compose in that world. this is what I came up with. I named it >-> cause it's kleisli like, yet I didn't use flatMap at all 🤔
ill open a PR on pointfree to show how I used this. well, I haven't even used >-> yet, but I think it'll be useful. I think you'll be able to compose middlewares like:
fetchCurrentUser
  >-> recordEpisodeView
  >>> resolve
  >>> writeStatus(.ok) ...

I deleted the io middleware stuff in favor of https://github.com/pointfreeco/swift-prelude/pull/64/. now this pr just contains some clean up stuff


Generate the ecosystems.txt in the root

Could you please generate the ecosystems.txt in the root that would contain a list of all the ecosystems currently in OSV, from which users can construct URLs to download all advisories for the ecosystems?

We now have a https://osv-vulnerabilities.storage.googleapis.com/ecosystems.txt in the root.
This still needs to be generated dynamically, but our ecosystems change infrequently so it should be fine to depend on this in the short/medium term.


Trouble running pull-request command on OS X.

I just installed hub from homebrew on OS X and I tried running hub pull-request. This is the message that I got:
└──➤ hub pull-request
github.com username: mattjmorrison
github.com password for mattjmorrison (never stored):
user: Current not implemented on darwin/amd64

I'm not sure what I'm doing wrong, but any help would be greatly appreciated.
Here are the versions that I'm working with:
└──➤ hub --version
git version 2.6.4
hub version 2.2.2
└──➤ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.9.5
BuildVersion:   13F1134

Thanks!

Interesting! It looks like it's available for darwin under the general unix build flag.

Hm, ok. It works just fine for me on Mac OS X 10.11.2. Perhaps 10.9.5 isn't yet compatible.
Dump this file into some go file in its own directory and execute go run <filename>. Does it error?

@parkr I get a 404 on that file.

@mattjmorrison Sorry about that – please check the link again.

Here is the result:
└──➤ go run lookup_user_unix.go
&{501 20 mattjmorrison mattjmorrison /Users/mattjmorrison} <nil>

If that works, then building from source should produce a binary of hub that works. I defer to mislav & co.

@parkr building from source using these instructions: https://github.com/github/hub#source did seem to correct the problem - apparently it is something with the homebrew dist?

@mattjmorrison Perhaps! Glad you got it working. --HEAD should have built from the source, though. Maybe there was a cache or something lying around that was used instead. Hm!

@mattjmorrison I'm glad you solved your problem, and sorry for the trouble. I don't know what causes this, but it seems like it's an incompatibility with pre-built binaries that we distribute with each release and OS X 10.9 :unamused:
Thanks @parkr for help!

The build process was recently changed since 2.2.2. I wonder if it's related to that. One way to find would be to try out the OSX build of 2.2.1 and see if it works for OS X 10.9.5.

There is at least one other go-enabled projects with a similar bug filed https://github.com/docker/notary/issues/194 (fix: https://github.com/docker/notary/pull/195). Possibly a Go error in finding the home directory on El Cap. Doesn't look like hub caching an oath token for anyone here so I'd look for it to be related to the lookup of the Github oauth token config file.

Per @jingweno's comment, I've verified that the 2.2.1 binary works for me. brew ships 2.2.2. Workaround is to use the 2.2.1 Mac binary.

We might need to pull in https://github.com/mitchellh/go-homedir as a workaround.

Per @jingweno's comment, I've verified that the 2.2.1 binary works for me. brew ships 2.2.2. Workaround is to simply download and use the 2.2.1 Mac binary.

This could be a problem with the cross compile script or a miss in Go's cross compile capability. The 2.2.1 builds were compiled natively on different OSes.

This is probably the same issue as #781. We will import go-homedir to solve this, but I'm wondering whether there will be other cgo incompatibilities in other code once execution is allowed to proceed past this point.


HLS Progress Bar / Status

Checklist

[ X] I'm reporting a feature request
[ X] I've verified that I'm running youtube-dl version 2020.03.24
[X ] I've searched the bugtracker for similar feature requests including closed ones

Description
Youtube-DL does not give a progress bar for HLS. This I assume is because HLS is a streaming format that doesn't say how big the file will be / how many segments are left.
It would be nice to have some indicator of how far along in the stream it is. For this I had two ideas.

State how long the video stream currently is. Example Output: [Streaming]  Position 15:30 at  00:04/s
Use a user provided flag to estimate the length. Example Output: [download]  10.5% of an estimated 873.88MiB at  2.44MiB/s estimated ETA 05:20

I don't know if with the encoder have access to how long the current file is so don't know if option 1 is viable. For option 2 would assume since HLS gives quality / bitrate information could calculate an estimated total size and then just measure the segments size as they go by to determine percent.
End Goal for me personally is that I use Youtube-DL to download many HLS files using a script and it can take quite a while for some videos to finish. I was currently debating about parsing the output and looking at the ts segment number (not sure if that is part of standard or just been lucky that it seems to be an incrementing number) and guessing how many there are. Other option I was looking at was throwing the output into standard out and writing it to disk myself and attempt option 2.

It does provide for native HLS.

For anyone who comes across this my actual issue was the way I was printing the output was changing the order so \r was not working as intended (was getting overwritten by the ffmpeg output). So now catching the \r correctly everything works as intdended.


Adding fix for pinot schema deserialization

The field delimiter was removed from pinot schema and is causing our schema loading to fail. Pinot schema is using codehaus and has support for ignoring unknown

LGTM.

LGTM.

In my next PR I will add support for loading Schema using String or InputStream in Schema class and avoid the problem caused by different librarys.