Only repaint relevant connections when dragging dialogue states

At the moment we repaint everything, which is asking for lag for larger dialogues.

@SteveBarnett Ready for review.

:+1: when Travis is happy.
Silky smooth draggings. :)


Include childCount or hasChildren in api response for nicer tree browsing

Would it be possible to this response decorated with either a childCount (best option) or hasChildren:
http://api.col.plus/dataset/1133/taxon/.LGn_/children?limit=100&offset=0
This is in order to know whether a node is a leaf without having to fetch children.
{

        "id":"Pso-1191717",

        "childCount": 0,  <-----

         "datasetKey":1133,

         "verbatimKey":28111962,

         "name":{
            "id":"Pso-1191717"
         },

      }

Sure this can be done. Counts might need to be preprocessed, but that can be done.
When discussing the need for a tree manipulation API I just wonder if it makes sense to have a minimal tree API that specializes on the tree navigation and leaves out most of the other Taxon information?
Basically some flat object like this:
{
  "id": ...,
  "parentId": ...,
  "name": ...,
  "authorship": ...,
  "rank": ...,
  "status": ...,
  "childCount": ...
}

Currently I am just doing a tree browser within a specific dataset.
But for the main Col tree we need the ColSources, est species count etc.

So a new tree endpoint with minimal object properties like given above sounds good?

added to Taxon API and also created new slim tree endpoint:
# root nodes
dataset/{dkey}/tree

# node and its parents
dataset/{dkey}/tree/{id}

# all children
dataset/{dkey}/tree/{id}/children


Log axis is not scaling on small number

Lightweight Charts Version: Latest
Steps/code to reproduce:
Use log axis in small number, About 0 - 0.0003
Actual behavior:
https://user-images.githubusercontent.com/9281080/137660059-4b51dd66-b564-4668-9555-7e8c02810fc8.mov
Expected behavior:
Highchart can scale on very small number like the video
Screenshots:

Log chart on lightweight-charts vs highchart
CodeSandbox/JSFiddle/etc link:

Probably the issue with this constants, but needs to investigate.

const enum Constants {
	LogicalOffset = 10,
	CoordOffset = 0.0000001,
}

This is the result after I changed the Constants, which is work for me and does not affect other charts whose price is various.
@timocov is it worse to create MR which this config?


After 0.29.1, I can't start HASS: ImportError: cannot import name 'Specifier'

Home Assistant release (hass --version):
0.29.1
Python release (python3 --version):
3.4.2
Description of problem:
HASS won't start at all.
Traceback (if applicable):
  File "/usr/local/bin/hass", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/__main__.py", line 330, in main
    exit_code = setup_and_run_hass(config_dir, args)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/__main__.py", line 219, in setup_and_run_hass
    from homeassistant import bootstrap
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/bootstrap.py", line 21, in <module>
    import homeassistant.util.package as pkg_util
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/util/package.py", line 11, in <module>
    import pkg_resources
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 75, in <module>
    __import__('pkg_resources.extern.packaging.markers')
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/_vendor/packaging/markers.py", line 16, in <module>
    from .specifiers import Specifier, InvalidSpecifier
ImportError: cannot import name 'Specifier'

Additional info:
I didn't change anything. I only updated to 0.29.1

Ok, I fixed it by running:
sudo pip3 install homeassistant --force-reinstall -I


Bug report: teams command "Error: No team found with Group Id"

When running the 'teams team list' command get an error
On my production tenancy, when I try to get a list of all my teams, I get an error instead, result, is I do not see any teams at all.  Works on another tenancy I use for development
Steps to reproduce

login to the tenancy using Office365 CLI
run o365 teams team list

Expected result
When I run on my development tenancy, I see a nice list of teams
id                                    displayName                                 isArchived  description

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx  Team A                                  false       Team Alpha
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxy  B team                                 false       Fred's team
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxz  test staff team                   false       testing teams
Actual result
Error: No team found with Group Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx. (No teams returned at all)
Environment
MacOS Mojave 10.14.6
Office365 CLI 2.8.0
Node 9.0.0
Homebrew 2.2.7
npm 5.5.1
Other observations
If I run using verbose and debug, I do get vast amounts of data on teams returned, however I an=m reactant to share as there may be sensitive data in the report.  It is as if, there is an exception in the code, that despite some success, there is an error meaning the "baby is thrown out with the bathwater"

Thank you for reporting this @tristian2 👍🏻
We apologise for the trouble and will take a look into this for ASAP.
To help try and narrow the root cause down

Do you get the same error when using the --joined switch?
What happens if you pass the group id that is returned in the error into the aad o365group get command?

For example, o365group get --id 1caf7dcd-7e83-4c3a-94f7-932a1299c844

@tristian2 is this still an issue for you?

Closing due to lack of response


When I tried to execute a simple Python code on a local standalone server, the code never succeeds forever.

Description

When I tried to execute a simple Python code, "from IPython.display import display" on the xeus kernel, the code never succeeds forever.

Reproduce

I installed JupyterLite locally by https://jupyterlite.readthedocs.io/en/latest/quickstart/standalone.html.
I tried a hosting on the localhost URL with 8000 port by the command, "jupyter lite serve".
When I tried to execute a simple Python code, "from IPython.display import display" on the xeus kernel, the code never succeeds forever.

Expected behavior

The simple code should be succeeded.
Context

JupyterLite version: 0.1.0
Operating System and version: mac 10.15.7
Browser and version: chrome 113.0.5672.126

Browser Output

Thanks for reporting, which xeus-python version are you using?

0.8.0

Please use 0.8.1, it came with a bug fix that should probably be related to your issue.


Comments about the Specification

@justindossey asked me to take a look at this, and here are a few comments.  Most are minor and geared towards cleaning and clearing up the language.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L24
when encoded -> after encoding
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L32
The term block(s) is not defined.  Maybe use object or some other term. It isn't until the examples or line 78, that it's clear that a block is a key/value object or something similar.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L32
and
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L95
cryptographic signature is a SHA256 digest in hexadecimal form -> cryptographic signature is in hexadecimal form
You sign a hash to generate a signature, but the signature itself is not a hash.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L36
Not sure why percent encoding is called out here.  Maybe clarify that the URI is encoded per the standard using percent encoding: format are Percent Encoded per the standard.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L89
if the colon is significant (cdc:1a9), then it should be better defined.  If it isn't, then it should be clear that the value be treated as a full index, and not a two part index.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L113
This should likely be more formally specified, such as:
To get the resulting string below 255 encoded bytes, the last Unicode code point is removed until the resulting encoding is less than or equal to 255 bytes.
This made me realize that it's likely that it should be specified that all Unicode strings are NFC normalized.  For more information: https://www.unicode.org/faq/normalization.html
This will help ensure consistent encoding, and also consistent hashing as well.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L127
This likely needs to be clarified that all Unicode characters need to be upper cased per the rules defined by Unicode, e.g. á is converted to Á.
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L165
Feels odd to not use JSON arrays, but then define the URI encoding version this way.  Because otherwise the JSON parser will have to duplicate this code from the URI parser, where it could just avoid it by using JSON arrays.  That would be:
[ [ 1, "PFIZER", "13a056" ], [ 2, "PFIZER", "29a063" ] ]

and per the next line (167), this is structured, so things like the producer and lot number need to have additional restrictions on them so that the above is handled properly, that is that both producer and lot number do not have space like characters (In unicode there are a LOT of space like characters that could be handled differently in this case).
https://github.com/Path-Check/paper-cred/blame/main/SPECIFICATION.md#L188
What about one dose vaccines, i.e. J&J's upcoming vaccine?  the (of two) part seems problematic.  Maybe a better choice would be:
0: no vaccination
1: partial/incomplete vaccination status
2: completed vaccination regiment

Made some edits to address your comments here: https://github.com/Path-Check/paper-cred/blob/issue/1/SPECIFICATION.md
We'd been discussing deserializing the DOSEINFO structure already. I was resistant to doing so due to data size considerations, but when enough people tell me "stop doing that" I listen :)


[RNG] Add rocRAND backend

Description
This PR adds support for the rocRAND backend via hipSYCL. This PR is independent of #144 and can be merged independently.
Note: Unless #149 is resolved in order to test this PR with hipSYCL the half_patch.txt needs to be applied that switches to the cl::sycl:: namespace.
Note 2: Due to a bug in rocRAND in order to pass all the tests, one needs to manually apply https://github.com/ROCmSoftwarePlatform/rocRAND/pull/239 to the rocRAND develop and compile rocRAND manually. Otherwise the skip_ahead tests will fail.
Checklist
All Submissions

[x] Do all unit tests pass locally? Attach a log.
[x] Have you formatted the code using clang-format?

rng-hipsycl-curand-test.txt
rng-dpcpp-cpu-curand-test.txt
rng-hipsycl-rocrand-test.txt

Thanks, for the comments @aelizaro I hope I have addressed everything, as expected the tests are still passing:
rng-hipsycl-rcorand-test2.txt
rng-hipsycl-curand-test2.txt
rng-dpcpp-curand-test2.txt

@sbalint98 I think README needs to be updated for this PR as well.
@aelizaro Could you please test the PR locally on the future CI machine?

@mmeterel, I have tested PR locally, everything is ok (I have only added sycl::half w/a which is part of https://github.com/oneapi-src/oneMKL/pull/144 )
RocRAND_test.txt

@mmeterel We are unsure how to proceed regarding the copyright. we have based the rocRAND backend on the existing cuRAND backend, which has this license. As such, it is a derived work. The license of the cuRAND backend explicitly states that the copyright notice must not be removed. I guess nobody here is a lawyer, but we wonder if Intel legal team has experience with how to handle such issues?
Overall, I think that contributing to oneMKL might be easier in that regard if there were a common license and/or contributor CLA.

@mmeterel We are unsure how to proceed regarding the copyright. we have based the rocRAND backend on the existing cuRAND backend, which has this license. As such, it is a derived work. The license of the cuRAND backend explicitly states that the copyright notice must not be removed. I guess nobody here is a lawyer, but we wonder if Intel legal team has experience with how to handle such issues?
Overall, I think that contributing to oneMKL might be easier in that regard if there were a common license and/or contributor CLA.

@TejaX-Alaghari This project is licensed und the Apache License Version 2.0. Any contribution of code into this project must be compatible with and able to be redistributed under that license. We will need to have to have a review of the license/copyright that you are submitted to verify this before we can merge it in.

@cdgarland Thanks. To clarify, we are not adding any new license - the license in question is the one of the cuRAND backend, which we have based our changes on and which already exists in oneMKL.

@cdgarland Thanks. To clarify, we are not adding any new license - the license in question is the one of the cuRAND backend, which we have based our changes on and which already exists in oneMKL.

@illuhad Sorry for the delay. After some internal review, we would recommend the following copyright for the files that had LBNL copyright originally. Please let us know if you have any concerns.
/*******************************************************************************

Copyright (C) 2022 Heidelberg University, Engineering Mathematics and Computing Lab (EMCL)
and Computing Centre (URZ)
cuRAND back-end Copyright (c) 2021, The Regents of the University of
California, through Lawrence Berkeley National Laboratory (subject to receipt
of any required approvals from the U.S. Dept. of Energy). All rights
reserved.

.......Rest of the existing copyright

@sbalint98
I added more comments regarding copyright notices. There are also other small update requests. Could you please help with them?

@mmeterel Sorry for the long silence I am working on it, the rocRAND backend works fine, but I will have to make a few changes on the CPU and CUDA ones.


[ALLUXIO-2312]Improve logging in LeaderSelectorClient

https://alluxio.atlassian.net/browse/ALLUXIO-2312
Make the logging style consistent by changing all the log statements to start with a capital letter.

Can one of the admins verify this patch?

ok to test

Jenkins, add to whitelist

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11745/
Test PASSed.

LGTM, thank you for contributing to Alluxio!


Add an Overview chapter under Docs

I think we need something like an Overview chapter under Docs  were documentation can go that refers not to a single component but addresses the OXRS eco system.
Here is an example that could reside here showing the SW layer structure.

This is done under Libraries :   https://oxrs.io/docs/libraries/
#34


激活函数 switch RiLU

请问MindSpore 是否已经实现了 RiLU 已经switch激活函数

Currently, this activation function is not available in the list on the official website. Therefore, this function is not supported.


Updating DocumentReferences using XDS-on-FHIR

Section Number Identify the most specific section number the issue occurs (e.g. 4.1.2)
3:<IP_ADDRESS>
Issue Describe your issue. Don't write a book, but do include enough to indicate what you see as a problem.
Imagine that both the Document Recipient and the Document Responder support the option "XDS on FHIR".  A client (Document Source/Document Consumer) retrieves metadata of a document using ITI-67, and then wants to modify it using ITI-65 UpdateDocumentRefs.  The Document Recipient will have to convert this request into an ITI-57 one.  In the ITI-57 request, the attributes logicalID, repositoryUniqueID, version, and documentAvailability are required.  The problem is that these XDS attributes are not mapped to any elements of the MHD ComprehensiveDocumentReference — therefore, the client could neither obtain them in the ITI-67 response nor provide them in the ITI-65 request.
Proposed Change Propose a resolution to your issue (e.g., suggested new wording or description of a way to address the issue). The committee might simply accept your suggested text. Even if they don't, it gives a good sense of what you are looking for. Leaving this blank means you can't imagine how to resolve the issue, which makes it easier for the committee to admit they can't imagine how to resolve it either and leave it unresolved.
In #234, a corresponding mapping is proposed.  The attribute logicalID is mapped to a slice of DocumentReference.identifier, all other mentioned XDS attributes — to extensions.
Priority:

High: Important issue where there is major issue to be resolved. Requires discussion and debate.
Medium: Significant issue or clarification. Requires discussion, but should not lead to long debate.
Low: Typo or other minor classification that an editor can manage. Requires no group discussion.

Medium

This is not a practical use-case. Where as the application given is able to use Metadata Update, which uses eb-Registry technology; but is not able to use the XDS transactions to retrieve the data. I am not convinced that this is a useful reason to make MHD more difficult to use. This use-case is satisfied with XDS and MU.

The application (Document Source/Consumer) can only FHIR and uses ITI-67/ITI-65.
The server (Document Recipient/Responder) is an MHD adapter to an XDS backend.

MHD provides for no way to update an entry. MHD is only a search/retrieve API. So there is no applicability.

With IHE Document Sharing, starting with XDS, documents are updated by replacing them with a newer entry that replaces the old. At that time to delete a document is to replace with an empty document, so that the history is preserved. This is supported by MHD.

Preserved history is something else. I dont see that directly related to being more specific on the protocol parts of deleting documents.
Follow up question: What would it mean to replace an empty document?

'cause if their were clear semantics on Delete that case wouldnt be a thing.


Compulsory restarting the app if I want to load all referenced libraries completely after creating a new file.

Issue Type: Bug
In while creating a new file, then all referenced libraries will be not loaded completely, so I must be compulsory restarting the app.
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:39:09.335Z)
OS version: Darwin x64 17.4.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz (8 x 2300)

Load (avg)
2, 2, 2

Memory (System)
16.00GB (7.25GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron /Users/kandy/Projects/TheEngineer/Source -r -g /Users/kandy/Projects/TheEngineer/Source/Assets/Scripts/Blocks/BlockBehaviour/Entities/EntityAnd.cs:1

Screen Reader
no

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

unity-tools
Tob
0.1.9

unity-debug
Uni
1.3.0

vscode-togglecodelens
cml
1.0.3

code-runner
for
0.9.2

MagicPython
mag
1.0.12

csharp
ms-
1.14.0

mono-debug
ms-
0.15.8

vs-keybindings
ms-
0.2.0

python
tht
0.2.3

Reproduces only with extensions

What language are you using? You probably need to file this against the language extension.

I use vscode with Unity.
When any c# files added into, VScode can't detect the involved libraries immediately. I must compulsory restarting, then it worked normally.
Therefore, I need a confirmation where did this issue come from?
Thanks.

Can you please report the issue against the C# extension here: https://github.com/OmniSharp/omnisharp-vscode They own the C# support.
Thanks.


Add gRPC port for jaeger-query into its service resource

Signed-off-by: Ruben Vargas<EMAIL_ADDRESS>
Which problem is this PR solving?

Fixes #1520

Short description of the changes

Added GRPC port to query service

We need a example how to use this, because jaeger query dont have grpc port enabled by default


fix(slate) Remove now unnecessary peer dependencies on slate

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>Changes

Remove unused peer dependencies on slate in the markdown-slate transform

Coverage remained the same at 88.676% when pulling af6b1e12c6dfe671cd7d2559fefb3e086a5e6da9 on jeromesimeon:js-fix-peer-slate-dep into 915be7530519737a240f27397a34b87b9a0ecd3b on accordproject:master.


How to reuse functions in effects ?

Description
Example Code:
export default {
    namespace: 'users',

    state: {

    },

    effects: {
        *searchA({ payload }, { call, put, select }) {
            const token = yield(state => state.api.token);
            const response = yield call(search, token, { payload });

            yield put({
                type: 'saveTypeAUsers',
                users: response.users
            });
        },

        *searchB({ payload }, { call, put, select }) {
            const token = yield(state => state.api.token);
            const response = yield call(search, token, { payload });

            yield put({
                type: 'saveTypeBUsers',
                users: response.users
            });
        },

        *searchC({ payload }, { call, put, select }) {
            const token = yield(state => state.api.token);
            const response = yield call(search, token, { payload });

            yield put({
                type: 'saveTypeCUsers',
                users: response.users
            });
        },
    },

    reducers: {

        saveTypeAUsers(state, { users } ) {
            // ...
        },

        saveTypeBUsers(state, { users } ) {
            // ...
        },

        saveTypeCUsers(state, { users } ) {
            // ...
        },

    },
};

How to wrapper the code in a single generator function?
const token = yield(state => state.api.token);
const response = yield call(search, token, { payload });

Thank you !

Your example code is based on dva, and it seems that there's big difference between dva and redux-saga about accessing effect creators. I am not very familiar with dva, maybe you should open an issue in dva repo.

Your example code is based on dva, and it seems that there's big difference between dva and redux-saga about accessing effect creators. I am not very familiar with dva, maybe you should open an issue in dva repo.

OK, Thank You

@anxiaoyi did you find the solution?
Trying to solve the same problem. =)


Fix documentation of 'disallowPaddingNewLinesInObjects' to reflect the currently implemented behaviour.

Presumably fixes #1487

+1 for the clarification. The cases you provide make this rule seem wrong, but padding is usually on the ends.

Thanks for contributing @angelsanz


Fix LaunchAgent macOS autostart

This is just #841 but for v2, since I noticed the last v1 -> v2 merge mentioned it might be the last time we run that sort of merge.
Fixes #1115

Thank you. Could you also add a changefile similar to https://github.com/tauri-apps/plugins-workspace/blob/v2/.changes/fix-shutdown-timing.md please?

Thank you. Could you also add a changefile similar to https://github.com/tauri-apps/plugins-workspace/blob/v2/.changes/fix-shutdown-timing.md please?

Added, please take a look! :)


Connect decorator should pass props into select function

Connector component shouldn't pass props because user have direct access to props:
// The smart component may observe stores using `<Connector />`,
// and bind actions to the dispatcher with `bindActions`.

import React from 'react';
import { Connector, bindActions } from 'redux';
import Counter from '../components/Counter';
import * as CounterActions from '../actions/CounterActions';

// You can optionally specify `select` for finer-grained subscriptions
// and retrieval. Only when the return value is shallowly different,
// will the child component be updated.
function select(state, props) {
  return { counter: state.counter };
}

export default class CounterApp {
  render() {
    return (
      <Connector select={state => select(state, this.props)}>
        {({ counter, dispatcher }) =>
          /* Yes this is child as a function. */
          <Counter counter={counter}
                   {...bindActions(CounterActions, dispatcher)} />
        }
      </Connector>
    );
  }
}

This sounds right!

Done

Thank you!


Convos does not respond to CTCP commands

Convos client does not respond to any CTCP commands. I am using Mojo::IRC 0.13 and Convos 0.8602. Here's the output from my tests (imatesting is using Convos):

>imatesting< CTCP VERSION
>damaya< CTCP VERSION
* Received a CTCP VERSION from damaya
-damaya- VERSION xchat 2.8.8 Linux 3.17.2-1-ARCH [x86_64/1.20GHz/SMP]
>damaya< CTCP TIME
* Received a CTCP TIME from damaya
-damaya- TIME Fri Dec 12 23:14:27
>damaya< CTCP PING
* Received a CTCP PING from damaya
* Ping reply from damaya: ? second(s)
>imatesting< CTCP TIME
>imatesting< CTCP PING

I think this is fixed in https://github.com/jhthorsen/mojo-irc/pull/18. Please let me know if I'm wrong.


Edit documeantion to be more clear for data packages that have multiple datasets

When multiple tables are added, make it very clear that there should be one metadata file per table (attribute tab and code definitions tab) and one table for project level (all other tabs)
It may be good to revisit the metadata_template zip folder and revise to have dataset_metadata.xlsx and project_metadata.xlsx
Review how to documentation and templates and make any additional edits if needed.

[ ] PR #127

Liz updated


It is incorrect of using pose_landmark_full.tflite inference

ubuntu20，mediapipe=0.10.11
task：pose landmark detection
problem：The inference results of tflite and Python APIs are inconsistent
expected：The inference results of tflite and Python APIs should be consistent
import cv2
import mediapipe as mp
import tensorflow as tf
import numpy as np

mp_pose = mp.solutions.pose

interpreter = tf.lite.Interpreter("pose_landmark_full.tflite")
interpreter.allocate_tensors()

img = cv2.imread('img.jpg')
rgb_img = cv2.resize(img, (256, 256))
rgb_img = cv2.cvtColor(rgb_img, cv2.COLOR_BGR2RGB)
height, width = img.shape[:2]

input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()
print('input_details: ', input_details)
print('output_details: ', output_details)

rgb_img = np.expand_dims(rgb_img, 0)
input = (rgb_img / 255).astype(np.float32)

interpreter.set_tensor(input_details[0]['index'], input)
interpreter.invoke()
output = interpreter.get_tensor(output_details[0]['index'])
output = np.reshape(output, (1, 1, 39, 5))

kp = list()
for i in output[0][0]:
    kp.append(i.tolist())

for i in kp:
    x, y = int(i[0] / 256 * width), int(i[1] / 256 * height)
    cv2.circle(img, (x, y), 0, (255, 255, 255), 10)

kp = np.array(kp)
for _c in mp_pose.POSE_CONNECTIONS:
    x1, y1, x2, y2 = int(kp[_c[0], 0] / 256 * width), int(kp[_c[0], 1] / 256 * height), int(kp[_c[1], 0] / 256 * width), int(kp[_c[1], 1] / 256 * height)
    cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 3)

cv2.namedWindow("MediaPipe Pose", 0)
cv2.resizeWindow('MediaPipe Pose', 1200, 600)
cv2.imshow('MediaPipe Pose', img)
cv2.waitKey(0)

image：

my result：

python api：

Hi @zhenhao-huang,
Currently, you are using the legacy pose solution, it has been upgraded and is now part of the Pose Landmarker Task API, offering enhanced capabilities. Please upgrade to the new API. Find documentation here and a Python implementation guide here.
For Legacy Solutions, the libraries, documentation, and source code will remain available on GitHub and through services like Maven and NPM. However, support for upgraded solutions has been discontinued. Refer to our documentation for more information. If you face issues with the new Pose Landmarker Task API implementation, report them here for assistance.
Thank you!!

The tflite model is come from the lastest python api. I can't only use the tflite model reproducing result of python api.

Hi @zhenhao-huang,
We currently do not have a tflite model available for the upgraded Pose Landmarker. However, we offer multiple Task APIs for the Pose Landmarker, which you can access at the following link: Pose Landmarker Task APIs.
you are utilizing the legacy Pose solution, which is no longer supported. Therefore, we will not be able to provide further assistance for it. Instead, we recommend transitioning to our new Pose Landmarker Task API as previously suggested. If you encounter any challenges during this transition, please report them to us, and we will gladly assist you.
Thank you!!

Yeah,i use link task file.The tflite model come from by unzipping pose_landmarker_full.task.

Hi @zhenhao-huang,
This will be one of our feature in near the future. At present, Currently, we strongly advise against unzipping the task file and using the tflite model directly. This approach has not undergone testing and may lead to inaccurate inferences as it lacks the capability to handle various scenarios. Instead, we recommend utilizing the new Pose Landmarker Task API, for which a code example is provided below.
import mediapipe as mp

BaseOptions = mp.tasks.BaseOptions
PoseLandmarker = mp.tasks.vision.PoseLandmarker
PoseLandmarkerOptions = mp.tasks.vision.PoseLandmarkerOptions
VisionRunningMode = mp.tasks.vision.RunningMode

options = PoseLandmarkerOptions(
    base_options=BaseOptions(model_asset_path=model_path),
    running_mode=VisionRunningMode.IMAGE)

with PoseLandmarker.create_from_options(options) as landmarker:

The same example is also available in our documentation here.
Thank you!!

Is the task api available from C++? The documentation seems to imply that it is not, however if the task api is not available to C++ and the models are no longer being supported does that mean that C++ support is being removed?

Hello, have you solved this problem? Can you successfully convert the model and deploy it while ensuring accuracy

C++ API is unfriendly and deployment is hard.The results of the new Python API on video are not as good as the old API, it is shake.


[butcher&fishing station] ArgumentOutOfRangeException Parameter name: index

Unknown, just an error.
`ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.ThrowHelper.ThrowArgumentOutOfRangeException () (at <695d1cc93cca45069c528c15c9fdd749>:0)
RanchStation+Instance.ValidateTargetRanchables () (at <1726ad14e928409087f7fe566b21e0ff>:0)
(wrapper dynamic-method) RanchStation+Instance.RanchStation+Instance.FindRanchable_Patch0(RanchStation/Instance,object)
RanchStation+<>c.b__5_1 (RanchStation+Instance smi, System.Single dt) (at <1726ad14e928409087f7fe566b21e0ff>:0)
BucketUpdater1[DataType].Update (DataType data, System.Single dt) (at <fa50cdddb14a483d94f547557a674a42>:0) UpdateBucketWithUpdater1[DataType].Update (System.Single dt) (at :0)
StateMachineUpdater+BucketGroup.AdvanceOneSubTick (System.Single dt) (at :0)
StateMachineUpdater.AdvanceOneSimSubTick () (at :0)
Game.SimEveryTick (System.Single dt) (at <1726ad14e928409087f7fe566b21e0ff>:0)
(wrapper dynamic-method) Game.Game.Update_Patch2(Game)
Build: U44-537329-V`

This is the issue of the base game, not my mod.
https://forums.kleientertainment.com/klei-bug-tracker/oni/validatetargetranchables-argumentoutofrangeexception-index-r38019/
https://forums.kleientertainment.com/klei-bug-tracker/oni/crash-to-desktop-in-new-test-build-r37961/

A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.


#213 set maximum build count to display in the archives section

Merge checklist

[ ] TravisCI tests passed
[ ] Documentation

Codecov Report

Merging #214 (d505356) into master (0c7f0c0) will decrease coverage by 0.381%.
The diff coverage is 0.000%.

@@              Coverage Diff              @@
##            master      #214       +/-   ##
=============================================
- Coverage   26.976%   26.595%   -0.382%
=============================================
  Files            6         6
  Lines          645       658       +13
=============================================
+ Hits           174       175        +1
- Misses         471       483       +12

note: will fix the issues mentioned in linter

note: will add unit test for this module


Use Presto NodeManager to obtain list of workers

Using NodeManager directly removes the need for
each Presto worker to talk directly to coordinator
via REST API (e.g when coordinator is secured)
Additionally, this change fixes bug when node list
on worker stops being updated after 300 seconds
once node determines it's a worker node.

applied comments @stagraqubole

tests passed locally

Merged, thanks.


translation in french

Translate the french language will be great, as it is used by many devs

Hey @judicaelandria, a gift for you #37

nice, great work


Extra shift in fixnum-shift-fast codegen

IN: scratchpad : wut ( x -- y ) -2 fixnum-shift-fast ;
IN: scratchpad \ wut disassemble
0000000115122110: 498b06        mov rax, [r14]
0000000115122113: 48c1f806      sar rax, 0x6
0000000115122117: 48c1e004      shl rax, 0x4
000000011512211b: 498906        mov [r14], rax
000000011512211e: 8905dc0e1bff  mov [rip-0xe4f124], eax
0000000115122124: c3            ret

Looks like it shifts from tagged-rep to int-rep then converts back to tagged-rep. How hard would it be to get it to combine the operations?

 Nevermind.


Why are links filtered out?

Why are links filtered out when chatting with slack?
eg. http://www.example.com/|example.com according to the Slack Messaging API should output a friendly link. However these links are specifically filtered out as per:
https://github.com/kenjij/lita-slack/blob/v1.6.0/lib/lita/adapters/slack/message_handler.rb#L55
https://github.com/kenjij/lita-slack/blob/v1.6.0/spec/lita/adapters/slack/message_handler_spec.rb#L344

This is done to make sure that Lita receives exactly what the user typed and not how the message was formatted for display in the web client by Slack. Many chat-service-agnostic Lita handlers expect input that is impossible to provide if the robot only sees the formatted text. For example, lita-dig is triggered with "Lita: dig example.com." Slack will replace "example.com" with its own formatted version, which will result in the handler's route not matching.

Ahh... this makes more sense. I was under the assumption that code was for outbound and not inbound messages. Right now outbound requests do not seem to be honouring the Slack Messaging API.
Is this:
a) possible as the codebase stands
b) possible given some dev work
c) impossible until Slack updates something
Thanks,
Adam

lita-slack doesn't alter the text that the handler developer specifies in any way because that would cause problems with chat-service-agnostic handlers. If you're developing your own handler and want to do formatting specific to Slack, a good way is to use Lita's templates feature.

I'll look into this. Thanks!

Tried with templates, didn't work :cry:

Will need more information than "didn't work" to help further. :P

haha, true.  So... I played with the Slack RTM API and it looks like there isn't any way of doing advanced formatting with it.  I tried a few different escaping mechanisms and wasn't able to get it working. Their API documentation states that "The RTM API only supports posting simple messages formatted using our default message formatting mode."
Other frameworks seem to get around it by using the Slack Web API instead of the RTM API when doing rich formatting. One of my colleagues pointed out that they've seen it working when using attachments.
So I suppose the short answer (as far as I know it) is that lita-slack doesn't support this because slack doesn't support it, however you can work around it by submitting all of these as attachments instead of regular messages.
If I've missed something and you have it working let me know and I'll provide more detail with regard to the tests I ran =)
Thanks!


Support for XML stream parsing

Looks like current api does not support to load XML stream into data frame.
load method only allows String argument (filename path). Is there api which takes input xml stream ?
DataFrame rootDF = sqlContext.read().format("com.databricks.spark.xml")
.option("rowTag", "Search_Results")
.load(getClass().getResource("/xml/*****_20181114.csv.out").getPath());

You can load data on the driver however you want. You can parallelize that XML data across the cluster. You can then apply this library. None of Spark would operate directly on resources on the driver classpath, and this is no exception, but it is easy to write.


Updating column data type does not allow custom data types with SQL expression

This is a small issue with the ts typings.
The following works:
sql`create domain email as citext`.execute(db);

db.schema
    .createTable("email")
    .addColumn("email", sql`email`, (col) => col.primaryKey())
    .execute();

But the following is not allowed:
sql`create domain email as citext`.execute(db);

db.schema
    .alterTable("email")
    .alterColumn("email", (col) => col.setDataType(sql`email`))
    .execute();

The second argument of addColumn is a DataTypeExpression which is ColumnDataType | Expression<any>, while the argument for setDataType is just ColumnDataType

Did this make it into a release as this doesn't seem to be working for me. I'm still getting a typescript error on the argument I'm passing to alterColumn.
export const ModerationReasons = [
    'SPAM',
    'INACTIVE',
    'CUSTOM'
] as const;
export const up = async (db: Kysely<unknown>) => {
    // Moderation
    await db.schema
        .alterTable('moderation')
        .alterColumn('reason', col => col.setDataType(sql`enum(${sql.join(Object.values(ModerationReasons).map(arg => sql.lit(arg)))})`))
        .execute();
};

This works but the above doesn't.
export const up = async (db: Kysely<unknown>) => {
    // Moderation
    await db.schema
        .createTable('moderation')
        .ifNotExists()
        .addColumn('id', 'varchar(36)', (col) => col.defaultTo(sql`(uuid())`).primaryKey().notNull())
        .addColumn('reason', sql`enum(${sql.join(Object.values(ModerationReasons).map(arg => sql.lit(arg)))})`, col => col.notNull())
        .execute();
};

@hannesj @ImLunaHey this has been released.


Implementation status for Optional Tags

I'd like to be able to lookup which browsers have fully implemented html optional tags.
I think omitting the closing li, p, dd and dt are of particular interest.

An li element's end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element.

Meh, all browsers support this, because lots of things would break if they would not.

all browsers support this

Probably this, but having at least a search result on caniuse saying as much would be a fast and convenient way to reassure yourself :)
Haven't found it easily on MDN.

I think optional tags are the result of the way browsers handled malformed HTML in the past, so in order to consistently render older pages they just specified the behavior. From what I've seen most developers prefer consistent use of opening and closing tags over omitting closing tags just because they can.
Anyway, yes, may add search result for this at some point as it's not obvious that browsers support this out of the box.


Cannot name module 'name' when using type safe project accessors

Expected Behavior
When naming a Gradle module name and you have type safe project accessors enabled, then it's expected that you are able to compile the project.
Current Behavior
Compilation of the type safe accessors fails:
org.gradle.api.internal.catalog.GeneratedClassCompilationException: Unable to compile generated sources:
  - File ParentProjectDependency.java, line: 63, getName() in org.gradle.accessors.dm.ParentProjectDependency cannot implement getName() in org.gradle.api.artifacts.Dependency
      return type org.gradle.accessors.dm.Parent_NameProjectDependency is not compatible with java.lang.String

Context (optional)
I'm totally fine if the project isn't exposed as name since it would clash with Dependency.getName, but compilation should not fail.
Steps to Reproduce
Create a project with the following structure:
root/
  build.gradle.kts
  settings.gradle.kts
  parent/
    build.gradle.kts
    name/
      build.gradle.kts

The settings file should look like this:
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
include(":parent")
include(":parent:name")

Then just run ./gradlew
Gradle version
8.0.2
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for providing a valid reproducer.
The issue is in the backlog of the relevant team but this area of Gradle is currently not a focus one so it might take a while before a fix is made.

Note that type safe project accessors are still an incubating feature for this and other reasons.

What if my name and parent name is same ?
example:
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")

rootProject.name = todolist
include(":todolist")
include(":todolist:todolist")


require saslprep only if it is needed

Requiring saslprep adds 1s to start an application using MongoDB.
It is especially painful in tests, as certain frameworks spins out
multiple processes (ava, tap). This PR delays the load of saslprep until the last possible minute.
Before:

After:

(Taken with node-clinic)

See https://github.com/reklatsmasters/saslprep/issues/3.

@mcollina We have to weigh the trade-offs of deferring the load of saslprep here. In your change, you would add nearly a second to the first authentication request to use saslprep. I've created https://jira.mongodb.org/browse/NODE-1663 to discuss this issue further.


Retrieve object metadata on GCS

Hello guys,
I'm using the "S3 compatibility mode" with a GCS bucket.
Objects are listed but without their Content-Type & custom metadata key-value pairs.
Is the golang Minio client able to retrieve this metadata please?
Thanks for your help

GCP doesn't provide this information we only provide what we can see as per the S3 spec.

Thanks for the fast answer! it wasn't in the docs so at least we have a record here for other people!


Fix a typo: langauge -> language

@felixonmars You'll need to accept the CLA. Thanks for the PR!

Accepted :)

Thanks!


Slow performance for Update/Delete of documents

Per this thread on the groups:
https://groups.google.com/forum/#!topic/mobile-couchbase/vbLS2Rgatn0
I'm experiencing slow update and delete speeds at around 1/4 second per document with a database of 50K documents.  Inserts are very fast at around 1K/second.  This has been tested with Samsung Galaxy Tab 4 and Samsung Galaxy S5 with the same results.  This was tested against CB Lite 1.0.2 and 1.0.3.  The following code can replicate the issue:
            try {
            Manager manager = new Manager( new AndroidContext(app), Manager.DEFAULT_OPTIONS);
            Database database = manager.getDatabase( "bigtest7" );

            //create 50k documents
            {
                long startTime = System.currentTimeMillis();
                database.beginTransaction();
                for( int i=0; i<50000; i++ ) {
                    Document document = database.createDocument();
                    Map<String,Object> props = new HashMap<String,Object>();
                    for( int j=0; j<10; j++ ) {
                        props.put( "key" + j , "value" + j );
                    }
                    document.putProperties(props);
                }
                database.endTransaction(true);
                long endTime = System.currentTimeMillis();
                System.out.println("TIME: CREATE:" + ((endTime-startTime)/1000) );
            }

            //time it takes to delete 200 records
            {
                List<String> toDelete = new ArrayList<String>();
                Query query = database.createAllDocumentsQuery();
                query.setLimit(200);
                QueryEnumerator enum1 = query.run();
                while( enum1.hasNext() ) {
                    toDelete.add( enum1.next().getDocumentId() );
                }

                long deleteStart = System.currentTimeMillis();
                database.beginTransaction();
                for( String toDeleteId:toDelete ) {
                    database.getDocument(toDeleteId).delete();
                }
                database.endTransaction(true);
                long deleteEnd = System.currentTimeMillis();
                System.out.println("TIME: DELETE:" + ((deleteEnd-deleteStart)/1000) );
            }

        }
        catch( Exception e ) {
            e.printStackTrace();
        }

Closing as a duplicate of https://github.com/couchbase/couchbase-lite-java-core/issues/297


GDM fades to black when closing

Closing the window on Fedora 27 (Linux 4.15.6-300.fc27.x86_64) makes Gnome slowly fade to black, then lock the screen. Target device is a Nexus 6P on Android 7.1.2.
$ uname -sr
Linux 4.15.6-300.fc27.x86_64

$ scrcpy -v
scrcpy v1.0

dependencies:
 - SDL 2.0.7
 - libavcodec 57.89.100
 - libavformat 57.71.100
 - libavutil 55.58.100

This can be reproduced by running scrcpy and closing the window.

makes Gnome slowly fade to black, then lock the screen

Wow.
Does scrcpy print something in the console in that case?

Nothing out of the ordinary. This is my zsh output:
➜  ~ scrcpy
/usr/local/share/scrcpy/scrcpy-server....shed. 2.9 MB/s (19038 bytes in 0.006s)
INFO: Initial texture: 1440x2560
➜  ~

Also:
➜  ~ gdm --version
GDM <IP_ADDRESS>

@danpozmanter Could you try with current master, please? I just fixed a bug that might explain the issue: https://github.com/Genymobile/scrcpy/commit/1a0139321b86cb42df66b134868643a0b572cecc

@Irkam When scrcpy is running, could you post the result of the command:
ps xao pid,ppid,pgid,sid,comm | grep 'dm\|scrcpy'

@Irkam Could you test the current master, please?


Q: Kernels for Literate Programming in Python available in Atom?

Are there any kernels for Literate Programming in python available in Atom?
It appears that, as of this post's time, pweave (http://mpastell.com/pweave) is just a grammar/syntax coloring lib, and not the actual library that renders pmd file into rich-text-style report - i.e. rich format markdown file would produce, but with dynamic content (e.g. data-driven) and code sections shown/hidden as specified. R language has this through Sweave lib.
Pweave is supposed to work like Sweave, but it does not. Knowing this, some people may find current pweave pages (http://mpastell.com/pweave) highly misleading - which is unfortunate.
Thank you in advance for your input.
P.S. I do know about markdown and jupyter notebook - very nice, but not the same thing.

Thanks for reaching out!
The best places to ask questions like this are the Atom Slack and the official Atom message board - community members that might have specific experience with what you're trying to setup (I personally don't unfortunately) with Atom can chime in and best help.

Because we treat our issues list as the Atom team's backlog, we close issues that are questions since they don't represent a task needing to be completed. For most questions about Atom there are a lot of options, check out:

The Atom Flight Manual
The Atom FAQ on Discuss
Discuss, the official Atom and Electron message board
Join the Atom Slack team

On Discuss and in the Atom Slack team, there are a bunch of helpful community members that should be willing to point you in the right direction.

@rsese - thanks


Update ComfySpawner to v1.8.0.

Fixed for v0.217.29 patch.
Updated project references from unstripped_corlib to valheim_Data\Managed.

Abandoning to bump up version number to v1.9.0.


Is it possible to pass an image to the component as Base64?

We already store images that have been uploaded to our app in Base64 format and they are shown in a grid format with two buttons beneath each, one for delete and the other for edit.
We are using the Vue wrapper, as our project is developed using the Vue framework.
Clicking on Edit launches a modal that contains the Image Editor but the problem is we don't wish to load from a file or URL but from Base64.
Is there a way of doing this?
Thanks!

@nickeblewis
You can simply pass Base64 string to options.loadImage.path as URL.
Here is example code for TOAST UI Image Editor - Vue wrapper.
//...
import {ImageEditor} from '@toast-ui/vue-image-editor';

export default {
    components: {
        'tui-image-editor': ImageEditor
    },
    data() {
        return {
            useDefaultUI: true,
            options: {
                includeUI: {
                    loadImage: {
                         path: imageDataBase64,
                         name: 'Your Base64 image'
                    }
                },
                cssMaxWidth: 700,
                cssMaxHeight: 500
            }
        }
    }
}
//...


Replace chainguard netcat image with public docker.io image

Chainguard is removing the netcat image from the free tier, so replace it with a public image from dockerhub. this one seemed the most popular of all the options (~5M pulls)

Given our usage is just polling, I wonder if there's another utility, wget or curl, in an existing container dependency we can use. Otherwise LGTM, just need to regen docs


sf::cursor.loadFromPixels doesn't work.

sf::cursor.loadFromPixels doesn't work.
sf::cursor.loadFromPixels is not showing anything (invisible cursor) despite it being set and returned true.
Note that this works on 2.5.1 (Monochrome) but not 3.0.0 (latest snapshot) at least on my machine, any confirmation on other Linux machines will be appreciated.
If there's anything needed, just message me and I will replay asap.
Your environment

Arch (5.15.28-1 kernel) with Xorg
Latest snapshot (Date of issue)
GCC (Unix) with CMake
set(SFML_STATIC_LIBRARIES TRUE)

Steps to reproduce
#include <iostream>
#include "SFML/Graphics.hpp"
#include "SFML/Window.hpp"

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    sf::Cursor SFMLCursor;

    uint8_t TempCursor[256] =
    {
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,
        0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255,       0, 0, 0, 255
    };

    if(!SFMLCursor.loadFromPixels(&TempCursor[0], sf::Vector2u(8, 8), sf::Vector2u()))
        std::cout<<"Failed to load cursor\n";

    // if(!SFMLCursor.loadFromSystem(sf::Cursor::Type::Hand))
    //     std::cout<<"Failed to load cursor\n";

    window.setMouseCursor(SFMLCursor);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear(sf::Color(255, 255, 255, 255));
        window.draw(shape);
        window.display();
    }

    return 0;
}

Expected behavior
It should show the cursor as a black 8x8 image.
Actual behavior
The cursor is invisible instead.

Can you give the 2.6.x branch a try, so we can check whether it's a regression in SFML 3 or already came with SFML 2.6?

I just tried 2.6.x from the snapshot. It is the same result

The same bad (3.0.0 behavior) or same good (2.5.1 behavior) result? 😄

Yeah sorry, I mean same result as 3.0.0 haha.

Are you able to bisect the commit history to find the exact commit which introduced the problem? That would be really helpful to know.

@Neko-Box-Coder, can you confirm that the merge fix (#2073) onto 2.6.x fixes the problem?

@eXpl0it3r  Thanks a lot, I can confirm it fixed the problem. Will this be merged to master at some point?

Yes, might wait for some other 2.6.x PR, but if those don't come through soon, then I'll do another back merge.


Snake Feast is about controlling a snake to eat oranges while avoiding obstacles and boundaries.
How do you play your game?
Press WASD to move the centipede. Eat oranges (O) to grow longer. Avoid obstacles (X) and boundaries (W). Press I to restart the game after a game over.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

Hye@grymmy ,did i make a good game?

Hye @grymmy ,did i make a good game?

Reviewing right now!

yeah,cool

Neat!  Good job.
If you're a teen, you can submit this form here and receive a Sprig device if you haven't already gotten one.  Feel free to share your game in the #sprig channel in Hack Club's Slack, too!

Thanks


Review Ticket

API
Images

Scorer: Samuel Wang; score: 2.7/3

fetched data from bing news api and everything worked
did ascii and color scaling, everything looked good


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230123164122334 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230123164122334 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.023%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
28600

Relevant Lines:
63211

💛  - Coveralls


Update README.md

Adds details on how to find your user_id and how to set a password if you have an account that doesn't have one

Well... I guess I wrote that PR to fast :D I don't think that is the right ID, or something.

hey, thanks a lot, especially for the user id method. Can you put a deprecated warning on the publication_url parameter? I'll take it out in future versions.

Yeah, will do.
I'm out of town, but I'll plan to update it tomorrow.


[Code app]: Add tooltip for "Use application" button which explains why button is disabled

Description
Use application button is disabled for Code apps when application is in Undeployed state

Use case/motivation
No response
Related issues
No response
Confidential information

[X] I confirm that do not share any confidential information

verified on staging successfully


Adds module_name to Podfile to use_frameworks!

This PR will enable using the SIAlertView as a pod in a project where use_frameworks! is set in the Podfile.
It adds a the module_name property to the spec which in turn enables swift projects to simply import SIAlertView in order to use the module.
This has helped me to use SIAlertView in a project that has use_frameworks! enabled..
: )

+1 need this to be merged


Relying on Time.time will lose significant precision after a few hours

I suggest adding up delta time from 0 after jump is pressed instead.

Fully frame/time in-dependent now. Thanks :)


SKCore: support executable extensions on different platforms

Similar to the dylib extension, introduce executable extensions.  This
is required for Windows which uses a .exe suffix for the executables.

@swift-ci please test

@swift-ci please test macOS

Let see if it picks up apple/swift-tools-support-core#137 this time.

@swift-ci please test

Oh, since https://github.com/apple/swift-package-manager/pull/2898 has not landed yet I think you need to change the vendored copy of TSC that is in swiftpm as well.

Ugh, thanks @benlangmuir

Please test with following PRs:
apple/swift-package-manager#2965
@swift-ci please test


KIC+Knative Serving. KService is getting stuck in Unknown state with IngressNotConfigured reason

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
I'm following steps from Kong guide https://docs.konghq.com/kubernetes-ingress-controller/2.3.x/guides/using-kong-with-knative/
KService 1st revision seems OK, but after updating KService, it's N-th revision is getting stuck in Unknown state with IngressNotConfigured reason.
Although changes are applied to Service: e.g. Hello world's TARGET env variable seem to be changed.
Expected Behavior
When KService is updated and new Revision is created, KService should be in Ready state if changes have applied successfully.
Steps To Reproduce
Environment:
- MacOS Monterey 12.1 (21C52) Intel
- K8S v1.23.1 in minikube local cluster
- Knative Serving v1.5/1.4/1.1
- Kong v2.8 + Kong Ingress Controller v2.3

===

Detailed command i/o:

minikube start --driver=hyperkit --cpus=4 --memory=4g

# 😄  minikube v1.25.1 on Darwin 12.1
# ✨  Using the hyperkit driver based on user configuration
# 👍  Starting control plane node minikube in cluster minikube
# 🔥  Creating hyperkit VM (CPUs=4, Memory=4096MB, Disk=20000MB) ...
# 🐳  Preparing Kubernetes v1.23.1 on Docker 20.10.12 ...
#     ▪ kubelet.housekeeping-interval=5m
#     ▪ Generating certificates and keys ...
#     ▪ Booting up control plane ...
#     ▪ Configuring RBAC rules ...
# 🔎  Verifying Kubernetes components...
#     ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
# 🌟  Enabled addons: storage-provisioner, default-storageclass
# 🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

kubectl apply --filename https://github.com/knative/serving/releases/download/knative-v1.4.0/serving-crds.yaml
kubectl apply --filename https://github.com/knative/serving/releases/download/knative-v1.4.0/serving-core.yaml

# customresourcedefinition.apiextensions.k8s.io/certificates.networking.internal.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/configurations.serving.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/clusterdomainclaims.networking.internal.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/domainmappings.serving.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/ingresses.networking.internal.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/metrics.autoscaling.internal.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/podautoscalers.autoscaling.internal.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/revisions.serving.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/routes.serving.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/serverlessservices.networking.internal.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/services.serving.knative.dev created
# customresourcedefinition.apiextensions.k8s.io/images.caching.internal.knative.dev created
# namespace/knative-serving created
# clusterrole.rbac.authorization.k8s.io/knative-serving-aggregated-addressable-resolver created
# clusterrole.rbac.authorization.k8s.io/knative-serving-addressable-resolver created
# clusterrole.rbac.authorization.k8s.io/knative-serving-namespaced-admin created
# clusterrole.rbac.authorization.k8s.io/knative-serving-namespaced-edit created
# clusterrole.rbac.authorization.k8s.io/knative-serving-namespaced-view created
# clusterrole.rbac.authorization.k8s.io/knative-serving-core created
# clusterrole.rbac.authorization.k8s.io/knative-serving-podspecable-binding created
# serviceaccount/controller created
# clusterrole.rbac.authorization.k8s.io/knative-serving-admin created
# clusterrolebinding.rbac.authorization.k8s.io/knative-serving-controller-admin created
# clusterrolebinding.rbac.authorization.k8s.io/knative-serving-controller-addressable-resolver created
# customresourcedefinition.apiextensions.k8s.io/images.caching.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/certificates.networking.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/configurations.serving.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/clusterdomainclaims.networking.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/domainmappings.serving.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/ingresses.networking.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/metrics.autoscaling.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/podautoscalers.autoscaling.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/revisions.serving.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/routes.serving.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/serverlessservices.networking.internal.knative.dev unchanged
# customresourcedefinition.apiextensions.k8s.io/services.serving.knative.dev unchanged
# image.caching.internal.knative.dev/queue-proxy created
# configmap/config-autoscaler created
# configmap/config-defaults created
# configmap/config-deployment created
# configmap/config-domain created
# configmap/config-features created
# configmap/config-gc created
# configmap/config-leader-election created
# configmap/config-logging created
# configmap/config-network created
# configmap/config-observability created
# configmap/config-tracing created
# Warning: autoscaling/v2beta2 HorizontalPodAutoscaler is deprecated in v1.23+, unavailable in v1.26+; use autoscaling/v2 HorizontalPodAutoscaler
# horizontalpodautoscaler.autoscaling/activator created
# poddisruptionbudget.policy/activator-pdb created
# deployment.apps/activator created
# service/activator-service created
# deployment.apps/autoscaler created
# service/autoscaler created
# deployment.apps/controller created
# service/controller created
# deployment.apps/domain-mapping created
# deployment.apps/domainmapping-webhook created
# service/domainmapping-webhook created
# horizontalpodautoscaler.autoscaling/webhook created
# poddisruptionbudget.policy/webhook-pdb created
# deployment.apps/webhook created
# service/webhook created
# validatingwebhookconfiguration.admissionregistration.k8s.io/config.webhook.serving.knative.dev created
# mutatingwebhookconfiguration.admissionregistration.k8s.io/webhook.serving.knative.dev created
# mutatingwebhookconfiguration.admissionregistration.k8s.io/webhook.domainmapping.serving.knative.dev created
# secret/domainmapping-webhook-certs created
# validatingwebhookconfiguration.admissionregistration.k8s.io/validation.webhook.domainmapping.serving.knative.dev created
# validatingwebhookconfiguration.admissionregistration.k8s.io/validation.webhook.serving.knative.dev created
# secret/webhook-certs created

kubectl apply -f https://bit.ly/k4k8s

# namespace/kong created
# customresourcedefinition.apiextensions.k8s.io/kongclusterplugins.configuration.konghq.com created
# customresourcedefinition.apiextensions.k8s.io/kongconsumers.configuration.konghq.com created
# customresourcedefinition.apiextensions.k8s.io/kongingresses.configuration.konghq.com created
# customresourcedefinition.apiextensions.k8s.io/kongplugins.configuration.konghq.com created
# customresourcedefinition.apiextensions.k8s.io/tcpingresses.configuration.konghq.com created
# customresourcedefinition.apiextensions.k8s.io/udpingresses.configuration.konghq.com created
# serviceaccount/kong-serviceaccount created
# role.rbac.authorization.k8s.io/kong-leader-election created
# clusterrole.rbac.authorization.k8s.io/kong-ingress created
# rolebinding.rbac.authorization.k8s.io/kong-leader-election created
# clusterrolebinding.rbac.authorization.k8s.io/kong-ingress created
# service/kong-proxy created
# service/kong-validation-webhook created
# deployment.apps/ingress-kong created
# ingressclass.networking.k8s.io/kong created

kubectl patch configmap/config-network \
  --namespace knative-serving \
    --type merge \
      --patch '{"data":{"ingress-class":"kong"}}'

# configmap/config-network patched

kubectl get service kong-proxy -n kong

# NAME         TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                      AGE
# kong-proxy   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:31248/TCP,443:31344/TCP   20h

kubectl patch configmap/config-domain \
  --namespace knative-serving \
  --type merge \
  --patch '{"data":{"<IP_ADDRESS>.sslip.io":""}}'

# configmap/config-domain patched

curl -i http://helloworld-go.default.<IP_ADDRESS>.sslip.io/

# HTTP/1.1 404 Not Found
# Date: Sat, 04 Jun 2022 15:00:42 GMT
# Content-Type: application/json; charset=utf-8
# Connection: keep-alive
# Content-Length: 48
# X-Kong-Response-Latency: 0
# Server: kong/2.8.1

# {"message":"no Route matched with those values"}%

echo "
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
  namespace: default
spec:
  template:
    spec:
      containers:
        - image: gcr.io/knative-samples/helloworld-go
          env:
            - name: TARGET
              value: Go Sample v1
" | kubectl apply -f -

# service.serving.knative.dev/helloworld-go created

kubectl get kservice

# NAME            URL                                                    LATESTCREATED         LATESTREADY           READY     REASON
# helloworld-go   http://helloworld-go.default.<IP_ADDRESS>.sslip.io   helloworld-go-00001   helloworld-go-00001   True

curl -i http://helloworld-go.default.<IP_ADDRESS>.sslip.io/

# HTTP/1.1 200 OK
# Content-Type: text/plain; charset=utf-8
# Content-Length: 20
# Connection: keep-alive
# Date: Sat, 04 Jun 2022 15:12:20 GMT
# X-Kong-Upstream-Latency: 14
# X-Kong-Proxy-Latency: 1
# Via: kong/2.8.1

# Hello Go Sample v1!

echo "
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
  namespace: default
spec:
  template:
    spec:
      containers:
        - image: gcr.io/knative-samples/helloworld-go
          env:
            - name: TARGET
              value: Go Sample v2
" | kubectl apply -f -

# service.serving.knative.dev/helloworld-go configured

kubectl get kservice

# NAME            URL                                                    LATESTCREATED         LATESTREADY           READY     REASON
# helloworld-go   http://helloworld-go.default.<IP_ADDRESS>.sslip.io   helloworld-go-00002   helloworld-go-00002   Unknown   IngressNotConfigured

curl -i http://helloworld-go.default.<IP_ADDRESS>.sslip.io/

# HTTP/1.1 200 OK
# Content-Type: text/plain; charset=utf-8
# Content-Length: 20
# Connection: keep-alive
# Date: Sat, 04 Jun 2022 15:12:37 GMT
# X-Kong-Upstream-Latency: 10
# X-Kong-Proxy-Latency: 1
# Via: kong/2.8.1

# Hello Go Sample v2!

echo "
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-python
  namespace: default
spec:
  template:
    spec:
      containers:
        - image: gcr.io/knative-samples/helloworld-python
          env:
            - name: TARGET
              value: python Sample v1
" | kubectl apply -f -

# service.serving.knative.dev/helloworld-python created

kubectl get kservice

# NAME                URL                                                        LATESTCREATED             LATESTREADY               READY     REASON
# helloworld-go       http://helloworld-go.default.<IP_ADDRESS>.sslip.io       helloworld-go-00002       helloworld-go-00002       Unknown   IngressNotConfigured
# helloworld-python   http://helloworld-python.default.<IP_ADDRESS>.sslip.io   helloworld-python-00001   helloworld-python-00001   True

Kong Ingress Controller version
v2.3

Kubernetes version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.4", GitCommit:"b695d79d4f967c403a96986f1750a35eb75e75f1", GitTreeState:"clean", BuildDate:"2021-11-17T15:48:33Z", GoVersion:"go1.16.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.1", GitCommit:"86ec240af8cbd1b60bcc4c03c20da9b98005b92e", GitTreeState:"clean", BuildDate:"2021-12-16T11:34:54Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}

Anything else?
No response

Hi @Gaspero thank you for your detailed, in-depth report.
I want to start with providing some context I feel is highly relevant to the issue: Knative support in the ingress controller is currently behind a feature gate and we consider the integration at an alpha level of maturity. Our integration with Knative has lagged behind upstream because we (the maintainers) have had little to no feedback or usage of the integration by end-users and so consequently we have had no impetus to further its development. We have in fact been considering removing the feature entirely (as opposed to promoting it to a full and supported feature as per the feature gates documentation) due to lack of interest.
I provide that context just to set some expectations: we consider this a low priority issue for the reasons stated above meaning that there's a lot of other work that needs to happen first. In the meantime however we're open to community users coming forth to help champion this integration, so let us know if that's something you'd be interested in? In general I want to know if the above all makes sense to you and I would like to have you share your thoughts and concerns on the matter. In particular if you could help us to better understand your use case and needs for this integration that would be helpful as we've had almost no such engagements for over a year.

Hello @shaneutt
Thank you for providing the context and some details regarding current status of KIC+Knative integration.
I will be happy to share my thoughts and give you feedback on how KIC+Knative suited my needs.
To start with, I think it is important to mention that I am not a professional software engineer and more like a hobby developer.
The project I'm currently working on is multi-instance SaaS based on existing OSS project (that was originally using docker-compose and Kong with declarative config). So using KIC with declarative config seemed as an optimal decision to minimize transition overhead. The main reason Knative is used in my setup is lowering trial period infrastructure costs.
The general idea was to create a Helm chart with all instance's microservices where each microservice lives in dedicated instance namespace and kong-proxy+plugins in kong namespace are responsible for serving APIs outside the cluster. Please see attached diagram, hope it will be clearer than text explanation.

One of the main reasons to choose KIC was Kong's rich plugin ecosystem. Also, when I was researching alternative networking layers for Knative, they seemed a little less user-friendly, harder to configure and lacked documentation compared to Kong. As for today, I guess I overestimated the need in ACL and JWT Auth Plugin in my particular use case as their functionality could be integrated in microservices with a little customization.
I would also like to point out that Viktor Gamov's Youtube tutorials helped a lot to understand the basics and strengths of KIC+Knative integration.

Thanks for that update @Gaspero, it's good to know about your active use case as this can help us to make more informed decisions. Previously I had asked if taking this issue on is something you'd want to take on personally, just wanted to check in on that again before we put this on our board?

Can someone take a look at this? really want to use kong because of its plugins system with knative and cant

Apparently it worked with older version of knative and kong ingress controller

I can see that the feature gate is stil in in alpha and there is no activity in this since one year (although the feature is supported since 0.8.0). Is it then fair to assume that Knative is not supported by Kong?
It would be a pity. But I don't see a point in saying you support something and not fixing issues at all.

Hi @dark-m0de 👋
Thanks for your comment.
The reason for this still marked as alpha is that we are seeing relatively low usage in this feature hence we are contributing our resources accordingly (with comparison to other KIC functionalities and integrations). In our eyes this way it reflects our level of support more accurately than giving it a GA stamp and claiming full support. It also reflects the maturity of the feature in KIC. It doesn't matter that it was introduced in 0.8.0 which was released a long time ago if we explicitly state that it's still alpha given our standards.
The issue is open for all users to see and if there's perhaps a brave soul out there: to contribute to the project by fixing this before we might ever get to it.

Given the above and @shaneutt's comment we're still thinking about the support of Knative in KIC but our current reasoning got us to a point where we want to reconsider support for Knative at all (related: https://github.com/Kong/kubernetes-ingress-controller/issues/2813).

ok, thank you. According to this comment in #2813 it is then clear the Knative support will be deprecated.
Its a pity. However, at least we have certainty and can find another way to use Knative.

Support for Knative has been removed in https://github.com/Kong/kubernetes-ingress-controller/pull/4748 which is part of 3.0.
Closing this


NSubstitute - AutoConfigured properties are resolved via Type requests

Bug: When NSubstitute integration resolves value for mock's property, it performs Type request rather than PropertyInfo request. Because of that some features (like [Frozen(Matching.PropertyName)] xUnit attribute) doesn't work properly for substitutes.
Consider the following example (pretty verbose though):
  public class NSubstituteIntegrationTest
  {
    [Fact]
    public void InterfacePropertyShouldBeResolvedCorrectly()
    {
      var fixture = new Fixture();
      fixture.Customize(new AutoConfiguredNSubstituteCustomization());

      //For each Data Property request return etalon
      var expectedData = fixture.Create<string>();
      fixture.Customizations.Insert(0,
        new FilteringSpecimenBuilder(
          new FixedBuilder(expectedData),
          new PropertySpecification(typeof(string), "Data")));

      var classValue = fixture.Create<TestClass>();
      var ifValue = fixture.Create<ITestInterface>();

      //assert
      Assert.NotSame(expectedData, classValue.OtherData);
      Assert.NotSame(expectedData, ifValue.OtherData);

      Assert.Same(expectedData, classValue.Data);
      Assert.Same(expectedData, ifValue.Data); //___this assertion fails___
    }

    public interface ITestInterface
    {
      string Data { get; }
      string OtherData { get; }
    }

    public class TestClass
    {
      public string Data { get; set; }
      public string OtherData { get; set; }
    }
  }

A few things to clarify before fixing:

Please confirm that PropertyInfo request should be fired to resolve ITestInterface.Data property value. I'm not 100% confident that PropertyInfo are purposed for this kind of situations (while this looks obvious, though).
@mrinaldi I've noticed that you fired another PR which supposes that current integration could be heavily refactored. How do you feel, does it make sense to fix current integration or it's better to wait till "large refactoring"? If you feel that that direction could take a lot of time - I could fix issue for current integration.

Indeed, the current integration will be heavily refactored.
However, since we're having a discussion on the changes yet, I'm not sure how long it'll take to have everything in place to refactor the integration.
So, I wouldn't invest time to change the current integration, but since I'm not the one facing the bug, it's up to you. If you feel you need this badly, go for it.
Let me know if I can help you with anything.

Thanks for the answer.
So far I didn't need that exact functionality, just noticed the bug. If I find it important for me - I'll try to fix it. Hope the mentioned PR will be merged somewhere in future :)

Fixed in v4. The PropertyInfo requests are issued for the Properties.


Future work: weighting HMM matching by mutational probability

Too complex to implement for the final paper, but it would probably be quite easy to weight the HMM to account for the probability of different sorts of mutation. I would imagine that we would keep the current weighting of e.g. 5 mutations to 1 recombination, but weight the mutations such that some counted more than a unit contribution, and some counted less, with the mean being 1. Then I think we wouldn't have to tweak the cutoffs again.
We could do this iteratively: we could use the find_problematic ARG as a first pass to estimate the probabilities of each type of SNP mutation, then weight the HMM using those probabilities.
I was motivated to think of this because of the large range of probabilities of the different SARS-CoV2 mutation types in https://academic.oup.com/mbe/article/40/4/msad085/7113660:

We see 40x more C->T mutations than e.g. G->C or C->G.

I think this would have to go into the HMM implementation itself to work properly, but yes, definitely a worthwhile refinement for the future.

Could easily create some tests in https://github.com/astheeggeggs/lshmm before implementing? I think we briefly talked about implementing this extension on and off before.


[Feature] Set cookie and cookie_mask when sending requests to flow_manager

Fixes #32
Release notes
[1.3.0] - 2021-12-20
Added

Set cookie and cookie_mask when sending requests to flow_manager

I've also explored running this branch on mininet, topology discovery worked as usual, and noticed the cookie being set as expected:

❯ ovs-ofctl -O OpenFlow13 dump-flows s1
 cookie=0xbb00000000000001, duration=1.830s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=1000,dl_vlan=3799,dl_type=0x88cc actions=CONTROLLER:65535

❯ ovs-ofctl -O OpenFlow13 dump-flows s2
 cookie=0xbb00000000000002, duration=27.562s, table=0, n_packets=18, n_bytes=756, send_flow_rem priority=1000,dl_vlan=3799,dl_type=0x88cc actions=CONTROLLER:65535

❯ ovs-ofctl -O OpenFlow13 dump-flows s3
 cookie=0xbb00000000000003, duration=30.065s, table=0, n_packets=10, n_bytes=420, send_flow_rem priority=1000,dl_vlan=3799,dl_type=0x88cc actions=CONTROLLER:65535

@italovalcy thanks for reviewing, could you do a second pass? I had to push this latest commit https://github.com/kytos-ng/of_lldp/pull/33/commits/5e904be039acd62d0185e56aeceb6e6d0132962f, it turns out that since this NApp doesn't completely validate the payload yet, the cookie_mask isn't supposed to be stored in the flows dict when adding a flow mod, otherwise it could lead to false positives in the consistency check when the Flow is being compared.

@italovalcy thanks for reviewing, could you do a second pass? I had to push this latest commit 5e904be, it turns out that since this NApp doesn't completely validate the payload yet, the cookie_mask isn't supposed to be stored in the flows dict when adding a flow mod, otherwise it could lead to false positives in the consistency check when the Flow is being compared.

Yeah, I see! I've done a second review and it looks good to me! Once again thanks for the feature!


Setup for the web with Next.js 1

Hey,
I'm trying to setup sqlite on my Next.js + CapacitorJS (for Web & Mobile) but I can't manage to make it works. I'm using the latest version of Next.js with the app directory, I created a client side component that is loaded in my RootLayout to load all this stuff:
I'm getting errors around this 2 functions:
await customElements.whenDefined("jeep-sqlite");
await sqlite.initWebStore();

I'm loading all function inside a useEffect (otherwise I can't access to the window component).
Screenshots
Here is the errors:

Desktop:

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: Computer
OS: Ubuntu 22.04
Browser: Google Chrome
Version: Version 114.0.5735.133 (Official Build) (64-bit)

Additional context
Here is the full component:
"use client";

import { CapacitorSQLite, SQLiteConnection } from "@capacitor-community/sqlite";
import { Capacitor } from "@capacitor/core";
import { defineCustomElements as jeepSqlite, applyPolyfills, JSX as LocalJSX } from "jeep-sqlite/loader";
import { createContext, useEffect, useState } from "react";
import { useSQLite as useSQLiteExtern } from "react-sqlite-hook/dist";

const SQLITE_DB_NAME = {
    database: "poc-capacitor",
    version: "0.0.1",
};

const SQLiteContext = createContext(undefined);

function logger(...opts) {
    console.log("[SQLite]", ...opts);
}
function loggerError(...opts) {
    console.error("[SQLite][Error]", ...opts);
}

async function initSQLite() {
    const platform = Capacitor.getPlatform();
    const sqlite = new SQLiteConnection(CapacitorSQLite);

    try {
        // Enable jeepSqlite plugin only on web
        if (platform === "web") {
            logger("Web detected, initialize jeepSqlite plugin");
            const jeepEl = document.createElement("jeep-sqlite");
            console.log("1");
            document.body.appendChild(jeepEl);
            console.log("2");
            await customElements.whenDefined("jeep-sqlite");
            console.log("3");
            await sqlite.initWebStore();
            console.log("4");
        }

        logger("Checking DB consistency");
        const ret = await sqlite.checkConnectionsConsistency();
        const isConn = (await sqlite.isConnection(SQLITE_DB_NAME)).result;
        logger("DB consistency: ", ret, isConn);
        const db =
            ret.result && isConn
                ? await sqlite.retrieveConnection(SQLITE_DB_NAME)
                : await sqlite.createConnection(SQLITE_DB_NAME, false, "no-encryption", 1);

        // Testing the DB connection
        logger("Testing the DB connection");
        await db.open();
        logger("DB opened");
        let query = `CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL);`;
        const res = await db.execute(query);
        logger("DB execute: ", res);
        await db.close();
        await sqlite.closeConnection(SQLITE_DB_NAME);
    } catch (err) {
        loggerError("Error on initialization: ", err);
    }
}

export const SQLiteProvider = (props) => {
    const [isPolyfilled, setIsPolyfilled] = useState(false);
    const [isInit, setIsInit] = useState(false);

    async function initPolyfills() {
        logger("Applying polyfills");
        applyPolyfills().then(() => {
            logger("Polyfills applied");
            jeepSqlite(window);
        });
    }

    useEffect(() => {
        if (!isInit) {
            initPolyfills();
            if (document.readyState) initSQLite();
            else window.addEventListener("DOMContentLoaded", initSQLite);

            setIsInit(true);

            return () => {
                window.removeEventListener("DOMContentLoaded", initSQLite);
            };
        }
    }, [isInit, isPolyfilled]);

    return <SQLiteContext.Provider value={{}}>{props.children}</SQLiteContext.Provider>;
};
export const useSQLite = () => {
    return useContext(SocketContext);
};

(the context part is not set yet, I want to make the sqlite works for the moment)

@navalex  I just try that quickly and it works It is mandatory to copy the sql-wasm.wasm file from node_modules/sql.js/dist/sql-wasm.wasm file into the public/assets folder of your app
"use client";

import Image from 'next/image'
import { useRef, useEffect, useCallback, useMemo } from 'react';
import { Capacitor } from '@capacitor/core';
import { CapacitorSQLite, SQLiteConnection } from "@capacitor-community/sqlite";
import { defineCustomElements as jeepSqlite } from 'jeep-sqlite/loader';

const platform = Capacitor.getPlatform();
const sqlite = new SQLiteConnection(CapacitorSQLite);
jeepSqlite(window);

export default function Home() {
  const isInit = useRef(false);

  const SQLITE_DB_NAME = {
    database: "poc-capacitor",
    version: 1, // must be a number
  };
  function logger(...opts: any[]) {
    console.log("[SQLite]", ...opts);
  }
  function loggerError(...opts: any[]) {
      console.error("[SQLite][Error]", ...opts);
  }
  const initSQLite = useCallback(async (): Promise<void> => {
    logger("************************");
    logger("initSQLite, entering ...");
    logger("************************");

    try {

        // Enable jeepSqlite plugin only on web
        if (platform === "web") {
          logger("Web detected, initialize jeepSqlite plugin");
          const jeepEl = document.createElement("jeep-sqlite");
          console.log("1");
          document.body.appendChild(jeepEl);
          console.log("2");
          await customElements.whenDefined("jeep-sqlite");
          console.log("3");
          await sqlite.initWebStore();
          console.log("4");
        }

        logger("Checking DB consistency");
        const ret = await sqlite.checkConnectionsConsistency();
        const isConn = (await sqlite.isConnection(SQLITE_DB_NAME.database,false)).result;
        logger("DB consistency: ", ret, isConn);
        const db =
            ret.result && isConn
                ? await sqlite.retrieveConnection(SQLITE_DB_NAME.database, false)
                : await sqlite.createConnection(SQLITE_DB_NAME.database, false, "no-encryption", SQLITE_DB_NAME.version, false);

        // Testing the DB connection
        logger("Testing the DB connection");
        await db.open();
        logger("DB opened");
        let query = `CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL);`;
        const res = await db.execute(query);
        logger("DB execute: ", res);
        await db.close();
        await sqlite.closeConnection(SQLITE_DB_NAME.database,false);
        logger("************************");
        logger("initSQLite, leaving ... ");
        logger("************************");
    } catch (err) {
        loggerError("Error on initialization: ", err);
    }
  },[SQLITE_DB_NAME.database, SQLITE_DB_NAME.version]);

  useEffect( () => {
    logger("************************");
    logger("useEffect, entering ... ");
    logger("isInit: ",isInit);
    logger("************************");

    if (!isInit.current) {
        if (document.readyState) initSQLite();
        else window.addEventListener("DOMContentLoaded", initSQLite);

        isInit.current = true;
        logger("isInit after : ",isInit);
        logger("************************");
        logger("useEffect, ending ... ");
        logger("isInit: ",isInit);
        logger("************************");

        return () => {
            window.removeEventListener("DOMContentLoaded", initSQLite);
            logger("************************");
            logger("useEffect, leaving ... ");
            logger("************************");
        };
    }
  }, [initSQLite, isInit]);

  return (
     ...
  )
}

isInit must be a useRef and not a useState
version is a number and not a string
i do not use the react-sqlite-hook here but you can do
the const sqlite = new SQLiteConnection(CapacitorSQLite); must be done only once at the beginning of the app and share trough a context to others pages.
I do not know Next.js but it does not seems that there is an index.ts or a main.ts execute prior the Home page which is not the case for React or Vue this is why i am putting that stuff in the home page.
if you could share when you are ready a small app with Next.js and @capacitor-community/sqlite on github i could add it to the list of apps using different frameworks.
Hope this will help you to start

@jepiqueau thanks for your reactivity !
I have the sql-wasm.wasm file in my /public/assets folder like asked in the doc, so that's surely not the problem.
And yeah, Next.js doesn't give access to an index.js or app.js, since the router works using the project file tree. But I can add it to the main layer.js file, which is used as wrapper for all pages of the app. And I'll also take a look at Next.js middlewares, but as far as I know, it seems to be more server-side related.
I'll try to test with a ref instead of state, and the change on SQLITE_DB_NAME const, and keep you in touch.
Last question: i don't known if the code outside the component will be executed, is there a world where i can put this code inside the component too ? The isInit var is here to avoid execute the code a second time

@navalex i do not think that you need the polyfiil the code can be pit inside a component except the Web init and rhe sqlite which must be global to have only one instance through the whole code

@navalex Did you make some progress in your app development. If yes could you please close the issue. I still think it would be nice if you can share a link to a stater app for Next.js using capacitor and @capacitor-community/sqlite

Didn't had time to work on it, but I keep it in mind

@navalex So i close the issue, re-open it if require


Fix the issues in DefaultCertValidator::doVerifyCertChain and ContextImpl::verifyCertChain

In DefaultCertValidator::doVerifyCertChain() function, there is one corner case not handled right now : trusted_ca = false and no hash or SAN matcher . Basically, it means no validation context is provided so no certificate validation is performed. Current code will still return OK for this case. NotValidated seems to be an initial state that needs to be updated to either Failed or Validated eventually. If it stay as NotValidated, it should be treated as Error.
It reveals one bug via sds_dynamic_integration_test's QUIC path(The only failure caused by change above. TCP path of this test works fine).
Basically, the problem is QUIC client side register  and then will invoke the  verifyCertificate() callback because its cert_verify_mode is set to SSL_VERIFY_PEER but no validation_context is provided. Thus, it will run into NotValidated case I described in 1 and my change return it as ERROR.

Similar to openSSL logic, the error can be treated as non-fatal if mode is SSL_VERIFY_NONE. The proposed fix is in ContextImpl::verifyCertChain( ) (which is only used by QUIC path): Query the true verify_mode that is initialized in DefaultCertValidator::initializeSslContexts(it will be SSL_VERIFY_NONE for this case because there is no validation_context config provided).
(PS: I discussed with QUIC folk, QUIC test could be investigated as well. But I feel the proposed fix is needed regardless)
Signed-off-by: Tianyu Xia<EMAIL_ADDRESS>
Risk Level: Low
Testing: Local test

Just to be aware, we've been making some improvements to Envoy tooling for more prompt reviews, but draft PRs are not included in the tooling.  I'm updating the contribution guidelines to make that clear (https://github.com/envoyproxy/envoy/pull/17063/files) , but as this PR predates the repokitteh warning I just want to call out that draft PRs are likely not going to get fast turnaround. Please consider marking this as ready for review if it stalls, and you want the assignee to take a look!

Just to be aware, we've been making some improvements to Envoy tooling for more prompt reviews, but draft PRs are not included in the tooling. I'm updating the contribution guidelines to make that clear (https://github.com/envoyproxy/envoy/pull/17063/files) , but as this PR predates the repokitteh warning I just want to call out that draft PRs are likely not going to get fast turnaround. Please consider marking this as ready for review if it stalls, and you want the assignee to take a look!

Thank you very much for information and pointers! I created this draft PR intentionally to trigger the CI run (as the sanity check):). I will mark it as ready-for-review when when it is ready. Please let me know if you have any other instructions. Thanks!

/retest


Pool creation fail fix

Fixes #998  .
Changes proposed in this PR:

use the correct denomination for the parameters used in the publish process for fixed/dynamic priced assets

Using the latest version of ocean.js and correct parameters denomination, assets can be published successfully (changes interfere with #1013 but I'll resolve the conflicts after it will be merged in v4 branch). still investigating why prices can't be seen after asset is published, even if they are set correctly in the publish step

probably graph was not is sync with new contracts, now it is

yes, now it works


Plugin support for custom sections:  <name> ...  (more of a feature resquest than an issue)

Kudos on an excellent app!  I was building a very similar app because I needed the functionality and found this.  Awesome.  I was doing the same thing with adding sequence diagrams and flow charting.  I was also working on class diagrams.  What I didn't do yet, was tracking between the editor and rendering windows!  Nice.
Any chance of adding an interface to allow user defined ``` sections, maybe as plugins?
I'd like to make three section types:  encrypted, class diagram and foldable
Or maybe you have plans for these?

This won't be possible unless you fork the project.


replace MenuButton

Overview

Test Plan and Hands on Testing

Changelog

Review requests

Risk assessment

this has been merged by https://github.com/Opentrons/opentrons/pull/16616


The build scan failure hint is still displayed in certain cases

The build scan failure hint is still displayed in certain cases where re-running the build with --scan won't provide any value:

When the GE plugin fails to apply
When failures occur in an onError() block
When failures occur in a buildScanPublished() block
When failures occur in a buildFinished() block
When failures occur during build scan publication

These all occur because either the build scan plugin isn't actually applied or the failure occurs after the build has finished and we no longer have the context to understand if the plugin has been applied or not.
Expected Behavior
The --scan failure hint should not be displayed.
Current Behavior
The --scan failure hint is still displayed.
Context
Potentially confusing as users might try running the build again with --scan only to get the same error as before and no further information.

@ghale I found another place:
https://github.com/gradle/gradle/blob/38131ed9c165082353e4418cc238b022078e809b/subprojects/diagnostics/src/main/java/org/gradle/api/tasks/diagnostics/DependencyInsightReportTask.java#L241-L246
The dependencyInsight always suggests using --scan


Add Azure message converter

Codecov Report

Merging #189 into master will increase coverage by 1.08%.
The diff coverage is 72%.

@@             Coverage Diff              @@
##             master     #189      +/-   ##
============================================
+ Coverage     54.88%   55.97%   +1.08%
- Complexity      221      246      +25
============================================
  Files            74       79       +5
  Lines           891      938      +47
  Branches         53       60       +7
============================================
+ Hits            489      525      +36
- Misses          364      373       +9
- Partials         38       40       +2

Impacted Files
Coverage Δ
Complexity Δ

...vicebus/AzureServiceBusQueueAutoConfiguration.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

...vicebus/AzureServiceBusTopicAutoConfiguration.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

...ntegration/core/converter/ConversionException.java
0% <0%> (ø)
0 <0> (?)

...gration/eventhub/DefaultEventHubClientFactory.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...n/eventhub/converter/EventHubMessageConverter.java
100% <100%> (ø)
4 <4> (?)

...egration/core/converter/AzureMessageConverter.java
100% <100%> (ø)
1 <1> (?)

...rvicebus/converter/ServiceBusMessageConverter.java
66.66% <66.66%> (ø)
5 <5> (?)

.../core/converter/AbstractAzureMessageConverter.java
86.2% <86.2%> (ø)
15 <15> (?)

... and 3 more

Continue to review full report at Codecov.

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


Allow max_buffer_size in vmware_vcenter plugin

Currently seeing issues when collecting logs from vCenter with error message:
{"level":"warn","timestamp":"2021-03-28T22:56:11.428Z","message":"Failed flushing chunk. Waiting before retry","error":"rpc error: code = InvalidArgument desc = Log entry with size 384.5K exceeds maximum size of 256.0K","wait_time":67.136330783}
Setting the parameter max_buffer_size in the vmware_vcenter type does not seem to fix the issue and the default value remains 256KiB. This PR adds the optional parameter max_buffer_size from tcp_input.

fix #239

resolves https://github.com/observIQ/stanza-plugins/issues/239


Fix edit links for Craft 3.1

In Craft 3.1+ the user permissions for sections/categories changed (they use uid instead of id, now). This change should work in Craft 3 onwards (including in Craft 3.1+) since it uses the public API instead of relying on Craft implementation details.

Thanks, Daniel! That's a much nicer solution here :)

Haha, next time I create a PR I should take a look into open PRs: https://github.com/wbrowar/craft-3-adminbar/pull/13
I am not sure which of both solutions would be a better one. But it would be great, if you could merge a PR quickly, because for non-admin users Adminbar is useless until then.

:wave: @d--j, good to see you again! :smiley:

This is probably the better solution because Craft 3 is also supported.

Hotfixing this is quite easy with cweagans/composer-patches.
Add to your project's composer.json
  "require":{
    …
    "cweagans/composer-patches": "^1.6"
  }
  "extra": {
    "patches": {
      "wbrowar/adminbar": ["https://patch-diff.githubusercontent.com/raw/wbrowar/craft-3-adminbar/pull/12.patch"]
    }
  }

and do a normal composer install afterwards.

Thanks! I did not know composer-patches. This seems like a great interim solution.