Support enforce_admins API schema in Github Branch Protection

Just wanted to make sure that during the provider switch, that this issue is captured
https://github.com/hashicorp/terraform/pull/14195 (WIP: Migrate include_admins to enforce_admins in Github API )
Has the issue above been fixed in this new repo?
Thanks

Hey @mechastorm, currently working on this one, should have a fix shortly for you. Thanks!

Currently we're blocked on this regression fix until this https://github.com/google/go-github/pull/637 is merged and accepted.
cc: @shurcooL + @gmlewis with a polite ping :heart:
However, in the meantime we can loosely update branch protection with the new enforce_admins field for now. We just won't be able to fully fill out required_pull_request_reviews.

Looks like https://github.com/google/go-github/pull/637 finally got merged!~ :D

@mechastorm absolutely did! checkout #26. :smile:


Renamed transitive dependency breaks imports (when transitive dep is on kellnr registry)

Problem
I have the following dependency tree:

api_on_crates_io – that's a lib published to crates.io, in exports a struct Export (source code)
user_of_that_api – that's a lib published to my custom registry, it depends on api_on_crates_io like that:

[dependencies]
api = { package = "api_on_crates_io", version = "0.1.0" }

It uses Export from api_on_crates_io.

user_of_user_of_api – that's a lib which depends on user_of_that_api like that

[dependencies]
user_of_that_api = { version = "0.1.0", registry = "fluence" }

Now, when I try to compile user_of_user_of_api, compilation fails
folex@mac user_of_user_of_api % cargo check
    Updating `fluence` index
    Updating crates.io index
  Downloaded user_of_that_api v0.1.0 (registry `fluence`)
  Downloaded 1 crate (771 B) in 0.28s
    Checking api_on_crates_io v0.1.0
    Checking user_of_that_api v0.1.0 (registry `fluence`)
error[E0433]: failed to resolve: use of undeclared crate or module `api`
 --> /Users/folex/.cargo/registry/src/crates.fluence.dev-4cf026a00c52b3cc/user_of_that_api-0.1.0/src/lib.rs:1:5
  |
1 | use api::api::*;
  |     ^^^ use of undeclared crate or module `api`

error[E0422]: cannot find struct, variant or union type `Export` in this scope
 --> /Users/folex/.cargo/registry/src/crates.fluence.dev-4cf026a00c52b3cc/user_of_that_api-0.1.0/src/lib.rs:4:13
  |
4 |     let _ = Export {
  |             ^^^^^^ not found in this scope
  |
help: consider importing this struct
  |
1 | use api_on_crates_io::api::Export;
  |

Some errors have detailed explanations: E0422, E0433.
For more information about an error, try `rustc --explain E0422`.
error: could not compile `user_of_that_api` due to 2 previous errors

However, if I make user_of_user_of_api to depend on user_of_that_api  from crates.io, it works!
[dependencies]
user_of_that_api = { version = "0.1.0-cratesio" }

folex@mac user_of_user_of_api % cargo check
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Checking user_of_that_api v0.1.0-cratesio
    Checking user_of_user_of_api v0.1.0 (/Users/folex/Development/cargo-registry-violence/user_of_user_of_api)
    Finished dev [unoptimized + debuginfo] target(s) in 0.19s

Steps

Check out https://github.com/folex/cargo-registry-possible-bug
cd user_of_user_of_api
cargo check

Possible Solution(s)
No response
Notes
No response
Version
% cargo version --verbose
cargo 1.65.0-nightly (4ed54cecc 2022-08-27)
release: 1.65.0-nightly
commit-hash: 4ed54cecce3ce9ab6ff058781f4c8a500ee6b8b5
commit-date: 2022-08-27
host: x86_64-apple-darwin
libgit2: 1.5.0 (sys:0.15.0 vendored)
libcurl: 7.79.1 (sys:0.4.55+curl-7.83.1 system ssl:(SecureTransport) LibreSSL/3.3.6)
os: Mac OS 12.6.0 [64-bit]

Same with
% cargo --version --verbose
cargo 1.66.0-nightly (071eeaf21 2022-10-22)
release: 1.66.0-nightly
commit-hash: 071eeaf210708219a5a1b2c4728ca2f97df7f2ae
commit-date: 2022-10-22
host: x86_64-apple-darwin
libgit2: 1.5.0 (sys:0.15.0 vendored)
libcurl: 7.79.1 (sys:0.4.55+curl-7.83.1 system ssl:(SecureTransport) LibreSSL/3.3.6)
os: Mac OS 12.6.0 [64-bit]

The registry index hasn't been constructed correctly.  It's important to distinguish the difference of the JSON structure passed by Cargo via the API (defined here) and the JSON structure as stored in the index (defined here). In particular, the way renamed dependencies are handled are different (pay close attention to the "name" field and the "package" field).
The fluence.dev index has an entry that looks like this:
{
    "name": "user_of_that_api",
    "vers": "0.1.0",
    "cksum": "903975f7eca33517910b73a7c2b010c416f1da7b02942b584dcfc3f16407f218",
    "deps":
    [
        {
            "name": "api_on_crates_io",
            "req": "^0.1.0",
            "features":
            [],
            "optional": false,
            "default_features": true,
            "target": null,
            "kind": "normal",
            "registry": "https://github.com/rust-lang/crates.io-index",
            "explicit_name_in_toml": "api"
        }
    ],
    "features":
    {},
    "authors":
    [],
    "description": "testing how package renaming works across different registries",
    "documentation": null,
    "homepage": null,
    "readme": null,
    "readme_file": null,
    "keywords":
    [],
    "categories":
    [],
    "license": "MIT",
    "license_file": null,
    "repository": null,
    "badges":
    {},
    "yanked": false,
    "links": null
}

Notice that the deps have a "explicit_name_in_toml" field, which is not part of the index schema.

The issue is fixed in Kellnr 2.1.2. Thanks for reporting @ehuss and thanks for pointing out where the problem is @folex. I suggest to close the issue here, as it was not a Cargo issue but one in Kellnr.

@secana thank you!


Chore: update dependencies to remove punycode depricated package

What/Why/How?
In order to eliminate punycode deprecated warning we need to switch from node-fetch package that has it as a transitive dependency.
$ NODE_OPTIONS='--trace-deprecation' redocly lint
(node:48436) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
    at node:punycode:3:9
    at BuiltinModule.compileForInternalLoader (node:internal/bootstrap/realm:392:7)
    at BuiltinModule.compileForPublicLoader (node:internal/bootstrap/realm:328:10)
    at loadBuiltinModule (node:internal/modules/helpers:101:7)
    at Module._load (node:internal/modules/cjs/loader:1001:17)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/opt/homebrew/lib/node_modules/@redocly/cli/node_modules/whatwg-url/lib/url-state-machine.js:2:18)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)

It was decided to move to undici as it has full functionality and supports proxyAgent out of the box, comparing to native fetch (available from node version 18).
But it comes at a price - this is going to be breaking change as requires to rise minimal nodeJS version to
"node": ">=18.17.0",

Reference
Closes: https://github.com/Redocly/redocly-cli/issues/1332
Testing

[x] openapi-vscode

[ ] monorepo
[ ] published portal verdaccio version in Reunite
[ ] workflows

Screenshots (optional)
Check yourself

[ ] Code changed? - Tested with redoc/reference-docs/workflows (internal)
[x] All new/updated code is covered with tests
[ ] New package installed? - Tested in different environments (browser/node)

Security

[x] Security impact of change has been considered
[x] Code follows company security practices and guidelines

Going to test another approach with native fetch.


kubectl plugin to query openebs component status

OpenEBS is completely Kubernetes native and is implemented using microservices. The microservices are deployed as Kubernetes deployments, statefulset or daemon sets and so forth.
In order to know the status of the components, a user has to run multiple kubectl commands to check that all the OpenEBS related microservices are up and running.
For instance, a cStor volume comprises of one or more cStor Pool Deployments and a cStor Target Deployment. To know the status of a cStor volume, the user is expected to run the following kubectl commands:

kubectl get cstorvolume -n openebs (check for the status of the volume and if not-healthy, check for the replica and target status.
kubectl get pods -n openebs to check if the replica and target pods are running
kubectl get csp -n openebs and kubectl get cvr -n openebs for checking if the replica has any additional issues, if the node that was running a csp might be down and so forth.

The proposal is to provide a kubectl plugin for openebs that will allow running simple CLI commands that can perform required kubectl queries and present the information in an easy-to-consume manner.
Using kubectl plugin, it would be great if a user can type a command like:
kubectl openebs volume-status --name <cstor-pv-name>
The output for this command could be something like:
Volume Status
----------------
Name              :   pvc-dc3cb979-51ec-11e9-803f-42010a800179
PVC Name          :   cstor-volume
Capacity          :   8G
Used              :   5G
Target Status     :   Running
Target Node       :   node2
Replica Count     :   3

Replica Details :
-----------------
NAME          STATUS      POOL NAME           NODE    POOL CAPACITY
----          ------      ---------           -----   -------------
replica-1     Running     cstor-pool-ejs2     node1   50%
replica-2     Running     cstor-pool-gf1d     node2   80%
replica-3     Running     cstor-pool-m8cy     node3   60%

Application Pods using the Volume
----------------------------------
NAME          STATUS      NODE
----          ------      -----
demo-app      Running     node1

Similarly, there can be many other CLI options like:
kubectl openebs cstor-status --name <cstor-pool-cluster-name>
kubectl openebs status
kubectl openebs upgrade volume --name <cstor-volume-name> --to-verstion <new-version>

@kmova
Can you suggest me some docs or resources to properly understand
the codebase of openebs and contributing to it?

Hi @Raman-Kumar -- this is a good place to start:
https://github.com/openebs/openebs/tree/master/contribute/design
There is some amount of code to fetch above details in the form of mayactl here:
https://github.com/openebs/maya/tree/master/cmd/mayactl
Also a lot of dev hangs out on the Kubernetes slack #openebs channel.

@kmova
Hi, I'm interested in this issue for GSoC'20.
I have some questions.

Is this goal is to make the kubectl openebs command with options such as volume-status, cstor-status, etc ?
What should I do next?

Hi @tetsuya28, Thanks for the interest!
Yes you are right. The goal is to have kubectl openebs with command options. As a first step, it might be helpful to get openebs running in a kubernetes cluster and go through the current CLI provided here: https://docs.openebs.io/docs/next/mayactl.html
Post that a proposal can be raised here: https://github.com/openebs/openebs/tree/master/contribute/design/1.x with the suggested options to be added. We could also start with a google doc proposal and discuss that over the slack before raising the PR.
Feel free to reach out on the Kubernetes slack openebs channel.

@kmova
Thanks, I will text you on slack.

Hey @kmova ! I am willing to get mentored for this issue for the Community Bridge program. Can you please help me in getting started with it?
Thanks

@championshuttler -- can you please apply through the community bridge program, providing some background details and draft proposal.

As part of the 2020 Community Bridge program, there was progress made to providing initial repo for https://github.com/openebs/openebsctl.
This issue is being opened up again for the 2021 spring mentorship program to build this functionality.

Hi @kmova! I'm interested in taking this up. I will refer to the documents linked above and get back to you with questions/ideas on slack?

sign up

This is an epic issue with ongoing implementation tracked at https://github.com/openebs/openebsctl

More information on this issue is listed on issues @ https://github.com/openebs/openebsctl/issues/36 & https://github.com/openebs/openebsctl/issues/83

With release 2.12.0, kubectl openebs ... has a lot of functionality to help with jiva, cstor and zfs local pv volumes. For more information checkout: https://github.com/openebs/openebsctl


app level rabbitmq  properties not picked

spring-cloud-skipper-server: 2.0.0.RELEASE
spring-cloud-dataflow-server: 2.0.1.RELEASE
Deploying the ticktock stream (time | log) on pcf with rabbitmq middleware.
These properties passed during deployment seem to get  ignored and the deployment fails as its unable to bind to rabbitmq :
app.log.spring.rabbitmq.addresses=rmqhost:5672
app.time.spring.rabbitmq.addresses=rmqhost:5672
Kafka middleware works fine
app.log.spring.cloud.stream.kafka.binder.brokers=kafkahost:9092
app.log.spring.cloud.stream.kafka.binder.zkNodes=zkhost:2181
app.time.spring.cloud.stream.kafka.binder.brokers=kafkahost:9092
app.time.spring.cloud.stream.kafka.binder.zkNodes=zkhost:2181
I want the flexibility of setting the RMQ at deployment_level/ per_stream.
......
......
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.amqp.rabbit.connection.ConnectionFactory]: Factory method 'rabbitConnectionFactory' threw exception; nested exception is org.springframework.cloud.CloudException: No unique service matching interface org.springframework.amqp.rabbit.connection.ConnectionFactory found. Expected 1, found 0
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT     at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT     ... 49 common frames omitted
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT Caused by: org.springframework.cloud.CloudException: No unique service matching interface org.springframework.amqp.rabbit.connection.ConnectionFactory found. Expected 1, found 0
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT     at org.springframework.cloud.Cloud.getSingletonServiceConnector(Cloud.java:197) ~[spring-cloud-connectors-core-2.0.4.RELEASE.jar!/:na]
2019-03-21T14:26:18.91-0500 [APP/PROC/WEB/0] OUT     at org.springframework.cloud.stream.binder.rabbit.config.RabbitServiceAutoConfiguration$CloudProfile$CloudConnectors$UseCloudConnectors.rabbitConnectionFactory(RabbitServiceAutoConfiguration.java:110) ~[spring-cloud-stream-binder-rabbit-2.1.1.RELEASE.jar!/:2.1.1.RELEASE]
......
......
Thoughts ?

Hi, @tajdars. This repo is deprecated. Starting with v2.0, CF and other platforms are directly supported through the single binary that we ship for SCDF.
To troubleshoot this, you could gain access to configprops endpoint of each of the applications, to verify whether your connection properties via spring.rabbitmq.addresses are populated correctly. Alternatively, you could run stream manifest command in the Shell to review all the supplied application and deployment properties. Also, make sure you don't have any service binding to a Rabbit SI, which could potentially collide.
All that said, for questions like this, it'd be better if you can ask it in StackOverflow.

@sabbyanandan .
OK.
FWIW I was able to work around this  by passing the following property during stream deployment : deployer.*.spring.cloud.stream.overrideCloudConnectors=true


Support client protocol v2

Support semantics of client prrotocol v2.
More info can be found in https://github.com/centrifugal/centrifugo/issues/500 and  https://github.com/centrifugal/centrifugo/pull/499

Actual info: https://github.com/centrifugal/centrifugo/issues/500#issuecomment-1106152315


cumulative train

I have alreadly trained a model with my own dataset. If there are some new dataset or new classes, can I continue training with the result h5 file? Will the train quality be infulenced?

For new classes you can train only the last layer with train_bottleneck if you want to use an already trained model.


feat(jdk19): add a jdk19 container

as per https://github.com/jenkins-infra/helpdesk/issues/3243, provide a docker image for jdk19
another PR to follow with the updatecli manifest.

powershell.exe : manifest for jenkins/inbound-agent:jdk19-nanoserver-1809 not found: manifest unknown: manifest unknown you might want to use the "jdk11" image :)

powershell.exe : manifest for jenkins/inbound-agent:jdk19-nanoserver-1809 not found: manifest unknown: manifest unknown you might want to use the "jdk11" image :)

the core image stay the jdk11 one but the other one should vary if I take example on jdk8 and jdk17 ...


Adding DAYNAME function

This PR aims to add a function that returns the day as a string from a date string.

Hello @AmrDeveloper I think my implementation is on point but I am getting an error related to the parser. The following query returns an error:
gql > select dayname("23:12:18")

thread 'main' panicked at crates\gitql-parser\src\parser.rs:1449:68:
called `Option::unwrap()` on a `None` value

can you provide some insights on how to debug it ?

Please make sure the code is formatted you can check using this command
cargo fmt --all -- --check

@mobley-trent Thank you for contribution

Looking forward to hacking on some more functions @AmrDeveloper 🚀


Basic Improvements to Sandman Shell

Sandman Shell | Basic Improvements
Previously, the Sandman shell did not echo the user keyboard input back to the terminal.
Also, entering an empty string would crash the program. This pull request fixes those issues.
The shell was changed to display a designated region for echoing user keyboard input.
The NCurses namespace was added to incapsulate functionality and state relating to NCurses.
Logger
LoggerAddMessage | GCC Format Attribute
The LoggerAddMessage functions in logger.h are in the style of std::printf.
By adding the GNU attribute format to these functions, this allows the GCC compiler to make sure
the arguments match the correct format specifiers.
[[gnu::format(printf, 1, 2)]] bool LoggerAddMessage(char const* p_Format, ...);

[[gnu::format(printf, 1, 0)]] bool LoggerAddMessage(char const* p_Format, std::va_list& p_Arguments);

The first argument of the gnu::format attribute is the style of format function to use.
LoggerAddMessage is like printf, so that is the first argument.
The second argument of the gnu::format attribute is the index (starting from one) of the format string.
The first argument of LoggerAddMessage is the format string, so this is 1.
The third argument of the gnu::format attribute is the index (starting from one) of the ellipsis denoting the arguments
to be interpolated into the format string, so the third argument is 2 for the former overload of LoggerAddMessage. However, if there is no ellipsis, like in the case of the std::va_list overload of LoggerAddMessage, the third argument should be 0.

A side effect of annotating LoggerAddMessage with gnu::format is that the expression
LoggerAddMessage("") triggers a warning from GCC as being erroneous. So, LoggerAddEmptyLine()
was added which accomplishes the same thing as LoggerAddMessage("").

Like LoggerAddMessage, Input::CloseDevice in input.h was also annotated with gnu::format.
[[gnu::format(printf, 1+2, 1+3)]] void CloseDevice(bool p_WasFailure, char const* p_Format, ...);

Note that, for Input::CloseDevice, the second and third arguments of gnu::format are offset by one because
Input::CloseDevice takes an implicit first argument this.
LoggerPrintArgs(ParamsT const&... p_Arguments)
template <typename... ParamsT>
inline bool LoggerPrintArgs(ParamsT const&... p_Arguments)
{
	return LoggerAddMessage("%s", (std::ostringstream() << ... << p_Arguments).str().c_str());
}

This function uses an output string stream std::ostringstream to convert its arguments to a string which is passed to LoggerAddMessage. So, this function can be used as a quick print statement when debugging, or as shorthand for when you would like to make use of std::ostringstream to format a string and log it.
Note, it does construct and destroy a std::ostringstream every call.
Changes | sandman/source/
All the changes are in sandman/source/.
CMakeLists.txt

Added ncurses_context.cpp to the list of C++ source files SOURCE_FILES.

✓ Maintained alphabetical order.

Makefile.am

Added ncurses_context.cpp to the list of C++ source files sandman_SOURCES.

✓ Maintained alphabetical order.

command.cpp

Now using std::tolower(CharT, const locale&) from <locale> instead of std::tolower(int) from <cctype>.

std::tolower(int) is undefined for signed characters, while std::tolower(CharT, const locale&) doesn't have this restriction.

Note: the signedness of char depends on the compiler and the target platform, so the safe way to use std::tolower(int) is to cast the character to unsigned char first.

std::tolower(int) depends on the currently installed C locale, while the locale for std::tolower(CharT const locale&) can be specified for more consistent behavior.

Fix bug: sandman shell crashes when receiving empty string.

Reason: the empty string "" gets passed to std::stoul which then throws an exception.
Fix: use std::from_chars to attempt to parse the string into a number. Only set l_Token.m_Type = CommandToken::TYPE_INTEGER on success. This handles the empty string case; it will be a failed parse instead of throwing an exception.

command.h

CommandToken::m_Parameter is now unsigned int instead of int. This is to match with unsigned int p_DurationPercent in the function Control::SetDesiredAction.

control.cpp

Bug fix: incorrect format string when calling LoggerAddMessage in Control::Process.

m_State is enum Control::State, but was incorrectly formatted with %s, now changed to %d.
m_Name is char[32], but was incorrectly formatted with %d, now changed to %s.
This bug was identified using the gnu::format attribute on LoggerAddMessage.

Replaced LoggerAddMessage("") with LoggerAddEmptyLine().

input.cpp

Replaced LoggerAddMessage("") with LoggerAddEmptyLine().

input.h

Annotated Input::CloseDevice with gnu::format.

  [[gnu::format(printf, 1+2, 1+3)]] void CloseDevice(bool p_WasFailure, char const* p_Format, ...);

logger.cpp

Include "ncurses_context.h" instead of <ncurses.h>.
Print to the logging window defined in "ncurses.cpp" instead of the NCurses standard screen window stdscr.

Before:// These print to NCurses's `stdscr`.
addstr(l_LogStringBuffer);
addch('\n');
refresh();

After:WINDOW* const l_Window = NCurses::GetLoggingWindow();
waddstr(l_Window, l_LogStringBuffer);
waddch(l_Window, '\n');
wrefresh(l_Window);

logger.h

Annotate printf-like functions with gnu::format attribute.

  [[gnu::format(printf, 1, 2)]] bool LoggerAddMessage(char const* p_Format, ...);

  [[gnu::format(printf, 1, 0)]] bool LoggerAddMessage(char const* p_Format, std::va_list& p_Arguments);

NEW FUNCTION definition LoggerAddEmptyLine

LoggerAddEmptyLine() is semantically equivalent to LoggerAddMessage("").

NEW FUNCTION definition LoggerPrintArgs

✓ Type safe.
Logs variable number of arguments.LoggerPrintArgs("Integer: ", 10, ", Boolean: ", true, ", Floating Point: ", 5.0);

No format string.
Useful for quick debugging, but constructs and destroys a std::ostringstream every call.

main.cpp

Replaced the initialization of NCurses with the function call NCurses::Initialize() in the Initialize function.
Replaced endwin() with NCurses::Uninitialize() in the Unitialize function.
In the function ProcessKeyboardInput, echo the user input to the input window.
Reformatted this file with ClangFormat; this changed much of the whitespace. 😵💫

mqtt.cpp

Replaced LoggerAddMessage("") with LoggerAddEmptyLine();

NEW FILE ncurses_context.cpp

static WINDOW* s_LoggingWindow

This window is where messages from the logger are written to.

static WINDOW* s_InputWindow

This window is where user input is echoed to.

s_LoggingWindow and s_InputWindow pointers are private to the NCurses namespace so that only the NCurses namespace can set them.

NEW FILE ncurses_context.h

Defines the new NCurses namespace.

schedule.cpp

Replaced LoggerAddMessage("") with LoggerAddEmptyLine().

You can view files changed with tab size 3.


[Bug]: Authentication error

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When user try to login then it can directly login either it have account or not.
Expected behavior
When user try to login then first it must have account on platform.
Add ScreenShots
No response
On which device are you experiencing this bug?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Suvadip-sana can u check that

@Soujanya2004 Its working perfectly fine.. system throws an error if user/password not avilabale

@Meetpidev yeh i am explaining him that


Multi-threading SQLiteOpenFlags via SQLiteAsyncConnection

Is it correct to set flags like below for multi-threading?
new SQLiteAsyncConnection(GetDatabasePath(), SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.FullMutex);

Thanks for submitting an issue and we apologize for the delayed response. The requested updates haven't been made since the creation of the issue, and the timeline for resolution may vary based on resourcing, so the issue is being moved to an internal repo to better track it.


Optimize predictors for multipass motion estimation

Since we perform multiple passes during motion estimation, it makes
sense to sample the bottom and right edges for predictors.

PSNR
PSNR Cb
PSNR Cr
PSNR HVS
SSIM
MS SSIM
CIEDE 2000

-0.3470
-0.4163
-0.4998
-0.3425
-0.3951
-0.3994
-0.4004

https://beta.arewecompressedyet.com/?job=master-b17d5009f7e539aba2e1abde9cbb5203f1aca3f3&job=me_port_improved_predictors2%402020-08-06T17%3A44%3A58.052Z

Coverage decreased (-0.0006%) to 82.391% when pulling 8c3d06218d1463dcf02ccf7f3cff03ca283cf31d on KyleSiefring:new_predictors2_review into 66dc853284fddd9efcd1aacae593a913ed3432e0 on xiph:master.

The only thing I don't like about this is that it removes the distinction of which predictors are from a previous pass and which are from fully RDO'd neighbor blocks, because both are stored in tile_mvs.

The only thing I don't like about this is that it removes the distinction of which predictors are from a previous pass and which are from fully RDO'd neighbor blocks, because both are stored in tile_mvs.

Yeap I understand. I think it can only be knowable at best from implicit information, unless there is separate storage or indicator flag.


Transparent bg

Trying to make a transparent or rgba background for the taffybar (or at least a gradient).  Fiddled around with both in taffybar.rc for a while without any results.  Any suggestions?

This is tied to #110 , which I see you are familiar with.

Sorry, memory lapse...


bash tools/build-standalone-lib.sh failed

Before you open an issue, please make sure you have tried the following steps:

Make sure your environment is the same with (https://mace.readthedocs.io/en/latest/installation/env_requirement.html).
Have you ever read the document for your usage?
Check if your issue appears in HOW-TO-DEBUG or FAQ.
The form below must be filled.

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
NDK version(e.g., 15c):
GCC version(if compiling for host, e.g., 5.4.0):
MACE version (Use the command: git describe --long --tags):
Python version(2.7):
Bazel version (e.g., 0.13.0):

Model deploy file (*.yml)
......

Describe the problem
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the problem:
1. cd /path/to/mace
2. python tools/converter.py convert --config_file=/path/to/your/model_deployment_file

Error information / logs
Please include the full log and/or traceback here.
LOGs

yangfei@ubuntu:~/mace$ bash tools/build-standalone-lib.sh
build shared lib for armeabi-v7a + cpu_gpu_dsp
INFO: Analysed target //mace/libmace:libmace_dynamic (2 packages loaded).
INFO: Found 1 target...
ERROR: /home/yangfei/mace/mace/port/BUILD.bazel:30:1: C++ compilation of rule '//mace/port:port_base' failed (Exit 1): clang failed: error executing command
(cd /home/yangfei/.cache/bazel/bazel_yangfei/2a5baa80c91068aec9fab52ca37cd357/execroot/mace &&
exec env -
PWD=/proc/self/cwd
external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang '-D__ANDROID_API_=21' -isystemexternal/androidndk/ndk/sysroot/usr/include/arm-linux-androideabi -gcc-toolchain external/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fpic -ffunction-sections -funwind-tables -fstack-protector-strong -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -fno-integrated-as -target armv7-none-linux-androideabi '-march=armv7-a' '-mfloat-abi=softfp' '-mfpu=vfpv3-d16' -mthumb -Os -g -DNDEBUG -MD -MF bazel-out/armeabi-v7a-opt/bin/mace/port/_objs/port_base/mace/port/env.d '-frandom-seed=bazel-out/armeabi-v7a-opt/bin/mace/port/_objs/port_base/mace/port/env.o' -iquote . -iquote bazel-out/armeabi-v7a-opt/genfiles -iquote external/bazel_tools -iquote bazel-out/armeabi-v7a-opt/genfiles/external/bazel_tools '-std=c++11' -fPIC -D_GLIBCXX_USE_C99_MATH_TR1 -DMACE_OBFUSCATE_LITERALS -DGEMMLOWP_USE_MACE_THREAD_POOL -DMACE_DEPTHWISE_U8_USE_MULTI_THREAD '-std=c++11' -fPIC -D_GLIBCXX_USE_C99_MATH_TR1 -DMACE_OBFUSCATE_LITERALS -DGEMMLOWP_USE_MACE_THREAD_POOL -DMACE_DEPTHWISE_U8_USE_MULTI_THREAD -Wall -Wno-mismatched-tags -Wno-missing-braces -Wall -Wno-mismatched-tags -Wno-missing-braces -O3 -ffunction-sections -fdata-sections -O3 -ffunction-sections -fdata-sections '--sysroot=external/androidndk/ndk/platforms/android-21/arch-arm' -isystem external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -isystem external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/backward -isystemexternal/androidndk/ndk/sysroot/usr/include -c mace/port/env.cc -o bazel-out/armeabi-v7a-opt/bin/mace/port/_objs/port_base/mace/port/env.o)
Use --sandbox_debug to see verbose messages from the sandbox
src/main/tools/linux-sandbox-pid1.cc:427: "execvp(external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang, 0x8d0940)": No such file or directory
Target //mace/libmace:libmace_dynamic failed to build
INFO: Elapsed time: 2.534s, Critical Path: 0.26s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

@yangfei963158659 Please fill in the issue template. What is your bazel version and ndk version?

bazel is 0.13.1，ndk is 15b
---Original---
From<EMAIL_ADDRESS>Date: Tue, Jun 18, 2019 08:23 AM
To<EMAIL_ADDRESS>Cc: "Mention"mention<EMAIL_ADDRESS>Subject: Re: [XiaoMi/mace] bash tools/build-standalone-lib.sh failed (#471)
@yangfei963158659 Please fill in the issue template. What is your bazel version and ndk version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@yangfei963158659 It seems that your environment has some problems, the bazel cannot find your ndk location, Please execute these two shell commands in your mace root directory to test:
bazel info output_base|xargs -i ls -l {}/external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
ls -s ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
are the two files exist?

I have sovled this problem. I take mistake that I use android ndk for windows.Thank you

@yangfei963158659 Congratulations, Thanks for your reply.


[ref][doc] Survey on Context

[ ] tomb clean goroutine termination https://github.com/go-tomb/tomb/blob/v2/tomb.go
[ ] go's context
[ ] recall context is existing survey of web frameworks

close due to age


Add version() to Application

What would this be used for that'd require a method instead of simply accessing the constant?

Why is it present on Laravel 5 and not on 4?

The app()->version(), or $this->app->version() is handy on Laravel 5, specially whe you are trying to develop a Laravel package supposed to work on both (4 and 5), we could do something like:
protected function laravel4OrPrior()
{
	return $this->app->version() < '5.0.0';
}

And the package wouldn't have to be aware of what exactly is the current Laravel Application class.

No yes I get that but, what can't you just do return Application::VERSION < '5.0.0'

Yes, I am, but in the process of writing it:
use Illuminate\Foundation\Application as Laravel;

private function laravel5()
{
	return Laravel::VERSION >= '5.0.0';
}

But while writing it I realized my class should not be responsible for knowing how to get the Laravel version, that use was just wrong. And if it Taylor changes it, I'll have to change it too.

I'm pretty sure the removal of the method was totally intentional.

If you're developing a package to work on both 4 and 5, you should do that on two separate branches, similar to how Cashier is developed, with 3.0 being 5.0 support, and 2.0 branch being 4.x support.


[feature request] different oidc/oauth providers

How feasible would it be to implement different oidc/oauth providers? Ones with a different flow than github et. al, such as login.gov. I already implemented a middleware handler for login.gov for caddy in golang, so adapting it shouldn't be too difficult.
I can work on a PR if someone can give me some pointers on where to start looking, etc.

This is already possible. Under auth tab in admin panel, add a new auth source with type oauth2, and select OIDC as type. Then use https://idp.int.identitysandbox.gov/.well-known/openid-configuration as the auto discovery URL (and the other information as provided by login.gov)

@techknowlogick the auto discovery doesn't work with login.gov.

No client_secret is needed, just an issuer_id (aka client_id).
login.gov needs other fields like acr_values, nonce

Basically its a custom flow. I see there are other providers, so would it be hard to add another provider if it follows a different flow than usual?

Ah, in that case, let me re-open this issue.
We use https://github.com/markbates/goth for most login systems, and so if you could get login.gov into that upstream library it isn't much additional work to get it into gitea.

@techknowlogick thanks, I ended up making a PR for goth earlier today. Now I’m just waiting on feedback. https://github.com/markbates/goth/pull/318

I have the same problem.
I want to use gitea as auth provider for traefik，but traefik-forward-auth doesn't support oauth2

I'm having a similar issue, though I have a custom OIDC provider implemented with Authlib - it requires the "nonce" parameter to be provided by default. (This sounds like a bug to me, because most OIDC providers should require a nonce parameter in the authz request)

Just realized it's been 3 years. Nice. We just forked goth (see my PR above) and built gitea locally using that fork. Hope that helps.

@andrewzah thanks for that. Thankfully, since I can just change the code for the OIDC provider I intended to use, so I just disabled the nonce requirement until something happens with this.


Collectibles: Getting error while issuing asset

FYI- @Deveshshankar
This issue will be fixed once rbg pacakge is done.

Verified this issue on Tribe app v 2.4.0(629)


mobile: splitting out java utils from cronet

Hopefully allows reinstating https://github.com/envoyproxy/envoy/pull/25518 by moving the network utilities Envoy Mobile depends on out of the cronvoy directories and namespaces.
Risk Level: medium: JNI typos cause failures
Testing: relying on all utilities having existing tests
Docs Changes: n/a
Release Notes: n/a

/retest


chore(master): release 1.22.2

:robot: I have created a release beep boop
1.22.2 (2022-08-27)
Bug Fixes

dbModel: fixed error on trying to create an already existing database (4f63358)
stickersteal: added another error catch for invalid messageid (1b35300)

Code Refactoring

commands: future proofing for possible errors. (1c4daf3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/SethCohen/EmojiUtilities/releases/tag/v1.22.2 :sunflower:


Team images

Closes #3701.

Includes #3749.

My thought was that we could store and serve from Postgres, and put MaxCDN in front using the main site as an origin server, as we do with assets.

[ ] upload an image when creating a Team
[ ] limit upload size to 500 kB
[ ] process image (crop to square and resize to 160x160)
[ ] backfill images for existing Teams
[ ] put images behind CDN in production
[ ] show image on Team pages

It's not unlikely that we'll need an Aspen upgrade in order to work with uploaded files.

Should we use the new FormData functionality to post files via ajax? Doesn't work in IE9.

I'm close to a commit on this. I need to teach the test suite how valid_data can have a file upload in it.

Alright, debugged with @dmk246. The Aspen test client isn't smart enough to set filename and Content-Type for file uploads.

Serving the images out of Postgres is even slower than I expected. It's taking 2 seconds to serve a 44 kB image locally. O.o

Should we use a push zone instead?

I mean, S3 is standard for this. I was looking to use MaxCDN since we already have an account there.

Okay! It's looking like large objects are sufficiently performant, over against bytea. I have an implementation, and it performs better in one-off tests (ms vs. ~2 s for one request). I'm trying to get some actual benchmarks ...

Needed wrk >= 3.0.3 to pick up https://github.com/wg/wrk/issues/53 (current is 4.0.0). Benchmarks forthcoming ...

filesystem (control)
$ wrk -c1 -t1 http://localhost:8537/assets/banner.jpg
Running 10s test @ http://localhost:8537/assets/banner.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.81ms    1.55ms  41.55ms   98.40%
    Req/Sec   531.80     59.16   595.00     71.00%
  5301 requests in 10.01s, 228.39MB read
Requests/sec:    529.40
Transfer/sec:     22.81MB
$ wrk -c1 -t1 http://localhost:8537/assets/banner.jpg
Running 10s test @ http://localhost:8537/assets/banner.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.82ms    3.26ms  69.33ms   99.28%
    Req/Sec   568.38     66.00   606.00     94.00%
  5664 requests in 10.02s, 244.03MB read
Requests/sec:    565.51
Transfer/sec:     24.37MB
$ wrk -c1 -t1 http://localhost:8537/assets/banner.jpg
Running 10s test @ http://localhost:8537/assets/banner.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.58ms  155.95us   6.63ms   89.52%
    Req/Sec   572.21     45.96   606.00     96.81%
  5398 requests in 10.01s, 232.57MB read
Requests/sec:    539.04
Transfer/sec:     23.22MB
$

bytea (8113217e6780f0f0d0ef6b9ebc8fcc6d935ceb79)
$ wrk -c1 -t1 http://localhost:8537/heee/image.jpg
Running 10s test @ http://localhost:8537/heee/image.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.66s    11.49ms   1.67s    50.00%
    Req/Sec     0.00      0.00     0.00    100.00%
  6 requests in 10.10s, 1.57MB read
Requests/sec:      0.59
Transfer/sec:    158.89KB
$ wrk -c1 -t1 http://localhost:8537/heee/image.jpg
Running 10s test @ http://localhost:8537/heee/image.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.64s    39.05ms   1.68s    66.67%
    Req/Sec     0.00      0.00     0.00    100.00%
  6 requests in 10.10s, 1.58MB read
Requests/sec:      0.59
Transfer/sec:    160.45KB
$ wrk -c1 -t1 http://localhost:8537/heee/image.jpg
Running 10s test @ http://localhost:8537/heee/image.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.64s    54.01ms   1.69s    83.33%
    Req/Sec     0.00      0.00     0.00    100.00%
  6 requests in 10.10s, 1.58MB read
Requests/sec:      0.59
Transfer/sec:    160.49KB
$

large objects (4ec58fb7e5f138aec50e819c654a628477c4e3b8)
$ wrk -c1 -t1 http://localhost:8537/haaa/image.jpg
Running 10s test @ http://localhost:8537/haaa/image.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.76ms    1.92ms  47.31ms   97.03%
    Req/Sec   207.27     24.00   232.00     82.00%
  2069 requests in 10.02s, 89.35MB read
Requests/sec:    206.42
Transfer/sec:      8.91MB
$ wrk -c1 -t1 http://localhost:8537/haaa/image.jpg
Running 10s test @ http://localhost:8537/haaa/image.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.44ms  329.97us   9.92ms   88.79%
    Req/Sec   218.15      7.03   232.00     69.00%
  2176 requests in 10.02s, 93.97MB read
Requests/sec:    217.08
Transfer/sec:      9.37MB
$ wrk -c1 -t1 http://localhost:8537/haaa/image.jpg
Running 10s test @ http://localhost:8537/haaa/image.jpg
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.44ms  355.22us   9.57ms   89.96%
    Req/Sec   218.50      6.70   232.00     80.00%
  2179 requests in 10.02s, 94.10MB read
Requests/sec:    217.47
Transfer/sec:      9.39MB
$

method
req/sec

filesystem
545.0

bytea
0.6

large objects
213.0

Conclusion: large objects are plenty fast enough to support my original strategy of using the main web app as an origin server, with a MaxCDN pull zone in front of it in production (a la assets).

Processing images introduces complex dependencies. I'm thinking of writing a separate service to do this for us, parking it at www.gratipay-image-processing.com or whatever. You would POST images to it and get back a ZIP file of cropped and resized images.

Or we can pay someone else to do it: https://www.google.com/search?q=image+processing+as+a+service.

https://6px.io/
https://www.imgix.com/pricing
http://www.blitline.com/
https://www.google.com/trends/explore#q=imgix%2C blitline%2C 6px

$10/mo or $75/mo, and how would it help developers?

B-friggin'-lam.

P.S. I ended up putting together a little service for this: http://gip.rocks/.

Do we really need images behind a CDN yet?

Script to populate the db: https://gist.github.com/whit537/78bea2109bd18d1266ab. Testing it out, lookin' a little busy:

I think this would look a lot cleaner if we removed the icons...

Glad to see that skip.rocks is already registered, heading off any buyer's remorse for what could've been "Some Kinda' Image Processor." ;-)

Rebased on master. Old HEAD was 5183722ec1c3361c2b3113e03fedd7e0dc533698.

Rebased on master.

I think this would look a lot cleaner if we removed the (status)icons...

Is it enough to move them off of the Team images?

@sils1297 Will this PR adequately address https://github.com/gratipay/team-review/issues/36#issuecomment-137971240? :)

@whit537 actually I was rather thinking about having the background banner customized, with an image like http://www.whatcanidoforcoala.org/static/themes/coala/img/background.jpg (probably with the coala on the other side), giving the whole page a more custom touch. This would be more of a logo.

@sils1297 Okay, reticketed as https://github.com/gratipay/gratipay.com/issues/3767! :)

I've got images for 36 out of 100 Teams, which means it'll probably take me a couple more hours to get the rest.
http://paulgraham.com/ds.html

I may actually try to press @hurlothrumbo into service for this one ...

Rebased on master (old HEAD 941569429c4d4465e173f8cc53764df9e2f87581).

Looks like we can purge individual files from the pull zone cache:
https://docs.maxcdn.com/#purge-cache

I want to get this out tonight. I think I'm going to focus on backfilling images, and reticket the CDN.

Okay! I have images for all approved and under review Teams. I don't think I'm going to bother with images for rejected Teams: I don't like the idea of choosing an image for them since we're not giving them a chance to edit it themselves. Better to just leave them as-is, I think.

I'm bumping on the CDN.

Now that I have all these images, I want to not have any more Teams created without images, so I don't have to go chase them down anymore. :)


Add PHP 7.2 images in base and Symfony varients

PHP 7.2 removed mcrypt extension and moved to pecl.php.net.
Magento and Drupal aren't yet ready for it. Both additionally require mcrypt, however it'd be bad practice to include the pecl one. Instead a mcrypt polyfill could be used by the app.

Hey @andytson-inviqa! Great work so far - thank you.
There's a missingsymfony_php72_apache target in continuous-pipe.yml.
Having a look at the :latest tag issue that failed the CP build.

https://github.com/continuouspipe/dockerfiles/pull/461 should sort the FROM_TAG issue out 🤞

We need to regenerate the stable tags though.


feat(cli): improve messaging - Incorrect --engine value reports unhelpful error

Related to #1118, I ran the cli with --engine test just to see if it would tell me what the correct options are. Instead I just received the error Invalid type.
It would be helpful if the cli helped me fix my problem by listing the valid types :)

wow. your attention to details is exceptional. i love it. thank you so much for sharing these. really appreciate that.

Thank you so much, that really means a lot ❤

Hey-hey, @with-heart, thanks for this UX improvement suggestion, we have removed the --engine flag during standalone local codemod runs in favor of a GUI implementation asking you to choose one of the engines we support to make the experience smoother. It looks something like this:

Let us know if you find any other issues you'd like us to take action against!


Complete SQL homework 3

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Complete SQL Homework by editing homework_3.sql file.
What did you learn from the changes you have made?
I learned how to use Aggregate functions, create TEMP tables, JOIN tables, INSERT values in a table, work with DATE functions.
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
I was thinking about whether it is necessary to select additional fields in the query for more clarity.
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
There were no challenges. Tasks are very easy.
How were these changes tested?
These changes were tested on Farmers Market DB.
A reference to a related issue in your repository (if applicable)
Checklist

[x] I can confirm that my changes are working as intended

HW3 marked.


mdsctl: add support for presets

provide the ability to reference presets-by-name which represent a collection of configurations, namely:

-p:minimal      : -p:disable + agency:enabled/postgres/redis with + -p:local
-p:local           : deploy minimal cpu/memory resource allocation
-p:disable      : disable all services

verify: % ./bin/mdsctl -p:minimal install:mds
note: adding configurations (eg: '... -c:sets-mds+=apis.[FOO].enabled=true ... install:mds ...') will override any prior configured presets as expected
PR Checklist

[ ] simple searchable title - [mds-db] Add PG env var, [config] Fix eslint config
[ ] briefly describe the changes in this PR
[ ] mark as draft if should not be merged
[ ] write tests for all new functionality

Impacts

[ ] Provider
[ ] Agency
[ ] Audit
[ ] Policy
[ ] Compliance
[ ] Daily
[ ] Native
[ ] Policy Author

Please retarget this PR at @lacuna-tech/mds-core


typeorm cli behavior

figure out it typeorm cli can work like django orm cli.
set up a script for it

that's a no.
fairly limited functionality.
https://typeorm.io/#/using-cli


Non-number long-press functionality on KYF33

What would be the best way to include dialer-specific functionality for KYF33, namely:

long press on * button produces + symbol
long press on # button produces ; (pause) symbol

Currently this requires code modification and for me looks like the best way would be to have a "keymap" option for [123] and [Dialer] modes, where for each hardware key different functionality can be added for short press, long press, and double press internally, with it being set up by default during first launch but still available to change in settings. But that requires a lot of code refactoring and I'm not sure you are fine with it.
Alternatively, one can add a , boolean hold, int repeat to onOtherKey and process hold event in ModeDialer (it's what I have in my branch now) but that's kind of bad practice, even if wrapped in an option enabled check.

This is related to #261. See my comment there.

fixed and working flawlessly in 09e5e1b (v 22.0)


cmakeList.txt

cmake auto create Makefile can't work success
undefined reference to `uuid_generate' but I have installed uuid-dev

Can you dump the output you are getting?


Checkbox focus not properly activated on click

Steps

Add a checkbox: <Checkbox label="Label"/>
Click the checkbox or the label.

Expected Result
The checkbox should get focus. onFocus should be triggered.
Actual Result
On Windows 7 64-bit:
Firefox 51.0.1 (32-bit): The checkbox does not get focus. onFocus is not triggered.
Chromium 58.0.3009.0 (64-bit): The checkbox does not get focus. onFocus is not triggered.
Internet Explorer 11.0.9600.18537: onFocus is triggered (as well as onBlur), but the focus is not visible.
In all three browsers the focus works as expected when using the tab key.
Checkboxes in core Semantic UI work as expected.
Version
0.64.8
Testcase
http://codepen.io/anon/pen/apMgvO

Superb report, thank you.  I've marked this issue for help, PRs welcome.

@levithomason this should be as straightforward as adding an onFocus callback here right?

@tarang9211 Yes, we need onFocus and onBlur handlers and new tests for this behaviours.

Rather than adding callbacks, we just need to set focus on click.  Here is the SUI core code that does this in their checkbox.js plugin:
https://github.com/Semantic-Org/Semantic-UI/blob/master/dist/components/checkbox.js#L187
We simply need call .focus() on the checkbox input ref in the click handler.  Note, we should call focus before we call the click callbacks since that is the order of these events in a vanilla DOM implementation:
  handleClick = (e) => {
    debug('handleClick()')
    const { onChange, onClick } = this.props
    const { checked, indeterminate } = this.state

+    _.invoke('focus', this.checkboxRef)

    if (this.canToggle()) {
      if (onClick) onClick(e, { ...this.props, checked: !!checked, indeterminate: !!indeterminate })
      if (onChange) onChange(e, { ...this.props, checked: !checked, indeterminate: false })

      this.trySetState({ checked: !checked, indeterminate: false })
    }
  }

No other changes are necessary, though, we should add a test that asserts onFocus is called when the label is clicked and the input is the activeElement.  Also, a test that asserts onFocus is called when the input is clicked and the input is the activeElement.

@levithomason is _.invoke a lodash utility?

Try googling it ;)

Yea, that was my first step, but I found this which doesn't quite match the function signature we have above.

I see, in this case we are importing lodash/fp up top, which is the "functional programming" variant.  One of the major differences is that data is provided as the last argument rather than the first, to facilitate function composition:
https://github.com/lodash/lodash/wiki/FP-Guide

FWIW, I hope someday to covert the entire project to lodash FP usage only.  We currently have a mix.

got it. and the function to invoke is passed in as the first arg (as a string) ?

Indeed, these both invoke the focus method if present:
require('lodash').invoke(this.checkboxRef, 'focus')
require('lodash/fp').invoke('focus', this.checkboxRef)

We simply need to call .focus() on the checkbox input ref in the click handler. Note, we should call focus before we call the click/change callbacks since that is the order of these events in a vanilla DOM implementation:

Note that a "vanilla DOM checkbox" can receive focus without the click or change event being triggered: click-and-hold the checkbox, move the mouse-pointer away from the checkbox, release the mouse button.
You can try it out here.

Ah, you are very correct.  I've neglected the fact that focus should be called from the onMouseDown callback, not the onClick callback, since, onClick is called only on mouse up.
@tarang9211 ^  We need to add an onMouseDown and call focus in there instead.

so something on the lines of
<ElementType onMouseDown={this.handleFocus}/>

handleFocus = (e) => { _.invoke('focus', this.checkboxRef) }

?

Yes, however, we should keep the handlers named after the events they are listening to: handleFocus => handleMouseDown.  It is OK that within this handler we are setting focus.

Correct, sorry. Got my names messed up. @levithomason so once we invoke focus with _.invoke('focus', this.checkboxRef) , the DOM takes over to call the focus event right?

I just had a quick look at https://www.w3.org/TR/html5/editing.html#focus. If I understand it correctly, the behaviour when exactly an element receives focus might be platform dependent and determined by the user agent. But probably it is not possible to rely on the user agent's "native" onFocus because the actual checkbox element is hidden?
Not sure how checkboxes/input elements act on other platforms, being mostly a Windows user I'm used to input elements receiving focus on mouse-down.

@tarang9211 yes.  update the component and play with a checkbox example to see how it works.

@levithomason got it. we should also be calling the blur event right?

@tarang9211 no, the browser should handle that automatically when the element is actually blurred.  We only need to set focus manually because the input is actually hidden so the user can never click on it to focus it.  They can only click on the label and pseudo element provided, hence, we then need to manually focus the hidden input for them.

Sorry to be the bearer of bad news, but for me this is still not fixed. Look at the old testcase, adjusted to use the latest version of Semantic-UI css and Semantic-UI-React js:
https://codepen.io/anon/pen/BZKVoM
Results on Windows 7 64-bit:
Firefox 53.0.3 (32-bit): The checkbox does not get focus. onFocus is not triggered.
Chromium 61.0.3126.0 (64-bit): The checkbox does not get focus. onFocus is not triggered.
Internet Explorer 11.0.9600.18665: onFocus is triggered (as well as onBlur), but the focus is only visible when the checkbox is checked.
Strangely, IE 11 behaves exactly the same for old and new testcase. I might have overlooked that the focus in IE is visible when the checkbox is checked. Or something changed between version 11.0.9600.18537 and 11.0.9600.18665.

@skleeschulte Thanks for feedback, seems we really overlooked something.
Expected behaviour


DotSpatial.WebControls is totally unusable

Do we really can say that DotSpatial "Display a map in a .NET Windows Forms or Web application."?
As I see DotSpatial.WebControls is totally unusable and raw. And it looks like from earlier 90s :)
My suggestion is remove it from github repository, and do not declare that DS is able to display map in Web application.

@mogikanin Yeah I know. It didn't look pretty when I tried it. Do we know enough to maybe bring it up to date? I mean there seem to be people that would like to use it.

The better is to rewrite it from scratch using latest frameworks\technologies. Not sure that current version is used by anyone. If someone wanted old version, they always can download it from codeplex repo.

Okay, than I'd suggest rewriting over removing.

But till we don't have rewritten version, we can't say that DS supports Web application.

I think removing that line for now would be alright. We can add it again after WebControls is rewritten.
I just think it would make more sense to fix the feature instead of removing it.
That's the same I was saying about fixing Coordinate to use Z and M instead of removing them.
I just think that if we remove everything that stopped working, some day nothing remains.

Overall, my idea is that we should not maintain such old and raw things like existing DS.WebControls.
Or e.g. look into DotSpatial.Plugins.Taudem It has 4 classes with 90% commented code.

Better focus on things that really used by other people, like DS.Projections, DS.Data and DS.Controls.


Optimization and refactoring of CODE128.js

Hi @lindell,
maybe you like a little performance boost.

Code is ~40% shorter (6100 -> 3684Bytes; 249 -> 131 lines);
Took out 4 for loops (3 slow ones are reduced to direct access, and 2 others combined)
Results in performance boost
Some minor styling of code (well, sorry, but this is part of my prettifier)

I hope you still know what's going on in your code ;o)
Cheers
Peter

Coverage decreased (-0.1%) to 96.406% when pulling 3eb4d47d7a12de4f46dce35bfedb4b426b69cdd9 on PitPik:patch-1 into 6a6748bf7c31ca148c6edf2883b5e29f8a107340 on lindell:master.

This was very much needed :smile:. Have been thinking about refactoring more than one of the generators lately since it was a long time they where written and only crucial fixes has been made to them. CODE128 was probably the most needed. The big array with the values was a bad implementation and wtf is this:
function valid(){
	if(this.string.search(/^[!-~ ]+$/)==-1){
		return false;
	}
	return true;
}

Was looking back when the code was written. It was in the first commit, a long time before this was even suppose to be a library, and not much of that code has been changed since.
https://github.com/lindell/JsBarcode/tree/cf111a2a391b7f6f12aab03af85cbbc37901a053

The changes is now in the latest release. This together with some basic refactoring for CODE39 made the library go from 14.6kB to 12kB


Uncaught TypeError: Cannot read property 'top' of undefined

This hinders the addition of active feature in the navbar i.e the corresponding section should have an underline automatically.
A few resources:

https://codepen.io/supersarap/pen/EsAyn - Not a good solution.
https://jsfiddle.net/cse_tushar/Dxtyu/141/ - Current solution. Though it is a generalized solution, it isn't working due to some reason.

Resolved in the new theme

Resolved in the new theme


Create SVR_RobustScaler.ipynb

SVR with Robust Scaler rescaling

Hey Saharsh, Add few line of description for RobustScaler and also try few other datasets

Good Morning sir,
I'll add the description line and also if you could provide 3 to 4 standard
data sets to be used on all problems that would be really helpful.
On Wed, 28 Jul 2021 at 11:28, Thilakraj Devadiga @.***>
wrote:

Hey Saharsh, Add few line of description for RobustScaler and also try few
other datasets
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/blobcity/ds-seed/pull/10#issuecomment-888033069, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANQEREC4JRGE5UJ5ZTAXXMLTZ6L7TANCNFSM5BDUFQEA
.

Hey, you can use the dataset for this repo: https://github.com/Thilakraj1998/Datasets_general.
just make sure that you are using right dataset for problem type. Currently don't use any dataset which require text preprocessing problems.

Thanks for the help, I will make sure not to use datasets which require
text preprocessing problems.
On Wed, 28 Jul 2021 at 11:41, Thilakraj Devadiga @.***>
wrote:

Hey, you can use the dataset for this repo:
https://github.com/Thilakraj1998/Datasets_general.
just make sure that you are using right dataset for problem type.
Currently don't use any dataset which require text preprocessing problems.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/blobcity/ds-seed/pull/10#issuecomment-888039477, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANQEREFD2PBES7OYG7FSHXTTZ6NQXANCNFSM5BDUFQEA
.

I have made the necessary changes

Hey,
Change the RobustScaler() to Data Scaling or Data ReScaling in smaller size compared to Model

Changes have been applied.


Propel 2 + Bulk Insert not working

Hi All,
I have try below code for bulk insert. Query executed successfully but data not insert in table
$con = Propel::getWriteConnection(PhoneDetailsTableMap::DATABASE_NAME);
// $con = Propel::getConnection();  I have also try this
$sql = "INSERT INTO phone_details (phone_master_id,phone_number,number_use) VALUES ";
for($row =2; $row <= $total_rows; $row++) {
	$sql .= " (1,$phoneNumber,0), ";
}
$stmt = $con->prepare($sql);
$stmt->execute();

Please help me to fixed this issue ASAP.
Also if you have any example for bulk insert please share URL.
I have more then 45000 row.
Thanks
Parthvi Shah

Hello,
you do not have an open transaction ?
http://propelorm.org/Propel/documentation/06-transactions.html

I'm pretty sure your query will not execute successfully because it ends with a comma.
You should also make sure your $phoneNumber is properly escaped and maybe read about prepared statements.


[SST-2] Different test.tsv for original and k-shot data

Hello, I noticed that test.tsv for k-shot data contains 872 sentences, whereas original folder contains 1820 for SST-2 task. Is it correct behavior? Perhaps to save on computational time?

Hi,
Thanks for pointing this out. For SST-2, we use the original development set as our test set, so the numbers of instances are different. You can also check out Appendix A in the paper for details.

So when I train the model, which test dataset does the model use, the one in k-shot/SST-2/ or in original?

In our framework, the one in k-shot will be used.


Add support for debug builds

Describe the feature
I'm a PHP extension maintainer and core contributor, so it would make my work much easier if setup-php would support using debug builds (./configure --enable-debug).
Underlying issue
Debug builds have additional error checks and validations enabled, and these are essential for extension development.
Are you willing to submit a PR?
I cannot submit a PR because I prefer working on PHP core in my free time.

Added in https://github.com/shivammathur/setup-php/commit/7ff9ac44b48fdef736028ef6d4a0a651f9160cda
It will be in the next release

This is awesome news! Thank you very much!


stm32 adc driver_api test fails on stm32wb55 and stm32l5

Describe the bug
tests/drivers/adc/adc_api test fails when running on

nucleo_wb55rg
stm32l562e_dk

Test execution blocking in the first sequence test_adc_asynchronous_call
Please also mention any information which could help others to understand
the problem you're facing:

nucleo_wb55rg board or stm32l562e_dk disco kit
Looks like a regression after https://github.com/zephyrproject-rtos/zephyr/pull/49039

To Reproduce
Steps to reproduce the behavior:

west build -p auto -b nucleo_wb55rg tests/drivers/adc/adc_api/3. make
west flash

Expected behavior
------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [adc_basic]: pass = 5, fail = 0, skip = 1, total = 6 duration =s
 - PASS - [adc_basic.test_adc_asynchronous_call] duration = 0.007 seconds
 - PASS - [adc_basic.test_adc_invalid_request] duration = 0.012 seconds
 - PASS - [adc_basic.test_adc_repeated_samplings] duration = 0.098 seconds
 - PASS - [adc_basic.test_adc_sample_one_channel] duration = 0.008 seconds
 - SKIP - [adc_basic.test_adc_sample_two_channels] duration = 0.001 seconds
 - PASS - [adc_basic.test_adc_sample_with_interval] duration = 0.410 seconds

------ TESTSUITE SUMMARY END ------

===================================================================
PROJECT EXECUTION SUCCESSFUL

Logs and console output
*** Booting Zephyr OS build zephyr-v3.1.0-4714-ge5b049249eab  ***
Running TESTSUITE adc_basic
===================================================================
START - test_adc_asynchronous_call

Environment (please complete the following information):

OS: (e.g. Linux, MacOS, Windows)
Toolchain (e.g Zephyr SDK, ...)
Commit SHA or Version used

Additional context
Add any other context that could be relevant to your issue, such as pin setting,
target configuration, ...

Could be a mistmatch between channel and index in the adc_stm32_teardown_channels() function call  :
Suggested correction:
diff --git a/drivers/adc/adc_stm32.c b/drivers/adc/adc_stm32.c
index 2015601b2a..69541a392c 100644
--- a/drivers/adc/adc_stm32.c
+++ b/drivers/adc/adc_stm32.c
@@ -901,7 +901,7 @@ static int start_read(const struct device *dev,

 	err = adc_context_wait_for_completion(&data->ctx);

-	adc_stm32_teardown_channels(dev, index);
+	adc_stm32_teardown_channels(dev, channel);

 	return err;
 }

Not sure what could be the cause yet, but currently the adc_stm32_teardown_channels is getting the same arg as the adc_stm32_setup_channels since two of them are similar

On both stm32wb55 and stm32L5x , the VREFINT channel is on the channel 0 of the ADC1/2
During the adc_stm32_teardown_channels
One possible WA for that test execution is to remove the has-vref-channel property (with boards/overlay file)
&adc1 {
	/delete-property/ has-vref-channel;
};

However, the adc_stm32_teardown_channels when the channel ID is 0 --> VREFINT is  not enabling  correctly this channel but because it waits endlessly for LL_ADC_IsActiveFlag_ADRDY.


Error in react native

Hello, I saw that the last verison of this had react native support, just wondering if it will be added to this version as well.
Trying to run the following code in Expo
import { createId } from '@paralleldrive/cuid2'

console.log(createId())

Throws the following errors
 ERROR  ReferenceError: Property 'TextEncoder' doesn't exist, js engine: hermes
 ERROR  Invariant Violation: Failed to call into JavaScript module method AppRegistry.runApplication(). Module has not been registered as callable. Registered callable JavaScript modules (n = 11): Systrace, JSTimers, HeapCapture, SamplingProfiler, RCTLog, RCTDeviceEventEmitter, RCTNativeAppEventEmitter, GlobalPerformanceLogger, JSDevSupportModule, HMRClient, RCTEventEmitter.
        A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native., js engine: hermes

Did the fix in #28 work for you?

I went back to using the old one, but I'll give that a try

Feel free to reopen if this didn't resolve your issue.

Will do, ty

I tried importing it
import { createId } from '@paralleldrive/cuid2'
import * as fastTextEncoding from 'fast-text-encoding'

console.log(createId())

Same error unfortunately
 ERROR  ReferenceError: Property 'TextEncoder' doesn't exist, js engine: hermes
 ERROR  Invariant Violation: Failed to call into JavaScript module method AppRegistry.runApplication(). Module has not been registered as callable. Registered callable JavaScript modules (n = 11): Systrace, JSTimers, HeapCapture, SamplingProfiler, RCTLog, RCTDeviceEventEmitter, RCTNativeAppEventEmitter, GlobalPerformanceLogger, JSDevSupportModule, HMRClient, RCTEventEmitter.
        A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native., js engine: hermes

Could be because I'm using the hermes js engine, but this will become the default on the next expo release.

Thanks for the heads up!

hey @ericelliott I got it working by changing the sha3 package to js-sha3 and removing the bufToBigInt function.
It fails the histogram test, but it seems to be working otherwise. Let me know if you want me to PR
https://github.com/amritk/cuid2/commit/2e3092dd3930c9978e9b1b8dbd293393537b18df

Or better yet, just added a polyfill here
https://github.com/amritk/cuid2/commit/66c115d1c232e8df22624aa9f6c8f939e6f395cf

I added instructions to the README. Can you try them out and see if they work?

Sorry I'm still using my fork, but I'll get around to changing it some day


It is not possible to overwrite aws_cw_config_template_path for windows

The reason is the presence of the variable in role vars which have higher priority than playbook variables.

It is possible, but the example in the readme could use a modification to add {{ playbook_dir }} if that's the recommended template location for overrides.
- hosts: all

  roles:
    - role: riponbanik.aws-cloudwatch-agent
      vars:
        aws_cw_config_template_path: "{{ playbook_dir }}/templates/agent-config.json.j2"


#1155 Support node version 16.x in elyra-canvas

Fixes #1155 and #1132
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

@matthoward366 Following step failed -
curl -L http://localhost:3001/coverage/download -o coverage.zip
unzip coverage.zip

Producing broken (bad CRC) zip archives on Node v15.6.0 is a known issue fixed in crc32-stream.
crc32-stream version needs to be updated under istanbul-middleware. There's a PR open for this but this package isn't updated in last 7 years. We may have to replace this package in test harness.
<EMAIL_ADDRESS>/Users/neha.gokhale/Documents/GitHub/canvas/canvas_modules/harness
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └─┬<EMAIL_ADDRESS>        └──<EMAIL_ADDRESS>

@nmgokhale You can remove the code for this since it's not actually used anymore and doesn't work for Cypress.


fix(comick): genres not loading

Checklist:

[x] Updated source's version for individual source changes
[ ] Updated all sources' versions for template changes
[ ] Set appropriate nsfw value
[ ] Did not change id even if a source's name or language were changed
[x] Tested the modifications by running it on the simulator or a test device

Fixes #530

@Skittyblock any update?


clang and llvm 7

are there any plans to update the clang and llvm packages to version 7?

This is an open source project. Please try to do the work and submit a PR.

okay, i was just wondering as i did some work on it and i thought it was a good idea to ask before committing 100%.


Fixed the visibility of the JWT in an API Gateway V2 Request.

Made JWT in API Gateway V2 Request public.
Motivation:
As noted in this issue
https://github.com/swift-server/swift-aws-lambda-runtime/issues/166
the JWT instance should be public.
Modifications:
Added the public modifier.
Result:
The JWT instance will be available for consuming modules.

@swift-server-bot test this please


testing on USRP

Dear Jingshi,
I am a researcher from Ghent University, your open source project looks very interesting, and we'd like to test it on USRP N210. Though I am not able to synthesize successfully. Could you help me with it? Below is a few details:
I followed your instruction in "Integration with USRP", modified the Makefile.N210R4 into a customized version, added the Verilog macro, but instead of commenting out the CUSTOM_SRC, I used it to specify the custom_dsp_rx.v file, I could compile a bitstream for N210 successfully at this point
Then I instantiated dot11.v module in custom_dsp_rx.v, and also added the verilog files listed in dot11_modules.list in the CUSTOM_SRC, after this the compilation fails and complaining some unresolved names. I checked that all of them are the ones with Xilinx cores.
As a 3rd step I tried to add ngc files of the Xilinx cores located in the openofdm/verilog/coregen folder. Though then Xilinx ISE12.2 compiler seems to enter a deadlock status, and never finishes the compilation.
So help me to find what is the correct way of adding the source file with Xilinx cores to the usrp2 project?
Thank you in advance,
Wei

Could you resolve your problem? I have the same unresolved issue   :(

No, we eventually went to the zynq fpga with AD9361 frontend, you can check https://github.com/open-sdr/openwifi for more details


Does not connect to the database when I use a remote database (SQL Server)

ERROR:
2018-09-27 10:42:52.5350||ERROR|Identity.Dapper.Repositories.UserRepository|Login failed for user ''. System.Data.SqlClient.SqlException (0x80131904): Login failed for user ''.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()
APPSETTINGS:
"ConnectionStrings": {
"EGestorBase": "Server=<IP_ADDRESS>;Database=EGestorBase;User Id=xxxxx;Password=xxxxx"
},
"DapperIdentity": {
"ConnectionString": "Server=<IP_ADDRESS>;Database=EGestorBase;User Id=xxxxx;Password=xxxxx"
},
"DapperIdentityCryptography": {
"Key": "RTU0NkM4REYyNzhDRDU5MzEwNjlCNTIyRTY5IUQ0RjI=",
"IV": "U29tZVJlYXxseUNvb2xJVg=="
},

Are you sure that the remote IP and the user has the rights to login?

Yes, locally it is working.

Well, the message says the correct username? I mean, you put xxx on the connection string and the message says login failed for user xxx?
I'm pretty sure that this is a SQL problem.

I ran into this too. The issue is that the docs suggest that you can always use the ConnectionStrings:DefaultConnection as an alternative to the proprietary config options. Unfortunately this is only true if the SQL connection is trusted (and works as in the example code's connection string).
If the connection is via an IP # and requires User id and Password in the connection string then it will not work, as the Dapper:Identity SQL Connection code overwrites the embedded User id and Password with empty strings, which naturally results in connection failures.
If you would normally included the User id and Password embedded in the connection string then you must provide separate DapperIdentity connection config with a separate entry for username and password.
I'm not sure why the code insists on emptying out the User id and Password.

@snorith i guess it's because the connectionbuilder. I'll be very appreciated if you make a pull request to fix this issue.

Pull request submitted...


feat(x/swaprouter): add new queries to stargate whitelist

Background
x/swaprouter moved some queries from x/gamm. We need to add them to stargate whitelist.
Suggested Design

Add NumPools to stargate whitelist: https://github.com/osmosis-labs/osmosis/blob/574443a1faab1e49902116ca6239c5477046a7f4/x/swaprouter/client/grpc/grpc_query.go#L33
Add EstimateSwapExactAmountOut to stargate whitelist: https://github.com/osmosis-labs/osmosis/blob/574443a1faab1e49902116ca6239c5477046a7f4/x/swaprouter/client/grpc/grpc_query.go#L43
Add EstimateSwapExactAmountIn to stargate whitelist: https://github.com/osmosis-labs/osmosis/blob/574443a1faab1e49902116ca6239c5477046a7f4/x/swaprouter/client/grpc/grpc_query.go#L53

Acceptance Criteria

all specified queries are stargate-whitelisted

Hi, can I take this issue?

Hey @GNaD13 thanks for the offer! Will take this issue in-house for faster iteration of the remaining issues, thanks for the offer!


Fixed osx CI invalid {}.

Added brew update.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.19%. Comparing base (23e5a02) to head (c7ba403).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #228   +/-   ##
=======================================
  Coverage   89.19%   89.19%
=======================================
  Files         112      112
  Lines        7987     7987
=======================================
  Hits         7124     7124
  Misses        863      863


NaN values colored if non-NaN values are only one

~When the table misses some instances or contains NaN values, colors are not mapped. Specifically if:~

~The table contains less instances than the segmentation image in labels~
~Or an observation column or X column contains NaN (because missing values have been filled up).~

Actual behavior:
If an obs/X column contains NaN and the non-NaN values are all the same, all labels are visualized with color, as if it ignores the fact that some are NaN.
Expected behavior:
It does not color values that are NaN.

Thanks for reporting! Will look into it


Add a copy of Apache 2.0 license

It is good practice to add a copy of the license to the repository.

Thanks!


Duration time for Valve accessory

I'm having trouble with the duration characteristic of my valve (sprinkler type) accessory, the home app lets me chose the default time of activation but the timer doesn't appear and after the selected time has passed the valve doesn't turn of.

I am writing a valve project and I think you need to manage the timing etc yourself.
ie when the active characteristic is set to on then store the time now plus the value of the set duration characteristic and have it turn off when time gets to then.
That said, my code does not work yet so perhaps I am doing it wrong :)

I'll try to publish a tutorial on Irrigation systems since they present a lot of interesting features.  @DanielO, I believe you are correct - the duration settings in the Home App are only used to inform the Accessory (i.e. HomeSpan) of the desired duration.  The Accessory must handle all automation internally, and then report back to the Home App whenever the status of a valve (or the system itself) changes.  The RemainingDuration Characteristic is used to report back to the Home App how much time it left, but it should only be used when the schedule is interrupted (for example, the system is manually paused and then restarted), and not used to report back every second.

Thanks, I'd be very interesting in seeing it. FWIW I wrote a similar thing for the Particle HAP a while ago (https://github.com/DanielO/Particle-HAP/tree/master/examples/sprinkler) and I want to port it to Home Span.
My work so far is https://github.com/DanielO/HKSprinkler and it seems to work OK, although I can't get the remaining duration working yet - the Home app just shows it on or off with no count down.

I just debugged my code, now time remaining works fine..

I take that back - it keeps resetting back to the set duration. For the Particle-HAP version I supplied a getter that calculated the remaining time but I can't see how to do that with HomeSpan.
Is it possible?

I've just done a lot of experimenting with the HomeKit Irrigation Service and got things working reasonably well.  As expected, the HAP-R2 documentation is not fully accurate.  A few things I found:
The In Use and Remaining Duration Characteristics are needed for the Valve Service, but are completely ignored by the Irrigation Service itself.  The Home App unfortunately does not have a way of presenting In Use or Remaining Duration at the top-level of the Accessory (for example, if a schedule across multiple Valves was running).  The good news is I found that the Home App does not complain if you don't even bother creating these Characteristics for the Irrigation Service.
There is also no master switch in the Home App that toggle the Active Characteristic at the top-level of the Irrigation Service.  Instead, Active is only used at the level of each Valve Service.  However, you still need to create an Active Characteristic for the Irrigation Service since the Home App updates its value to 1 whenever any Valve is opened.  For whatever reason the Home App does not reset this to 0 when all the Valves are closed.  So though it is not very useful, you nevertheless must create an Active Characteristic for the Irrigation Service to prevent "No Response" errors, but the Characteristic itself can be totally ignored in the sketch.
The Program Mode Characteristic is also needed.  Without it, the Home App shows "Updating..." as the status on the Tile.  Setting it to 0 seems to works fine and allows the Home App to toggle between "Off" and "Running" depending on whether you have any Valves open.
The Name Characteristics for both the Irrigation Service and Valve Services are completely ignored by the Home App.  This seems to be a trend since iOS 14 with Services that used Linked Services  The default name of the Irrigation Service is instead derived from the name of the device itself (as set by the homeSpan.begin() method).  However, the default name of each Valve can be set by using the Configured Name Characteristic instead.  This also has the nice feature of passing back name changes you make in the Home App to the device itself (if you change the name of a Valve in the Home App you will see this reflected in the diagnostic output of the sketch below).
Finally, the timers shown in the Home App Valves are nothing but countdown displays.  They provide no functionality - the sketch needs to set the timer to the desired duration using the Remaining Duration Characteristic when the valve is first open (i.e. Active), and must also set the Remaining Duration Characteristic back to 0 when the valve is closed.
The sketch below shows how all of this fits together.  You'll note how a Valve automatically resets to closed after the timer expires.  Also, is you manually close a valve and then re-open, the timer resets.
  ////////////////////////////////////////////////////////
  //                                                    //
  //    HomeSpan Reference SPRINKLERS Sketch:           //
  //                                                    //
  //    * IRRIGATION Service                            //
  //    * Multiple linked VALVE Services                //
  //                                                    //
  ////////////////////////////////////////////////////////

#include "HomeSpan.h"

struct Head : Service::Valve {

  SpanCharacteristic *active=new Characteristic::Active(0);
  SpanCharacteristic *inUse=new Characteristic::InUse(0);
  SpanCharacteristic *enabled = new Characteristic::IsConfigured(1);
  SpanCharacteristic *setDuration = new Characteristic::SetDuration(30);
  SpanCharacteristic *remainingDuration = new Characteristic::RemainingDuration(0);
  SpanCharacteristic *name;

  Head(const char *headName) : Service::Valve() {
    new Characteristic::ValveType(1);
    name=new Characteristic::ConfiguredName(headName);
    enabled->perms|=PW;
  }

  boolean update() override {

    if(enabled->updated()){
      if(enabled->getNewVal()){
        Serial.printf("Head '%s' enabled\n",name->getString());
      } else {
        Serial.printf("Head '%s' disabled\n",name->getString());
        if(active->getVal()){
          active->setVal(0);
          inUse->setVal(0);
          remainingDuration->setVal(0);
          Serial.printf("Head '%s' valve is closing\n",name->getString());
        }
      }
    }

    if(active->updated()){
      if(active->getNewVal()){
        Serial.printf("Head '%s' valve is opening\n",name->getString());
        inUse->setVal(1);
        remainingDuration->setVal(setDuration->getVal());
      } else {
        Serial.printf("Head '%s' valve is closing\n",name->getString());
        inUse->setVal(0);
        remainingDuration->setVal(0);
      }
    }

    return(true);
  }

  void loop() override {
    if(active->getVal() && (active->timeVal() > setDuration->getVal()*1000)){
      Serial.printf("Head '%s' is closing (%d-second timer is complete)\n",name->getString(),setDuration->getVal());
      active->setVal(0);
      inUse->setVal(0);
      remainingDuration->setVal(0);
    }
  }

};

struct Sprinkler : Service::IrrigationSystem {

  SpanCharacteristic *active=new Characteristic::Active(0);
  SpanCharacteristic *programMode=new Characteristic::ProgramMode(0);

};

//////////////////////////////////////

void setup() {

  Serial.begin(115200);

  homeSpan.begin(Category::Sprinklers,"HomeSpan Sprinklers");

  new SpanAccessory();

    new Service::AccessoryInformation();
      new Characteristic::Name("Sprinkler System");
      new Characteristic::Manufacturer("HomeSpan");
      new Characteristic::SerialNumber("HSL-123");
      new Characteristic::Model("HSL Test");
      new Characteristic::FirmwareRevision(HOMESPAN_VERSION);
      new Characteristic::Identify();

    new Service::HAPProtocolInformation();
      new Characteristic::Version("1.1.0");

    (new Sprinkler())
      ->addLink(new Head("Head 1"))
      ->addLink(new Head("Head 2"))
      ->addLink(new Head("Head 3"))
      ->addLink(new Head("Head 4"))
      ;

} // end of setup()

//////////////////////////////////////

void loop(){

  homeSpan.poll();

} // end of loop()

//////////////////////////////////////

I didn't bother with the irrigation service - I just created valves and it seemed to work OK. The irrigation service didn't seem to provide any value since you can't configure it (that I can see)
If I look at the valve in detail (ie long press so the switch is full screen) then there is a timer that counts down when it is on.
Unfortunately it becomes inaccurate because when HomeKit fetches it after the timer has started it always reports the initial duration. I could constantly update the remaining duration in loop() but that would be costly in traffic.
I have this diff:
diff --git a/src/HomeSpan.h b/src/HomeSpan.h
index 485fea2..fa8270e 100644
--- a/src/HomeSpan.h
+++ b/src/HomeSpan.h
@@ -465,9 +465,8 @@ struct SpanCharacteristic{
   template <class T=int> T getNewVal(){
     return(uvGet<T>(newValue));
   }
-
-  template <typename T> void setVal(T val){

+  template <typename T> void setValIdle(T val){
     if(format==STRING){
       Serial.printf("\n*** WARNING:  Attempt to update Characteristic::%s(\"%s\") with setVal() ignored.  Can't update STRING Characteristics once they are initialized!\n\n",hapName,value.STRING);
       return;
@@ -477,12 +476,16 @@ struct SpanCharacteristic{
       Serial.printf("\n*** WARNING:  Attempt to update Characteristic::%s with setVal(%llg) is out of range [%llg,%llg].  This may cause device to become non-reponsive!\n\n",
       hapName,(double)val,uvGet<double>(minValue),uvGet<double>(maxValue));
     }
-
+
     uvSet(value,val);
     uvSet(newValue,val);
-
+
     updateTime=homeSpan.snapTime;
-
+  } // setValIdle()
+
+  template <typename T> void setVal(T val){
+    setValIdle(val);
+
     SpanBuf sb;                             // create SpanBuf object
     sb.characteristic=this;                 // set characteristic
     sb.status=StatusCode::OK;               // set status

And I modified my code to call setValIdle() to update  the remaining duration in its idle loop. It compiles, however I haven't had a chance to test it yet.
I did ponder adding a virtual function in SpanCharacteristic and then sub classing that for RemainingDuration but that class lacks the context to compute the value so I did it this way instead.

If you use the Irrigation Service you get the timer display right on the valve for free. You simply set the initial duration and the Home App counts down once inUse is set.  Separately you keep track of the time in the sketch and decide when to turn the valve back off. You should not need to send any network traffic back to the Home App until the sketch closes the valve.  Also, you can also select the duration directly from the Home App, which will be communicated to the device.

I think it will have the same problem where the remaining duration will not be updated.
You can easily test it by turning a valve on, wait 30 seconds, then kill an restart Home.app and view service again.
It (presumably) re-fetches the remaining duration when it starts but the value is now incorrect (ie in my case it resets back to 40 minutes because that is the duration I set on start).

Ah - good point.  When the home app fetches all Characteristics it gets the original set duration, not the current time.  This suggests the need for a way to update a characteristic without notification. Should be doable - will explore.

Yeah, I think my patch above does it but as I said I haven't tested it (apart from compilation).
Feel free to change the name as you like :)

Thanks.  To keep the library simple I added a second optional argument to setVal().  The argument defaults to true (for backwards compatibility), which sends a notification to HomeKit.  Set to false and the Characteristic is updated without any notifications.  Changes have been added to the HomeSpan dev branch.
I also uploaded my revised Sprinkler sketch (it uses setVal() with false as the second argument that updates the Characteristic once per second) as a part of a new public repo I'm creating with "reference" sketches:  https://github.com/HomeSpan/HomeSpanReferenceSketches/blob/main/ReferenceSprinklers/ReferenceSprinklers.ino

Given the changes Apple keeps making to the Home App, and the divergence from the HAP-R2 documentation, I'm a little concerned about Apple's long-term support of the HAP protocol.  I know they have joined the "Matter" initiative with Z-wave and other IOT manufacturers, but Matter has not yet been released.  Until then, HAP is all we have.

Thanks, that looks good - I didn't even know you could do that with C++ 😅
PS don't forget to update the docs.


Add Kosovo phone number specifications

http://en.wikipedia.org/wiki/Telephone_numbers_in_Kosovo

Merged to develop for release in 2.4.


Backport GemHelper changes for #7108

I'm working on getting https://github.com/bundler/bundler/pull/7108 into the v2.0.2 release but that code has not been kept up to date over time (i'm not sure why i haven't been doing this). Trying to cherry-pick the changes to GemHelper is proving to be not super fun to deal with. Instead, i'm just going to copy/paste the current file & specs into 2-0-stable
There doesn't seem to be any breaking changes, so this should be ok to perform.

@bundlerbot r+

@bundlerbot r+

Maybe this times out because there's no bors configuration on this branch?

@bundlerbot r+

@bundlerbot r+

@bundlerbot retry

I don't really have time to worry about Bors, i'm just going to merge this with Github.


read() only blocks once

If I run this example, it waits for the first character, then once that's been received it prints "Read []" very fast in a tight loop. It looks like ppoll() says fd has the POLLIN event but read() returns 0.
Have I done something wrong, or is this a bug? I'm using a USB Serial adapter with CentOS 7 and rustc 1.12.1.
extern crate serial;

use std::io::Read;
use std::time::Duration;
use serial::SerialPort;

fn main() {
    println!("Hello, world!");
    let mut port = serial::open("/dev/serial/by-id/usb-9710_7720-if00-port0").unwrap();
    port.set_timeout(Duration::from_secs(1)).unwrap();
    port.reconfigure(&|settings| {
        try!(settings.set_baud_rate(serial::Baud9600));
        settings.set_char_size(serial::Bits8);
        settings.set_parity(serial::ParityNone);
        settings.set_stop_bits(serial::Stop1);
        settings.set_flow_control(serial::FlowHardware);
        Ok(())
    }).unwrap();

    loop {
        let mut temp = Vec::with_capacity(50);
        match port.read(&mut temp) {
            Ok(len) => {
                unsafe { temp.set_len(len) };
                println!("Read {:?}", temp);
             }
             Err(why) => println!("Error: {}", why)
        }
    }
}

My mistake. Clearly I've not initialised my vector correctly, as using an array works fine.
        let mut temp = [0u8; 256];
        match port.read(&mut temp) {
            Ok(len) => {
                println!("Read {:?}", &temp[0..len]);
             }
             Err(why) => println!("Error: {}", why)
        }

I had one unsafe line in the whole thing and it was the reason it didn't work. Figures.


[Feature] JSON Compare

Can you add a feature for JSON compare to the library as well.

Hi! This library is intended to be as small as possible and have no dependencies rather than have a lot of features. To add compare I think I will need to use other libraries or write quite a lot of code which will increase the size of the library... Sorry, I think it will be hard to support compare.


make IREE build and run on Linux AArch64 machines

With this additional I was able to build IREE and run ctest on NVIDIA Jetson Xavier NX.
99% tests passed, 1 tests failed out of 435

Label Time Summary:
driver=llvm                                  =  10.98 sec*proc (47 tests)
driver=vmla                                  =   1.73 sec*proc (51 tests)
driver=vulkan                                =  14.49 sec*proc (58 tests)
hostonly                                     = 109.21 sec*proc (28 tests)
.......

The only failed test is the iree/hal/cts/semaphore_test.

LLVM JIT driver is deprecated and being deleted soon (tests are also switching from JIT to AOT with #3928). It looks like the AOT side already has aarch64 linked in and in the targets list:
https://github.com/google/iree/blob/692deb595d4e4df51ae0a827d4c5a383c72170d0/iree%2Fcompiler%2FDialect%2FHAL%2FTarget%2FLLVM%2FAOT%2FLLVMAOTTarget.cpp#L214
That'll be the way forward for building/testing/running there :)


Add escript building

Often you just need to compile the .peg file or several of them before compiling the code, without loading neotoma's modules and calling neotoma:file/1/2 inside your code.
This is a rebar-like build script, slightly more straightforward though. As an alternative, I can just borrow the script from rebar.

This is fine, but rebar can build the escript for you. You can remove the build_escript bit and replace it with rebar escriptize.

Modified and rebased, thanks!

No, thank you! Great addition.


Use PostCSS 6.0

PostCSS 6.0 was released. API wasn’t changed dramatically, so you need only update dependency and release new version.
@michael-ciniawsky write me if you need any help. If you have big plans in 2.0, we can quickly release 2.0 only with PostCSS 6 and big changes move to 3.0 (it is OK to make major releases often if it has small changes).

@ai Nope 😛 let's release v2.0.0 as quickly as possible, I only need to update docs && finish release notes I try to do it today/until tomorrow. The 'webpack CSS' related changes will take more time and blocking a new release for postcss-loader way too long anyways 🙃.

Is PostCSS v6.0.0 breaking any major plugins atm?
Sokra mentioned that the map.names (source maps) are 'off', they need to contain an absolute path, how can we fix it ?
Ok to use the webpack loader README template (similiar to postcss-cli README style, I wrote 😛 ), because the folks from webpack.js.org would like to list postcss-loader as an common loader on the docs page then? 😊

Sure, we can wait few days.

Plugin API changes are small and should not affect most of plugins.
What is map.names? Where I can read more about it?
Sure, you are maintainer and you can change project docs style.

Plugin API changes are small and should not affect most of plugins

kk, should be fine when there is no known issue with something like e.g cssnext yet :)

What is map.names? Where I can read more about it?

😆 I'm an idiot, map.sources  of course 😛 needs to contain absolute paths as the source name , maybe it'a the same 'issue' adressed here, but not 💯  waiting for reply to confirm

Sure, you are maintainer and you can change project docs style

👍 😛

The map issue can be a bugfix release later, so a bit offtopic I get the release ready :stuck_out_tongue:

Let’s move map.sources fix on next PostCSS release. Looks like we will not fix it very soon. Is it OK?

if (map) {
  map.file = path.resolve(map.file)
  map.sources = map.sources.map((src) => path.resolve(src))
}

Done, if there is still something is flanky it's ax.x.1 patch release, just finishing the docs an good to go 😛 (today)


Eta !

Roadmap:

[x] define cumulativity as (→β)(→η)(leq_universe)(upto_domain)(←η)(←β) (similar for conv)
[x] prove η confluence
[x] prove βη confluence up to domains
[ ] prove η-postponment
[ ] prove transitivity of cumul/conv
[ ] fix all congruence lemmas
[ ] fix all inversion lemmas (is Geuvers lemma needed? ...)
[ ] have a beer

We can close this now, the plan is to use eta-reduction instead.